EAPI Eina_Bool ecore_wl_dnd_start_drag();
EAPI Eina_Bool ecore_wl_dnd_selection_has_owner(Ecore_Wl_Dnd *dnd);
+/**
+ * Returns a wl_surface with no association to any wl_shell_surface.
+ *
+ * @param win The window which will use this newly created surface.
+ *
+ * @ingroup Ecore_Wl_Window_Group
+ * @since 1.8
+ */
+EAPI struct wl_surface *ecore_wl_window_surface_create(Ecore_Wl_Window *win);
+
+
/**
* Retrieves the Wayland Globals Interface list used for the current Wayland connection.
*
}
}
+EAPI struct wl_surface*
+ecore_wl_window_surface_create(Ecore_Wl_Window *win)
+{
+ if (!win) return NULL;
+ if (win->surface) return NULL;
+
+ win->surface = wl_compositor_create_surface(_ecore_wl_disp->wl.compositor);
+ wl_surface_set_user_data(win->surface, win);
+ return win->surface;
+}
+
/**
* Shows a window
*
if (!win) return;
if (win->surface) return;
- win->surface = wl_compositor_create_surface(_ecore_wl_disp->wl.compositor);
- wl_surface_set_user_data(win->surface, win);
- /* wl_surface_add_listener(win->surface, &_ecore_wl_surface_listener, win); */
+ ecore_wl_window_surface_create(win);
win->shell_surface =
wl_shell_get_shell_surface(_ecore_wl_disp->wl.shell, win->surface);