Panda3D
|
This graphics pipe represents the interface for creating graphics windows on an X-based client. More...
#include "x11GraphicsPipe.h"
Public Types | |
typedef int(* | pfn_XcursorGetDefaultSize) (X11_Display *) |
typedef XcursorImage *(* | pfn_XcursorImageCreate) (int, int) |
typedef void(* | pfn_XcursorImageDestroy) (XcursorImage *) |
typedef X11_Cursor(* | pfn_XcursorImageLoadCursor) (X11_Display *, const XcursorImage *) |
typedef void(* | pfn_XcursorImagesDestroy) (XcursorImages *) |
typedef X11_Cursor(* | pfn_XcursorImagesLoadCursor) (X11_Display *, const XcursorImages *) |
typedef XcursorImages *(* | pfn_XcursorXcFileLoadImages) (XcursorFile *, int) |
typedef SizeID(* | pfn_XRRConfigCurrentConfiguration) (XRRScreenConfiguration *, Rotation *) |
typedef XRRScreenConfiguration *(* | pfn_XRRGetScreenInfo) (X11_Display *, X11_Window) |
typedef Bool(* | pfn_XRRQueryExtension) (X11_Display *, int *, int *) |
typedef Status(* | pfn_XRRQueryVersion) (X11_Display *, int *, int *) |
typedef short *(* | pfn_XRRRates) (X11_Display *, int, int, int *) |
typedef Status(* | pfn_XRRSetScreenConfig) (X11_Display *, XRRScreenConfiguration *, Drawable, int, Rotation, Time) |
typedef XRRScreenSize *(* | pfn_XRRSizes) (X11_Display *, int, int *) |
![]() | |
enum | BufferCreationFlags { BF_refuse_parasite = 0x0001 , BF_require_parasite = 0x0002 , BF_refuse_window = 0x0004 , BF_require_window = 0x0008 , BF_require_callback_window = 0x0010 , BF_can_bind_color = 0x0040 , BF_can_bind_every = 0x0080 , BF_resizeable = 0x0100 , BF_size_track_host = 0x0200 , BF_rtt_cumulative = 0x0400 , BF_fb_props_optional = 0x0800 , BF_size_square = 0x1000 , BF_size_power_2 = 0x2000 , BF_can_bind_layered = 0x4000 } |
enum | OutputTypes { OT_window = 0x0001 , OT_fullscreen_window = 0x0002 , OT_buffer = 0x0004 , OT_texture_buffer = 0x0008 } |
enum | PreferredWindowThread { PWT_app , PWT_draw } |
Public Member Functions | |
x11GraphicsPipe (const std::string &display=std::string()) | |
void | disable_relative_mouse () |
Disables relative mouse mode for this display. More... | |
bool | enable_relative_mouse () |
Enables relative mouse mode for this display. More... | |
RRCrtc | find_fullscreen_crtc (const LPoint2i &point, int &x, int &y, int &width, int &height) |
Finds a CRTC for going fullscreen to, at the given origin. More... | |
virtual TypeHandle | force_init_type () |
std::unique_ptr< XRRCrtcInfo, pfn_XRRFreeCrtcInfo > | get_crtc_info (XRRScreenResources *res, RRCrtc crtc) const |
Returns an XRRCrtcInfo object, or null if RandR 1.2 is not supported. More... | |
X11_Display * | get_display () const |
Returns a pointer to the X display associated with the pipe: the display on which to create the windows. More... | |
X11_Cursor | get_hidden_cursor () |
Returns an invisible Cursor suitable for assigning to windows that have the cursor_hidden property set. More... | |
XIM | get_im () const |
Returns the input method opened for the pipe, or NULL if the input method could not be opened for some reason. More... | |
virtual PreferredWindowThread | get_preferred_window_thread () const |
Returns an indication of the thread in which this GraphicsPipe requires its window processing to be performed: typically either the app thread (e.g. More... | |
X11_Window | get_root () const |
Returns the handle to the root window on the pipe's display. More... | |
int | get_screen () const |
Returns the X screen number associated with the pipe. More... | |
std::unique_ptr< XRRScreenResources, pfn_XRRFreeScreenResources > | get_screen_resources () const |
Returns an XRRScreenResources object, or null if RandR 1.2 is not supported. More... | |
virtual TypeHandle | get_type () const |
bool | supports_relative_mouse () const |
Returns true if relative mouse mode is supported on this display. More... | |
![]() | |
GraphicsDevice * | get_device () const |
Returns a pointer to device object. More... | |
int | get_display_height () const |
DisplayInformation * | get_display_information () |
int | get_display_width () const |
PN_stdfloat | get_display_zoom () const |
virtual std::string | get_interface_name () const =0 |
int | get_supported_types () const |
Returns the mask of bits that represents the kinds of GraphicsOutput objects this pipe might be able to successfully create. More... | |
bool | is_valid () const |
Returns false if this pipe is known to be invalid, meaning that an attempt to create a GraphicsWindow with the pipe will certainly fail. More... | |
virtual void | lookup_cpu_data () |
Looks up the detailed CPU information and stores it in _display_information, if supported by the OS. More... | |
virtual | PT (GraphicsDevice) make_device(void *scrn |
virtual | PT (GraphicsStateGuardian) make_callback_gsg(GraphicsEngine *engine) |
bool | supports_type (int flags) const |
A convenience function to ask if a particular type or types of GraphicsObjects are supported. More... | |
![]() | |
TypedReferenceCount (const TypedReferenceCount ©) | |
void | operator= (const TypedReferenceCount ©) |
![]() | |
TypedObject (const TypedObject ©)=default | |
TypedObject * | as_typed_object () |
Returns the object, upcast (if necessary) to a TypedObject pointer. More... | |
const TypedObject * | as_typed_object () const |
Returns the object, upcast (if necessary) to a TypedObject pointer. More... | |
int | get_best_parent_from_Set (const std::set< int > &) const |
int | get_type_index () const |
Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. More... | |
bool | is_exact_type (TypeHandle handle) const |
Returns true if the current object is the indicated type exactly. More... | |
bool | is_of_type (TypeHandle handle) const |
Returns true if the current object is or derives from the indicated type. More... | |
TypedObject & | operator= (const TypedObject ©)=default |
![]() | |
void | operator delete (void *, void *) |
void | operator delete (void *ptr) |
void | operator delete[] (void *, void *) |
void | operator delete[] (void *ptr) |
void * | operator new (size_t size) |
void * | operator new (size_t size, void *ptr) |
void * | operator new[] (size_t size) |
void * | operator new[] (size_t size, void *ptr) |
![]() | |
int | get_ref_count () const |
WeakReferenceList * | get_weak_list () const |
Returns the WeakReferenceList associated with this ReferenceCount object. More... | |
bool | has_weak_list () const |
Returns true if this particular ReferenceCount object has a WeakReferenceList created, false otherwise. More... | |
void | local_object () |
This function should be called, once, immediately after creating a new instance of some ReferenceCount-derived object on the stack. More... | |
void | ref () const |
Explicitly increments the reference count. More... | |
bool | ref_if_nonzero () const |
Atomically increases the reference count of this object if it is not zero. More... | |
bool | test_ref_count_integrity () const |
Does some easy checks to make sure that the reference count isn't completely bogus. More... | |
bool | test_ref_count_nonzero () const |
Does some easy checks to make sure that the reference count isn't zero, or completely bogus. More... | |
virtual bool | unref () const |
Explicitly decrements the reference count. More... | |
bool | unref_if_one () const |
Atomically decreases the reference count of this object if it is one. More... | |
WeakReferenceList * | weak_ref () |
Adds the indicated PointerToVoid as a weak reference to this object. More... | |
void | weak_unref () |
Removes the indicated PointerToVoid as a weak reference to this object. More... | |
Static Public Member Functions | |
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. More... | |
static int | enable_x_error_messages () |
Reenables the printing of error messages after a previous call to disable_x_error_messages(). More... | |
static TypeHandle | get_class_type () |
static int | get_x_error_count () |
Returns the number of times an error indication has been raised by the X11 system since application start, including errors raised while error messages were disabled. More... | |
static void | init_type () |
![]() | |
static TypeHandle | get_class_type () |
static void | init_type () |
![]() | |
static TypeHandle | get_class_type () |
static void | init_type () |
![]() | |
static TypeHandle | get_class_type () |
static void | init_type () |
This function is declared non-inline to work around a compiler bug in g++ 2.96. More... | |
![]() | |
static TypeHandle | get_class_type () |
static void | init_type () |
Public Attributes | |
bool | _have_xrandr |
Atom | _net_wm_bypass_compositor |
Atom | _net_wm_pid |
Atom | _net_wm_state |
Atom | _net_wm_state_above |
Atom | _net_wm_state_add |
Atom | _net_wm_state_below |
Atom | _net_wm_state_fullscreen |
Atom | _net_wm_state_remove |
Atom | _net_wm_window_type |
Atom | _net_wm_window_type_fullscreen |
Atom | _net_wm_window_type_splash |
Atom | _wm_delete_window |
int | _xcursor_size |
pfn_XcursorImageCreate | _XcursorImageCreate |
pfn_XcursorImageDestroy | _XcursorImageDestroy |
pfn_XcursorImageLoadCursor | _XcursorImageLoadCursor |
pfn_XcursorImagesDestroy | _XcursorImagesDestroy |
pfn_XcursorImagesLoadCursor | _XcursorImagesLoadCursor |
pfn_XcursorXcFileLoadImages | _XcursorXcFileLoadImages |
pfn_XRRConfigCurrentConfiguration | _XRRConfigCurrentConfiguration |
pfn_XRRGetScreenInfo | _XRRGetScreenInfo |
pfn_XRRRates | _XRRRates |
pfn_XRRSetScreenConfig | _XRRSetScreenConfig |
pfn_XRRSizes | _XRRSizes |
![]() | |
get_display_height | |
Returns the height of the entire display, if it is known. More... | |
get_display_information | |
Gets the pipe's DisplayInformation. More... | |
get_display_width | |
Returns the width of the entire display, if it is known. More... | |
get_display_zoom | |
Returns the display zoom factor configured in the operating system. More... | |
get_interface_name | |
![]() | |
get_type | |
![]() | |
get_ref_count | |
Returns the current reference count. More... | |
Static Public Attributes | |
static LightReMutex | _x_mutex |
This graphics pipe represents the interface for creating graphics windows on an X-based client.
Definition at line 96 of file x11GraphicsPipe.h.
|
inline |
Disables relative mouse mode for this display.
Definition at line 84 of file x11GraphicsPipe.I.
|
inlinestatic |
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.
Reenable error messages with a later call to enable_x_error_messages().
The return value is the current value of get_x_error_count().
Definition at line 100 of file x11GraphicsPipe.I.
|
inline |
Enables relative mouse mode for this display.
Returns false if unsupported.
Definition at line 71 of file x11GraphicsPipe.I.
|
inlinestatic |
Reenables the printing of error messages after a previous call to disable_x_error_messages().
The return value is the current value of get_x_error_count().
Definition at line 112 of file x11GraphicsPipe.I.
RRCrtc x11GraphicsPipe::find_fullscreen_crtc | ( | const LPoint2i & | point, |
int & | x, | ||
int & | y, | ||
int & | width, | ||
int & | height | ||
) |
Finds a CRTC for going fullscreen to, at the given origin.
The new CRTC is returned, along with its x, y, width and height.
If the required RandR extension is not supported, a value of None will be returned, but x, y, width and height will still be populated.
Definition at line 391 of file x11GraphicsPipe.cxx.
References get_screen_resources().
std::unique_ptr< XRRCrtcInfo, pfn_XRRFreeCrtcInfo > x11GraphicsPipe::get_crtc_info | ( | XRRScreenResources * | res, |
RRCrtc | crtc | ||
) | const |
Returns an XRRCrtcInfo object, or null if RandR 1.2 is not supported.
Definition at line 373 of file x11GraphicsPipe.cxx.
|
inline |
Returns a pointer to the X display associated with the pipe: the display on which to create the windows.
Definition at line 18 of file x11GraphicsPipe.I.
|
inline |
Returns an invisible Cursor suitable for assigning to windows that have the cursor_hidden property set.
Definition at line 52 of file x11GraphicsPipe.I.
|
inline |
Returns the input method opened for the pipe, or NULL if the input method could not be opened for some reason.
Definition at line 43 of file x11GraphicsPipe.I.
|
virtual |
Returns an indication of the thread in which this GraphicsPipe requires its window processing to be performed: typically either the app thread (e.g.
X) or the draw thread (Windows).
Reimplemented from GraphicsPipe.
Definition at line 425 of file x11GraphicsPipe.cxx.
|
inline |
Returns the handle to the root window on the pipe's display.
Definition at line 34 of file x11GraphicsPipe.I.
|
inline |
Returns the X screen number associated with the pipe.
Definition at line 26 of file x11GraphicsPipe.I.
std::unique_ptr< XRRScreenResources, pfn_XRRFreeScreenResources > x11GraphicsPipe::get_screen_resources | ( | ) | const |
Returns an XRRScreenResources object, or null if RandR 1.2 is not supported.
Definition at line 359 of file x11GraphicsPipe.cxx.
Referenced by find_fullscreen_crtc().
|
inlinestatic |
Returns the number of times an error indication has been raised by the X11 system since application start, including errors raised while error messages were disabled.
Definition at line 123 of file x11GraphicsPipe.I.
|
inline |
Returns true if relative mouse mode is supported on this display.
Definition at line 63 of file x11GraphicsPipe.I.