aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/evas/src/modules/engines/gl_x11/Evas_Engine_GL_X11.h
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/evas/src/modules/engines/gl_x11/Evas_Engine_GL_X11.h')
-rw-r--r--libraries/evas/src/modules/engines/gl_x11/Evas_Engine_GL_X11.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/libraries/evas/src/modules/engines/gl_x11/Evas_Engine_GL_X11.h b/libraries/evas/src/modules/engines/gl_x11/Evas_Engine_GL_X11.h
new file mode 100644
index 0000000..fb2c81c
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_x11/Evas_Engine_GL_X11.h
@@ -0,0 +1,46 @@
1#ifndef _EVAS_ENGINE_GL_X11_H
2#define _EVAS_ENGINE_GL_X11_H
3
4#include <X11/Xlib.h>
5
6typedef struct _Evas_Engine_Info_GL_X11 Evas_Engine_Info_GL_X11;
7
8struct _Evas_Engine_Info_GL_X11
9{
10 /* PRIVATE - don't mess with this baby or evas will poke its tongue out */
11 /* at you and make nasty noises */
12 Evas_Engine_Info magic;
13
14 /* engine specific data & parameters it needs to set up */
15 struct {
16 Display *display;
17 Drawable drawable;
18 Visual *visual;
19 Colormap colormap;
20 int depth;
21 int screen;
22 int rotation;
23 unsigned int destination_alpha : 1;
24 } info;
25 /* engine specific function calls to query stuff about the destination */
26 /* engine (what visual & colormap & depth to use, performance info etc. */
27 struct {
28 Visual * (*best_visual_get) (Evas_Engine_Info_GL_X11 *einfo);
29 Colormap (*best_colormap_get) (Evas_Engine_Info_GL_X11 *einfo);
30 int (*best_depth_get) (Evas_Engine_Info_GL_X11 *einfo);
31 } func;
32
33 struct {
34 void (*pre_swap) (void *data, Evas *e);
35 void (*post_swap) (void *data, Evas *e);
36
37 void *data; // data for callback calls
38 } callback;
39
40 /* non-blocking or blocking mode */
41 Evas_Engine_Render_Mode render_mode;
42
43 unsigned char vsync : 1; // does nothing right now
44 unsigned char indirect : 1; // use indirect rendering
45};
46#endif