Go to the documentation of this file.
23 #ifndef VLC_VOUT_DISPLAY_H
24 #define VLC_VOUT_DISPLAY_H 1
54 #define VLC_VIDEO_ALIGN_CENTER 0
55 #define VLC_VIDEO_ALIGN_LEFT 1
56 #define VLC_VIDEO_ALIGN_RIGHT 2
57 #define VLC_VIDEO_ALIGN_TOP 1
58 #define VLC_VIDEO_ALIGN_BOTTOM 2
223 #define set_callback_display(activate, priority) \
225 vout_display_open_cb open__ = activate; \
227 set_callback(activate) \
229 set_capability( "vout display", priority )
char vertical
Vectical alignment.
Definition: vlc_vout_display.h:79
Mouse state.
Definition: vlc_mouse.h:45
vout_display_sys_t * sys
Private data for the display module.
Definition: vlc_vout_display.h:369
#define VLC_API
Definition: fourcc_gen.c:31
vout_display_query
Control query for vout_display_t.
Definition: vlc_vout_display.h:143
VLC_EXPORT void vout_display_SetSize(vout_display_t *vd, unsigned width, unsigned height)
Definition: display.c:578
struct vout_display_cfg::@275 display
Display properties.
Window object.
Definition: vlc_vout_window.h:353
static bool vout_display_cfg_IsWindowed(const vout_display_cfg_t *cfg)
Definition: vlc_vout_display.h:461
unsigned width
Definition: vlc_vout_display.h:483
const vlc_fourcc_t * subpicture_chromas
Definition: vlc_vout_display.h:137
struct vlc_object_t obj
Definition: vlc_vout_display.h:317
VLC_EXPORT void vout_display_PlacePicture(vout_display_place_t *place, const video_format_t *source, const vout_display_cfg_t *cfg)
Computes the intended picture placement inside the display.
Definition: display.c:122
void(* close)(vout_display_t *)
Destroys the display.
Definition: vlc_vout_display.h:237
@ VOUT_DISPLAY_CHANGE_SOURCE_CROP
Notifies a change of the source cropping.
Definition: vlc_vout_display.h:185
static void vout_display_SendEventMouseReleased(vout_display_t *vd, int button)
Definition: vlc_vout_display.h:433
vlc_video_align_t align
Alignment of the video within the window.
Definition: vlc_vout_display.h:117
struct vlc_video_align vlc_video_align_t
Video alignment within the display.
static void picture_Release(picture_t *picture)
Decrements the picture reference count.
Definition: vlc_picture.h:368
vout_display_owner_t owner
Definition: vlc_vout_display.h:362
const vout_display_cfg_t * cfg
User configuration.
Definition: vlc_vout_display.h:324
void vout_display_TranslateMouseState(vout_display_t *vd, vlc_mouse_t *video, const vlc_mouse_t *window)
Translates mouse state.
Definition: display.c:204
static void vout_window_ReportMouseReleased(vout_window_t *window, int button)
Reports a mouse button release.
Definition: vlc_vout_window.h:655
Vout owner structures.
Definition: vlc_vout_display.h:191
Video alignment within the display.
Definition: vlc_vout_display.h:64
Viewpoints.
Definition: vlc_viewpoint.h:41
int(* set_viewpoint)(vout_display_t *, const vlc_viewpoint_t *vp)
Notifies a change of VR/360° viewpoint.
Definition: vlc_vout_display.h:313
VLC_EXPORT 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.
Definition: display.c:75
static void vout_display_SendEventMousePressed(vout_display_t *vd, int button)
Definition: vlc_vout_display.h:429
Video picture.
Definition: vlc_picture.h:120
vout_display_info_t info
Definition: vlc_vout_display.h:356
int y
Definition: vlc_vout_display.h:482
@ VOUT_DISPLAY_CHANGE_DISPLAY_FILLED
Notifies a change of the display fill display flag by the user.
Definition: vlc_vout_display.h:158
struct vout_window_t * window
Window.
Definition: vlc_vout_display.h:95
unsigned height
Definition: vlc_vout_display.h:484
int(* vout_display_open_cb)(vout_display_t *vd, const vout_display_cfg_t *cfg, video_format_t *fmtp, vlc_video_context *context)
"vout display" open callback
Definition: vlc_vout_display.h:219
Video placement.
Definition: vlc_vout_display.h:480
vlc_viewpoint_t viewpoint
Definition: vlc_vout_display.h:125
@ VOUT_DISPLAY_CHANGE_DISPLAY_SIZE
Notifies a change in display size.
Definition: vlc_vout_display.h:150
int(* reset_pictures)(vout_display_t *, video_format_t *fmtp)
Reset the picture format handled by the module.
Definition: vlc_vout_display.h:304
const video_format_t * source
Source video format.
Definition: vlc_vout_display.h:335
int64_t vlc_tick_t
High precision date or time interval.
Definition: vlc_tick.h:45
Information from a vout_display_t to configure the core behaviour.
Definition: vlc_vout_display.h:135
Video subtitle.
Definition: vlc_subpicture.h:166
User configuration for a video output display (vout_display_t)
Definition: vlc_vout_display.h:94
@ VOUT_WINDOW_TYPE_DUMMY
Dummy window (not an actual window)
Definition: vlc_vout_window.h:61
const struct vlc_display_operations * ops
Callbacks the display module must set on Open.
Definition: vlc_vout_display.h:374
vlc_rational_t zoom
Zoom ratio.
Definition: vlc_vout_display.h:123
VLC_EXPORT vout_display_t * vout_display_New(vlc_object_t *, const video_format_t *, vlc_video_context *, const vout_display_cfg_t *, const char *module, const vout_display_owner_t *)
Creates video output display.
Definition: display.c:668
void(* display)(vout_display_t *, picture_t *pic)
Displays a picture.
Definition: vlc_vout_display.h:281
unsigned height
Requested display pixel height (0 by default).
Definition: vlc_vout_display.h:100
bool is_display_filled
Automatic scaling/fitting flag.
Definition: vlc_vout_display.h:120
char horizontal
Horizontal alignment.
Definition: vlc_vout_display.h:71
static void vout_display_SendEventMouseDoubleClick(vout_display_t *vd)
Definition: vlc_vout_display.h:437
static void vout_display_SendMouseMovedDisplayCoordinates(vout_display_t *vd, int m_x, int m_y)
Helper function that applies the necessary transforms to the mouse position and then calls vout_displ...
Definition: vlc_vout_display.h:456
unsigned type
Window handle type.
Definition: vlc_vout_window.h:365
struct vout_display_sys_t vout_display_sys_t
Definition: vlc_vout_display.h:48
Definition: fourcc_gen.c:34
@ MOUSE_BUTTON_LEFT
Definition: vlc_mouse.h:52
static void vout_window_ReportMousePressed(vout_window_t *window, int button)
Reports a mouse button press.
Definition: vlc_vout_window.h:640
struct vout_display_cfg vout_display_cfg_t
User configuration for a video output display (vout_display_t)
static void vout_window_ReportMouseDoubleClick(vout_window_t *window, int button)
Reports a mouse double-click.
Definition: vlc_vout_window.h:670
Definition: decoder_helpers.c:228
int(* control)(vout_display_t *, int query)
Performs a control request (mandatory).
Definition: vlc_vout_display.h:290
VLC object common members.
Definition: vlc_objects.h:43
static void vout_window_ReportMouseMoved(vout_window_t *window, int x, int y)
Reports a pointer movement.
Definition: vlc_vout_window.h:625
Definition: vlc_vout_display.h:232
void(* viewpoint_moved)(void *sys, const vlc_viewpoint_t *vp)
Definition: vlc_vout_display.h:207
void(* prepare)(vout_display_t *, picture_t *pic, subpicture_t *subpic, vlc_tick_t date)
Prepares a picture and an optional subpicture for display (optional).
Definition: vlc_vout_display.h:265
VLC_EXPORT void vout_display_Delete(vout_display_t *)
Destroys a video output display.
Definition: display.c:727
const video_format_t * fmt
Picture format.
Definition: vlc_vout_display.h:350
@ VOUT_DISPLAY_CHANGE_ZOOM
Notifies a change of the user zoom factor.
Definition: vlc_vout_display.h:166
bool can_scale_spu
Definition: vlc_vout_display.h:136
static void vout_display_SendEventViewpointMoved(vout_display_t *vd, const vlc_viewpoint_t *vp)
Definition: vlc_vout_display.h:441
Definition: vlc_vout_display.h:316
struct vout_display_cfg::@276 window_props
Window properties.
int x
Definition: vlc_vout_display.h:481
void * sys
Definition: vlc_vout_display.h:194
static bool vout_display_PlaceEquals(const vout_display_place_t *p1, const vout_display_place_t *p2)
Compares two vout_display_place_t.
Definition: vlc_vout_display.h:490
@ VOUT_DISPLAY_CHANGE_SOURCE_ASPECT
Notifies a change of the sample aspect ratio.
Definition: vlc_vout_display.h:174
vlc_rational_t sar
Requested sample aspect ratio.
Definition: vlc_vout_display.h:101
VLC_EXPORT picture_t * vout_display_Prepare(vout_display_t *vd, picture_t *picture, subpicture_t *subpic, vlc_tick_t date)
Prepares a picture for display.
Definition: display.c:413
unsigned width
Requested display pixel width (0 by default).
Definition: vlc_vout_display.h:99
uint32_t vlc_fourcc_t
Definition: fourcc_gen.c:33
static void vout_display_Display(vout_display_t *vd, picture_t *picture)
Displays a picture.
Definition: vlc_vout_display.h:419