VLC
4.0.0-dev
|
Window object. More...
Data Fields | |
struct vlc_object_t | obj |
unsigned | type |
Window handle type. More... | |
union { | |
void * hwnd | |
Win32 window handle. More... | |
uint32_t xid | |
X11 windows ID. More... | |
void * nsobject | |
macOS/iOS view object More... | |
void * anativewindow | |
Android native window. More... | |
struct wl_surface * wl | |
Wayland surface (client pointer) More... | |
} | handle |
Window handle (mandatory) More... | |
union { | |
char * x11 | |
X11 display string (NULL = use default) More... | |
struct wl_display * wl | |
Wayland display (client pointer) More... | |
} | display |
Display server (mandatory) More... | |
const struct vout_window_operations * | ops |
operations handled by the window. More... | |
struct { | |
bool has_double_click | |
Whether double click events are sent, or need to be emulated. More... | |
} | info |
void * | sys |
vout_window_owner_t | owner |
Window object.
This structure is an abstract interface to the windowing system. The window is normally used to draw video (and subpictures) into, but it can also be used for other purpose (e.g. OpenGL visualization).
The window is responsible for providing a window handle, whose exact meaning depends on the windowing system. It also must report some events such as user input (keyboard, mouse) and window resize.
Finally, it must support some control requests such as for fullscreen mode.
void* vout_window_t::anativewindow |
Android native window.
union { ... } vout_window_t::display |
Display server (mandatory)
This must be filled by the plugin upon activation.
The window handle is relative to the display server. The exact meaning of the display server depends on the window handle type. Not all window handle type provide a display server field.
Referenced by vlc_gl_surface_Create().
union { ... } vout_window_t::handle |
Window handle (mandatory)
This must be filled by the plugin upon succesful vout_window_Enable().
Depending on the type above, a different member of this union is used.
Referenced by vout_window_New().
bool vout_window_t::has_double_click |
Whether double click events are sent, or need to be emulated.
Referenced by vout_display_window_MouseEvent(), and vout_window_New().
void* vout_window_t::hwnd |
Win32 window handle.
struct { ... } vout_window_t::info |
Referenced by vout_display_window_MouseEvent(), and vout_window_New().
void* vout_window_t::nsobject |
macOS/iOS view object
struct vlc_object_t vout_window_t::obj |
const struct vout_window_operations* vout_window_t::ops |
operations handled by the window.
Once this is set it MUST NOT be changed
Referenced by vout_window_Delete(), vout_window_Disable(), vout_window_Enable(), vout_window_SetFullScreen(), vout_window_SetSize(), vout_window_SetState(), vout_window_SetTitle(), and vout_window_UnsetFullScreen().
vout_window_owner_t vout_window_t::owner |
Referenced by vlc_gl_surface_CheckSize(), vlc_gl_surface_Destroy(), vlc_gl_surface_ResizeNotify(), vout_display_window_Delete(), vout_display_window_FullscreenNotify(), vout_display_window_MouseEvent(), vout_display_window_ResizeNotify(), vout_display_window_StateNotify(), vout_display_window_WindowingNotify(), vout_window_New(), vout_window_ReportClose(), vout_window_ReportFullscreen(), vout_window_ReportKeyPress(), vout_window_ReportOutputDevice(), vout_window_ReportSize(), vout_window_ReportState(), vout_window_ReportWindowed(), and vout_window_SendMouseEvent().
void* vout_window_t::sys |
Referenced by vout_window_New().
unsigned vout_window_t::type |
Window handle type.
This identified the windowing system and protocol that the window needs to use. This also selects which member of the handle union and the display union are to be set.
The possible values are defined in vout_window_type.
Referenced by vout_display_cfg_IsWindowed().
struct wl_surface* vout_window_t::wl |
Wayland surface (client pointer)
struct wl_display* vout_window_t::wl |
Wayland display (client pointer)
char* vout_window_t::x11 |
X11 display string (NULL = use default)
uint32_t vout_window_t::xid |
X11 windows ID.