VLC  3.0.0-git
Files | Data Structures | Typedefs | Enumerations | Functions
Video output display

Video output display: output buffers and rendering. More...

Collaboration diagram for Video output display:

Files

file  vlc_vout_display.h
 Video output display modules interface.
 

Data Structures

struct  vout_display_cfg_t
 Initial/Current configuration for a vout_display_t. More...
 
struct  vout_display_info_t
 Information from a vout_display_t to configure the core behaviour. More...
 
struct  vout_display_owner_t
 Vout owner structures. More...
 
struct  vout_display_t
 
struct  vout_display_place_t
 Structure used to store the result of a vout_display_PlacePicture. More...
 

Typedefs

typedef struct vout_display_t vout_display_t
 
typedef struct vout_display_sys_t vout_display_sys_t
 
typedef struct vout_display_owner_t vout_display_owner_t
 

Enumerations

enum  vout_display_align_t {
  VOUT_DISPLAY_ALIGN_CENTER, VOUT_DISPLAY_ALIGN_LEFT, VOUT_DISPLAY_ALIGN_RIGHT, VOUT_DISPLAY_ALIGN_TOP,
  VOUT_DISPLAY_ALIGN_BOTTOM
}
 Possible alignments for vout_display. More...
 
enum  { VOUT_WINDOW_STATE_NORMAL =0, VOUT_WINDOW_STATE_ABOVE =1, VOUT_WINDOW_STATE_BELOW =2, VOUT_WINDOW_STACK_MASK =3 }
 Window management state. More...
 
enum  {
  VOUT_DISPLAY_HIDE_MOUSE, VOUT_DISPLAY_RESET_PICTURES, VOUT_DISPLAY_CHANGE_DISPLAY_SIZE, VOUT_DISPLAY_CHANGE_DISPLAY_FILLED,
  VOUT_DISPLAY_CHANGE_ZOOM, VOUT_DISPLAY_CHANGE_SOURCE_ASPECT, VOUT_DISPLAY_CHANGE_SOURCE_CROP, VOUT_DISPLAY_CHANGE_VIEWPOINT
}
 Control query for vout_display_t. More...
 
enum  {
  VOUT_DISPLAY_EVENT_PICTURES_INVALID, VOUT_DISPLAY_EVENT_DISPLAY_SIZE, VOUT_DISPLAY_EVENT_CLOSE, VOUT_DISPLAY_EVENT_KEY,
  VOUT_DISPLAY_EVENT_MOUSE_STATE, VOUT_DISPLAY_EVENT_MOUSE_MOVED, VOUT_DISPLAY_EVENT_MOUSE_PRESSED, VOUT_DISPLAY_EVENT_MOUSE_RELEASED,
  VOUT_DISPLAY_EVENT_MOUSE_DOUBLE_CLICK, VOUT_DISPLAY_EVENT_VIEWPOINT_MOVED
}
 Event from vout_display_t. More...
 

Functions

static void vout_display_SendEvent (vout_display_t *vd, int query,...)
 
static void vout_display_SendEventDisplaySize (vout_display_t *vd, int width, int height)
 
static void vout_display_SendEventPicturesInvalid (vout_display_t *vd)
 
static void vout_display_SendEventClose (vout_display_t *vd)
 
static void vout_display_SendEventKey (vout_display_t *vd, int key)
 
static void vout_display_SendEventMouseState (vout_display_t *vd, int x, int y, int button_mask)
 
static void vout_display_SendEventMouseMoved (vout_display_t *vd, int x, int y)
 
static void vout_display_SendEventMousePressed (vout_display_t *vd, int button)
 
static void vout_display_SendEventMouseReleased (vout_display_t *vd, int button)
 
static void vout_display_SendEventMouseDoubleClick (vout_display_t *vd)
 
static void vout_display_SendEventViewpointMoved (vout_display_t *vd, const vlc_viewpoint_t *vp)
 
static vout_window_tvout_display_NewWindow (vout_display_t *vd, unsigned type)
 Asks for a new window of a given type. More...
 
static void vout_display_DeleteWindow (vout_display_t *vd, vout_window_t *window)
 Deletes a window created by vout_display_NewWindow if window is non NULL or any unused windows otherwise. More...
 
static bool vout_display_IsWindowed (vout_display_t *vd)
 
void vout_display_GetDefaultDisplaySize (unsigned *width, unsigned *height, const video_format_t *source, const vout_display_cfg_t *)
 Computes the default display size given the source and the display configuration. More...
 
void vout_display_PlacePicture (vout_display_place_t *place, const video_format_t *source, const vout_display_cfg_t *cfg, bool do_clipping)
 Computes how to place a picture inside the display to respect the given parameters. More...
 
void vout_display_SendMouseMovedDisplayCoordinates (vout_display_t *vd, video_orientation_t orient_display, int m_x, int m_y, vout_display_place_t *place)
 Helper function that applies the necessary transforms to the mouse position and then calls vout_display_SendEventMouseMoved. More...
 

Detailed Description

Video output display: output buffers and rendering.

Typedef Documentation

◆ vout_display_owner_t

◆ vout_display_sys_t

◆ vout_display_t

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Window management state.

Enumerator
VOUT_WINDOW_STATE_NORMAL 
VOUT_WINDOW_STATE_ABOVE 
VOUT_WINDOW_STATE_BELOW 
VOUT_WINDOW_STACK_MASK 

◆ anonymous enum

anonymous enum

Control query for vout_display_t.

Enumerator
VOUT_DISPLAY_HIDE_MOUSE 
VOUT_DISPLAY_RESET_PICTURES 
VOUT_DISPLAY_CHANGE_DISPLAY_SIZE 
VOUT_DISPLAY_CHANGE_DISPLAY_FILLED 
VOUT_DISPLAY_CHANGE_ZOOM 
VOUT_DISPLAY_CHANGE_SOURCE_ASPECT 
VOUT_DISPLAY_CHANGE_SOURCE_CROP 
VOUT_DISPLAY_CHANGE_VIEWPOINT 

◆ anonymous enum

anonymous enum

Event from vout_display_t.

Events modifiying the state may be sent multiple times. Only the transition will be retained and acted upon.

Enumerator
VOUT_DISPLAY_EVENT_PICTURES_INVALID 
VOUT_DISPLAY_EVENT_DISPLAY_SIZE 
VOUT_DISPLAY_EVENT_CLOSE 
VOUT_DISPLAY_EVENT_KEY 
VOUT_DISPLAY_EVENT_MOUSE_STATE 
VOUT_DISPLAY_EVENT_MOUSE_MOVED 
VOUT_DISPLAY_EVENT_MOUSE_PRESSED 
VOUT_DISPLAY_EVENT_MOUSE_RELEASED 
VOUT_DISPLAY_EVENT_MOUSE_DOUBLE_CLICK 
VOUT_DISPLAY_EVENT_VIEWPOINT_MOVED 

◆ vout_display_align_t

Possible alignments for vout_display.

Enumerator
VOUT_DISPLAY_ALIGN_CENTER 
VOUT_DISPLAY_ALIGN_LEFT 
VOUT_DISPLAY_ALIGN_RIGHT 
VOUT_DISPLAY_ALIGN_TOP 
VOUT_DISPLAY_ALIGN_BOTTOM 

Function Documentation

◆ vout_display_DeleteWindow()

static void vout_display_DeleteWindow ( vout_display_t vd,
vout_window_t window 
)
inlinestatic

Deletes a window created by vout_display_NewWindow if window is non NULL or any unused windows otherwise.

References vout_display_t::owner, and vout_display_owner_t::window_del.

Referenced by vout_display_IsWindowed().

◆ vout_display_GetDefaultDisplaySize()

void vout_display_GetDefaultDisplaySize ( unsigned *  width,
unsigned *  height,
const video_format_t source,
const vout_display_cfg_t  
)

◆ vout_display_IsWindowed()

static bool vout_display_IsWindowed ( vout_display_t vd)
inlinestatic

◆ vout_display_NewWindow()

static vout_window_t* vout_display_NewWindow ( vout_display_t vd,
unsigned  type 
)
inlinestatic

Asks for a new window of a given type.

References vout_display_t::owner, and vout_display_owner_t::window_new.

Referenced by vout_display_IsWindowed().

◆ vout_display_PlacePicture()

void vout_display_PlacePicture ( vout_display_place_t place,
const video_format_t source,
const vout_display_cfg_t cfg,
bool  do_clipping 
)

◆ vout_display_SendEvent()

static void vout_display_SendEvent ( vout_display_t vd,
int  query,
  ... 
)
inlinestatic

◆ vout_display_SendEventClose()

static void vout_display_SendEventClose ( vout_display_t vd)
inlinestatic

◆ vout_display_SendEventDisplaySize()

static void vout_display_SendEventDisplaySize ( vout_display_t vd,
int  width,
int  height 
)
inlinestatic

◆ vout_display_SendEventKey()

static void vout_display_SendEventKey ( vout_display_t vd,
int  key 
)
inlinestatic

◆ vout_display_SendEventMouseDoubleClick()

static void vout_display_SendEventMouseDoubleClick ( vout_display_t vd)
inlinestatic

◆ vout_display_SendEventMouseMoved()

static void vout_display_SendEventMouseMoved ( vout_display_t vd,
int  x,
int  y 
)
inlinestatic

◆ vout_display_SendEventMousePressed()

static void vout_display_SendEventMousePressed ( vout_display_t vd,
int  button 
)
inlinestatic

◆ vout_display_SendEventMouseReleased()

static void vout_display_SendEventMouseReleased ( vout_display_t vd,
int  button 
)
inlinestatic

◆ vout_display_SendEventMouseState()

static void vout_display_SendEventMouseState ( vout_display_t vd,
int  x,
int  y,
int  button_mask 
)
inlinestatic

◆ vout_display_SendEventPicturesInvalid()

static void vout_display_SendEventPicturesInvalid ( vout_display_t vd)
inlinestatic

◆ vout_display_SendEventViewpointMoved()

static void vout_display_SendEventViewpointMoved ( vout_display_t vd,
const vlc_viewpoint_t vp 
)
inlinestatic

◆ vout_display_SendMouseMovedDisplayCoordinates()

void vout_display_SendMouseMovedDisplayCoordinates ( vout_display_t vd,
video_orientation_t  orient_display,
int  m_x,
int  m_y,
vout_display_place_t place 
)

Helper function that applies the necessary transforms to the mouse position and then calls vout_display_SendEventMouseMoved.

Parameters
vdvout_display_t.
orient_displayThe orientation of the picture as seen on screen (probably ORIENT_NORMAL).
m_xMouse x position (relative to place, origin is top left).
m_yMouse y position (relative to place, origin is top left).
placePlace of the picture.

References vout_display_place_t::height, video_format_t::i_visible_height, video_format_t::i_visible_width, video_format_t::i_x_offset, video_format_t::i_y_offset, video_format_t::orientation, vout_display_t::source, transform(), TRANSFORM_ANTI_TRANSPOSE, TRANSFORM_HFLIP, TRANSFORM_R180, TRANSFORM_R270, TRANSFORM_R90, TRANSFORM_TRANSPOSE, TRANSFORM_VFLIP, video_format_GetTransform(), video_format_TransformTo(), vout_display_SendEventMouseMoved(), vout_display_place_t::width, vout_display_place_t::x, and vout_display_place_t::y.