panda3d.core.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
Return type

TypeHandle

class PropertiesCallbackData

Bases: CallbackGraphicsWindowWindowCallbackData

static getClassType() → TypeHandle
Return type

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.

Return type

WindowProperties

class RenderCallbackData

Bases: CallbackGraphicsWindowWindowCallbackData

property callback_type

Since the render callback is shared for several functions, this method is needed to indicate which particular function is being invoked with this callback.

Return type

RenderCallbackType

property frame_mode

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.

Return type

FrameMode

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.

Return type

RenderCallbackType

static getClassType() → TypeHandle
Return type

TypeHandle

getFrameMode() → FrameMode

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.

Return type

FrameMode

getRenderFlag() → bool

Returns the current setting of the render flag. See setRenderFlag().

property render_flag
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.

Return type

bool

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
Return type

TypeHandle

getWindow() → CallbackGraphicsWindow

Returns the window this callback was triggered from.

Return type

CallbackGraphicsWindow

property window

Returns the window this callback was triggered from.

Return type

CallbackGraphicsWindow

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
Return type

TypeHandle

getEventsCallback() → CallbackObject

Returns the CallbackObject set by setEventsCallback().

Return type

CallbackObject

getPropertiesCallback() → CallbackObject

Returns the CallbackObject set by setPropertiesCallback().

Return type

CallbackObject

getRenderCallback() → CallbackObject

Returns the CallbackObject set by setRenderCallback().

Return type

CallbackObject

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