diff options
-rw-r--r-- | src/video_out/macosx/video_window.h | 1 | ||||
-rw-r--r-- | src/video_out/macosx/video_window.m | 34 |
2 files changed, 21 insertions, 14 deletions
diff --git a/src/video_out/macosx/video_window.h b/src/video_out/macosx/video_window.h index 61602c498..2aa29d46a 100644 --- a/src/video_out/macosx/video_window.h +++ b/src/video_out/macosx/video_window.h @@ -72,7 +72,6 @@ typedef enum { - (void) setContentSize: (NSSize) size; - (XineOpenGLView *) xineView; -- (void) fitToScreen; - (void) setKeepsAspectRatio: (BOOL) i; - (int) keepsAspectRatio; @end diff --git a/src/video_out/macosx/video_window.m b/src/video_out/macosx/video_window.m index 165227514..6546428a9 100644 --- a/src/video_out/macosx/video_window.m +++ b/src/video_out/macosx/video_window.m @@ -67,27 +67,35 @@ NSString *XineViewDidResizeNotification = @"XineViewDidResizeNotification"; return xineView; } -- (void) fitToScreen { - NSSize size, video_size; - float screen_width, screen_height; - +- (NSRect)windowWillUseStandardFrame:(NSWindow *)sender + defaultFrame:(NSRect)defaultFrame +{ + NSSize screen_size, video_size; + NSRect standard_frame; + if ([xineView isFullScreen]) return; - - screen_width = CGDisplayPixelsWide (kCGDirectMainDisplay); - screen_height = CGDisplayPixelsHigh (kCGDirectMainDisplay) - 40; + screen_size = defaultFrame.size; video_size = [xineView videoSize]; - if ((screen_width / screen_height) > (video_size.width / video_size.height)) { - size.width = video_size.width * (screen_height / video_size.height); - size.height = screen_height; + if (screen_size.width / screen_size.height > + video_size.width / video_size.height) { + standard_frame.size.width = video_size.width * + (screen_size.height / video_size.height); + standard_frame.size.height = screen_size.height; } else { - size.width = screen_width; - size.height = video_size.height * (screen_width / video_size.width); + standard_frame.size.width = screen_size.width; + standard_frame.size.height = video_size.height * + (screen_size.width / video_size.width); } - [super setContentSize: size]; + standard_frame.origin.x = + (screen_size.width - standard_frame.size.width) / 2; + standard_frame.origin.y = + (screen_size.height - standard_frame.size.height) / 2; + + return standard_frame; } - (void) setKeepsAspectRatio: (BOOL) flag { |