WindowHandle

class WindowHandle

Bases: TypedReferenceCount

This object represents a window on the desktop, not necessarily a Panda window. This structure can be assigned to a WindowProperties to indicate a parent window.

It also has callbacks so the Panda window can communicate with its parent window, which is particularly important when running embedded in a browser.

To create a WindowHandle, you would usually call one of the NativeWindowHandle::make_*() methods, depending on the kind of native window handle object you already have.

Inheritance diagram

Inheritance diagram of WindowHandle

class OSHandle

Bases: TypedReferenceCount

This internal pointer within WindowHandle stores the actual OS-specific window handle type, whatever type that is. It is subclassed for each OS.

OSHandle(WindowHandle::OSHandle const&) = default

The base class of OSHandle doesn’t have a usable constructor. Always construct an instance of some specialized type, that stores the appropriate kind of window handle for each OS.

static TypeHandle get_class_type(void)
virtual std::size_t get_int_handle(void) const

Returns the OS-specific handle converted to an integer, if this is possible for the particular representation. Returns 0 if it is not.

virtual void output(std::ostream &out) const
WindowHandle(WindowHandle::OSHandle *os_handle)
WindowHandle(WindowHandle const &copy)
static TypeHandle get_class_type(void)
std::size_t get_int_handle(void) const

Returns the OS-specific handle converted to an integer, if this is possible for the particular representation. Returns 0 if it is not.

OSHandle *get_os_handle(void) const

Returns the OS-specific handle stored internally to the WindowHandle wrapper.

void output(std::ostream &out) const
void send_windows_message(unsigned int msg, int wparam, int lparam)

Call this method on a parent WindowHandle to deliver a Windows message to the current child window, if any. This is used in the web plugin system to deliver button events detected directly by the browser system into Panda, which is particularly necessary on Vista.

void set_os_handle(WindowHandle::OSHandle *os_handle)

Changes the OS-specific handle stored internally to the WindowHandle wrapper.