CallbackGraphicsWindow
from panda3d.core import CallbackGraphicsWindow
- class CallbackGraphicsWindow
Bases:
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:
Bases:
CallbackGraphicsWindow.WindowCallbackData
- static getClassType() TypeHandle
- class PropertiesCallbackData
Bases:
Bases:
CallbackGraphicsWindow.WindowCallbackData
- static getClassType() TypeHandle
- getProperties() WindowProperties
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.
- class RenderCallbackData
Bases:
Bases:
CallbackGraphicsWindow.WindowCallbackData
- property callback_type RenderCallbackType
Since the render callback is shared for several functions, this method is needed to indicate which particular function is being invoked with this callback.
- property frame_mode FrameMode
If the callback type (returned by
getCallbackType()
) 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.
- getCallbackType() RenderCallbackType
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 getClassType() TypeHandle
- getFrameMode() FrameMode
If the callback type (returned by
getCallbackType()
) 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.
- getRenderFlag() bool
Returns the current setting of the render flag. See
setRenderFlag()
.
- property render_flag bool
- Getter
Returns the current setting of the render flag. See
setRenderFlag()
.- Setter
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.
-
enum RenderCallbackType
-
enumerator RCT_begin_frame = 0
-
enumerator RCT_end_frame = 1
-
enumerator RCT_begin_flip = 2
-
enumerator RCT_end_flip = 3
-
enumerator RCT_begin_frame = 0
- class WindowCallbackData
Bases:
Bases:
CallbackData
- static getClassType() TypeHandle
- getWindow() CallbackGraphicsWindow
Returns the window this callback was triggered from.
- property window CallbackGraphicsWindow
Returns the window this callback was triggered from.
- clearEventsCallback()
Removes the callback set by an earlier call to
setEventsCallback()
.
- clearPropertiesCallback()
Removes the callback set by an earlier call to
setPropertiesCallback()
.
- clearRenderCallback()
Removes the callback set by an earlier call to
setRenderCallback()
.
- createInputDevice(name: str) int
Adds a new input device (mouse) to the window with the indicated name. Returns the index of the new device.
- static getClassType() TypeHandle
- getEventsCallback() CallbackObject
Returns the
CallbackObject
set bysetEventsCallback()
.
- getPropertiesCallback() CallbackObject
Returns the
CallbackObject
set bysetPropertiesCallback()
.
- getRenderCallback() CallbackObject
Returns the
CallbackObject
set bysetRenderCallback()
.
- setEventsCallback(object: CallbackObject)
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
requestProperties()
.
- setPropertiesCallback(object: CallbackObject)
Sets the
CallbackObject
that will be notified when this window receives a property change request from user code (e.g. viarequestProperties()
).This callback will receive a
CallbackGraphicsWindow::PropertiesCallbackData
, which provides agetProperties()
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.
- setRenderCallback(object: CallbackObject)
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.