Go to the documentation of this file.
14 #ifndef X11GRAPHICSWINDOW_H
15 #define X11GRAPHICSWINDOW_H
29 const std::string &name,
50 virtual void close_window();
51 virtual bool open_window();
53 virtual void mouse_mode_absolute();
54 virtual void mouse_mode_relative();
59 virtual void setup_colormap(XVisualInfo *visual);
60 void handle_keystroke(XKeyEvent &event);
61 void handle_keypress(XKeyEvent &event);
62 void handle_keyrelease(XKeyEvent &event);
64 ButtonHandle get_button(XKeyEvent &key_event,
bool allow_shift);
67 ButtonHandle get_mouse_button(XButtonEvent &button_event);
68 virtual ButtonMap *get_keyboard_map()
const;
70 static Bool check_event(X11_Display *display, XEvent *event,
char *arg);
75 X11_Cursor get_cursor(
const Filename &filename);
76 X11_Cursor read_ico(std::istream &ico);
79 X11_Display *_display;
84 XVisualInfo *_visual_info;
85 Rotation _orig_rotation;
88 LVecBase2i _fixed_size;
93 bool _awaiting_configure;
94 bool _dga_mouse_enabled;
95 Bool _override_redirect;
96 Atom _wm_delete_window;
98 x11GraphicsPipe::pfn_XRRGetScreenInfo _XRRGetScreenInfo;
99 x11GraphicsPipe::pfn_XRRSetScreenConfig _XRRSetScreenConfig;
105 static void init_type() {
106 GraphicsWindow::init_type();
108 GraphicsWindow::get_class_type());
111 return get_class_type();
113 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
virtual void end_frame(FrameMode mode, Thread *current_thread)
This function will be called within the draw thread after rendering is completed for a given frame.
A container for the various kinds of properties we might ask to have on a graphics frameBuffer before...
virtual bool begin_frame(FrameMode mode, Thread *current_thread)
This function will be called within the draw thread before beginning rendering for a given frame.
virtual void clear(Thread *current_thread)
Clears the entire framebuffer before rendering, according to the settings of get_color_clear_active()...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...
BEGIN_PUBLISH typedef PointerData MouseData
Deprecated alias for PointerData.
A container for the various kinds of properties we might ask to have on a graphics window before we o...
This class is the main interface to controlling the render process.
TypeHandle is the identifier used to differentiate C++ class types.
This is a base class for the various different classes that represent the result of a frame of render...
X11_Window get_xwindow() const
Returns the X11 Window handle.
An object to create GraphicsOutputs that share a particular 3-D API.
virtual MouseData get_pointer(int device) const
Returns the MouseData associated with the nth input device's pointer.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
Interfaces to the X11 window system.
virtual void set_properties_now(WindowProperties &properties)
Applies the requested set of properties to the window, if possible, for instance to request a change ...
virtual void process_events()
Do whatever processing is necessary to ensure that the window responds to user events.
Encapsulates all the communication with a particular instance of a given rendering backend.
A thread; that is, a lightweight process.
A window, fullscreen or on a desktop, into which a graphics device sends its output for interactive d...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
The name of a file, such as a texture file or an Egg file.
virtual bool move_pointer(int device, int x, int y)
Forces the pointer to the indicated position within the window, if possible.