summaryrefslogtreecommitdiffstats
path: root/video/out/vo.h
diff options
context:
space:
mode:
Diffstat (limited to 'video/out/vo.h')
-rw-r--r--video/out/vo.h22
1 files changed, 17 insertions, 5 deletions
diff --git a/video/out/vo.h b/video/out/vo.h
index 08ca1219a1..a68912ec84 100644
--- a/video/out/vo.h
+++ b/video/out/vo.h
@@ -37,7 +37,8 @@ enum {
VO_EVENT_RESIZE = 1 << 1,
// The ICC profile needs to be reloaded
VO_EVENT_ICC_PROFILE_CHANGED = 1 << 2,
- // Some other window state changed (position, window state, fps)
+ // When display fps or window position changes.
+ // Legacy: some other window state changed (fullscreen etc.)
VO_EVENT_WIN_STATE = 1 << 3,
// The ambient light conditions changed and need to be reloaded
VO_EVENT_AMBIENT_LIGHTING_CHANGED = 1 << 4,
@@ -48,10 +49,13 @@ enum {
// Special thing for encode mode (vo_driver.initially_blocked).
// Part of VO_EVENTS_USER to make vo_is_ready_for_frame() work properly.
VO_EVENT_INITIAL_UNBLOCK = 1 << 7,
+ // Triggered by vo_win_state. Other code does not mess with this.
+ VO_EVENT_WIN_STATE2 = 1 << 8,
// Set of events the player core may be interested in.
VO_EVENTS_USER = VO_EVENT_RESIZE | VO_EVENT_WIN_STATE |
- VO_EVENT_FULLSCREEN_STATE | VO_EVENT_INITIAL_UNBLOCK,
+ VO_EVENT_FULLSCREEN_STATE | VO_EVENT_INITIAL_UNBLOCK |
+ VO_EVENT_WIN_STATE2,
};
enum mp_voctrl {
@@ -80,12 +84,16 @@ enum mp_voctrl {
VOCTRL_UNINIT,
VOCTRL_RECONFIG,
+ // Legacy, do not use.
VOCTRL_FULLSCREEN,
+ VOCTRL_GET_FULLSCREEN,
VOCTRL_ONTOP,
VOCTRL_BORDER,
VOCTRL_ALL_WORKSPACES,
+ VOCTRL_GET_WIN_STATE, // int* (VO_WIN_STATE_* flags)
- VOCTRL_GET_FULLSCREEN,
+ // If you use vo_win_state, call vo_win_state_update().
+ VOCTRL_VO_WIN_STATE_UPDATE,
VOCTRL_UPDATE_WINDOW_TITLE, // char*
VOCTRL_UPDATE_PLAYBACK_STATE, // struct voctrl_playback_state*
@@ -102,8 +110,6 @@ enum mp_voctrl {
VOCTRL_GET_UNFS_WINDOW_SIZE, // int[2] (w/h)
VOCTRL_SET_UNFS_WINDOW_SIZE, // int[2] (w/h)
- VOCTRL_GET_WIN_STATE, // int* (VO_WIN_STATE_* flags)
-
// char *** (NULL terminated array compatible with CONF_TYPE_STRING_LIST)
// names for displays the window is on
VOCTRL_GET_DISPLAY_NAMES,
@@ -520,6 +526,12 @@ struct mp_image *vo_get_image(struct vo *vo, int imgfmt, int w, int h,
void vo_wakeup(struct vo *vo);
void vo_wait_default(struct vo *vo, int64_t until_time);
+// Internal for VO common code. VO backends do not call this.
+struct vo_win_state;
+void vo_set_internal_win_state(struct vo *vo, struct vo_win_state *st);
+int vo_win_state_fetch_ext_wrap(struct vo *vo, int state,
+ union m_option_value *val);
+
struct mp_keymap {
int from;
int to;