source: project/gl-display-glx/glx_display.h @ 3343

Last change on this file since 3343 was 3343, checked in by thu, 14 years ago

added autorepeat enabling/disabling

File size: 2.0 KB
Line 
1#ifndef GLX_DISPLAY_H
2#define GLX_DISPLAY_H
3
4/* #define GLX_DISPLAY_SINGLESTATE */
5
6#include <GL/glx.h>
7#include <X11/keysym.h>
8#include <X11/extensions/shape.h>
9
10typedef struct gl_window_s
11{
12  Display      * display;
13  Window       window;
14  int          screen;
15  GLXWindow    glx_window;
16  GLXContext   glx_context;
17  XSetWindowAttributes attributes;
18  int          fullscreen_flag;
19  int          double_buffered_flag;
20  int          mouse_flag;
21  int          autorepeat_flag;
22  /* XF86VidModeModeInfo original_mode; *//* i.e. desktop mode */
23  int          x;
24  int          y;
25  unsigned int width;
26  unsigned int height;
27  unsigned int depth;
28  unsigned int screen_width;
29  unsigned int screen_height;
30} gl_window_t;
31
32#ifdef GLX_DISPLAY_SINGLESTATE
33unsigned int get_width();
34unsigned int get_height();
35unsigned int get_screen_width();
36unsigned int get_screen_height();
37#else
38unsigned int get_width( gl_window_t  * gl_window );
39unsigned int get_height( gl_window_t  * gl_window );
40unsigned int get_screen_width( gl_window_t  * gl_window );
41unsigned int get_screen_height( gl_window_t  * gl_window );
42#endif
43
44void
45enable_autorepeat (
46#ifndef GLX_DISPLAY_SINGLESTATE
47  gl_window_t  * gl_window
48#endif
49  );
50
51void
52disable_autorepeat (
53#ifndef GLX_DISPLAY_SINGLESTATE
54  gl_window_t  * gl_window
55#endif
56  );
57 
58void destroy_gl_window (
59#ifndef GLX_DISPLAY_SINGLESTATE
60  gl_window_t  * gl_window
61#endif
62  );
63
64#ifndef GLX_DISPLAY_SINGLESTATE
65  gl_window_t  *
66#else
67  void
68#endif
69create_gl_window (
70/*              const char * title, */
71                unsigned int width,
72                unsigned int height,
73                int double_buffered,
74                int fullscreen,
75                int no_border,
76                int use_shape_extension);
77
78void swap_buffers (
79#ifndef GLX_DISPLAY_SINGLESTATE
80  gl_window_t  * gl_window
81#endif
82  );
83
84int event_type( XEvent * e );
85int event_x( XButtonEvent * e );
86int event_y( XButtonEvent * e );
87int event_button( XButtonEvent * e );
88int event_keycode( XEvent * e );
89
90XEvent *
91receive_event (
92#ifndef GLX_DISPLAY_SINGLESTATE
93  gl_window_t  * gl_window
94#endif
95  );
96
97int time_milliseconds( void );
98
99#endif /* GLX_DISPLAY_H */
100
Note: See TracBrowser for help on using the repository browser.