summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/video_out/macosx/video_window.h15
-rw-r--r--src/video_out/macosx/video_window.m28
2 files changed, 37 insertions, 6 deletions
diff --git a/src/video_out/macosx/video_window.h b/src/video_out/macosx/video_window.h
index 2aa29d46a..af84e4c4e 100644
--- a/src/video_out/macosx/video_window.h
+++ b/src/video_out/macosx/video_window.h
@@ -19,7 +19,10 @@
*
*/
-#include <Cocoa/Cocoa.h>
+#ifndef HAVE_VIDEO_WINDOW_H
+#define HAVE_VIDEO_WINDOW_H
+
+#import <Cocoa/Cocoa.h>
typedef enum {
XINE_FULLSCREEN_OVERSCAN,
@@ -67,13 +70,13 @@ typedef enum {
@interface XineVideoWindow : NSWindow {
int width, height;
BOOL keepAspectRatio;
- XineOpenGLView *xineView;
+ XineOpenGLView * xineView;
}
-- (void) setContentSize: (NSSize) size;
+- (id) initWithContentSize:(NSSize)size;
- (XineOpenGLView *) xineView;
-- (void) setKeepsAspectRatio: (BOOL) i;
-- (int) keepsAspectRatio;
+- (void) setKeepsAspectRatio:(BOOL)flag;
+- (BOOL) keepsAspectRatio;
@end
@@ -92,3 +95,5 @@ typedef enum {
extern NSString *XineViewDidResizeNotification;
+#endif /* HAVE_VIDEO_WINDOW_H */
+
diff --git a/src/video_out/macosx/video_window.m b/src/video_out/macosx/video_window.m
index 6546428a9..b70d9c0ce 100644
--- a/src/video_out/macosx/video_window.m
+++ b/src/video_out/macosx/video_window.m
@@ -31,6 +31,8 @@
NSString *XineViewDidResizeNotification = @"XineViewDidResizeNotification";
+#define DEFAULT_VIDEO_WINDOW_SIZE (NSMakeSize(320, 200))
+
@implementation XineVideoWindow
@@ -40,6 +42,30 @@ NSString *XineViewDidResizeNotification = @"XineViewDidResizeNotification";
[super setContentSize: size];
}
+- (id) init
+{
+ return [self initWithContentSize:DEFAULT_VIDEO_WINDOW_SIZE];
+}
+
+- (id) initWithContentSize:(NSSize)size
+{
+ NSScreen *screen = [NSScreen mainScreen];
+ NSSize screen_size = [screen frame].size;
+
+ /* make a centered window */
+ NSRect frame;
+ frame.size = size;
+ frame.origin.x = (screen_size.width - frame.size.width) / 2;
+ frame.origin.y = (screen_size.height - frame.size.height) / 2;
+
+ unsigned int style_mask = NSTitledWindowMask | NSMiniaturizableWindowMask |
+ NSClosableWindowMask | NSResizableWindowMask;
+
+ return ([self initWithContentRect:frame styleMask:style_mask
+ backing:NSBackingStoreBuffered defer:NO
+ screen:screen]);
+}
+
- (id) initWithContentRect: (NSRect)rect
styleMask:(unsigned int)styleMask
backing:(NSBackingStoreType)bufferingType
@@ -110,7 +136,7 @@ NSString *XineViewDidResizeNotification = @"XineViewDidResizeNotification";
keepAspectRatio = flag;
}
-- (int) keepsAspectRatio {
+- (BOOL) keepsAspectRatio {
return keepAspectRatio;
}