CallbackGraphicsWindow¶
-
class
CallbackGraphicsWindow
¶ Bases:
GraphicsWindow
This special window object doesn’t represent a window in its own right, but instead hooks into some third-party API for creating and rendering to windows via callbacks. This can be used to allow Panda to render into an already-created OpenGL context, for instance.
Inheritance diagram
-
class
EventsCallbackData
¶ Bases:
WindowCallbackData
-
static TypeHandle
get_class_type
(void)¶
-
static TypeHandle
-
class
PropertiesCallbackData
¶ Bases:
WindowCallbackData
-
static TypeHandle
get_class_type
(void)¶
-
WindowProperties &
get_properties
(void) const¶ Returns the
WindowProperties
object that this callback should process. Any properties that are handled should be removed from this object; properties that are unhandled should be left alone.
-
static TypeHandle
-
class
RenderCallbackData
¶ Bases:
WindowCallbackData
-
CallbackGraphicsWindow::RenderCallbackType
get_callback_type
(void) const¶ Since the render callback is shared for several functions, this method is needed to indicate which particular function is being invoked with this callback.
-
static TypeHandle
get_class_type
(void)¶
-
GraphicsOutput::FrameMode
get_frame_mode
(void) const¶ If the callback type (returned by
get_callback_type()
) is RCT_begin_frame or RCT_end_frame, then this method will return the particular frame mode indicating what, precisely, we want to do this frame.
-
bool
get_render_flag
(void) const¶ Returns the current setting of the render flag. See
set_render_flag()
.
-
void
set_render_flag
(bool render_flag)¶ If the callback type is RCT_begin_frame, this call is available to specify the return value from the begin_frame() call. If this is true (the default), the frame is rendered normally; if it is false, the frame is omitted.
-
CallbackGraphicsWindow::RenderCallbackType
-
enum
RenderCallbackType
¶ -
enumerator
RCT_begin_frame
= 0¶
-
enumerator
RCT_end_frame
= 1¶
-
enumerator
RCT_begin_flip
= 2¶
-
enumerator
RCT_end_flip
= 3¶
-
enumerator
-
class
WindowCallbackData
¶ Bases:
CallbackData
-
static TypeHandle
get_class_type
(void)¶
-
CallbackGraphicsWindow *
get_window
(void) const¶ Returns the window this callback was triggered from.
-
static TypeHandle
-
void
clear_events_callback
(void)¶ Removes the callback set by an earlier call to
set_events_callback()
.
-
void
clear_properties_callback
(void)¶ Removes the callback set by an earlier call to
set_properties_callback()
.
-
void
clear_render_callback
(void)¶ Removes the callback set by an earlier call to
set_render_callback()
.
-
int
create_input_device
(std::string const &name)¶ Adds a new input device (mouse) to the window with the indicated name. Returns the index of the new device.
-
static TypeHandle
get_class_type
(void)¶
-
CallbackObject *
get_events_callback
(void) const¶ Returns the
CallbackObject
set byset_events_callback()
.
-
CallbackObject *
get_properties_callback
(void) const¶ Returns the
CallbackObject
set byset_properties_callback()
.
-
CallbackObject *
get_render_callback
(void) const¶ Returns the
CallbackObject
set byset_render_callback()
.
-
void
set_events_callback
(CallbackObject *object)¶ Sets the
CallbackObject
that will be notified when this window is polled for window events, including mouse and keyboard events, as well as window resize events and other system-generated events.This callback will receive a
CallbackGraphicsWindow::EventsCallbackData
.This callback should process any system-generated events, and call data->upcall() to process requested property change requests made via request_properties().
-
void
set_properties_callback
(CallbackObject *object)¶ Sets the
CallbackObject
that will be notified when this window receives a property change request from user code (e.g. via request_properties).This callback will receive a
CallbackGraphicsWindow::PropertiesCallbackData
, which provides a get_properties() method that returns a modifiable reference to a WindowsProperties object. This object will contain only those properties requested by user code. The callback should handle any of the requests it finds, including and especially set_open(), and remove them from the object when it has handled them. Any unhandled properties should be left unchanged in the properties object.
-
void
set_render_callback
(CallbackObject *object)¶ Sets the
CallbackObject
that will be notified when this window is invoked (in the draw thread) to render its contents, and/or flip the graphics buffers.This callback will actually serve several different functions. It receivces a
RenderCallbackData
, and you can query data->get_callback_type() to return the actual function of each particular callback.
-
class