move around - flatter.
[profile/ivi/evas.git] / src / modules / engines / gl_x11 / evas_engine.h
1 #ifndef EVAS_ENGINE_H
2 #define EVAS_ENGINE_H
3
4 #include <X11/Xlib.h>
5 #include <X11/Xatom.h>
6 #include <X11/Xutil.h>
7
8 #include "evas_gl_common.h"
9
10 typedef struct _Evas_GL_X11_Window Evas_GL_X11_Window;
11
12 struct _Evas_GL_X11_Window
13 {
14    Display         *disp;
15    Window           win;
16    int              w, h;
17    int              screen;
18    XVisualInfo     *visualinfo;
19    Visual          *visual;
20    Colormap         colormap;
21    int              depth;
22    GLXContext       context;
23    Evas_GL_Context *gl_context;
24    struct {
25       int              redraw : 1;
26       int              drew : 1;
27       int              x1, y1, x2, y2;
28    } draw;
29 };
30
31 extern int          _evas_gl_x11_configuration[9];
32 extern XVisualInfo *_evas_gl_x11_vi;
33 extern Colormap     _evas_gl_x11_cmap;
34
35 Evas_GL_X11_Window *
36   eng_window_new(Display *disp,
37                  Window   win,
38                  int      screen,
39                  Visual  *vis,
40                  Colormap cmap,
41                  int      depth,
42                  int      w,
43                  int      h);
44 void
45   eng_window_free(Evas_GL_X11_Window *gw);
46 void
47   eng_window_use(Evas_GL_X11_Window *gw);
48
49 #endif