#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);
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
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,
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;
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);
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
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);