VLC  3.0.0-git
Data Fields
vout_window_t Struct Reference

Graphical window. More...

Collaboration diagram for vout_window_t:
Collaboration graph

Data Fields

struct vlc_common_members obj
unsigned type
 Window handle type. More...
union {
   void *   hwnd
 Win32 window handle. More...
   uint32_t   xid
 X11 windows ID. More...
   void *   nsobject
 Mac OSX view object. More...
   void *   anativewindow
 Android native window. More...
   struct wl_surface *   wl
 Wayland surface (client pointer) More...
 Window handle (mandatory) More...
union {
   char *   x11
 X11 display string (NULL = use default) More...
   struct wl_display *   wl
 Wayland display (client pointer) More...
 Display server (mandatory) More...
int(* control )(vout_window_t *, int query, va_list)
 Control callback (mandatory) More...
struct {
   bool   has_double_click
 Whether double click events are sent, or need to be emulated. More...
vout_window_owner_t owner

Detailed Description

Graphical window.

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.

Field Documentation

◆ anativewindow

void* vout_window_t::anativewindow

Android native window.

◆ control

int(* vout_window_t::control) (vout_window_t *, int query, va_list)

Control callback (mandatory)

This callback handles some control request regarding the window. See vout_window_control.

This field should not be used directly when manipulating a window. vout_window_Control() should be used instead.

Referenced by vout_window_New(), and vout_window_vaControl().

◆ display

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.

◆ handle

union { ... } vout_window_t::handle

Window handle (mandatory)

This must be filled by the plugin upon activation.

Depending on the type above, a different member of this union is used.

Referenced by vout_window_New().

◆ has_double_click

bool vout_window_t::has_double_click

Whether double click events are sent, or need to be emulated.

Referenced by vout_window_New().

◆ hwnd

void* vout_window_t::hwnd

Win32 window handle.

◆ info

struct { ... } vout_window_t::info

Referenced by vout_window_New().

◆ nsobject

void* vout_window_t::nsobject

Mac OSX view object.

◆ obj

struct vlc_common_members vout_window_t::obj

◆ owner

vout_window_owner_t vout_window_t::owner

◆ sys

vout_window_sys_t* vout_window_t::sys

Referenced by vout_window_New().

◆ type

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.

VOUT_WINDOW_TYPE_INVALID is a special placeholder type. It means that any windowing system is acceptable. In that case, the plugin must set its actual type during activation.

Referenced by vout_NewDisplayWindow(), and vout_window_New().

◆ wl [1/2]

struct wl_surface* vout_window_t::wl

Wayland surface (client pointer)

◆ wl [2/2]

struct wl_display* vout_window_t::wl

Wayland display (client pointer)

◆ x11

char* vout_window_t::x11

X11 display string (NULL = use default)

◆ xid

uint32_t vout_window_t::xid

X11 windows ID.

The documentation for this struct was generated from the following file: