CallbackGraphicsWindow

from panda3d.core import 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

Inheritance diagram of CallbackGraphicsWindow

class EventsCallbackData

Bases: CallbackGraphicsWindowWindowCallbackData

static getClassType()TypeHandle
class PropertiesCallbackData

Bases: CallbackGraphicsWindowWindowCallbackData

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: CallbackGraphicsWindowWindowCallbackData

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_flagbool
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.

setRenderFlag(render_flag: bool)None

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
class WindowCallbackData

Bases: CallbackData

static getClassType()TypeHandle
getWindow()CallbackGraphicsWindow

Returns the window this callback was triggered from.

property windowCallbackGraphicsWindow

Returns the window this callback was triggered from.

clearEventsCallback()None

Removes the callback set by an earlier call to setEventsCallback().

clearPropertiesCallback()None

Removes the callback set by an earlier call to setPropertiesCallback().

clearRenderCallback()None

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 by setEventsCallback().

getPropertiesCallback()CallbackObject

Returns the CallbackObject set by setPropertiesCallback().

getRenderCallback()CallbackObject

Returns the CallbackObject set by setRenderCallback().

setEventsCallback(object: CallbackObject)None

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 CallbackGraphicsWindowEventsCallbackData.

This callback should process any system-generated events, and call data->upcall() to process requested property change requests made via request_properties().

setPropertiesCallback(object: CallbackObject)None

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 CallbackGraphicsWindowPropertiesCallbackData, 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.

setRenderCallback(object: CallbackObject)None

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 CallbackGraphicsWindowRenderCallbackData, and you can query data->get_callback_type() to return the actual function of each particular callback.