Revert "e_comp_wl: Transfer struct definition to e_comp_wl_intern.h" 26/324126/1
authorTaeHyeon Jeong <thyeon.jeong@samsung.com>
Tue, 13 May 2025 06:52:15 +0000 (15:52 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Tue, 13 May 2025 07:46:30 +0000 (16:46 +0900)
for e-mod-tizen-video-tv
This reverts commit 58810e68da52e08287ea050cee84ec30936948ef.

Change-Id: I6cec1e28664a5201e4730e6eeacd2a84693868cc

src/bin/server/e_comp_wl_input.c
src/bin/server/e_comp_wl_intern.h
src/include/e_comp_wl.h

index 27b6419c94ecdf2b9020818d18ad062137bd8295..31eb29bf69a2da07bbf320f25a8de66e6ae10b90 100644 (file)
 
 typedef struct _E_Comp_Wl_Pointer_Constraint E_Comp_Wl_Pointer_Constraint;
 
+typedef enum _E_Comp_Wl_Pointer_Constraint_Type
+{
+   E_COMP_WL_POINTER_CONSTRAINT_TYPE_NONE = 0,
+   E_COMP_WL_POINTER_CONSTRAINT_TYPE_LOCK = 1,
+   E_COMP_WL_POINTER_CONSTRAINT_TYPE_CONFINE = 2,
+} E_Comp_Wl_Pointer_Constraint_Type;
+
+struct _E_Comp_Wl_Pointer_Constraint
+{
+   struct wl_list link;
+
+   E_Client *ec;
+   struct wl_resource *surface;
+   struct wl_resource *resource;
+   struct wl_resource *pointer;
+   Eina_Bool active;
+
+   E_Comp_Wl_Pointer_Constraint_Type type;
+   int lifetime;
+
+   pixman_region32_t region;
+   pixman_region32_t region_pending;
+   Eina_Bool is_region_pending;
+   Eina_Bool has_region_set;
+
+   int hint_x;
+   int hint_y;
+   wl_fixed_t hint_x_pending;
+   wl_fixed_t hint_y_pending;
+   Eina_Bool is_hint_pending;
+   Eina_Bool has_hint_set;
+
+   struct wl_listener pointer_destroy_listener;
+   struct wl_listener surface_unmap_listener;
+   struct wl_listener surface_commit_listener;
+   struct wl_listener surface_mousein_listener;
+   struct wl_listener surface_mouseout_listener;
+};
+
 E_API int E_EVENT_TEXT_INPUT_PANEL_VISIBILITY_CHANGE = -1;
 static Eina_Bool dont_set_e_input_keymap = EINA_FALSE;
 static Eina_Bool dont_use_xkb_cache = EINA_FALSE;
index 3392ccb22559fb25baae78096aef493b7a6ff81f..37740a9ad23d6d9f0b64e4572e36dab944b54057 100644 (file)
 
 #include <pixman.h>
 
-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_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;
-};
-
-typedef enum _E_Comp_Wl_Pointer_Constraint_Type
-{
-   E_COMP_WL_POINTER_CONSTRAINT_TYPE_NONE = 0,
-   E_COMP_WL_POINTER_CONSTRAINT_TYPE_LOCK = 1,
-   E_COMP_WL_POINTER_CONSTRAINT_TYPE_CONFINE = 2,
-} E_Comp_Wl_Pointer_Constraint_Type;
-
-struct _E_Comp_Wl_Pointer_Constraint
-{
-   struct wl_list link;
-
-   E_Client *ec;
-   struct wl_resource *surface;
-   struct wl_resource *resource;
-   struct wl_resource *pointer;
-   Eina_Bool active;
-
-   E_Comp_Wl_Pointer_Constraint_Type type;
-   int lifetime;
-
-   pixman_region32_t region;
-   pixman_region32_t region_pending;
-   Eina_Bool is_region_pending;
-   Eina_Bool has_region_set;
-
-   int hint_x;
-   int hint_y;
-   wl_fixed_t hint_x_pending;
-   wl_fixed_t hint_y_pending;
-   Eina_Bool is_hint_pending;
-   Eina_Bool has_hint_set;
-
-   struct wl_listener pointer_destroy_listener;
-   struct wl_listener surface_unmap_listener;
-   struct wl_listener surface_commit_listener;
-   struct wl_listener surface_mousein_listener;
-   struct wl_listener surface_mouseout_listener;
-};
-
-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;
-        Evas_Object *below_obj;
-
-        Eina_Bool restacking : 1;
-     } sub;
-
-   /* regular surface resource (wl_compositor_create_surface) */
-   struct wl_resource *surface;
-   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_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;
-     } 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;
-   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;
-   Eina_Bool never_hwc : 1;          //  force window not to do hwc
-   Eina_Bool first_commit : 1;       // TRUE : once client committed
-   unsigned char accepts_focus : 1;
-   unsigned char conformant : 1;
-   E_Window_Type win_type;
-   E_Layer layer;
-
-   struct
-   {
-      unsigned char win_type : 1;
-      unsigned char layer : 1;
-   } fetch;
-
-   E_Devicemgr_Input_Device *last_device_ptr;
-   E_Devicemgr_Input_Device *last_device_touch;
-   E_Devicemgr_Input_Device *last_device_kbd;
-
-   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;
-
-   struct wl_signal state_commit_signal;
-};
-
 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 0d419686a9bc27972dd8b51ee4d4ca0a7345492a..3a1db1344fd79302d3c82451be60ba3cf1848401 100644 (file)
@@ -141,6 +141,32 @@ 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);
@@ -150,6 +176,363 @@ 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;
+        Evas_Object *below_obj;
+
+        Eina_Bool restacking : 1;
+     } sub;
+
+   /* regular surface resource (wl_compositor_create_surface) */
+   struct wl_resource *surface;
+   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_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;
+     } 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;
+   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;
+   Eina_Bool never_hwc : 1;          //  force window not to do hwc
+   Eina_Bool first_commit : 1;       // TRUE : once client committed
+   unsigned char accepts_focus : 1;
+   unsigned char conformant : 1;
+   E_Window_Type win_type;
+   E_Layer layer;
+
+   struct
+   {
+      unsigned char win_type : 1;
+      unsigned char layer : 1;
+   } fetch;
+
+   E_Devicemgr_Input_Device *last_device_ptr;
+   E_Devicemgr_Input_Device *last_device_touch;
+   E_Devicemgr_Input_Device *last_device_kbd;
+
+   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;
+
+   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;
+};
+
 struct _E_Comp_Wl_Hook
 {
    EINA_INLIST;