15 #ifndef X11GRAPHICSPIPE_H
16 #define X11GRAPHICSPIPE_H
18 #include "pandabase.h"
19 #include "graphicsWindow.h"
20 #include "graphicsPipe.h"
21 #include "lightMutex.h"
22 #include "lightReMutex.h"
23 #include "windowHandle.h"
54 Atom _wm_delete_window;
56 Atom _net_wm_window_type;
57 Atom _net_wm_window_type_splash;
58 Atom _net_wm_window_type_fullscreen;
60 Atom _net_wm_state_fullscreen;
61 Atom _net_wm_state_above;
62 Atom _net_wm_state_below;
63 Atom _net_wm_state_add;
64 Atom _net_wm_state_remove;
67 X11_Display *_display;
72 X11_Cursor _hidden_cursor;
75 void make_hidden_cursor();
76 void release_hidden_cursor();
78 static void install_error_handlers();
79 static int error_handler(X11_Display *display, XErrorEvent *error);
80 static int io_error_handler(X11_Display *display);
82 typedef int ErrorHandlerFunc(X11_Display *, XErrorEvent *);
83 typedef int IOErrorHandlerFunc(X11_Display *);
84 static bool _error_handlers_installed;
85 static ErrorHandlerFunc *_prev_error_handler;
86 static IOErrorHandlerFunc *_prev_io_error_handler;
88 static bool _x_error_messages_enabled;
89 static int _x_error_count;
100 static void init_type() {
101 GraphicsPipe::init_type();
102 register_type(_type_handle,
"x11GraphicsPipe",
103 GraphicsPipe::get_class_type());
106 return get_class_type();
108 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
114 #include "x11GraphicsPipe.I"
This graphics pipe represents the interface for creating graphics windows on an X-based client...
XIM get_im() const
Returns the input method opened for the pipe, or NULL if the input method could not be opened for som...
static int disable_x_error_messages()
Globally disables the printing of error messages that are raised by the X11 system, for instance in order to test whether a particular X11 operation will succeed.
A lightweight reentrant mutex.
X11_Window get_root() const
Returns the handle to the root window on the pipe's display.
int get_screen() const
Returns the X screen number associated with the pipe.
static int enable_x_error_messages()
Reenables the printing of error messages after a previous call to disable_x_error_messages().
virtual PreferredWindowThread get_preferred_window_thread() const
Returns an indication of the thread in which this GraphicsPipe requires its window processing to be p...
An object to create GraphicsOutputs that share a particular 3-D API.
X11_Cursor get_hidden_cursor()
Returns an invisible Cursor suitable for assigning to windows that have the cursor_hidden property se...
X11_Display * get_display() const
Returns a pointer to the X display associated with the pipe: the display on which to create the windo...
TypeHandle is the identifier used to differentiate C++ class types.
A container for the various kinds of properties we might ask to have on a graphics frameBuffer before...
static int get_x_error_count()
Returns the number of times an error indication has been raised by the X11 system since application s...