Revert "ecore_wl2: API classification for make it public."
authorWoochanlee <wc0917.lee@samsung.com>
Tue, 11 Feb 2020 07:23:16 +0000 (16:23 +0900)
committerWoochanlee <wc0917.lee@samsung.com>
Tue, 11 Feb 2020 07:23:16 +0000 (16:23 +0900)
This reverts commit 13e3f766296a65be36f13dbda40f9a5cbec90e0f.

src/lib/ecore_wl2/Ecore_Wl2.h
src/lib/ecore_wl2/ecore_wl2_display.c
src/lib/ecore_wl2/ecore_wl2_input.c
src/lib/ecore_wl2/ecore_wl2_internal.h
src/lib/ecore_wl2/ecore_wl2_private.h
src/lib/ecore_wl2/ecore_wl2_window.c
src/lib/ecore_wl2/meson.build
src/modules/ecore_imf/wayland/wayland_imcontext.h

index 801ce60..9752889 100644 (file)
@@ -3,6 +3,12 @@
 
 # include <Eina.h>
 # include <Ecore.h>
+# include <wayland-client.h>
+# include <wayland-cursor.h>
+# include <xkbcommon/xkbcommon.h>
+
+# define WL_HIDE_DEPRECATED
+# include <wayland-server.h>
 
 # ifdef EAPI
 #  undef EAPI
@@ -26,6 +32,7 @@ extern "C" {
 
 #define ECORE_WL2_SURFACE_INTERFACE_VERSION 1
 
+typedef struct _Ecore_Wl2_Subsurface Ecore_Wl2_Subsurface;
 
 #  ifndef _ECORE_WL2_WINDOW_PREDEF
 typedef struct _Ecore_Wl2_Window Ecore_Wl2_Window;
@@ -35,8 +42,16 @@ typedef struct _Ecore_Wl2_Display Ecore_Wl2_Display;
 typedef struct _Ecore_Wl2_Output Ecore_Wl2_Output;
 typedef struct _Ecore_Wl2_Input Ecore_Wl2_Input;
 typedef struct _Ecore_Wl2_Seat Ecore_Wl2_Seat;
+typedef struct _Ecore_Wl2_Pointer Ecore_Wl2_Pointer;
+typedef struct _Ecore_Wl2_Keyboard Ecore_Wl2_Keyboard;
+typedef struct _Ecore_Wl2_Touch Ecore_Wl2_Touch;
 typedef struct _Ecore_Wl2_Offer Ecore_Wl2_Offer;
 typedef struct _Ecore_Wl2_Surface Ecore_Wl2_Surface;
+// TIZEN_ONLY(20171109): support a tizen_input_device_manager interface
+typedef struct _Ecore_Wl2_Tizen_Input_Eo_Device Ecore_Wl2_Tizen_Input_Eo_Device;
+typedef struct _Ecore_Wl2_Tizen_Input_Device Ecore_Wl2_Tizen_Input_Device;
+
+//
 // TIZEN_ONLY(20190807): Support for wl_egl interface
 typedef struct _Ecore_Wl2_Egl_Window Ecore_Wl2_Egl_Window;
 //
@@ -550,6 +565,8 @@ typedef struct _Ecore_Wl2_Window_Keygrab_Info
 } Ecore_Wl2_Window_Keygrab_Info;
 //
 
+typedef void (*Ecore_Wl2_Bind_Cb)(struct wl_client *client, void *data, uint32_t version, uint32_t id);
+typedef void (*Ecore_Wl2_Unbind_Cb)(struct wl_resource *resource);
 typedef void (*Ecore_Wl2_Frame_Cb)(Ecore_Wl2_Window *win, uint32_t timestamp, void *data);
 typedef struct _Ecore_Wl2_Frame_Cb_Handle Ecore_Wl2_Frame_Cb_Handle;
 
@@ -683,6 +700,35 @@ EAPI int ecore_wl2_shutdown(void);
  */
 
 /**
+ * Create a new Wayland display
+ *
+ * @brief This function is typically used to create a new display for
+ * use with compositors, or to create a new display for use in nested
+ * compositors.
+ *
+ * @param name The display target name to create. If @c NULL, a default
+ *             display name will be assigned.
+ * @return The newly created Ecore_Wl2_Display
+ *
+ * @ingroup Ecore_Wl2_Display_Group
+ * @since 1.17
+ */
+EAPI Ecore_Wl2_Display *ecore_wl2_display_create(const char *name);
+
+/**
+ * Destroy an existing Wayland display
+ *
+ * @brief This function is typically used by servers to terminate an
+ * existing Wayland display.
+ *
+ * @param display The display to terminate
+ *
+ * @ingroup Ecore_Wl2_Display_Group
+ * @since 1.17
+ */
+EAPI void ecore_wl2_display_destroy(Ecore_Wl2_Display *display);
+
+/**
  * Connect to an existing Wayland display
  *
  * @brief This function is typically used by clients to connect to an
@@ -712,6 +758,20 @@ EAPI Ecore_Wl2_Display *ecore_wl2_display_connect(const char *name);
 EAPI void ecore_wl2_display_disconnect(Ecore_Wl2_Display *display);
 
 /**
+ * Terminate a Wayland display's main loop
+ *
+ * @brief This function is typically used by servers to terminate the
+ * Wayland display main loop. This is usually only called when a server
+ * encounters an error.
+ *
+ * @param display The Ecore_Wl2_Display to terminate
+ *
+ * @ingroup Ecore_Wl2_Display_Group
+ * @since 1.17
+ */
+EAPI void ecore_wl2_display_terminate(Ecore_Wl2_Display *display);
+
+/**
  * Retrieve the existing Wayland display
  *
  * @param display The Ecore_Wl2_Display for which to retrieve the existing
@@ -722,7 +782,11 @@ EAPI void ecore_wl2_display_disconnect(Ecore_Wl2_Display *display);
  * @ingroup Ecore_Wl2_Display_Group
  * @since 1.17
  */
-EAPI void *ecore_wl2_display_get(Ecore_Wl2_Display *display);
+EAPI struct wl_display *ecore_wl2_display_get(Ecore_Wl2_Display *display);
+
+// TIZEN_ONLY(20190807): Retrieve the existing native wayland display
+EAPI void *ecore_wl2_native_display_get(Ecore_Wl2_Display *display);
+//
 
 /**
  * Retrieve the wl_shm from a given Ecore_Wl2_Display
@@ -735,7 +799,28 @@ EAPI void *ecore_wl2_display_get(Ecore_Wl2_Display *display);
  * @ingroup Ecore_Wl2_Display_Group
  * @since 1.17
  */
-EAPI void *ecore_wl2_display_shm_get(Ecore_Wl2_Display *display);
+EAPI struct wl_shm *ecore_wl2_display_shm_get(Ecore_Wl2_Display *display);
+
+/**
+ * Retrieve the wl_dmabuf from a given Ecore_Wl2_Display
+ *
+ *
+ * @param display The Ecore_Wl2_Display for which to retrieve the existing
+ *                Wayland dmabuf interface from
+ *
+ * @return The wl_dmabuf which this Ecore_Wl2_Display is using
+ *
+ * @ingroup Ecore_Wl2_Display_Group
+ *
+ * @note This is intended for client use only and should be used only
+ *       after ecore_wl2_display_connect().  Also, the return type is
+ *       void * instead of zpw_linux_dmabuf_v1 * since we don't want
+ *       to change our public API every time the version changes in
+ *       wayland-protocols.
+ *
+ * @since 1.18
+ */
+EAPI void *ecore_wl2_display_dmabuf_get(Ecore_Wl2_Display *display);
 
 /**
  * Return an Eina_Iterator that can be used to iterate through globals
@@ -763,6 +848,44 @@ EAPI Eina_Iterator *ecore_wl2_display_globals_get(Ecore_Wl2_Display *display);
 EAPI void ecore_wl2_display_screen_size_get(Ecore_Wl2_Display *display, int *w, int *h);
 
 /**
+ * Get all the Ecore_Wl2_Input from the display.
+ *
+ * @param display The display
+ *
+ * @return A Eina_Iterator of Ecore_Wl2_Input or @c NULL on error
+ *
+ * @ingroup Ecore_Wl2_Display_Group
+ * @since 1.19
+ */
+EAPI Eina_Iterator *ecore_wl2_display_inputs_get(Ecore_Wl2_Display *display);
+
+/**
+ * Find a seat for a given display object using the seat id
+ *
+ * @param display The display
+ * @param id The seat id
+ *
+ * @return The corresponding Ecore_Wl2_Input object or @c NULL if no match is found
+ *
+ * @ingroup Ecore_Wl2_Display_Group
+ * @since 1.20
+ */
+EAPI Ecore_Wl2_Input *ecore_wl2_display_input_find(const Ecore_Wl2_Display *display, unsigned int id);
+
+/**
+ * Find a seat for a given display object using the seat id
+ *
+ * @param display The display
+ * @param name The seat name
+ *
+ * @return The corresponding Ecore_Wl2_Input object or @c NULL if no match is found
+ *
+ * @ingroup Ecore_Wl2_Display_Group
+ * @since 1.20
+ */
+EAPI Ecore_Wl2_Input *ecore_wl2_display_input_find_by_name(const Ecore_Wl2_Display *display, const char *name);
+
+/**
  * Find an Ecore_Wl2_Window based on id
  *
  * @param display The display to search for the window
@@ -785,7 +908,45 @@ EAPI Ecore_Wl2_Window *ecore_wl2_display_window_find(Ecore_Wl2_Display *display,
  * @ingroup Ecore_Wl2_Display_Group
  * @since 1.17
  */
-EAPI void *ecore_wl2_display_registry_get(Ecore_Wl2_Display *display);
+EAPI struct wl_registry *ecore_wl2_display_registry_get(Ecore_Wl2_Display *display);
+
+/**
+ * Check if the display has performed a sync
+ *
+ * @param display The display
+ *
+ * @return True if the display sync has occurred
+ * @see ECORE_WL2_EVENT_SYNC_DONE
+ *
+ * @ingroup Ecore_Wl2_Display_Group
+ * @since 1.20
+ */
+EAPI Eina_Bool ecore_wl2_display_sync_is_done(const Ecore_Wl2_Display *display);
+
+/**
+ * Get the name of the display object
+ *
+ * @param display The display
+ *
+ * @return The name of the display object
+ *
+ * @ingroup Ecore_Wl2_Display_Group
+ * @since 1.20
+ */
+EAPI const char *ecore_wl2_display_name_get(const Ecore_Wl2_Display *display);
+
+/**
+ * Finds an Ecore_Wl2_Window based on wl_surface
+ *
+ * @param display The display to search for the window
+ * @param surface The wl_surface of the window to find
+ *
+ * @return The Ecore_Wl2_Window if found, or NULL if no such window exists
+ *
+ * @ingroup Ecore_Wl2_Display_Group
+ * @since 1.24
+ */
+EAPI Ecore_Wl2_Window *ecore_wl2_display_window_find_by_surface(Ecore_Wl2_Display *display, struct wl_surface *surface);
 
 /**
  * Gets the connected display object
@@ -813,7 +974,7 @@ EAPI Ecore_Wl2_Display *ecore_wl2_connected_display_get(const char *name);
  * @ingroup Ecore_Wl2_Display_Group
  * @since 1.24
  */
-EAPI void *ecore_wl2_display_compositor_get(Ecore_Wl2_Display *display);
+EAPI struct wl_compositor *ecore_wl2_display_compositor_get(Ecore_Wl2_Display *display);
 
 /**
  * @defgroup Ecore_Wl2_Window_Group Wayland Library Window Functions
@@ -851,6 +1012,18 @@ EAPI Ecore_Wl2_Window *ecore_wl2_window_new(Ecore_Wl2_Display *display, Ecore_Wl
 EAPI int ecore_wl2_window_id_get(Ecore_Wl2_Window *window);
 
 /**
+ * Set a callback to be caleld just before the window is closed and freed
+ *
+ * @param window The window to listen to for a xdg toplevel close callback
+ * @param cb The callback function to call being passed data and window
+ * @param data The Data pointer to pass as data to the callback
+ *
+ * @ingroup Ecore_Wl2_Window_Group
+ * @since 1.24
+ */
+EAPI void ecore_wl2_window_close_callback_set(Ecore_Wl2_Window *window, void (*cb) (void *data, Ecore_Wl2_Window *win), void *data);
+
+/**
  * Get the wl_surface which belongs to this window
  *
  * @param window The Ecore_Wl2_Window to get the surface of
@@ -860,7 +1033,7 @@ EAPI int ecore_wl2_window_id_get(Ecore_Wl2_Window *window);
  * @ingroup Ecore_Wl2_Window_Group
  * @since 1.17
  */
-EAPI void *ecore_wl2_window_surface_get(Ecore_Wl2_Window *window);
+EAPI struct wl_surface *ecore_wl2_window_surface_get(Ecore_Wl2_Window *window);
 
 /**
  * Get the id of a given Ecore_Wl2_Window
@@ -875,6 +1048,20 @@ EAPI void *ecore_wl2_window_surface_get(Ecore_Wl2_Window *window);
 EAPI int ecore_wl2_window_surface_id_get(Ecore_Wl2_Window *window);
 
 /**
+ * @see evas_object_size_hint_aspect_set
+ * @ingroup Ecore_Wl2_Window_Group
+ * @since 1.21
+ */
+EAPI void ecore_wl2_window_aspect_set(Ecore_Wl2_Window *window, int w, int h, unsigned int aspect);
+
+/**
+ * @see evas_object_size_hint_aspect_get
+ * @ingroup Ecore_Wl2_Window_Group
+ * @since 1.24
+ */
+EAPI void ecore_wl2_window_aspect_get(Ecore_Wl2_Window *window, int *w, int *h, unsigned int *aspect);
+
+/**
  * Show a given Ecore_Wl2_Window
  *
  * @param window The Ecore_Wl2_Window to show
@@ -905,6 +1092,17 @@ EAPI void ecore_wl2_window_hide(Ecore_Wl2_Window *window);
 EAPI void ecore_wl2_window_free(Ecore_Wl2_Window *window);
 
 /**
+ * @brief Begin moving a given Ecore_Wl2_Window
+ *
+ * @param window The Ecore_Wl2_Window which to move
+ * @param input The seat on which the move is active on
+ *
+ * @ingroup Ecore_Wl2_Window_Group
+ * @since 1.20
+ */
+EAPI void ecore_wl2_window_move(Ecore_Wl2_Window *window, Ecore_Wl2_Input *input);
+
+/**
  * @brief Begin resizing a given window
  *
  * @param window The Ecore_Wl2_Window which to resize
@@ -916,10 +1114,27 @@ EAPI void ecore_wl2_window_free(Ecore_Wl2_Window *window);
  */
 EAPI void ecore_wl2_window_resize(Ecore_Wl2_Window *window, Ecore_Wl2_Input *input, int location);
 
+/**
+ * Raise a given Ecore_Wl2_Window
+ *
+ * @param window The Ecore_Wl2_Window which to raise
+ *
+ * @ingroup Ecore_Wl2_Window_Group
+ * @since 1.17
+ */
+EAPI void ecore_wl2_window_raise(Ecore_Wl2_Window *window);
+
 // TIZEN_ONLY(20171108): tizen window function
 EAPI void ecore_wl2_window_lower(Ecore_Wl2_Window *window);
 EAPI void ecore_wl2_window_activate(Ecore_Wl2_Window *window);
+EAPI void ecore_wl2_window_parent_set(Ecore_Wl2_Window *window, Ecore_Wl2_Window *parent);
+EAPI void ecore_wl2_window_stack_mode_set(Ecore_Wl2_Window *window, Ecore_Wl2_Window_Stack_Mode mode);
 EAPI void ecore_wl2_window_position_set(Ecore_Wl2_Window *window, int x, int y);
+EAPI int ecore_wl2_window_active_angle_get(Ecore_Wl2_Window *window);
+//
+
+//TIZEN_ONLY(20171216): add ecore_wl2_window_find
+EAPI Ecore_Wl2_Window *ecore_wl2_window_find(unsigned int id);
 //
 
 /**
@@ -946,6 +1161,56 @@ EAPI Eina_Bool ecore_wl2_window_alpha_get(Ecore_Wl2_Window *window);
 EAPI void ecore_wl2_window_alpha_set(Ecore_Wl2_Window *window, Eina_Bool alpha);
 
 /**
+ * Set a given window's transparent property
+ *
+ * @param window The window on which to set the transparent property
+ * @param transparent EINA_TRUE to set window as transparent,
+ *                    EINA_FALSE otherwise
+ *
+ * @ingroup Ecore_Wl2_Window_Group
+ * @since 1.17
+ */
+EAPI void ecore_wl2_window_transparent_set(Ecore_Wl2_Window *window, Eina_Bool transparent);
+
+// TIZEN_ONLY(20171108) : Get a window's transparent property
+EAPI Eina_Bool ecore_wl2_window_transparent_get(Ecore_Wl2_Window *window);
+//
+
+/**
+ * Set the opaque region of the Ecore_Wl2_Window
+ *
+ * @param win The window
+ * @param x The left point of the region.
+ * @param y The top point of the region.
+ * @param w The width of the region.
+ * @param h The height of the region.
+ *
+ * @ingroup Ecore_Wl2_Window_Group
+ * @since 1.17
+ */
+EAPI void ecore_wl2_window_opaque_region_set(Ecore_Wl2_Window *window, int x, int y, int w, int h);
+
+// TIZEN_ONLY(20160201) : support to handle input rectangle
+EAPI void ecore_wl2_window_input_rect_set(Ecore_Wl2_Window *win, Eina_Rectangle *input_rect);
+EAPI void ecore_wl2_window_input_rect_add(Ecore_Wl2_Window *win, Eina_Rectangle *input_rect);
+EAPI void ecore_wl2_window_input_rect_subtract(Ecore_Wl2_Window *win, Eina_Rectangle *input_rect);
+//
+
+/**
+ * Get the opaque region of the Ecore_Wl2_Window
+ *
+ * @param win The window
+ * @param x The left point of the region.
+ * @param y The top point of the region.
+ * @param w The width of the region.
+ * @param h The height of the region.
+ *
+ * @ingroup Ecore_Wl2_Window_Group
+ * @since 1.24
+ */
+EAPI void ecore_wl2_window_opaque_region_get(Ecore_Wl2_Window *window, int *x, int *y, int *w, int *h);
+
+/**
  * Set the input region of the Ecore_Wl2_Window.
  *
  * To set an empty region, pass width and height as 0.
@@ -978,6 +1243,52 @@ EAPI void ecore_wl2_window_input_region_set(Ecore_Wl2_Window *window, int x, int
 EAPI void ecore_wl2_window_input_region_get(Ecore_Wl2_Window *window, int *x, int *y, int *w, int *h);
 
 /**
+ * Get if a given window is maximized
+ *
+ * @param window The window to get the maximized state of
+ *
+ * @return EINA_TRUE if window is maximized, EINA_FALSE otherwise
+ *
+ * @ingroup Ecore_Wl2_Window_Group
+ * @since 1.17
+ */
+EAPI Eina_Bool ecore_wl2_window_maximized_get(Ecore_Wl2_Window *window);
+
+/**
+ * Set the maximized state of a given window
+ *
+ * @param window The window to set the maximized state of
+ * @param maximized EINA_TRUE to set maximized, EINA_FALSE to unset
+ *
+ * @ingroup Ecore_Wl2_Window_Group
+ * @since 1.17
+ */
+EAPI void ecore_wl2_window_maximized_set(Ecore_Wl2_Window *window, Eina_Bool maximized);
+
+/**
+ * Get if a given window is fullscreen
+ *
+ * @param window The window to get the fullscreen state of
+ *
+ * @return EINA_TRUE if window is fullscreen, EINA_FALSE otherwise
+ *
+ * @ingroup Ecore_Wl2_Window_Group
+ * @since 1.17
+ */
+EAPI Eina_Bool ecore_wl2_window_fullscreen_get(Ecore_Wl2_Window *window);
+
+/**
+ * Set the fullscreen state of a given window
+ *
+ * @param window The window to set the fullscreen state of
+ * @param maximized EINA_TRUE to set fullscreen, EINA_FALSE to unset
+ *
+ * @ingroup Ecore_Wl2_Window_Group
+ * @since 1.17
+ */
+EAPI void ecore_wl2_window_fullscreen_set(Ecore_Wl2_Window *window, Eina_Bool fullscreen);
+
+/**
  * Get if a given window is rotated
  *
  * @param window The window to get the rotation of
@@ -1001,6 +1312,29 @@ EAPI int ecore_wl2_window_rotation_get(Ecore_Wl2_Window *window);
 EAPI void ecore_wl2_window_rotation_set(Ecore_Wl2_Window *window, int rotation);
 
 /**
+ * Set the title of a given window
+ *
+ * @param window The window to set the title of
+ * @param title The title of the window
+ *
+ * @ingroup Ecore_Wl2_Window_Group
+ * @since 1.17
+ */
+EAPI void ecore_wl2_window_title_set(Ecore_Wl2_Window *window, const char *title);
+
+/**
+ * Get the title of a given window
+ *
+ * @param window The window to set the title of
+ *
+ * @return A string if found, or NULL otherwise
+ *
+ * @ingroup Ecore_Wl2_Window_Group
+ * @since 1.24
+ */
+EAPI const char *ecore_wl2_window_title_get(Ecore_Wl2_Window *window);
+
+/**
  * Set the class of a given window
  *
  * @param window The window to set the class of
@@ -1083,6 +1417,10 @@ EAPI Eina_Bool ecore_wl2_window_iconified_get(Ecore_Wl2_Window *window);
  */
 EAPI void ecore_wl2_window_iconified_set(Ecore_Wl2_Window *window, Eina_Bool iconified);
 
+// TIZEN_ONLY(20151231) : handling iconic state on tizen
+EAPI void ecore_wl2_window_iconify_state_update(Ecore_Wl2_Window *window, Eina_Bool iconified, Eina_Bool send_event);
+//
+
 /**
  * Set the type of a given window
  *
@@ -1117,6 +1455,52 @@ EAPI Ecore_Wl2_Window_Type ecore_wl2_window_type_get(Ecore_Wl2_Window *window);
 EAPI Ecore_Wl2_Output *ecore_wl2_window_output_find(Ecore_Wl2_Window *window);
 
 /**
+ * Set if window rotation is supported by the window manager
+ *
+ * @param window
+ * @param enabled
+ *
+ * @ingroup Ecore_Wl2_Window_Group
+ * @since 1.20
+ */
+EAPI void ecore_wl2_window_wm_rotation_supported_set(Ecore_Wl2_Window *window, Eina_Bool enabled);
+
+/**
+ * Get if window rotation is supported by the window manager
+ *
+ * @param window
+ *
+ * @return EINA_TRUE if supported, EINA_FALSE otherwise
+ *
+ * @ingroup Ecore_Wl2_Window_Group
+ * @since 1.20
+ */
+EAPI Eina_Bool ecore_wl2_window_wm_rotation_supported_get(Ecore_Wl2_Window *window);
+
+/**
+ * Set if an application has set window rotation
+ *
+ * @param window
+ * @param set
+ *
+ * @ingroup Ecore_Wl2_Window_Group
+ * @since 1.20
+ */
+EAPI void ecore_wl2_window_rotation_app_set(Ecore_Wl2_Window *window, Eina_Bool set);
+
+/**
+ * Get if an application has set window rotation
+ *
+ * @param window
+ *
+ * @return EINA_TRUE if set, EINA_FALSE otherwise
+ *
+ * @ingroup Ecore_Wl2_Window_Group
+ * @since 1.20
+ */
+EAPI Eina_Bool ecore_wl2_window_rotation_app_get(Ecore_Wl2_Window *window);
+
+/**
  * Set preferred rotation on a given window
  *
  * @param window The window to set preferred rotation on
@@ -1165,10 +1549,14 @@ EAPI void ecore_wl2_window_available_rotations_set(Ecore_Wl2_Window *window, con
  */
 EAPI Eina_Bool ecore_wl2_window_available_rotations_get(Ecore_Wl2_Window *window, int **rots, unsigned int *count);
 
+EAPI void ecore_wl2_window_rotation_change_prepare_send(Ecore_Wl2_Window *window, int rot, int w, int h, Eina_Bool resize);
+EAPI void ecore_wl2_window_rotation_change_prepare_done_send(Ecore_Wl2_Window *window, int rot);
+EAPI void ecore_wl2_window_rotation_change_request_send(Ecore_Wl2_Window *window, int rot);
 EAPI void ecore_wl2_window_rotation_change_done_send(Ecore_Wl2_Window *window, int rot, int w, int h);
 
 // TIZEN_ONLY
 EAPI void ecore_wl2_window_rotation_geometry_set(Ecore_Wl2_Window *win, int rot, int x, int y, int w, int h);
+EAPI void ecore_wl2_window_rotation_changed_callback_set(Ecore_Wl2_Window *win, void *data, void (*func)(Ecore_Wl2_Window *win, int rot, Eina_Bool resize, int w, int h, void *data));
 //
 
 /**
@@ -1220,6 +1608,60 @@ EAPI void ecore_wl2_window_aux_hint_change(Ecore_Wl2_Window *window, int id, con
 EAPI void ecore_wl2_window_aux_hint_del(Ecore_Wl2_Window *window, int id);
 
 /**
+ * @brief Get the activated state of a window
+ *
+ * @param window The window to get activated state from
+ *
+ * @return @c EINA_TRUE if activated
+ *
+ * @ingroup Ecore_Wl2_Window_Group
+ * @since 1.20
+ */
+EAPI Eina_Bool ecore_wl2_window_activated_get(const Ecore_Wl2_Window *window);
+
+/**
+ * @brief Set the seat for a popup window to be used with grab
+ *
+ * @param window The window
+ * @param input The seat
+ *
+ * Use this function for desktop shell requests involving popup grabs which require
+ * a seat for the grab.
+ *
+ * @ingroup Ecore_Wl2_Window_Group
+ * @since 1.20
+ */
+EAPI void ecore_wl2_window_popup_input_set(Ecore_Wl2_Window *window, Ecore_Wl2_Input *input);
+
+/**
+ * @brief Get the seat for a popup window to be used with grab
+ *
+ * @param window The window
+ *
+ * @return Returns Ecore_Wl2_Input if the window has an input.
+ *
+ * @ingroup Ecore_Wl2_Window_Group
+ * @since 1.24
+ */
+EAPI Ecore_Wl2_Input *ecore_wl2_window_popup_input_get(Ecore_Wl2_Window *window);
+
+/**
+ * Check if a window has a shell surface - without one it can't be visible.
+ *
+ * @param The window to check
+ *
+ * @return Returns true if the window has an associated shell surface.
+ *
+ * @ingroup Ecore_Wl2_Window_Group
+ * @since 1.19
+ */
+EAPI Eina_Bool ecore_wl2_window_shell_surface_exists(Ecore_Wl2_Window *win);
+
+// TIZEN_ONLY(171108) : get shell surface of a given window
+EAPI struct zxdg_surface_v6 *ecore_wl2_window_shell_surface_get(Ecore_Wl2_Window *window);
+//
+
+/**
  * Get which display a given window is using
  *
  * @param window The window to get the display of
@@ -1254,12 +1696,67 @@ EAPI void ecore_wl2_window_focus_skip_set(Ecore_Wl2_Window *window, Eina_Bool fo
  */
 EAPI Eina_Bool ecore_wl2_window_focus_skip_get(Ecore_Wl2_Window *window);
 
+/**
+ * Set the role of a given window
+ *
+ * @param window
+ * @param role
+ *
+ * @ingroup Ecore_Wl2_Window_Group
+ * @since 1.20
+ */
+EAPI void ecore_wl2_window_role_set(Ecore_Wl2_Window *window, const char *role);
+
+/**
+ * Get the role of a given window
+ *
+ * @param window The window to set the class role
+ *
+ * @return A string if found, or NULL otherwise
+ *
+ * @ingroup Ecore_Wl2_Window_Group
+ * @since 1.24
+ */
+EAPI const char *ecore_wl2_window_role_get(Ecore_Wl2_Window *window);
+
+/**
+ * Set if a given window is in floating mode
+ *
+ * @param window The window to set floating mode on
+ * @param floating EINA_TRUE if this window should be in floating mode, EINA_FALSE otherwise
+ *
+ * @ingroup Ecore_Wl2_Window_Group
+ * @since 1.20
+ */
+EAPI void ecore_wl2_window_floating_mode_set(Ecore_Wl2_Window *window, Eina_Bool floating);
+
+/**
+ * Get if a given window is in floating mode
+ *
+ * @param window The window to get floating mode
+ *
+ * @return EINA_TRUE if floating, EINA_FALSE otherwise
+ *
+ * @ingroup Ecore_Wl2_Window_Group
+ * @since 1.20
+ */
+EAPI Eina_Bool ecore_wl2_window_floating_mode_get(Ecore_Wl2_Window *window);
 
 //TIZEN_ONLY: ecore_wl2: add ecore_wl_window_video_has
 EAPI void ecore_wl2_window_video_has(Ecore_Wl2_Window *window, Eina_Bool has);
 //
 
 /**
+ * Finds a window by surface
+ *
+ * @param surface The surface to find the window of
+ *
+ * @ingroup Ecore_Wl2_Window_Group
+ * @since 1.24
+ */
+EAPI Ecore_Wl2_Window *ecore_wl2_window_surface_find(struct wl_surface *surface);
+
+/**
  * @defgroup Ecore_Wl2_Input_Group Wayland Library Input Functions
  * @ingroup Ecore_Wl2_Group
  *
@@ -1277,7 +1774,41 @@ EAPI void ecore_wl2_window_video_has(Ecore_Wl2_Window *window, Eina_Bool has);
  * @ingroup Ecore_Wl2_Input_Group
  * @since 1.17
  */
-EAPI void *ecore_wl2_input_seat_get(Ecore_Wl2_Input *input);
+EAPI struct wl_seat *ecore_wl2_input_seat_get(Ecore_Wl2_Input *input);
+
+/**
+ * Get the seat capabilities for a given input.
+ *
+ * @param input The input
+ *
+ * @ingroup Ecore_Wl2_Input_Group
+ * @since 1.19
+ */
+EAPI Ecore_Wl2_Seat_Capabilities ecore_wl2_input_seat_capabilities_get(Ecore_Wl2_Input *input);
+
+/**
+ * Get the wayland's seat id from an input.
+ *
+ * @param input The input
+ *
+ * @return The seat id
+ *
+ * @ingroup Ecore_Wl2_Input_Group
+ * @since 1.19
+ */
+EAPI unsigned int ecore_wl2_input_seat_id_get(Ecore_Wl2_Input *input) EINA_WARN_UNUSED_RESULT;
+
+/**
+ * Get the display object of an input
+ *
+ * @param input The input
+ *
+ * @return The display
+ *
+ * @ingroup Ecore_Wl2_Input_Group
+ * @since 1.20
+ */
+EAPI Ecore_Wl2_Display *ecore_wl2_input_display_get(const Ecore_Wl2_Input *input);
 
 /**
  * Get the xkb_keymap object of an input
@@ -1289,7 +1820,19 @@ EAPI void *ecore_wl2_input_seat_get(Ecore_Wl2_Input *input);
  * @ingroup Ecore_Wl2_Input_Group
  * @since 1.20
  */
-EAPI void *ecore_wl2_input_keymap_get(const Ecore_Wl2_Input *input);
+EAPI struct xkb_keymap *ecore_wl2_input_keymap_get(const Ecore_Wl2_Input *input);
+
+/**
+ * Get the name of an input
+ *
+ * @param input The input
+ *
+ * @return The name
+ *
+ * @ingroup Ecore_Wl2_Input_Group
+ * @since 1.20
+ */
+EAPI Eina_Stringshare *ecore_wl2_input_name_get(Ecore_Wl2_Input *input);
 
 /**
  * Get the keyboard repeat rate and delay of an input
@@ -1340,7 +1883,7 @@ EAPI Eina_Bool ecore_wl2_input_pointer_xy_get(const Ecore_Wl2_Input *input, int
  * @ingroup Ecore_Wl2_Input_Group
  * @since 1.20
  */
-EAPI void ecore_wl2_input_pointer_set(Ecore_Wl2_Input *input, void *surface, int hot_x, int hot_y);
+EAPI void ecore_wl2_input_pointer_set(Ecore_Wl2_Input *input, struct wl_surface *surface, int hot_x, int hot_y);
 
 /**
  * Set a specific cursor on a given seat
@@ -1358,7 +1901,17 @@ EAPI void ecore_wl2_input_pointer_set(Ecore_Wl2_Input *input, void *surface, int
 EAPI void ecore_wl2_input_cursor_from_name_set(Ecore_Wl2_Input *input, const char *cursor);
 
 // TIZEN_ONLY(20171207): add functions to set client's custom cursors
+EAPI void ecore_wl2_input_pointer_set(Ecore_Wl2_Input *input, struct wl_surface *surface, int hot_x, int hot_y);
+EAPI struct wl_cursor *ecore_wl2_input_cursor_get(Ecore_Wl2_Input *input, const char *cursor_name);
+EAPI void ecore_wl2_input_cursor_size_set(Ecore_Wl2_Input *input, const int size);
 EAPI void ecore_wl2_input_cursor_theme_name_set(Ecore_Wl2_Input *input, const char *cursor_theme_name);
+EAPI void ecore_wl2_input_cursor_default_restore(Ecore_Wl2_Input *input);
+
+EAPI void ecore_wl2_window_pointer_set(Ecore_Wl2_Window *win, struct wl_surface *surface, int hot_x, int hot_y);
+EAPI void ecore_wl2_window_cursor_from_name_set(Ecore_Wl2_Window *win, const char *cursor_name);
+EAPI void ecore_wl2_window_cursor_default_restore(Ecore_Wl2_Window *win);
+//
+
 
 /**
  * @defgroup Ecore_Wl2_Dnd_Group Wayland Library Drag-n-Drop Functions
@@ -1369,6 +1922,54 @@ EAPI void ecore_wl2_input_cursor_theme_name_set(Ecore_Wl2_Input *input, const ch
  */
 
 /**
+ * Set the types which are supported by a possible drag and drop operation.
+ * This call initializes a data source and offeres the given mimetypes
+ *
+ * @param input the input where to add on the data source
+ * @param types a null-terminated array of mimetypes
+ *
+ * @ingroup Ecore_Wl2_Dnd_Group
+ * @since 1.17
+ */
+EAPI void ecore_wl2_dnd_drag_types_set(Ecore_Wl2_Input *input, const char **types);
+
+/**
+ * Start a drag on the given input
+ *
+ * @param input the input to use
+ * @param window the window which is the origin of the drag operation
+ * @param drag_window the window which is used as window of the visible hint.
+ *
+ * @return The serial for the start_drag request
+ *
+ * @ingroup Ecore_Wl2_Dnd_Group
+ * @since 1.17
+ */
+EAPI uint32_t ecore_wl2_dnd_drag_start(Ecore_Wl2_Input *input, Ecore_Wl2_Window *window, Ecore_Wl2_Window *drag_window);
+
+/**
+ * Call wl_data_source.set_actions on an existing source
+ *
+ * @param input the input to use
+ *
+ * @see ecore_wl2_dnd_drag_start for a more useful function.
+ *
+ * @ingroup Ecore_Wl2_Dnd_Group
+ * @since 1.20
+ */
+EAPI void ecore_wl2_dnd_set_actions(Ecore_Wl2_Input *input);
+
+/**
+ * End a drag started by a call to ecore_wl2_dnd_drag_start
+ *
+ * @param input the input object on which the drag was started
+ *
+ * @ingroup Ecore_Wl2_Dnd_Group
+ * @since 1.17
+ */
+EAPI void ecore_wl2_dnd_drag_end(Ecore_Wl2_Input *input);
+
+/**
  * Get the offer which is currently resposible for the clipboard
  *
  * @param input the input object to use
@@ -1393,12 +1994,51 @@ EAPI Ecore_Wl2_Offer* ecore_wl2_dnd_selection_get(Ecore_Wl2_Input *input);
  */
 EAPI uint32_t ecore_wl2_dnd_selection_set(Ecore_Wl2_Input *input, const char **types);
 
+/**
+ * Clear the selection currently setted on this input.
+ *
+ * @param input the input to clear
+ *
+ * @return serial of request on success, 0 on failure
+ *
+ * @ingroup Ecore_Wl2_Dnd_Group
+ * @since 1.17
+ */
+EAPI uint32_t ecore_wl2_dnd_selection_clear(Ecore_Wl2_Input *input);
+
+// TIZEN_ONLY(20150703) : support conformant
+EAPI void ecore_wl2_window_conformant_set(Ecore_Wl2_Window *win, unsigned int is_conformant);
+EAPI Eina_Bool ecore_wl2_window_conformant_get(Ecore_Wl2_Window *win);
+//
+
 // TIZEN_ONLY(20171108) : add functions for indicator
+EAPI void ecore_wl2_window_indicator_geometry_set(Ecore_Wl2_Window *win, int x, int y, int w, int h);
+EAPI Eina_Bool ecore_wl2_window_indicator_geometry_get(Ecore_Wl2_Window *win, int *x, int *y, int *w, int *h);
 EAPI void ecore_wl2_window_indicator_state_set(Ecore_Wl2_Window *win, Ecore_Wl2_Indicator_State state);
 EAPI Ecore_Wl2_Indicator_State ecore_wl2_window_indicator_state_get(Ecore_Wl2_Window *win);
+EAPI void ecore_wl2_window_indicator_opacity_set(Ecore_Wl2_Window *win, Ecore_Wl2_Indicator_Opacity_Mode mode);
+EAPI Ecore_Wl2_Indicator_Opacity_Mode ecore_wl2_window_indicator_opacity_get(Ecore_Wl2_Window *win);
+EAPI void ecore_wl2_indicator_visible_type_set(Ecore_Wl2_Window *win, Ecore_Wl2_Indicator_Visible_Type type);
 EAPI Ecore_Wl2_Indicator_Visible_Type ecore_wl2_indicator_visible_type_get(Ecore_Wl2_Window *win);
 //
 
+// TIZEN_ONLY(20171108) : add functions for clipboard
+EAPI void ecore_wl2_window_clipboard_geometry_set(Ecore_Wl2_Window *win, int x, int y, int w, int h);
+EAPI Eina_Bool ecore_wl2_window_clipboard_geometry_get(Ecore_Wl2_Window *win, int *x, int *y, int *w, int *h);
+EAPI void ecore_wl2_window_clipboard_state_set(Ecore_Wl2_Window *win, Ecore_Wl2_Clipboard_State state);
+EAPI Ecore_Wl2_Clipboard_State ecore_wl2_window_clipboard_state_get(Ecore_Wl2_Window *win);
+EAPI void ecore_wl2_clipboard_show(Ecore_Wl2_Window *win);
+EAPI void ecore_wl2_clipboard_hide(Ecore_Wl2_Window *win);
+EAPI Eina_Bool ecore_wl2_clipboard_data_only_set(Eina_Bool data_only);
+//
+
+// TIZEN_ONLY(20171108) : add functions for keyboard
+EAPI void ecore_wl2_window_keyboard_geometry_set(Ecore_Wl2_Window *win, int x, int y, int w, int h);
+EAPI Eina_Bool ecore_wl2_window_keyboard_geometry_get(Ecore_Wl2_Window *win, int *x, int *y, int *w, int *h);
+EAPI void ecore_wl2_window_keyboard_state_set(Ecore_Wl2_Window *win, Ecore_Wl2_Virtual_Keyboard_State state);
+EAPI Ecore_Wl2_Virtual_Keyboard_State ecore_wl2_window_keyboard_state_get(Ecore_Wl2_Window *win);
+//
+
 /**
  * Gets default input of a given display
  *
@@ -1446,6 +2086,27 @@ EAPI int ecore_wl2_output_dpi_get(Ecore_Wl2_Output *output);
 EAPI int ecore_wl2_output_transform_get(Ecore_Wl2_Output *output);
 
 /**
+ * Return the version of the display's compositor object
+ *
+ * @param disp the display to get the compositor object version from
+ *
+ * @return the version of the display's compositor object
+ *
+ * @ingroup Ecore_Wl2_Display_Group
+ * @since 1.17
+ */
+EAPI int ecore_wl2_display_compositor_version_get(Ecore_Wl2_Display *disp);
+
+/**
+ * Disable session recovery for any further connections.  Must be called
+ * before connecting.  This is irreversible and not intended for general
+ * use.
+ *
+ * @since 1.19
+ */
+EAPI void ecore_wl2_session_recovery_disable(void);
+
+/**
  * Commit the surface of a wayland window.
  *
  * If flush is set this generates a wl_surface_commit(), otherwise it is
@@ -1463,6 +2124,20 @@ EAPI int ecore_wl2_output_transform_get(Ecore_Wl2_Output *output);
 EAPI void ecore_wl2_window_commit(Ecore_Wl2_Window *window, Eina_Bool flush);
 
 /**
+ * Check if a wayland window's surface is in the pending state.
+ *
+ * A surface is pending if it's been commit but we haven't received a
+ * frame callback for it yet.  This mean's we're not ready to draw yet.
+ *
+ * @param window The window whose surface we want to check
+ *
+ * @return whether the window's surface is pending or not.
+ *
+ * @since 1.21
+ */
+EAPI Eina_Bool ecore_wl2_window_pending_get(Ecore_Wl2_Window *window);
+
+/**
  * Add a callback that fires when the window's surface_frame callback fires
  *
  * @param window The window to add a callback on
@@ -1496,24 +2171,67 @@ EAPI void ecore_wl2_window_frame_callback_del(Ecore_Wl2_Frame_Cb_Handle *handle)
  */
 EAPI void ecore_wl2_display_flush(Ecore_Wl2_Display *display);
 
+/**
+ * Get if a given window is resizing
+ *
+ * @param window The window to check for resizing
+ *
+ * @return EINA_TRUE if resizing, EINA_FALSE otherwise
+ *
+ * @ingroup Ecore_Wl2_Window_Group
+ * @since 1.21
+ */
+EAPI Eina_Bool ecore_wl2_window_resizing_get(Ecore_Wl2_Window *window);
+
+/**
+ * Latch window state at the start of an update
+ *
+ * When async render takes place we continue to dispatch wayland
+ * events from the main loop. We need to defer any changes to
+ * window state from those events until the update is complete.
+ *
+ * Events deferred during an update will automatically fire
+ * immediately after the caller calls ecore_wl2_window_commit.
+ *
+ * @param window The window whose state we want to latch
+ *
+ * @since 1.21
+ */
+EAPI void ecore_wl2_window_update_begin(Ecore_Wl2_Window *window);
+
+/* TODO: doxygen if we are keeping any of the below functions public */
+
+
 EAPI Ecore_Wl2_Surface *ecore_wl2_surface_create(Ecore_Wl2_Window *win, Eina_Bool alpha);
 
 // TIZEN_ONLY(20171107): support a tizen_keyrouter interface
 EAPI void ecore_wl2_display_sync(Ecore_Wl2_Display *display);
 EAPI Eina_Bool ecore_wl2_window_keygrab_set(Ecore_Wl2_Window *win, const char *key, int mod EINA_UNUSED, int not_mod EINA_UNUSED, int priority EINA_UNUSED, Ecore_Wl2_Window_Keygrab_Mode grab_mode);
 EAPI Eina_Bool ecore_wl2_window_keygrab_unset(Ecore_Wl2_Window *win, const char *key, int mod EINA_UNUSED, int any_mod EINA_UNUSED);
+//
 EAPI Eina_List *ecore_wl2_window_keygrab_list_set(Ecore_Wl2_Window *win, Eina_List *infos);
 EAPI Eina_List *ecore_wl2_window_keygrab_list_unset(Ecore_Wl2_Window *win, Eina_List *infos);
 
+// TIZEN_ONLY(20171107): add ecore_wl2_window_input_get() EAPI
+EAPI Ecore_Wl2_Input *ecore_wl2_window_input_get(Ecore_Wl2_Window *win);
+//
+// TIZEN_ONLY(20171114): support a pointer warp
+EAPI Eina_Bool ecore_wl2_window_pointer_warp(Ecore_Wl2_Window *win, int x, int y);
+//
+
 //TIZEN_ONLY(20171108): add a new API to ecore_wl2_sync
 EAPI void ecore_wl2_sync(void);
 //
 
 //TIZEN_ONLY(20171115): support output transform
-//
 EAPI Eina_Bool ecore_wl2_window_ignore_output_transform_get(Ecore_Wl2_Window *win);
 //
 
+//TIZEN_ONLY(20180810): support client demand move resize
+EAPI void
+ecore_wl2_window_sync_geometry_set(Ecore_Wl2_Window *window, uint32_t serial, int x, int y, int w, int h);
+//
+
 // TIZEN_ONLY(20190807): Support for wl_egl interface
 EAPI Ecore_Wl2_Egl_Window *ecore_wl2_egl_window_create(Ecore_Wl2_Window *window, int w, int h);
 EAPI void                  ecore_wl2_egl_window_destroy(Ecore_Wl2_Egl_Window *egl_win);
index edeb7b9..54e45c2 100644 (file)
@@ -1793,7 +1793,7 @@ ecore_wl2_display_terminate(Ecore_Wl2_Display *display)
    wl_display_terminate(display->wl.display);
 }
 
-EAPI void *
+EAPI struct wl_display *
 ecore_wl2_display_get(Ecore_Wl2_Display *display)
 {
    EINA_SAFETY_ON_NULL_RETURN_VAL(display, NULL);
@@ -1809,7 +1809,7 @@ ecore_wl2_native_display_get(Ecore_Wl2_Display *display)
 }
 //
 
-EAPI void *
+EAPI struct wl_shm *
 ecore_wl2_display_shm_get(Ecore_Wl2_Display *display)
 {
    EINA_SAFETY_ON_NULL_RETURN_VAL(display, NULL);
@@ -1903,7 +1903,7 @@ ecore_wl2_display_window_find(Ecore_Wl2_Display *display, unsigned int id)
    return NULL;
 }
 
-EAPI void *
+EAPI struct wl_registry *
 ecore_wl2_display_registry_get(Ecore_Wl2_Display *display)
 {
    EINA_SAFETY_ON_NULL_RETURN_VAL(display, NULL);
@@ -1987,7 +1987,7 @@ ecore_wl2_display_flush(Ecore_Wl2_Display *display)
 }
 
 EAPI Ecore_Wl2_Window *
-ecore_wl2_display_window_find_by_surface(Ecore_Wl2_Display *display, void *surface)
+ecore_wl2_display_window_find_by_surface(Ecore_Wl2_Display *display, struct wl_surface *surface)
 {
    return _ecore_wl2_display_window_surface_find(display, surface);
 }
@@ -2023,7 +2023,7 @@ ecore_wl2_connected_display_get(const char *name)
    return ewd;
 }
 
-EAPI void *
+EAPI struct wl_compositor *
 ecore_wl2_display_compositor_get(Ecore_Wl2_Display *display)
 {
    EINA_SAFETY_ON_NULL_RETURN_VAL(display, NULL);
index 27d4796..32a6bf1 100644 (file)
@@ -2485,7 +2485,7 @@ _ecore_wl2_cb_key_cancel(void *data, struct tizen_keyrouter *tizen_keyrouter EIN
 }
 
 static void
-_ecore_wl2_cb_event_surface(void *data, struct tizen_keyrouter *tizen_keyrouter EINA_UNUSED, struct wl_surface *surface, uint32_t mode)
+_ecore_wl2_cb_event_surface(void *data, struct tizen_keyrouter *tizen_keyrouter EINA_UNUSED, struct wl_surface *surface, uint32_t key EINA_UNUSED, uint32_t mode)
 {
    Ecore_Wl2_Display *ewd = (Ecore_Wl2_Display *)data;
    Ecore_Wl2_Input *input;
@@ -3469,7 +3469,7 @@ _ecore_wl2_input_device_manager_setup(Ecore_Wl2_Display *ewd, unsigned int id, u
 }
 //
 
-EAPI void *
+EAPI struct wl_seat *
 ecore_wl2_input_seat_get(Ecore_Wl2_Input *input)
 {
    EINA_SAFETY_ON_NULL_RETURN_VAL(input, NULL);
@@ -3516,7 +3516,7 @@ ecore_wl2_input_display_get(const Ecore_Wl2_Input *input)
    return input->display;
 }
 
-EAPI void *
+EAPI struct xkb_keymap *
 ecore_wl2_input_keymap_get(const Ecore_Wl2_Input *input)
 {
    EINA_SAFETY_ON_NULL_RETURN_VAL(input, NULL);
@@ -3560,7 +3560,7 @@ _pointer_update_stop(Ecore_Wl2_Input *input)
 //
 
 EAPI void
-ecore_wl2_input_pointer_set(Ecore_Wl2_Input *input, void *surface, int hot_x, int hot_y)
+ecore_wl2_input_pointer_set(Ecore_Wl2_Input *input, struct wl_surface *surface, int hot_x, int hot_y)
 {
    EINA_SAFETY_ON_NULL_RETURN(input);
 
@@ -3583,7 +3583,7 @@ ecore_wl2_input_pointer_set(Ecore_Wl2_Input *input, void *surface, int hot_x, in
 }
 
 // TIZEN_ONLY(20171207): add functions to set client's custom cursors
-EAPI void *
+EAPI struct wl_cursor *
 ecore_wl2_input_cursor_get(Ecore_Wl2_Input *input, const char *cursor_name)
 {
    if ((!input) || (!input->cursor.theme))
index ba5f55a..1f09df9 100644 (file)
@@ -1,13 +1,6 @@
 #ifndef _ECORE_WL2_INTERNAL_H
 # define _ECORE_WL2_INTERNAL_H
 
-# include <wayland-client.h>
-# include <wayland-cursor.h>
-# include <xkbcommon/xkbcommon.h>
-
-# define WL_HIDE_DEPRECATED
-# include <wayland-server.h>
-
 # ifdef EAPI
 #  undef EAPI
 # endif
 #  endif
 # endif
 
-typedef struct _Ecore_Wl2_Subsurface Ecore_Wl2_Subsurface;
-typedef struct _Ecore_Wl2_Pointer Ecore_Wl2_Pointer;
-typedef struct _Ecore_Wl2_Keyboard Ecore_Wl2_Keyboard;
-typedef struct _Ecore_Wl2_Touch Ecore_Wl2_Touch;
-// TIZEN_ONLY(20171109): support a tizen_input_device_manager interface
-typedef struct _Ecore_Wl2_Tizen_Input_Eo_Device Ecore_Wl2_Tizen_Input_Eo_Device;
-typedef struct _Ecore_Wl2_Tizen_Input_Device Ecore_Wl2_Tizen_Input_Device;
-//
-
 EAPI void ecore_wl2_window_false_commit(Ecore_Wl2_Window *window);
 EAPI Eina_Bool ecore_wl2_buffer_fit(Ecore_Wl2_Buffer *b, int w, int h);
 
@@ -394,716 +378,6 @@ EAPI void ecore_wl2_subsurface_sync_set(Ecore_Wl2_Subsurface *subsurface, Eina_B
  */
 EAPI void ecore_wl2_subsurface_opaque_region_set(Ecore_Wl2_Subsurface *subsurface, int x, int y, int w, int h);
 
-/**
- * Create a new Wayland display
- *
- * @brief This function is typically used to create a new display for
- * use with compositors, or to create a new display for use in nested
- * compositors.
- *
- * @param name The display target name to create. If @c NULL, a default
- *             display name will be assigned.
- * @return The newly created Ecore_Wl2_Display
- *
- * @ingroup Ecore_Wl2_Display_Group
- * @since 1.17
- */
-EAPI Ecore_Wl2_Display *ecore_wl2_display_create(const char *name);
-
-/**
- * Destroy an existing Wayland display
- *
- * @brief This function is typically used by servers to terminate an
- * existing Wayland display.
- *
- * @param display The display to terminate
- *
- * @ingroup Ecore_Wl2_Display_Group
- * @since 1.17
- */
-EAPI void ecore_wl2_display_destroy(Ecore_Wl2_Display *display);
-
-/**
- * Terminate a Wayland display's main loop
- *
- * @brief This function is typically used by servers to terminate the
- * Wayland display main loop. This is usually only called when a server
- * encounters an error.
- *
- * @param display The Ecore_Wl2_Display to terminate
- *
- * @ingroup Ecore_Wl2_Display_Group
- * @since 1.17
- */
-EAPI void ecore_wl2_display_terminate(Ecore_Wl2_Display *display);
-
-// TIZEN_ONLY(20190807): Retrieve the existing native wayland display
-EAPI void *ecore_wl2_native_display_get(Ecore_Wl2_Display *display);
-//
-
-/**
- * Retrieve the wl_dmabuf from a given Ecore_Wl2_Display
- *
- *
- * @param display The Ecore_Wl2_Display for which to retrieve the existing
- *                Wayland dmabuf interface from
- *
- * @return The wl_dmabuf which this Ecore_Wl2_Display is using
- *
- * @ingroup Ecore_Wl2_Display_Group
- *
- * @note This is intended for client use only and should be used only
- *       after ecore_wl2_display_connect().  Also, the return type is
- *       void * instead of zpw_linux_dmabuf_v1 * since we don't want
- *       to change our public API every time the version changes in
- *       wayland-protocols.
- *
- * @since 1.18
- */
-EAPI void *ecore_wl2_display_dmabuf_get(Ecore_Wl2_Display *display);
-
-/**
- * Get all the Ecore_Wl2_Input from the display.
- *
- * @param display The display
- *
- * @return A Eina_Iterator of Ecore_Wl2_Input or @c NULL on error
- *
- * @ingroup Ecore_Wl2_Display_Group
- * @since 1.19
- */
-EAPI Eina_Iterator *ecore_wl2_display_inputs_get(Ecore_Wl2_Display *display);
-
-/**
- * Find a seat for a given display object using the seat id
- *
- * @param display The display
- * @param id The seat id
- *
- * @return The corresponding Ecore_Wl2_Input object or @c NULL if no match is found
- *
- * @ingroup Ecore_Wl2_Display_Group
- * @since 1.20
- */
-EAPI Ecore_Wl2_Input *ecore_wl2_display_input_find(const Ecore_Wl2_Display *display, unsigned int id);
-
-/**
- * Find a seat for a given display object using the seat id
- *
- * @param display The display
- * @param name The seat name
- *
- * @return The corresponding Ecore_Wl2_Input object or @c NULL if no match is found
- *
- * @ingroup Ecore_Wl2_Display_Group
- * @since 1.20
- */
-EAPI Ecore_Wl2_Input *ecore_wl2_display_input_find_by_name(const Ecore_Wl2_Display *display, const char *name);
-
-/**
- * Check if the display has performed a sync
- *
- * @param display The display
- *
- * @return True if the display sync has occurred
- * @see ECORE_WL2_EVENT_SYNC_DONE
- *
- * @ingroup Ecore_Wl2_Display_Group
- * @since 1.20
- */
-EAPI Eina_Bool ecore_wl2_display_sync_is_done(const Ecore_Wl2_Display *display);
-
-/**
- * Get the name of the display object
- *
- * @param display The display
- *
- * @return The name of the display object
- *
- * @ingroup Ecore_Wl2_Display_Group
- * @since 1.20
- */
-EAPI const char *ecore_wl2_display_name_get(const Ecore_Wl2_Display *display);
-
-/**
- * Finds an Ecore_Wl2_Window based on wl_surface
- *
- * @param display The display to search for the window
- * @param surface The wl_surface of the window to find
- *
- * @return The Ecore_Wl2_Window if found, or NULL if no such window exists
- *
- * @ingroup Ecore_Wl2_Display_Group
- * @since 1.24
- */
-EAPI Ecore_Wl2_Window *ecore_wl2_display_window_find_by_surface(Ecore_Wl2_Display *display, void *surface);
-
-/**
- * Set a callback to be caleld just before the window is closed and freed
- *
- * @param window The window to listen to for a xdg toplevel close callback
- * @param cb The callback function to call being passed data and window
- * @param data The Data pointer to pass as data to the callback
- *
- * @ingroup Ecore_Wl2_Window_Group
- * @since 1.24
- */
-EAPI void ecore_wl2_window_close_callback_set(Ecore_Wl2_Window *window, void (*cb) (void *data, Ecore_Wl2_Window *win), void *data);
-
-/**
- * @see evas_object_size_hint_aspect_set
- * @ingroup Ecore_Wl2_Window_Group
- * @since 1.21
- */
-EAPI void ecore_wl2_window_aspect_set(Ecore_Wl2_Window *window, int w, int h, unsigned int aspect);
-
-/**
- * @see evas_object_size_hint_aspect_get
- * @ingroup Ecore_Wl2_Window_Group
- * @since 1.24
- */
-EAPI void ecore_wl2_window_aspect_get(Ecore_Wl2_Window *window, int *w, int *h, unsigned int *aspect);
-
-/**
- * @brief Begin moving a given Ecore_Wl2_Window
- *
- * @param window The Ecore_Wl2_Window which to move
- * @param input The seat on which the move is active on
- *
- * @ingroup Ecore_Wl2_Window_Group
- * @since 1.20
- */
-EAPI void ecore_wl2_window_move(Ecore_Wl2_Window *window, Ecore_Wl2_Input *input);
-
-/**
- * Raise a given Ecore_Wl2_Window
- *
- * @param window The Ecore_Wl2_Window which to raise
- *
- * @ingroup Ecore_Wl2_Window_Group
- * @since 1.17
- */
-EAPI void ecore_wl2_window_raise(Ecore_Wl2_Window *window);
-
-EAPI void ecore_wl2_window_parent_set(Ecore_Wl2_Window *window, Ecore_Wl2_Window *parent);
-EAPI void ecore_wl2_window_stack_mode_set(Ecore_Wl2_Window *window, Ecore_Wl2_Window_Stack_Mode mode);
-EAPI int ecore_wl2_window_active_angle_get(Ecore_Wl2_Window *window);
-
-//TIZEN_ONLY(20171216): add ecore_wl2_window_find
-EAPI Ecore_Wl2_Window *ecore_wl2_window_find(unsigned int id);
-//
-
-/**
- * Set a given window's transparent property
- *
- * @param window The window on which to set the transparent property
- * @param transparent EINA_TRUE to set window as transparent,
- *                    EINA_FALSE otherwise
- *
- * @ingroup Ecore_Wl2_Window_Group
- * @since 1.17
- */
-EAPI void ecore_wl2_window_transparent_set(Ecore_Wl2_Window *window, Eina_Bool transparent);
-
-// TIZEN_ONLY(20171108) : Get a window's transparent property
-EAPI Eina_Bool ecore_wl2_window_transparent_get(Ecore_Wl2_Window *window);
-//
-
-/**
- * Set the opaque region of the Ecore_Wl2_Window
- *
- * @param win The window
- * @param x The left point of the region.
- * @param y The top point of the region.
- * @param w The width of the region.
- * @param h The height of the region.
- *
- * @ingroup Ecore_Wl2_Window_Group
- * @since 1.17
- */
-EAPI void ecore_wl2_window_opaque_region_set(Ecore_Wl2_Window *window, int x, int y, int w, int h);
-
-// TIZEN_ONLY(20160201) : support to handle input rectangle
-EAPI void ecore_wl2_window_input_rect_set(Ecore_Wl2_Window *win, Eina_Rectangle *input_rect);
-EAPI void ecore_wl2_window_input_rect_add(Ecore_Wl2_Window *win, Eina_Rectangle *input_rect);
-EAPI void ecore_wl2_window_input_rect_subtract(Ecore_Wl2_Window *win, Eina_Rectangle *input_rect);
-//
-
-/**
- * Get the opaque region of the Ecore_Wl2_Window
- *
- * @param win The window
- * @param x The left point of the region.
- * @param y The top point of the region.
- * @param w The width of the region.
- * @param h The height of the region.
- *
- * @ingroup Ecore_Wl2_Window_Group
- * @since 1.24
- */
-EAPI void ecore_wl2_window_opaque_region_get(Ecore_Wl2_Window *window, int *x, int *y, int *w, int *h);
-
-/**
- * Get if a given window is maximized
- *
- * @param window The window to get the maximized state of
- *
- * @return EINA_TRUE if window is maximized, EINA_FALSE otherwise
- *
- * @ingroup Ecore_Wl2_Window_Group
- * @since 1.17
- */
-EAPI Eina_Bool ecore_wl2_window_maximized_get(Ecore_Wl2_Window *window);
-
-/**
- * Set the maximized state of a given window
- *
- * @param window The window to set the maximized state of
- * @param maximized EINA_TRUE to set maximized, EINA_FALSE to unset
- *
- * @ingroup Ecore_Wl2_Window_Group
- * @since 1.17
- */
-EAPI void ecore_wl2_window_maximized_set(Ecore_Wl2_Window *window, Eina_Bool maximized);
-
-/**
- * Get if a given window is fullscreen
- *
- * @param window The window to get the fullscreen state of
- *
- * @return EINA_TRUE if window is fullscreen, EINA_FALSE otherwise
- *
- * @ingroup Ecore_Wl2_Window_Group
- * @since 1.17
- */
-EAPI Eina_Bool ecore_wl2_window_fullscreen_get(Ecore_Wl2_Window *window);
-
-/**
- * Set the fullscreen state of a given window
- *
- * @param window The window to set the fullscreen state of
- * @param maximized EINA_TRUE to set fullscreen, EINA_FALSE to unset
- *
- * @ingroup Ecore_Wl2_Window_Group
- * @since 1.17
- */
-EAPI void ecore_wl2_window_fullscreen_set(Ecore_Wl2_Window *window, Eina_Bool fullscreen);
-
-/**
- * Set the title of a given window
- *
- * @param window The window to set the title of
- * @param title The title of the window
- *
- * @ingroup Ecore_Wl2_Window_Group
- * @since 1.17
- */
-EAPI void ecore_wl2_window_title_set(Ecore_Wl2_Window *window, const char *title);
-
-/**
- * Get the title of a given window
- *
- * @param window The window to set the title of
- *
- * @return A string if found, or NULL otherwise
- *
- * @ingroup Ecore_Wl2_Window_Group
- * @since 1.24
- */
-EAPI const char *ecore_wl2_window_title_get(Ecore_Wl2_Window *window);
-
-// TIZEN_ONLY(20151231) : handling iconic state on tizen
-EAPI void ecore_wl2_window_iconify_state_update(Ecore_Wl2_Window *window, Eina_Bool iconified, Eina_Bool send_event);
-//
-
-/**
- * Set if window rotation is supported by the window manager
- *
- * @param window
- * @param enabled
- *
- * @ingroup Ecore_Wl2_Window_Group
- * @since 1.20
- */
-EAPI void ecore_wl2_window_wm_rotation_supported_set(Ecore_Wl2_Window *window, Eina_Bool enabled);
-
-/**
- * Get if window rotation is supported by the window manager
- *
- * @param window
- *
- * @return EINA_TRUE if supported, EINA_FALSE otherwise
- *
- * @ingroup Ecore_Wl2_Window_Group
- * @since 1.20
- */
-EAPI Eina_Bool ecore_wl2_window_wm_rotation_supported_get(Ecore_Wl2_Window *window);
-
-/**
- * Set if an application has set window rotation
- *
- * @param window
- * @param set
- *
- * @ingroup Ecore_Wl2_Window_Group
- * @since 1.20
- */
-EAPI void ecore_wl2_window_rotation_app_set(Ecore_Wl2_Window *window, Eina_Bool set);
-
-/**
- * Get if an application has set window rotation
- *
- * @param window
- *
- * @return EINA_TRUE if set, EINA_FALSE otherwise
- *
- * @ingroup Ecore_Wl2_Window_Group
- * @since 1.20
- */
-EAPI Eina_Bool ecore_wl2_window_rotation_app_get(Ecore_Wl2_Window *window);
-
-EAPI void ecore_wl2_window_rotation_change_prepare_send(Ecore_Wl2_Window *window, int rot, int w, int h, Eina_Bool resize);
-EAPI void ecore_wl2_window_rotation_change_prepare_done_send(Ecore_Wl2_Window *window, int rot);
-EAPI void ecore_wl2_window_rotation_change_request_send(Ecore_Wl2_Window *window, int rot);
-EAPI void ecore_wl2_window_rotation_changed_callback_set(Ecore_Wl2_Window *win, void *data, void (*func)(Ecore_Wl2_Window *win, int rot, Eina_Bool resize, int w, int h, void *data));
-
-/**
- * @brief Get the activated state of a window
- *
- * @param window The window to get activated state from
- *
- * @return @c EINA_TRUE if activated
- *
- * @ingroup Ecore_Wl2_Window_Group
- * @since 1.20
- */
-EAPI Eina_Bool ecore_wl2_window_activated_get(const Ecore_Wl2_Window *window);
-
-/**
- * @brief Set the seat for a popup window to be used with grab
- *
- * @param window The window
- * @param input The seat
- *
- * Use this function for desktop shell requests involving popup grabs which require
- * a seat for the grab.
- *
- * @ingroup Ecore_Wl2_Window_Group
- * @since 1.20
- */
-EAPI void ecore_wl2_window_popup_input_set(Ecore_Wl2_Window *window, Ecore_Wl2_Input *input);
-
-/**
- * @brief Get the seat for a popup window to be used with grab
- *
- * @param window The window
- *
- * @return Returns Ecore_Wl2_Input if the window has an input.
- *
- * @ingroup Ecore_Wl2_Window_Group
- * @since 1.24
- */
-EAPI Ecore_Wl2_Input *ecore_wl2_window_popup_input_get(Ecore_Wl2_Window *window);
-
-/**
- * Check if a window has a shell surface - without one it can't be visible.
- *
- * @param The window to check
- *
- * @return Returns true if the window has an associated shell surface.
- *
- * @ingroup Ecore_Wl2_Window_Group
- * @since 1.19
- */
-EAPI Eina_Bool ecore_wl2_window_shell_surface_exists(Ecore_Wl2_Window *win);
-
-// TIZEN_ONLY(171108) : get shell surface of a given window
-EAPI struct zxdg_surface_v6 *ecore_wl2_window_shell_surface_get(Ecore_Wl2_Window *window);
-//
-
-/**
- * Set the role of a given window
- *
- * @param window
- * @param role
- *
- * @ingroup Ecore_Wl2_Window_Group
- * @since 1.20
- */
-EAPI void ecore_wl2_window_role_set(Ecore_Wl2_Window *window, const char *role);
-
-/**
- * Get the role of a given window
- *
- * @param window The window to set the class role
- *
- * @return A string if found, or NULL otherwise
- *
- * @ingroup Ecore_Wl2_Window_Group
- * @since 1.24
- */
-EAPI const char *ecore_wl2_window_role_get(Ecore_Wl2_Window *window);
-
-/**
- * Set if a given window is in floating mode
- *
- * @param window The window to set floating mode on
- * @param floating EINA_TRUE if this window should be in floating mode, EINA_FALSE otherwise
- *
- * @ingroup Ecore_Wl2_Window_Group
- * @since 1.20
- */
-EAPI void ecore_wl2_window_floating_mode_set(Ecore_Wl2_Window *window, Eina_Bool floating);
-
-/**
- * Get if a given window is in floating mode
- *
- * @param window The window to get floating mode
- *
- * @return EINA_TRUE if floating, EINA_FALSE otherwise
- *
- * @ingroup Ecore_Wl2_Window_Group
- * @since 1.20
- */
-EAPI Eina_Bool ecore_wl2_window_floating_mode_get(Ecore_Wl2_Window *window);
-
-/**
- * Finds a window by surface
- *
- * @param surface The surface to find the window of
- *
- * @ingroup Ecore_Wl2_Window_Group
- * @since 1.24
- */
-EAPI Ecore_Wl2_Window *ecore_wl2_window_surface_find(void *surface);
-
-/**
- * Get the seat capabilities for a given input.
- *
- * @param input The input
- *
- * @ingroup Ecore_Wl2_Input_Group
- * @since 1.19
- */
-EAPI Ecore_Wl2_Seat_Capabilities ecore_wl2_input_seat_capabilities_get(Ecore_Wl2_Input *input);
-
-/**
- * Get the wayland's seat id from an input.
- *
- * @param input The input
- *
- * @return The seat id
- *
- * @ingroup Ecore_Wl2_Input_Group
- * @since 1.19
- */
-EAPI unsigned int ecore_wl2_input_seat_id_get(Ecore_Wl2_Input *input) EINA_WARN_UNUSED_RESULT;
-
-/**
- * Get the display object of an input
- *
- * @param input The input
- *
- * @return The display
- *
- * @ingroup Ecore_Wl2_Input_Group
- * @since 1.20
- */
-EAPI Ecore_Wl2_Display *ecore_wl2_input_display_get(const Ecore_Wl2_Input *input);
-
-/**
- * Get the name of an input
- *
- * @param input The input
- *
- * @return The name
- *
- * @ingroup Ecore_Wl2_Input_Group
- * @since 1.20
- */
-EAPI Eina_Stringshare *ecore_wl2_input_name_get(Ecore_Wl2_Input *input);
-
-// INTERNAL
-EAPI void ecore_wl2_input_pointer_set(Ecore_Wl2_Input *input, void *surface, int hot_x, int hot_y);
-// INTERNAL
-EAPI void *ecore_wl2_input_cursor_get(Ecore_Wl2_Input *input, const char *cursor_name);
-// INTERNAL
-EAPI void ecore_wl2_input_cursor_size_set(Ecore_Wl2_Input *input, const int size);
-// INTERNAL
-EAPI void ecore_wl2_input_cursor_default_restore(Ecore_Wl2_Input *input);
-
-// INTERNAL
-EAPI void ecore_wl2_window_pointer_set(Ecore_Wl2_Window *win, void *surface, int hot_x, int hot_y);
-// INTERNAL
-EAPI void ecore_wl2_window_cursor_from_name_set(Ecore_Wl2_Window *win, const char *cursor_name);
-// INTERNAL
-EAPI void ecore_wl2_window_cursor_default_restore(Ecore_Wl2_Window *win);
-//
-/**
- * Set the types which are supported by a possible drag and drop operation.
- * This call initializes a data source and offeres the given mimetypes
- *
- * @param input the input where to add on the data source
- * @param types a null-terminated array of mimetypes
- *
- * @ingroup Ecore_Wl2_Dnd_Group
- * @since 1.17
- */
-EAPI void ecore_wl2_dnd_drag_types_set(Ecore_Wl2_Input *input, const char **types);
-
-/**
- * Start a drag on the given input
- *
- * @param input the input to use
- * @param window the window which is the origin of the drag operation
- * @param drag_window the window which is used as window of the visible hint.
- *
- * @return The serial for the start_drag request
- *
- * @ingroup Ecore_Wl2_Dnd_Group
- * @since 1.17
- */
-EAPI uint32_t ecore_wl2_dnd_drag_start(Ecore_Wl2_Input *input, Ecore_Wl2_Window *window, Ecore_Wl2_Window *drag_window);
-
-/**
- * Call wl_data_source.set_actions on an existing source
- *
- * @param input the input to use
- *
- * @see ecore_wl2_dnd_drag_start for a more useful function.
- *
- * @ingroup Ecore_Wl2_Dnd_Group
- * @since 1.20
- */
-EAPI void ecore_wl2_dnd_set_actions(Ecore_Wl2_Input *input);
-
-/**
- * End a drag started by a call to ecore_wl2_dnd_drag_start
- *
- * @param input the input object on which the drag was started
- *
- * @ingroup Ecore_Wl2_Dnd_Group
- * @since 1.17
- */
-EAPI void ecore_wl2_dnd_drag_end(Ecore_Wl2_Input *input);
-
-/**
- * Clear the selection currently setted on this input.
- *
- * @param input the input to clear
- *
- * @return serial of request on success, 0 on failure
- *
- * @ingroup Ecore_Wl2_Dnd_Group
- * @since 1.17
- */
-EAPI uint32_t ecore_wl2_dnd_selection_clear(Ecore_Wl2_Input *input);
-
-// TIZEN_ONLY(20150703) : support conformant
-EAPI void ecore_wl2_window_conformant_set(Ecore_Wl2_Window *win, unsigned int is_conformant);
-EAPI Eina_Bool ecore_wl2_window_conformant_get(Ecore_Wl2_Window *win);
-//
-
-// TIZEN_ONLY(20171108) : add functions for indicator
-EAPI void ecore_wl2_window_indicator_geometry_set(Ecore_Wl2_Window *win, int x, int y, int w, int h);
-EAPI Eina_Bool ecore_wl2_window_indicator_geometry_get(Ecore_Wl2_Window *win, int *x, int *y, int *w, int *h);
-EAPI void ecore_wl2_window_indicator_opacity_set(Ecore_Wl2_Window *win, Ecore_Wl2_Indicator_Opacity_Mode mode);
-EAPI Ecore_Wl2_Indicator_Opacity_Mode ecore_wl2_window_indicator_opacity_get(Ecore_Wl2_Window *win);
-EAPI void ecore_wl2_indicator_visible_type_set(Ecore_Wl2_Window *win, Ecore_Wl2_Indicator_Visible_Type type);
-
-// TIZEN_ONLY(20171108) : add functions for clipboard
-EAPI void ecore_wl2_window_clipboard_geometry_set(Ecore_Wl2_Window *win, int x, int y, int w, int h);
-EAPI Eina_Bool ecore_wl2_window_clipboard_geometry_get(Ecore_Wl2_Window *win, int *x, int *y, int *w, int *h);
-EAPI void ecore_wl2_window_clipboard_state_set(Ecore_Wl2_Window *win, Ecore_Wl2_Clipboard_State state);
-EAPI Ecore_Wl2_Clipboard_State ecore_wl2_window_clipboard_state_get(Ecore_Wl2_Window *win);
-EAPI void ecore_wl2_clipboard_show(Ecore_Wl2_Window *win);
-EAPI void ecore_wl2_clipboard_hide(Ecore_Wl2_Window *win);
-EAPI Eina_Bool ecore_wl2_clipboard_data_only_set(Eina_Bool data_only);
-//
-
-// TIZEN_ONLY(20171108) : add functions for keyboard
-EAPI void ecore_wl2_window_keyboard_geometry_set(Ecore_Wl2_Window *win, int x, int y, int w, int h);
-EAPI Eina_Bool ecore_wl2_window_keyboard_geometry_get(Ecore_Wl2_Window *win, int *x, int *y, int *w, int *h);
-EAPI void ecore_wl2_window_keyboard_state_set(Ecore_Wl2_Window *win, Ecore_Wl2_Virtual_Keyboard_State state);
-EAPI Ecore_Wl2_Virtual_Keyboard_State ecore_wl2_window_keyboard_state_get(Ecore_Wl2_Window *win);
-//
-
-/**
- * Return the version of the display's compositor object
- *
- * @param disp the display to get the compositor object version from
- *
- * @return the version of the display's compositor object
- *
- * @ingroup Ecore_Wl2_Display_Group
- * @since 1.17
- */
-EAPI int ecore_wl2_display_compositor_version_get(Ecore_Wl2_Display *disp);
-
-/**
- * Disable session recovery for any further connections.  Must be called
- * before connecting.  This is irreversible and not intended for general
- * use.
- *
- * @since 1.19
- */
-EAPI void ecore_wl2_session_recovery_disable(void);
-
-/**
- * Check if a wayland window's surface is in the pending state.
- *
- * A surface is pending if it's been commit but we haven't received a
- * frame callback for it yet.  This mean's we're not ready to draw yet.
- *
- * @param window The window whose surface we want to check
- *
- * @return whether the window's surface is pending or not.
- *
- * @since 1.21
- */
-EAPI Eina_Bool ecore_wl2_window_pending_get(Ecore_Wl2_Window *window);
-
-/**
- * Get if a given window is resizing
- *
- * @param window The window to check for resizing
- *
- * @return EINA_TRUE if resizing, EINA_FALSE otherwise
- *
- * @ingroup Ecore_Wl2_Window_Group
- * @since 1.21
- */
-EAPI Eina_Bool ecore_wl2_window_resizing_get(Ecore_Wl2_Window *window);
-
-/**
- * Latch window state at the start of an update
- *
- * When async render takes place we continue to dispatch wayland
- * events from the main loop. We need to defer any changes to
- * window state from those events until the update is complete.
- *
- * Events deferred during an update will automatically fire
- * immediately after the caller calls ecore_wl2_window_commit.
- *
- * @param window The window whose state we want to latch
- *
- * @since 1.21
- */
-EAPI void ecore_wl2_window_update_begin(Ecore_Wl2_Window *window);
-
-// TIZEN_ONLY(20171107): add ecore_wl2_window_input_get() EAPI
-EAPI Ecore_Wl2_Input *ecore_wl2_window_input_get(Ecore_Wl2_Window *win);
-//
-// TIZEN_ONLY(20171114): support a pointer warp
-//
-EAPI Eina_Bool ecore_wl2_window_pointer_warp(Ecore_Wl2_Window *win, int x, int y);
-//
-
-//TIZEN_ONLY(20180810): support client demand move resize
-EAPI void
-ecore_wl2_window_sync_geometry_set(Ecore_Wl2_Window *window, uint32_t serial, int x, int y, int w, int h);
-//
-
 # undef EAPI
 # define EAPI
 
index 9c0e4d3..bb0e643 100644 (file)
@@ -84,10 +84,6 @@ extern Eina_Bool no_session_recovery;
 # endif
 # define CRI(...) EINA_LOG_DOM_CRIT(_ecore_wl2_log_dom, __VA_ARGS__)
 
-typedef void (*Ecore_Wl2_Bind_Cb)(struct wl_client *client, void *data, uint32_t version, uint32_t id);
-typedef void (*Ecore_Wl2_Unbind_Cb)(struct wl_resource *resource);
-
-
 typedef struct _Ecore_Wl2_Input_Devices
 {
    Eo *pointer_dev;
index 0b134e6..c1a541a 100644 (file)
@@ -1108,7 +1108,7 @@ ecore_wl2_window_close_callback_set(Ecore_Wl2_Window *window, void (*cb) (void *
    window->cb_close_data = data;
 }
 
-EAPI void *
+EAPI struct wl_surface *
 ecore_wl2_window_surface_get(Ecore_Wl2_Window *window)
 {
    EINA_SAFETY_ON_NULL_RETURN_VAL(window, NULL);
@@ -3331,7 +3331,7 @@ ecore_wl2_window_type_get(Ecore_Wl2_Window *window)
 }
 
 EAPI Ecore_Wl2_Window *
-ecore_wl2_window_surface_find(void *surface)
+ecore_wl2_window_surface_find(struct wl_surface *surface)
 {
    Ecore_Wl2_Display *ewd;
    Ecore_Wl2_Window *win;
@@ -3423,7 +3423,7 @@ ecore_wl2_window_ignore_output_transform_get(Ecore_Wl2_Window *window)
 
 // TIZEN_ONLY(20171207): add functions to set client's custom cursors
 EAPI void
-ecore_wl2_window_pointer_set(Ecore_Wl2_Window *win, void *surface, int hot_x, int hot_y)
+ecore_wl2_window_pointer_set(Ecore_Wl2_Window *win, struct wl_surface *surface, int hot_x, int hot_y)
 {
    Ecore_Wl2_Input *input;
 
index 7e5ce49..0599c6d 100644 (file)
@@ -10,7 +10,6 @@ ecore_wl2_header_src = [
 ]
 
 ecore_wl2_src = [
-  'ecore_wl2_internal.h',
   'ecore_wl2_subsurf.c',
   'ecore_wl2_dnd.c',
   'ecore_wl2_window.c',
index 0dddb7b..5504862 100644 (file)
@@ -25,7 +25,6 @@
 
 #include <Ecore_IMF.h>
 #include <Ecore_Wl2.h>
-#include <ecore_wl2_internal.h>
 
 #include "text-input-unstable-v1-client-protocol.h"