diff options
author | Andre Pang <athp@users.sourceforge.net> | 2004-10-21 01:32:22 +0000 |
---|---|---|
committer | Andre Pang <athp@users.sourceforge.net> | 2004-10-21 01:32:22 +0000 |
commit | f3aed22a2134831f73c24b3e0b67349318cfe502 (patch) | |
tree | 50323c44e7a85ba30d57b1d6d71d245a8a636a67 /src/video_out/macosx | |
parent | 099f2009e79eb6935d3ae9f4c726945102d7ce76 (diff) | |
download | xine-lib-f3aed22a2134831f73c24b3e0b67349318cfe502.tar.gz xine-lib-f3aed22a2134831f73c24b3e0b67349318cfe502.tar.bz2 |
Added cursor-changing support to Mac OS X XineOpenGLView
CVS patchset: 7058
CVS date: 2004/10/21 01:32:22
Diffstat (limited to 'src/video_out/macosx')
-rw-r--r-- | src/video_out/macosx/video_window.h | 4 | ||||
-rw-r--r-- | src/video_out/macosx/video_window.m | 26 |
2 files changed, 30 insertions, 0 deletions
diff --git a/src/video_out/macosx/video_window.h b/src/video_out/macosx/video_window.h index 5b2dc9dcf..2eb705378 100644 --- a/src/video_out/macosx/video_window.h +++ b/src/video_out/macosx/video_window.h @@ -44,6 +44,7 @@ typedef enum { NSLock *mutex; BOOL keepsVideoAspectRatio; BOOL resizeViewOnVideoSizeChange; + NSCursor *currentCursor; } - (void) displayTexture; @@ -67,6 +68,9 @@ typedef enum { - (BOOL) keepsVideoAspectRatio; - (void) setResizeViewOnVideoSizeChange:(BOOL)flag; - (BOOL) resizeViewOnVideoSizeChange; +- (void) setCurrentCursor:(NSCursor *)cursor; +- (NSCursor *) currentCursor; +- (void) resetCursorRectsInMainThread; /* Delegate methods */ - (id) delegate; diff --git a/src/video_out/macosx/video_window.m b/src/video_out/macosx/video_window.m index d04ad139b..b94324e91 100644 --- a/src/video_out/macosx/video_window.m +++ b/src/video_out/macosx/video_window.m @@ -289,6 +289,7 @@ NSString *XineViewDidResizeNotification = @"XineViewDidResizeNotification"; video_height = frame.size.height; texture_buffer = nil; mutex = [[NSLock alloc] init]; + currentCursor = [NSCursor arrowCursor]; [self initTextures]; @@ -767,6 +768,31 @@ NSString *XineViewDidResizeNotification = @"XineViewDidResizeNotification"; return YES; } +- (void) setCurrentCursor:(NSCursor *)cursor +{ + currentCursor = cursor; + [self resetCursorRectsInMainThread]; +} + +- (NSCursor *) currentCursor +{ + return currentCursor; +} + +- (void) resetCursorRectsInMainThread +{ + [self discardCursorRects]; + [self performSelectorOnMainThread:@selector(resetCursorRects) + withObject:nil + waitUntilDone:NO]; +} + +- (void) resetCursorRects +{ + [self addCursorRect:[self visibleRect] cursor:currentCursor]; + [currentCursor set]; +} + @end /* XineOpenGLView */ |