summaryrefslogtreecommitdiff
path: root/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_private.h
diff options
context:
space:
mode:
authorMarcel Hollerbach <mail@marcel-hollerbach.de>2020-02-10 09:20:18 +0100
committerMarcel Hollerbach <mail@marcel-hollerbach.de>2020-03-08 10:59:37 +0100
commit5ac02ec9acdd2b9b5bf7b0e6bb4dcd99cb6f63d7 (patch)
tree33b7a645623977a67871ede9a7b15cca37cc61b0 /src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_private.h
parente0c40abb40f05efe32e263e8a59e923281b559dc (diff)
ecore_evas: introduce wayland support for cnp & dnd
This adds cnp support, actions are right now only mapped to "ask", further support can be added there, and synchronization can be added to register more available actions. However, i did not find *any* wayland implementation in gtk qt nor chromiumos that even use the action to indicate anything. This here also has a slightly different behaviour to X11 in terms of coordinates for motion,leave,enter. They can contain negative coordinates (which is due to the fact that wl is CSD and X11 is SSD. However, I did not want to fix this in any regard, as you might want to use that, and it would be a none trivial amount of code to fix that. Reviewed-by: Chris Michael <cp.michael@samsung.com> Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Differential Revision: https://phab.enlightenment.org/D11329
Diffstat (limited to '')
-rw-r--r--src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_private.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_private.h b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_private.h
index e69970f262..d042719d93 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_private.h
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_private.h
@@ -34,12 +34,23 @@
34 34
35typedef struct _Ecore_Evas_Engine_Wl_Data Ecore_Evas_Engine_Wl_Data; 35typedef struct _Ecore_Evas_Engine_Wl_Data Ecore_Evas_Engine_Wl_Data;
36 36
37typedef struct _Ecore_Evas_Wl_Selection_Data Ecore_Evas_Wl_Selection_Data;
38
39struct _Ecore_Evas_Wl_Selection_Data
40{
41 Ecore_Evas_Selection_Callbacks callbacks;
42 Eina_Promise *delivery;
43 Ecore_Wl2_Offer *offer;
44 const char *later_convert;
45 uint32_t sent_serial; //The serial of the last sent selection op
46};
47
37struct _Ecore_Evas_Engine_Wl_Data 48struct _Ecore_Evas_Engine_Wl_Data
38{ 49{
39 Ecore_Wl2_Display *display; 50 Ecore_Wl2_Display *display;
40 Eina_List *regen_objs; 51 Eina_List *regen_objs;
41 Ecore_Wl2_Window *parent, *win; 52 Ecore_Wl2_Window *parent, *win;
42 Ecore_Event_Handler *sync_handler; 53 Ecore_Event_Handler *sync_handler, *changed_handler, *end_handler, *send_handler, *offer_handler, *dnd_leave_handler, *dnd_motion_handler, *dnd_enter_handler, *dnd_drop_handler, *dnd_end_handler;
43 int fx, fy, fw, fh; 54 int fx, fy, fw, fh;
44 Ecore_Wl2_Frame_Cb_Handle *frame; 55 Ecore_Wl2_Frame_Cb_Handle *frame;
45 int x_rel; 56 int x_rel;
@@ -47,7 +58,8 @@ struct _Ecore_Evas_Engine_Wl_Data
47 uint32_t timestamp; 58 uint32_t timestamp;
48 Eina_List *devices_list; 59 Eina_List *devices_list;
49 int cw, ch; 60 int cw, ch;
50 61 Ecore_Evas_Wl_Selection_Data selection_data[ECORE_EVAS_SELECTION_BUFFER_LAST];
62 Ecore_Wl2_Offer *external_offer;
51 struct 63 struct
52 { 64 {
53 Eina_Bool supported : 1; 65 Eina_Bool supported : 1;