return _ecore_wl_shutdown(EINA_TRUE);
}
+/**
+ * @defgroup Ecore_Wl_Flush_Group Wayland Synchronization Functions
+ *
+ * Functions that ensure that all commands which have been issued by the
+ * Ecore Wayland library have been sent to the server.
+ */
+
+/**
+ * Sends all Wayland commands to the Wayland Display.
+ *
+ * @ingroup Ecore_Wl_Flush_Group
+ * @since 1.2
+ */
EAPI void
ecore_wl_flush(void)
{
while (_ecore_wl_disp->mask & WL_DISPLAY_WRITABLE)
wl_display_iterate(_ecore_wl_disp->wl.display, WL_DISPLAY_WRITABLE);
-
// wl_display_flush(_ecore_wl_disp->wl.display); // old flush code
}
+/**
+ * Flushes the command buffer and waits until all requests have been
+ * processed by the server.
+ *
+ * @ingroup Ecore_Wl_Flush_Group
+ * @since 1.2
+ */
EAPI void
ecore_wl_sync(void)
{
// wl_display_iterate(_ecore_wl_disp->wl.display, WL_DISPLAY_READABLE);
}
+/**
+ * @defgroup Ecore_Wl_Display_Group Wayland Display Functions
+ *
+ * Functions that set and retrieve various information about the Wayland Display.
+ */
+
+/**
+ * Retrieves the Wayland Shm Interface used for the current Wayland connection.
+ *
+ * @return The current wayland shm interface
+ *
+ * @ingroup Ecore_Wl_Display_Group
+ * @since 1.2
+ */
EAPI struct wl_shm *
ecore_wl_shm_get(void)
{
return _ecore_wl_disp->wl.shm;
}
+/**
+ * Retrieves the Wayland Display Interface used for the current Wayland connection.
+ *
+ * @return The current wayland display interface
+ *
+ * @ingroup Ecore_Wl_Display_Group
+ * @since 1.2
+ */
EAPI struct wl_display *
ecore_wl_display_get(void)
{
return _ecore_wl_disp->wl.display;
}
+/**
+ * Retrieves the size of the current screen.
+ *
+ * @param w where to return the width. May be NULL. Returns 0 on error.
+ * @param h where to return the height. May be NULL. Returns 0 on error.
+ *
+ * @ingroup Ecore_Wl_Display_Group
+ * @since 1.2
+ */
EAPI void
ecore_wl_screen_size_get(int *w, int *h)
{
_windows = NULL;
}
+/**
+ * @defgroup Ecore_Wl_Window_Group Wayland Library Init and Shutdown Functions
+ *
+ * Functions that can be used to create a Wayland window.
+ */
+
+/**
+ * Creates a new window
+ *
+ * @param parent The parent window to use. If @p parent is @c 0, the root window
+ * of the default display is used.
+ * @param x X Position
+ * @param y Y position
+ * @param w Width
+ * @param h Height
+ *
+ * @return The new window
+ *
+ * @ingroup Ecore_Wl_Window_Group
+ * @since 1.2
+ */
EAPI Ecore_Wl_Window *
ecore_wl_window_new(Ecore_Wl_Window *parent, int x, int y, int w, int h, int buffer_type)
{
return win;
}
+/**
+ * Deletes the given window
+ *
+ * @param win The given window
+ *
+ * @ingroup Ecore_Wl_Window_Group
+ * @since 1.2
+ */
EAPI void
ecore_wl_window_free(Ecore_Wl_Window *win)
{
// free(win);
}
+/**
+ * Signals for Wayland to initiate a window move.
+ *
+ * The position requested (@p x, @p y) is not honored by Wayland because
+ * Wayland does not allow specific window placement to be set.
+ *
+ * @param win The window to move.
+ * @param x X Position
+ * @param y Y Position
+ *
+ * @ingroup Ecore_Wl_Window_Group
+ * @since 1.2
+ */
EAPI void
ecore_wl_window_move(Ecore_Wl_Window *win, int x, int y)
{
}
}
+/**
+ * Signals for Wayland to initiate a window resize.
+ *
+ * The size requested (@p w, @p h) is not honored by Wayland because
+ * Wayland does not allow specific window sizes to be set.
+ *
+ * @param win The window to resize.
+ * @param w Width
+ * @param h Height
+ * @param location The edge of the window from where the resize should start.
+ *
+ * @ingroup Ecore_Wl_Window_Group
+ * @since 1.2
+ */
EAPI void
ecore_wl_window_resize(Ecore_Wl_Window *win, int w, int h, int location)
{
wl_surface_attach(win->surface, buffer, x, y);
}
+/**
+ * Shows a window
+ *
+ * Synonymous to "mapping" a window in Wayland System terminology.
+ *
+ * @param win The window to show.
+ *
+ * @ingroup Ecore_Wl_Window_Group
+ * @since 1.2
+ */
EAPI void
ecore_wl_window_show(Ecore_Wl_Window *win)
{
}
}
+/**
+ * Hides a window
+ *
+ * Synonymous to "unmapping" a window in Wayland System terminology.
+ *
+ * @param win The window to hide.
+ *
+ * @ingroup Ecore_Wl_Window_Group
+ * @since 1.2
+ */
EAPI void
ecore_wl_window_hide(Ecore_Wl_Window *win)
{
win->surface = NULL;
}
+/**
+ * Raises a window
+ *
+ * @param win The window to raise.
+ *
+ * @ingroup Ecore_Wl_Window_Group
+ * @since 1.2
+ */
EAPI void
ecore_wl_window_raise(Ecore_Wl_Window *win)
{