1 #ifndef ECORE_EVAS_X11_H_
2 # define ECORE_EVAS_X11_H_
3 
4 typedef struct _Ecore_Evas_Interface_X11 Ecore_Evas_Interface_X11;
5 typedef struct _Ecore_Evas_Interface_Software_X11 Ecore_Evas_Interface_Software_X11;
6 typedef struct _Ecore_Evas_Interface_Gl_X11 Ecore_Evas_Interface_Gl_X11;
7 
8 struct _Ecore_Evas_Interface_X11 {
9    Ecore_Evas_Interface base;
10 
11    void           (*leader_set)(Ecore_Evas *ee, Ecore_X_Window win);
12    Ecore_X_Window (*leader_get)(Ecore_Evas *ee);
13    void           (*leader_default_set)(Ecore_Evas *ee);
14    void           (*shape_input_rectangle_set)(Ecore_Evas *ee, int x, int y, int w, int h);
15    void           (*shape_input_rectangle_add)(Ecore_Evas *ee, int x, int y, int w, int h);
16    void           (*shape_input_rectangle_subtract)(Ecore_Evas *ee, int x, int y, int w, int h);
17    void           (*shape_input_empty)(Ecore_Evas *ee);
18    void           (*shape_input_reset)(Ecore_Evas *ee);
19    void           (*shape_input_apply)(Ecore_Evas *ee);
20 };
21 
22 struct _Ecore_Evas_Interface_Software_X11 {
23    Ecore_Evas_Interface base;
24 
25    Ecore_X_Window (*window_get)(const Ecore_Evas *ee);
26    Ecore_X_Pixmap (*pixmap_get)(const Ecore_Evas *ee);
27    void           (*resize_set)(Ecore_Evas *ee, Eina_Bool on);
28    Eina_Bool      (*resize_get)(const Ecore_Evas *ee);
29    void           (*extra_event_window_add)(Ecore_Evas *ee, Ecore_X_Window win);
30 
31    void          *(*pixmap_visual_get)(const Ecore_Evas *ee);
32    unsigned long  (*pixmap_colormap_get)(const Ecore_Evas *ee);
33    int            (*pixmap_depth_get)(const Ecore_Evas *ee);
34 };
35 
36 struct _Ecore_Evas_Interface_Gl_X11 {
37    Ecore_Evas_Interface base;
38 
39    Ecore_X_Window  (*window_get)(const Ecore_Evas *ee);
40    Ecore_X_Pixmap  (*pixmap_get)(const Ecore_Evas *ee);
41    void            (*resize_set)(Ecore_Evas *ee, Eina_Bool on);
42    Eina_Bool       (*resize_get)(const Ecore_Evas *ee);
43    void            (*extra_event_window_add)(Ecore_Evas *ee, Ecore_X_Window win);
44    void            (*pre_post_swap_callback_set)(const Ecore_Evas *ee, void *data, void (*pre_cb) (void *data, Evas *e), void (*post_cb) (void *data, Evas *e));
45 
46    void          *(*pixmap_visual_get)(const Ecore_Evas *ee);
47    unsigned long  (*pixmap_colormap_get)(const Ecore_Evas *ee);
48    int            (*pixmap_depth_get)(const Ecore_Evas *ee);
49 };
50 
51 #endif
52