1 #ifndef _EVAS_ENGINE_WAYLAND_COMMON_H
2 # define _EVAS_ENGINE_WAYLAND_COMMON_H
3 
4 #include "Ecore_Wl2.h"
5 #include "ecore_wl2_internal.h"
6 
7 typedef struct _Evas_Engine_Info_Wayland Evas_Engine_Info_Wayland;
8 
9 struct _Evas_Engine_Info_Wayland
10 {
11    /* PRIVATE - don't mess with this baby or evas will poke its tongue out
12     * at you and make nasty noises */
13    Evas_Engine_Info magic;
14 
15    /* engine specific data & parameters it needs to set up */
16    struct
17      {
18         Ecore_Wl2_Window *wl2_win;
19         int depth, rotation;
20         Eina_Bool destination_alpha : 1;
21         Eina_Bool hidden : 1;
22      } info;
23 
24    /* non-blocking or blocking mode */
25    Evas_Engine_Render_Mode render_mode;
26 
27    Eina_Rectangle window;
28    int x_rel, y_rel;
29    int x_cursor, y_cursor;
30    uint32_t timestamp;
31    /* window surface should be made with these config */
32    int depth_bits;
33    int stencil_bits;
34    int msaa_bits;
35 
36    Eina_Bool dragging : 1;
37    Eina_Bool drag_start : 1;
38    Eina_Bool drag_stop : 1;
39    Eina_Bool drag_ack : 1;
40    Eina_Bool resizing : 1;
41    Eina_Bool indirect : 1;
42    Eina_Bool www_avail : 1;
43 };
44 
45 #endif
46