e_comp_wl: move E_Comp_Wl structures to internal header 65/325465/1
authorSooChan Lim <sc1.lim@samsung.com>
Mon, 9 Jun 2025 11:34:40 +0000 (20:34 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Tue, 10 Jun 2025 11:03:04 +0000 (20:03 +0900)
Change-Id: Iab4532f9393d60903d26dbda1cc8345077fb5703

src/bin/core/e_client.c
src/bin/core/e_client_intern.h
src/bin/server/e_comp_wl_intern.h
src/include/e_comp.h
src/include/e_comp_wl.h

index bc3ae81beb6b103fe7611cf87f77d55dbf35b70c..cd38d074ded544effc15884a0c2e01d4a98190cd 100644 (file)
@@ -4,7 +4,6 @@
 #include "e_uuid_store_intern.h"
 #include "e_utils_intern.h"
 #include "e_comp_screen_intern.h"
-#include "e_comp_wl_intern.h"
 #include "e_comp_wl_subsurface_intern.h"
 #include "e_comp_intern.h"
 #include "e_input_intern.h"
index 12868da583ccafc979f90290372a33357ace8758..21ec111e90c2c9440883399bc11a4b9bf16d2635 100644 (file)
@@ -5,6 +5,7 @@
 #include "e_client.h"
 #include "e_pixmap_intern.h"
 #include "e_comp_wl_capture_intern.h"
+#include "e_comp_wl_intern.h"
 
 #include <wayland-server.h>
 
index 0ccf08b452eb7984c21786321383f98a4fc75483..abe7591d140d37ec56d4ca736d4141ccb70e3f91 100644 (file)
 
 #include <pixman.h>
 
+typedef struct _E_Comp_Wl_Surface_State E_Comp_Wl_Surface_State;
+
+typedef enum _E_Comp_Wl_Sh_Surf_Role
+{
+   E_COMP_WL_SH_SURF_ROLE_NONE = 0,
+   E_COMP_WL_SH_SURF_ROLE_TOPLV = 1,
+   E_COMP_WL_SH_SURF_ROLE_POPUP = 2,
+} E_Comp_Wl_Sh_Surf_Role;
+
+struct _E_Comp_Wl_Buffer_Viewport {
+   struct
+     {
+        uint32_t transform;   /* wl_surface.set_buffer_transform */
+        int32_t scale;        /* wl_surface.set_scaling_factor */
+
+        /* If src_width != wl_fixed_from_int(-1), then and only then src_* are used. */
+        wl_fixed_t src_x, src_y;
+        wl_fixed_t src_width, src_height;
+     } buffer;
+
+   struct
+     {
+        /* If width == -1, the size is inferred from the buffer. */
+        int32_t width, height;
+     } surface;
+
+   int changed;
+
+   /* When screen or window is rotated, a transformed buffer could be
+    * attached after attaching a few buffers. So to detect when the transformed
+    * buffer exactly, we need to know the status of waiting the transformed buffer.
+    */
+   E_DEPRECATED uint32_t wait_for_transform_change;
+};
+
+struct _E_Comp_Wl_Surface_State
+{
+   int sx, sy;
+   int bw, bh;
+   E_Comp_Wl_Buffer *buffer;
+   struct wl_listener buffer_destroy_listener;
+   EINA_DEPRECATED Eina_List *damages, *buffer_damages;
+   EINA_DEPRECATED Eina_List *frames;
+   EINA_DEPRECATED Eina_Tiler *input;
+   EINA_DEPRECATED Eina_Tiler *opaque;
+   E_DEPRECATED E_Comp_Wl_Buffer_Viewport buffer_viewport;
+   Eina_Bool new_attach : 1;
+   EINA_DEPRECATED Eina_Bool has_data : 1;
+
+   E_Presentation_Time_Container presentation_container;
+};
+
+struct _E_Comp_Wl_Subsurf_Data
+{
+   EINA_DEPRECATED struct wl_resource *resource;
+
+   E_Client *parent;
+
+   struct
+     {
+        int x, y;
+        Eina_Bool set;
+     } position;
+
+   EINA_DEPRECATED E_Comp_Wl_Surface_State cached;
+   EINA_DEPRECATED E_Comp_Wl_Buffer_Ref cached_buffer_ref;
+
+   EINA_DEPRECATED Eina_Bool synchronized;
+   Eina_Bool stand_alone;
+
+   struct
+     {
+        E_Client *offscreen_parent;
+     } remote_surface;
+};
+
+struct _E_Comp_Wl_Data
+{
+   struct
+     {
+        struct wl_display *disp;
+        struct wl_event_loop *loop;
+     } wl;
+
+   struct
+     {
+        E_DEPRECATED Eina_List *resources;
+        wl_fixed_t x, y;
+        wl_fixed_t grab_x, grab_y;
+        uint32_t button;
+        Ecore_Timer *hide_tmr;
+        E_Client *ec;
+        E_DEPRECATED Eina_Bool enabled : 1;
+        E_DEPRECATED unsigned int num_devices;
+     } ptr;
+
+   struct
+     {
+        Eina_List *resources;
+        Eina_List *manager_resources;
+        E_Client *ec;
+        Eina_Bool activated : 1;
+        struct wl_global *global;
+     } relative_ptr;
+
+   struct
+     {
+        Eina_List *resources;
+        E_Client *ec;
+        Eina_Bool activated : 1;
+        struct wl_signal pointer_destroy_signal;
+        struct wl_signal surface_unmap_signal;
+        E_DEPRECATED struct wl_signal surface_commit_signal;
+        struct wl_signal surface_mousein_signal;
+        struct wl_signal surface_mouseout_signal;
+        struct wl_global *global;
+     } ptr_constraints;
+
+   struct
+     {
+        E_DEPRECATED Eina_List *resources;
+        E_DEPRECATED Eina_Bool enabled : 1;
+        E_DEPRECATED unsigned int num_devices;
+        unsigned int pressed;
+        E_Client *faked_ec;
+        E_Client *frame_ec;
+     } touch;
+
+   struct
+     {
+        struct wl_global *global;
+        Eina_List *resources;
+        uint32_t version;
+        char *name;
+
+        struct
+          {
+             struct wl_global *global;
+             struct wl_resource *resource;
+          } im;
+     } E_DEPRECATED seat;
+   E_DEPRECATED Eina_List *seats;
+
+   struct
+     {
+        struct wl_global *global;
+        struct wl_resource *resource;
+        Eina_Hash *data_resources;
+     } mgr;
+
+   struct
+     {
+        void *data_source;
+        uint32_t serial;
+        struct wl_signal signal;
+        struct wl_listener data_source_listener;
+        E_Client *target;
+
+        struct wl_resource *cbhm;
+        Eina_List *secondary_list;
+        Eina_List *data_only_list;
+        struct wl_resource *secondary_sent;
+     } selection;
+
+   struct
+     {
+        void *source;
+        struct wl_listener listener;
+        E_Client *xwl_owner;
+     } clipboard;
+
+   struct
+     {
+        void *data_source;
+        E_Client *icon;
+        uint32_t serial;
+        struct wl_signal signal;
+        struct wl_listener data_source_listener;
+        struct wl_client *client;
+        struct wl_resource *focus;
+        Eina_Bool enabled : 1;
+     } dnd;
+
+   struct
+     {
+        E_DEPRECATED struct wl_resource *resource;
+        E_DEPRECATED uint32_t edges;
+     } E_DEPRECATED resize;
+
+   struct
+     {
+        struct xkb_keymap *keymap;
+        struct xkb_context *context;
+        struct xkb_state *state;
+        int fd;
+        size_t size;
+        char *area;
+        GMutex keymap_mutex;
+     } xkb; /* FIXME: will be deprecated after migration */
+
+   struct
+     {
+        Eina_Bool underlay;
+        Eina_Bool scaler;
+     } E_DEPRECATED available_hw_accel;
+
+   struct
+     {
+        void *server;
+     } tbm;
+
+   struct
+     {
+        struct wl_global *global;
+        struct wl_client *client;
+     } screenshooter;
+
+   struct
+     {
+        struct wl_global *global;
+     } video;
+
+   Eina_List *outputs;
+
+   Ecore_Fd_Handler *fd_hdlr;
+   Ecore_Idler *idler;
+
+   struct wl_client *xwl_client;
+   Eina_List *xwl_pending;
+
+   E_Drag *drag;
+   E_Client *drag_client;
+   void *drag_source;
+   void *drag_offer;
+   int drag_device_id; // Ecore_Event_Mouse_Move.multi.device
+
+   double idle_exiter_timestamp;
+};
+
+struct _E_Comp_Wl_Client_Data
+{
+   struct wl_resource *wl_surface;
+
+   Ecore_Timer *on_focus_timer;
+
+   struct
+     {
+        E_Comp_Wl_Subsurf_Data *data;
+
+        Eina_List *list;
+        Eina_List *list_pending;
+        Eina_Bool list_changed : 1;
+
+        Eina_List *below_list;
+        Eina_List *below_list_pending;
+        E_DEPRECATED Evas_Object *below_obj;
+
+        Eina_Bool restacking : 1;
+     } sub;
+
+   E_DEPRECATED struct wl_resource *surface;
+   E_DEPRECATED struct wl_signal destroy_signal;
+   struct wl_signal apply_viewport_signal;
+
+   struct
+     {
+        /* shell surface resource */
+        struct wl_resource *surface;
+
+        void (*configure_send)(struct wl_resource *resource, uint32_t edges, int32_t width, int32_t height);
+        void (*configure)(struct wl_resource *resource, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h);
+        E_DEPRECATED void (*ping)(struct wl_resource *resource);
+        void (*map)(struct wl_resource *resource);
+        void (*unmap)(struct wl_resource *resource);
+        Eina_Rectangle window;
+     } shell;
+
+   E_Comp_Wl_Buffer_Ref buffer_ref;
+   E_Comp_Wl_Surface_State pending;
+
+   EINA_DEPRECATED Eina_List *frames;
+   E_DEPRECATED E_Presentation_Time_Container presentation_container;
+
+   struct
+     {
+        int32_t x, y;
+     } popup;
+
+   struct
+     {
+        E_DEPRECATED struct wl_resource *viewport;
+        E_Comp_Wl_Buffer_Viewport buffer_viewport;
+     } scaler;
+
+   struct
+     {
+        Eina_Bool enabled : 1;
+        Eina_Bool start : 1;
+
+        unsigned int scount, stime;
+        int sx, sy, dx, dy;
+        int prev_degree, cur_degree;
+     } E_DEPRECATED transform;
+
+   struct
+     {
+        Eina_Bool  changed : 1;
+        Eina_List *hints;
+        Eina_Bool  use_msg : 1;
+     } E_DEPRECATED aux_hint;
+
+   /* before applying viewport */
+   int width_from_buffer;
+   int height_from_buffer;
+
+   /* after applying viewport */
+   int width_from_viewport;
+   int height_from_viewport;
+
+   E_DEPRECATED Eina_Bool keep_buffer : 1;
+   Eina_Bool mapped : 1;
+   EINA_DEPRECATED Eina_Bool has_extern_parent : 1;
+   E_DEPRECATED Eina_Bool need_reparent : 1;
+   E_DEPRECATED Eina_Bool reparented : 1;
+   E_DEPRECATED Eina_Bool evas_init : 1;
+   E_DEPRECATED Eina_Bool first_damage : 1;
+   E_DEPRECATED Eina_Bool set_win_type : 1;
+   E_DEPRECATED Eina_Bool frame_update : 1;
+   E_DEPRECATED Eina_Bool focus_update : 1;
+   E_DEPRECATED Eina_Bool opaque_state : 1;
+   E_DEPRECATED Eina_Bool video_client : 1;
+   Eina_Bool has_video_client : 1;
+   E_DEPRECATED Eina_Bool never_hwc : 1;          //  force window not to do hwc
+   E_DEPRECATED Eina_Bool first_commit : 1;       // TRUE : once client committed
+   E_DEPRECATED unsigned char accepts_focus : 1;
+   E_DEPRECATED unsigned char conformant : 1;
+   E_DEPRECATED E_Window_Type win_type;
+   E_DEPRECATED E_Layer layer;
+
+   struct
+   {
+      unsigned char win_type : 1;
+      unsigned char layer : 1;
+   } E_DEPRECATED fetch;
+
+   E_Devicemgr_Input_Device *last_device_ptr;
+   E_Devicemgr_Input_Device *last_device_touch;
+   E_Devicemgr_Input_Device *last_device_kbd;
+
+   E_DEPRECATED E_Util_Transform *viewport_transform;
+
+   struct
+     {
+        E_Client *onscreen_parent;
+        Eina_List *regions;  //list of onscreen region (Eina_Rectangle *)
+     } remote_surface;
+
+   /* xdg shell v6 resource: it should be moved to member of struct shell */
+   struct
+     {
+        E_Comp_Wl_Sh_Surf_Role role;
+        struct wl_resource *res_role; /* zxdg_toplevel_v6 or zxdg_popup_v6 */
+     } E_DEPRECATED sh_v6;
+
+   E_DEPRECATED const char *role_name;
+
+   Eina_Bool wtz_surface_assigned;
+   struct wl_list pointer_constraints;
+   GMutex surface_mutex;
+
+   E_DEPRECATED struct wl_signal state_commit_signal;
+};
+
+struct _E_Comp_Wl_Output
+{
+   struct wl_global *global;
+   Eina_List *resources;
+   const char *id, *make, *model;
+   int x, y, w, h;
+   int phys_width, phys_height;
+   unsigned int refresh;
+   unsigned int subpixel;
+   unsigned int transform;
+   double scale;
+
+   /* added for screenshot ability */
+   struct wl_output *wl_output;
+   struct wl_buffer *buffer;
+   void *data;
+};
+
 EINTERN E_Comp_Wl_Data *e_comp_wl_init(void);
 EINTERN void            e_comp_wl_shutdown(void);
 EINTERN E_Comp_Wl_Data *e_comp_wl_get(void);
index 8dc3c3fe98bcaaaf0a346cad77a13f4817123812..7733631889067cd62b6433db3d28b300646ff5e0 100644 (file)
@@ -33,8 +33,6 @@ using namespace std;
 
 typedef struct _E_Comp                       E_Comp;
 typedef struct _E_Comp_Wl_Client_Data        E_Comp_Client_Data;  // deprecated. use E_Comp_Wl_Client_Data intead of this.
-typedef struct _E_Comp_Wl_Data               E_Comp_Wl_Data;
-typedef struct _E_Comp_Wl_Client_Data        E_Comp_Wl_Client_Data;
 typedef struct _E_Comp_Connected_Client_Info E_Comp_Connected_Client_Info;
 
 typedef enum _E_Comp_Image_Filter
@@ -87,7 +85,6 @@ extern E_API int E_EVENT_COMPOSITOR_DISABLE;
 extern E_API int E_EVENT_COMPOSITOR_ENABLE;
 
 extern E_API E_Comp *e_comp;
-extern E_API E_Comp_Wl_Data *e_comp_wl;
 
 E_API E_Comp_Hook    *e_comp_hook_add(E_Comp_Hook_Point hookpoint, E_Comp_Hook_Cb func, const void *data);
 E_API void            e_comp_hook_del(E_Comp_Hook *ph);
index ce7e5f7e5cb5f95afbe1d2e1b3cae6893ba5945f..683881dea0ed7ec2bf3a144a1cbbc28bfd967ff2 100644 (file)
@@ -54,14 +54,14 @@ using namespace std;
 typedef struct _E_Comp_Wl_Hook E_Comp_Wl_Hook;
 typedef struct _E_Comp_Wl_Pid_Hook E_Comp_Wl_Pid_Hook;
 
-typedef struct _E_Comp_Wl_Aux_Hint  E_Comp_Wl_Aux_Hint;
-typedef struct _E_Comp_Wl_Buffer_Viewport E_Comp_Wl_Buffer_Viewport;
-typedef struct _E_Comp_Wl_Subsurf_Data E_Comp_Wl_Subsurf_Data;
-typedef struct _E_Comp_Wl_Surface_State E_Comp_Wl_Surface_State;
+typedef struct _E_Comp_Wl_Client_Data       E_Comp_Wl_Client_Data;
+typedef struct _E_Comp_Wl_Data              E_Comp_Wl_Data;
+typedef struct _E_Comp_Wl_Aux_Hint          E_Comp_Wl_Aux_Hint;
+typedef struct _E_Comp_Wl_Buffer_Viewport   E_Comp_Wl_Buffer_Viewport;
+typedef struct _E_Comp_Wl_Subsurf_Data      E_Comp_Wl_Subsurf_Data;
 typedef struct _E_Comp_Wl_Shell_Surface_Api E_Comp_Wl_Shell_Surface_Api;
-typedef struct _E_Comp_Wl_Data E_Comp_Wl_Data;
-typedef struct _E_Comp_Wl_Output E_Comp_Wl_Output;
-typedef struct _E_Comp_Wl_Intercept_Hook E_Comp_Wl_Intercept_Hook;
+typedef struct _E_Comp_Wl_Output            E_Comp_Wl_Output;
+typedef struct _E_Comp_Wl_Intercept_Hook    E_Comp_Wl_Intercept_Hook;
 typedef struct _E_Comp_Wl_Pointer_Constraint E_Comp_Wl_Pointer_Constraint;
 
 typedef enum _E_Comp_Wl_Buffer_Type
@@ -96,13 +96,6 @@ typedef enum _E_Comp_Wl_Pid_Hook_Point
    E_COMP_WL_PID_HOOK_LAST,
 } E_Comp_Wl_Pid_Hook_Point;
 
-typedef enum _E_Comp_Wl_Sh_Surf_Role
-{
-   E_COMP_WL_SH_SURF_ROLE_NONE = 0,
-   E_COMP_WL_SH_SURF_ROLE_TOPLV = 1,
-   E_COMP_WL_SH_SURF_ROLE_POPUP = 2,
-} E_Comp_Wl_Sh_Surf_Role;
-
 typedef enum _E_Comp_Wl_Intercept_Hook_Point
 {
    E_COMP_WL_INTERCEPT_HOOK_CURSOR_TIMER_MOUSE_IN,
@@ -120,15 +113,6 @@ typedef void (*E_Comp_Wl_Hook_Cb) (void *data, E_Client *ec);
 typedef void (*E_Comp_Wl_Pid_Hook_Cb) (void *data, pid_t pid);
 typedef Eina_Bool (*E_Comp_Wl_Intercept_Hook_Cb) (void *data, E_Client *ec);
 
-struct _E_Comp_Wl_Aux_Hint
-{
-   int           id;
-   const char   *hint;
-   const char   *val;
-   Eina_Bool     changed;
-   Eina_Bool     deleted;
-};
-
 struct _E_Comp_Wl_Buffer
 {
    E_Comp_Wl_Buffer_Type type;
@@ -145,32 +129,6 @@ struct _E_Comp_Wl_Buffer
    E_Explicit_Sync_Buffer_Release *buffer_release;
 };
 
-struct _E_Comp_Wl_Buffer_Viewport {
-   struct
-     {
-        uint32_t transform;   /* wl_surface.set_buffer_transform */
-        int32_t scale;        /* wl_surface.set_scaling_factor */
-
-        /* If src_width != wl_fixed_from_int(-1), then and only then src_* are used. */
-        wl_fixed_t src_x, src_y;
-        wl_fixed_t src_width, src_height;
-     } buffer;
-
-   struct
-     {
-        /* If width == -1, the size is inferred from the buffer. */
-        int32_t width, height;
-     } surface;
-
-   int changed;
-
-   /* When screen or window is rotated, a transformed buffer could be
-    * attached after attaching a few buffers. So to detect when the transformed
-    * buffer exactly, we need to know the status of waiting the transformed buffer.
-    */
-   E_DEPRECATED uint32_t wait_for_transform_change;
-};
-
 struct _E_Comp_Wl_Shell_Surface_Api
 {
    void (*configure_send)(struct wl_resource *resource, uint32_t edges, int32_t width, int32_t height);
@@ -180,360 +138,13 @@ struct _E_Comp_Wl_Shell_Surface_Api
    void (*unmap)(struct wl_resource *resource);
 };
 
-struct _E_Comp_Wl_Surface_State
-{
-   int sx, sy;
-   int bw, bh;
-   E_Comp_Wl_Buffer *buffer;
-   struct wl_listener buffer_destroy_listener;
-   EINA_DEPRECATED Eina_List *damages, *buffer_damages;
-   EINA_DEPRECATED Eina_List *frames;
-   EINA_DEPRECATED Eina_Tiler *input;
-   EINA_DEPRECATED Eina_Tiler *opaque;
-   E_DEPRECATED E_Comp_Wl_Buffer_Viewport buffer_viewport;
-   Eina_Bool new_attach : 1;
-   EINA_DEPRECATED Eina_Bool has_data : 1;
-
-   E_Presentation_Time_Container presentation_container;
-};
-
-struct _E_Comp_Wl_Subsurf_Data
-{
-   EINA_DEPRECATED struct wl_resource *resource;
-
-   E_Client *parent;
-
-   struct
-     {
-        int x, y;
-        Eina_Bool set;
-     } position;
-
-   EINA_DEPRECATED E_Comp_Wl_Surface_State cached;
-   EINA_DEPRECATED E_Comp_Wl_Buffer_Ref cached_buffer_ref;
-
-   EINA_DEPRECATED Eina_Bool synchronized;
-   Eina_Bool stand_alone;
-
-   struct
-     {
-        E_Client *offscreen_parent;
-     } remote_surface;
-};
-
-struct _E_Comp_Wl_Data
-{
-   struct
-     {
-        struct wl_display *disp;
-        struct wl_event_loop *loop;
-     } wl;
-
-   struct
-     {
-        E_DEPRECATED Eina_List *resources;
-        wl_fixed_t x, y;
-        wl_fixed_t grab_x, grab_y;
-        uint32_t button;
-        Ecore_Timer *hide_tmr;
-        E_Client *ec;
-        E_DEPRECATED Eina_Bool enabled : 1;
-        E_DEPRECATED unsigned int num_devices;
-     } ptr;
-
-   struct
-     {
-        Eina_List *resources;
-        Eina_List *manager_resources;
-        E_Client *ec;
-        Eina_Bool activated : 1;
-        struct wl_global *global;
-     } relative_ptr;
-
-   struct
-     {
-        Eina_List *resources;
-        E_Client *ec;
-        Eina_Bool activated : 1;
-        struct wl_signal pointer_destroy_signal;
-        struct wl_signal surface_unmap_signal;
-        E_DEPRECATED struct wl_signal surface_commit_signal;
-        struct wl_signal surface_mousein_signal;
-        struct wl_signal surface_mouseout_signal;
-        struct wl_global *global;
-     } ptr_constraints;
-
-   struct
-     {
-        E_DEPRECATED Eina_List *resources;
-        E_DEPRECATED Eina_Bool enabled : 1;
-        E_DEPRECATED unsigned int num_devices;
-        unsigned int pressed;
-        E_Client *faked_ec;
-        E_Client *frame_ec;
-     } touch;
-
-   struct
-     {
-        struct wl_global *global;
-        Eina_List *resources;
-        uint32_t version;
-        char *name;
-
-        struct
-          {
-             struct wl_global *global;
-             struct wl_resource *resource;
-          } im;
-     } E_DEPRECATED seat;
-   E_DEPRECATED Eina_List *seats;
-
-   struct
-     {
-        struct wl_global *global;
-        struct wl_resource *resource;
-        Eina_Hash *data_resources;
-     } mgr;
-
-   struct
-     {
-        void *data_source;
-        uint32_t serial;
-        struct wl_signal signal;
-        struct wl_listener data_source_listener;
-        E_Client *target;
-
-        struct wl_resource *cbhm;
-        Eina_List *secondary_list;
-        Eina_List *data_only_list;
-        struct wl_resource *secondary_sent;
-     } selection;
-
-   struct
-     {
-        void *source;
-        struct wl_listener listener;
-        E_Client *xwl_owner;
-     } clipboard;
-
-   struct
-     {
-        void *data_source;
-        E_Client *icon;
-        uint32_t serial;
-        struct wl_signal signal;
-        struct wl_listener data_source_listener;
-        struct wl_client *client;
-        struct wl_resource *focus;
-        Eina_Bool enabled : 1;
-     } dnd;
-
-   struct
-     {
-        E_DEPRECATED struct wl_resource *resource;
-        E_DEPRECATED uint32_t edges;
-     } E_DEPRECATED resize;
-
-   struct
-     {
-        struct xkb_keymap *keymap;
-        struct xkb_context *context;
-        struct xkb_state *state;
-        int fd;
-        size_t size;
-        char *area;
-        GMutex keymap_mutex;
-     } xkb; /* FIXME: will be deprecated after migration */
-
-   struct
-     {
-        Eina_Bool underlay;
-        Eina_Bool scaler;
-     } E_DEPRECATED available_hw_accel;
-
-   struct
-     {
-        void *server;
-     } tbm;
-
-   struct
-     {
-        struct wl_global *global;
-        struct wl_client *client;
-     } screenshooter;
-
-   struct
-     {
-        struct wl_global *global;
-     } video;
-
-   Eina_List *outputs;
-
-   Ecore_Fd_Handler *fd_hdlr;
-   Ecore_Idler *idler;
-
-   struct wl_client *xwl_client;
-   Eina_List *xwl_pending;
-
-   E_Drag *drag;
-   E_Client *drag_client;
-   void *drag_source;
-   void *drag_offer;
-   int drag_device_id; // Ecore_Event_Mouse_Move.multi.device
-
-   double idle_exiter_timestamp;
-};
-
-struct _E_Comp_Wl_Client_Data
-{
-   struct wl_resource *wl_surface;
-
-   Ecore_Timer *on_focus_timer;
-
-   struct
-     {
-        E_Comp_Wl_Subsurf_Data *data;
-
-        Eina_List *list;
-        Eina_List *list_pending;
-        Eina_Bool list_changed : 1;
-
-        Eina_List *below_list;
-        Eina_List *below_list_pending;
-        E_DEPRECATED Evas_Object *below_obj;
-
-        Eina_Bool restacking : 1;
-     } sub;
-
-   E_DEPRECATED struct wl_resource *surface;
-   E_DEPRECATED struct wl_signal destroy_signal;
-   struct wl_signal apply_viewport_signal;
-
-   struct
-     {
-        /* shell surface resource */
-        struct wl_resource *surface;
-
-        void (*configure_send)(struct wl_resource *resource, uint32_t edges, int32_t width, int32_t height);
-        void (*configure)(struct wl_resource *resource, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h);
-        E_DEPRECATED void (*ping)(struct wl_resource *resource);
-        void (*map)(struct wl_resource *resource);
-        void (*unmap)(struct wl_resource *resource);
-        Eina_Rectangle window;
-     } shell;
-
-   E_Comp_Wl_Buffer_Ref buffer_ref;
-   E_Comp_Wl_Surface_State pending;
-
-   EINA_DEPRECATED Eina_List *frames;
-   E_DEPRECATED E_Presentation_Time_Container presentation_container;
-
-   struct
-     {
-        int32_t x, y;
-     } popup;
-
-   struct
-     {
-        E_DEPRECATED struct wl_resource *viewport;
-        E_Comp_Wl_Buffer_Viewport buffer_viewport;
-     } scaler;
-
-   struct
-     {
-        Eina_Bool enabled : 1;
-        Eina_Bool start : 1;
-
-        unsigned int scount, stime;
-        int sx, sy, dx, dy;
-        int prev_degree, cur_degree;
-     } E_DEPRECATED transform;
-
-   struct
-     {
-        Eina_Bool  changed : 1;
-        Eina_List *hints;
-        Eina_Bool  use_msg : 1;
-     } E_DEPRECATED aux_hint;
-
-   /* before applying viewport */
-   int width_from_buffer;
-   int height_from_buffer;
-
-   /* after applying viewport */
-   int width_from_viewport;
-   int height_from_viewport;
-
-   E_DEPRECATED Eina_Bool keep_buffer : 1;
-   Eina_Bool mapped : 1;
-   EINA_DEPRECATED Eina_Bool has_extern_parent : 1;
-   E_DEPRECATED Eina_Bool need_reparent : 1;
-   E_DEPRECATED Eina_Bool reparented : 1;
-   E_DEPRECATED Eina_Bool evas_init : 1;
-   E_DEPRECATED Eina_Bool first_damage : 1;
-   E_DEPRECATED Eina_Bool set_win_type : 1;
-   E_DEPRECATED Eina_Bool frame_update : 1;
-   E_DEPRECATED Eina_Bool focus_update : 1;
-   E_DEPRECATED Eina_Bool opaque_state : 1;
-   E_DEPRECATED Eina_Bool video_client : 1;
-   Eina_Bool has_video_client : 1;
-   E_DEPRECATED Eina_Bool never_hwc : 1;          //  force window not to do hwc
-   E_DEPRECATED Eina_Bool first_commit : 1;       // TRUE : once client committed
-   E_DEPRECATED unsigned char accepts_focus : 1;
-   E_DEPRECATED unsigned char conformant : 1;
-   E_DEPRECATED E_Window_Type win_type;
-   E_DEPRECATED E_Layer layer;
-
-   struct
-   {
-      unsigned char win_type : 1;
-      unsigned char layer : 1;
-   } E_DEPRECATED fetch;
-
-   E_Devicemgr_Input_Device *last_device_ptr;
-   E_Devicemgr_Input_Device *last_device_touch;
-   E_Devicemgr_Input_Device *last_device_kbd;
-
-   E_DEPRECATED E_Util_Transform *viewport_transform;
-
-   struct
-     {
-        E_Client *onscreen_parent;
-        Eina_List *regions;  //list of onscreen region (Eina_Rectangle *)
-     } remote_surface;
-
-   /* xdg shell v6 resource: it should be moved to member of struct shell */
-   struct
-     {
-        E_Comp_Wl_Sh_Surf_Role role;
-        struct wl_resource *res_role; /* zxdg_toplevel_v6 or zxdg_popup_v6 */
-     } E_DEPRECATED sh_v6;
-
-   E_DEPRECATED const char *role_name;
-
-   Eina_Bool wtz_surface_assigned;
-   struct wl_list pointer_constraints;
-   GMutex surface_mutex;
-
-   E_DEPRECATED struct wl_signal state_commit_signal;
-};
-
-struct _E_Comp_Wl_Output
+struct _E_Comp_Wl_Aux_Hint
 {
-   struct wl_global *global;
-   Eina_List *resources;
-   const char *id, *make, *model;
-   int x, y, w, h;
-   int phys_width, phys_height;
-   unsigned int refresh;
-   unsigned int subpixel;
-   unsigned int transform;
-   double scale;
-
-   /* added for screenshot ability */
-   struct wl_output *wl_output;
-   struct wl_buffer *buffer;
-   void *data;
+   int           id;
+   const char   *hint;
+   const char   *val;
+   Eina_Bool     changed;
+   Eina_Bool     deleted;
 };
 
 struct _E_Comp_Wl_Hook
@@ -563,6 +174,8 @@ struct _E_Comp_Wl_Intercept_Hook
    unsigned char delete_me : 1;
 };
 
+extern E_API E_Comp_Wl_Data *e_comp_wl;
+
 E_API void                      e_comp_wl_buffer_reference(E_Comp_Wl_Buffer_Ref *ref, E_Comp_Wl_Buffer *buffer);
 E_API void                      e_comp_wl_touch_cancel(void);
 E_API E_Client                 *e_comp_wl_topmost_parent_get(E_Client *ec);