104 INLINE XIM
get_im()
const;
120 int &x,
int &y,
int &width,
int &height);
127 Atom _wm_delete_window;
129 Atom _net_wm_window_type;
130 Atom _net_wm_window_type_splash;
131 Atom _net_wm_window_type_fullscreen;
133 Atom _net_wm_state_fullscreen;
134 Atom _net_wm_state_above;
135 Atom _net_wm_state_below;
136 Atom _net_wm_state_add;
137 Atom _net_wm_state_remove;
138 Atom _net_wm_bypass_compositor;
141 typedef int (*pfn_XcursorGetDefaultSize)(X11_Display *);
142 typedef XcursorImages *(*pfn_XcursorXcFileLoadImages)(XcursorFile *, int);
143 typedef X11_Cursor (*pfn_XcursorImagesLoadCursor)(X11_Display *,
const XcursorImages *);
144 typedef void (*pfn_XcursorImagesDestroy)(XcursorImages *);
145 typedef XcursorImage *(*pfn_XcursorImageCreate)(int, int);
146 typedef X11_Cursor (*pfn_XcursorImageLoadCursor)(X11_Display *,
const XcursorImage *);
147 typedef void (*pfn_XcursorImageDestroy)(XcursorImage *);
150 pfn_XcursorXcFileLoadImages _XcursorXcFileLoadImages;
151 pfn_XcursorImagesLoadCursor _XcursorImagesLoadCursor;
152 pfn_XcursorImagesDestroy _XcursorImagesDestroy;
153 pfn_XcursorImageCreate _XcursorImageCreate;
154 pfn_XcursorImageLoadCursor _XcursorImageLoadCursor;
155 pfn_XcursorImageDestroy _XcursorImageDestroy;
157 typedef Bool (*pfn_XRRQueryExtension)(X11_Display *,
int*,
int*);
158 typedef Status (*pfn_XRRQueryVersion)(X11_Display *,
int*,
int*);
159 typedef XRRScreenSize *(*pfn_XRRSizes)(X11_Display*, int,
int*);
160 typedef short *(*pfn_XRRRates)(X11_Display*, int, int,
int*);
161 typedef XRRScreenConfiguration *(*pfn_XRRGetScreenInfo)(X11_Display*, X11_Window);
162 typedef SizeID (*pfn_XRRConfigCurrentConfiguration)(XRRScreenConfiguration*, Rotation*);
163 typedef Status (*pfn_XRRSetScreenConfig)(X11_Display*, XRRScreenConfiguration *,
164 Drawable, int, Rotation, Time);
167 pfn_XRRSizes _XRRSizes;
168 pfn_XRRRates _XRRRates;
169 pfn_XRRGetScreenInfo _XRRGetScreenInfo;
170 pfn_XRRConfigCurrentConfiguration _XRRConfigCurrentConfiguration;
171 pfn_XRRSetScreenConfig _XRRSetScreenConfig;
174 X11_Display *_display;
179 X11_Cursor _hidden_cursor;
181 typedef Bool (*pfn_XF86DGAQueryVersion)(X11_Display *,
int*,
int*);
182 typedef Status (*pfn_XF86DGADirectVideo)(X11_Display *, int, int);
183 pfn_XF86DGADirectVideo _XF86DGADirectVideo;
188 pfn_XRRGetScreenResources _XRRGetScreenResourcesCurrent;
189 pfn_XRRFreeScreenResources _XRRFreeScreenResources;
190 pfn_XRRGetCrtcInfo _XRRGetCrtcInfo;
191 pfn_XRRFreeCrtcInfo _XRRFreeCrtcInfo;
194 void make_hidden_cursor();
195 void release_hidden_cursor();
197 static void install_error_handlers();
198 static int error_handler(X11_Display *display, XErrorEvent *error);
199 static int io_error_handler(X11_Display *display);
201 typedef int ErrorHandlerFunc(X11_Display *, XErrorEvent *);
202 typedef int IOErrorHandlerFunc(X11_Display *);
203 static bool _error_handlers_installed;
204 static ErrorHandlerFunc *_prev_error_handler;
205 static IOErrorHandlerFunc *_prev_io_error_handler;
207 static bool _x_error_messages_enabled;
208 static int _x_error_count;
219 static void init_type() {
220 GraphicsPipe::init_type();
222 GraphicsPipe::get_class_type());
225 return get_class_type();
227 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}