VLC  4.0.0-dev
Data Fields
vout_window_t Struct Reference

Window object. More...

Collaboration diagram for vout_window_t:
Collaboration graph
[legend]

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_operationsops
 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
 

Detailed Description

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.

Field Documentation

◆ anativewindow

void* vout_window_t::anativewindow

Android native window.

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

Referenced by vlc_gl_surface_Create().

◆ handle

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

◆ has_double_click

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

◆ hwnd

void* vout_window_t::hwnd

Win32 window handle.

◆ info

struct { ... } vout_window_t::info

◆ nsobject

void* vout_window_t::nsobject

macOS/iOS view object

◆ obj

struct vlc_object_t vout_window_t::obj

◆ ops

const struct vout_window_operations* vout_window_t::ops

◆ owner

vout_window_owner_t vout_window_t::owner

◆ sys

void* 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.

Referenced by vout_display_cfg_IsWindowed().

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