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" XIM get_im() const
Returns the input method opened for the pipe, or NULL if the input method could not be opened for som...
This graphics pipe represents the interface for creating graphics windows on an X-based client...
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.
static int enable_x_error_messages()
Reenables the printing of error messages after a previous call to disable_x_error_messages().
int get_screen() const
Returns the X screen number associated with the pipe.
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...
virtual PreferredWindowThread get_preferred_window_thread() const
Returns an indication of the thread in which this GraphicsPipe requires its window processing to be p...
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...