huge wl fixup (wayland clients actually working again)
[platform/upstream/enlightenment.git] / src / bin / e_comp_x.h
1 #ifdef E_TYPEDEFS
2 # include <Ecore_X.h>
3 #  include "e_atoms.h"
4 #  include "e_hints.h"
5 #  include "e_randr.h"
6
7 #else
8 # ifndef E_COMP_X_H
9 #  define E_COMP_X_H
10 #  include <Ecore_X.h>
11 #  include "e_atoms.h"
12 #  include "e_hints.h"
13 #  include "e_randr.h"
14
15 struct _E_Comp_Client_Data
16 {
17    Ecore_X_Window lock_win;
18
19    Ecore_X_Damage       damage;  // damage region
20    Ecore_X_Visual       vis;  // window visual
21    Ecore_X_Colormap     cmap; // colormap of window
22
23 #if 0 //NOT USED
24    Ecore_X_Pixmap       cache_pixmap;  // the cached pixmap (1/nth the dimensions)
25    int                  cache_w, cache_h;  // cached pixmap size
26 #endif
27
28    Ecore_X_Image       *xim;  // x image - software fallback
29    Ecore_X_Sync_Alarm   alarm;
30    Ecore_X_Sync_Counter sync_counter;  // netwm sync counter
31
32    unsigned char        misses; // number of sync misses
33
34    Ecore_X_Window_Attributes initial_attributes;
35
36    unsigned int move_counter; //reduce X calls when moving a window
37    unsigned int internal_props_set; //don't need to refetch our own internal props
38
39    struct
40    {
41       struct
42       {
43          struct
44          {
45             unsigned char conformant : 1;
46          } fetch;
47          unsigned char conformant : 1;
48       } conformant;
49       struct
50       {
51          struct
52          {
53             unsigned char state : 1;
54             struct
55             {
56                unsigned int major : 1;
57                unsigned int minor : 1;
58             } priority;
59             unsigned char quickpanel : 1;
60             unsigned char zone : 1;
61          } fetch;
62          Ecore_X_Illume_Quickpanel_State state;
63          struct
64          {
65             unsigned int major : 1;
66             unsigned int minor : 1;
67          } priority;
68          unsigned char                   quickpanel : 1;
69          int                             zone;
70       } quickpanel;
71       struct
72       {
73          struct
74          {
75             unsigned char drag : 1;
76             unsigned char locked : 1;
77          } fetch;
78          unsigned char drag : 1;
79          unsigned char locked : 1;
80       } drag;
81       struct
82       {
83          struct
84          {
85             unsigned char state : 1;
86          } fetch;
87          Ecore_X_Illume_Window_State state;
88       } win_state;
89    } illume;
90
91    Eina_Bool moving : 1;
92    Eina_Bool first_map : 1;
93    Eina_Bool change_icon : 1;
94    Eina_Bool need_reparent : 1;
95    Eina_Bool reparented : 1;
96    Eina_Bool deleted : 1;
97    Eina_Bool button_grabbed : 1;
98    Eina_Bool fetch_exe : 1;
99    Eina_Bool set_win_type : 1;
100    Eina_Bool frame_update : 1;
101    Eina_Bool evas_init : 1;
102 };
103
104 EINTERN Eina_Bool e_comp_x_init(void);
105 EINTERN void e_comp_x_shutdown(void);
106
107 EAPI void e_alert_composite_win(Ecore_X_Window root, Ecore_X_Window win);
108 # endif
109 #endif