diff options
author | Stefano Pigozzi <stefano.pigozzi@gmail.com> | 2013-11-22 08:41:34 +0100 |
---|---|---|
committer | Stefano Pigozzi <stefano.pigozzi@gmail.com> | 2013-11-22 08:41:34 +0100 |
commit | ede608ed4365eb43d8630b9a9a9b6c642af279ce (patch) | |
tree | 02f301ac10daed2bb1b1d3c5065f85d17dd69cbf /video/out/cocoa_common.m | |
parent | 7e2edad8efea55e8df1faa695d1389ef4e326d7c (diff) | |
download | mpv-ede608ed4365eb43d8630b9a9a9b6c642af279ce.tar.bz2 mpv-ede608ed4365eb43d8630b9a9a9b6c642af279ce.tar.xz |
cocoa: implement window-scale
Diffstat (limited to 'video/out/cocoa_common.m')
-rw-r--r-- | video/out/cocoa_common.m | 20 |
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; |