summaryrefslogtreecommitdiffstats
path: root/video
diff options
context:
space:
mode:
authorStefano Pigozzi <stefano.pigozzi@gmail.com>2013-11-22 08:41:34 +0100
committerStefano Pigozzi <stefano.pigozzi@gmail.com>2013-11-22 08:41:34 +0100
commitede608ed4365eb43d8630b9a9a9b6c642af279ce (patch)
tree02f301ac10daed2bb1b1d3c5065f85d17dd69cbf /video
parent7e2edad8efea55e8df1faa695d1389ef4e326d7c (diff)
downloadmpv-ede608ed4365eb43d8630b9a9a9b6c642af279ce.tar.bz2
mpv-ede608ed4365eb43d8630b9a9a9b6c642af279ce.tar.xz
cocoa: implement window-scale
Diffstat (limited to 'video')
-rw-r--r--video/out/cocoa_common.m20
1 files changed, 20 insertions, 0 deletions
diff --git a/video/out/cocoa_common.m b/video/out/cocoa_common.m
index 6987d5ca5d..4dded28301 100644
--- a/video/out/cocoa_common.m
+++ b/video/out/cocoa_common.m
@@ -526,6 +526,26 @@ int vo_cocoa_control(struct vo *vo, int *events, int request, void *arg)
case VOCTRL_UPDATE_SCREENINFO:
vo_cocoa_update_screen_info(vo);
return VO_TRUE;
+ case VOCTRL_GET_WINDOW_SIZE: {
+ int *s = arg;
+ vo->cocoa->inside_sync_section = true;
+ dispatch_sync(dispatch_get_main_queue(), ^{
+ NSSize size = [vo->cocoa->view frame].size;
+ s[0] = size.width;
+ s[1] = size.height;
+ });
+ vo->cocoa->inside_sync_section = false;
+ return VO_TRUE;
+ }
+ case VOCTRL_SET_WINDOW_SIZE: {
+ vo->cocoa->inside_sync_section = true;
+ dispatch_sync(dispatch_get_main_queue(), ^{
+ int *s = arg;
+ [vo->cocoa->window queueNewVideoSize:(NSSize){s[0], s[1]}];
+ });
+ vo->cocoa->inside_sync_section = false;
+ return VO_TRUE;
+ }
case VOCTRL_SET_CURSOR_VISIBILITY:
vo_cocoa_set_cursor_visibility(vo, arg);
return VO_TRUE;