Mercurial > mplayer.hg
changeset 25446:8dfc8a3b4152
Support send mouse movements commands to mplayer.
author | ulion |
---|---|
date | Thu, 20 Dec 2007 12:00:44 +0000 |
parents | 959fca775f43 |
children | 139197373d1b |
files | libvo/vo_macosx.m |
diffstat | 1 files changed, 13 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/libvo/vo_macosx.m Thu Dec 20 11:36:53 2007 +0000 +++ b/libvo/vo_macosx.m Thu Dec 20 12:00:44 2007 +0000 @@ -63,6 +63,7 @@ extern float monitor_aspect; extern float movie_aspect; static float old_movie_aspect; +extern int enable_mouse_movements; static float winAlpha = 1; static int int_pause = 0; @@ -671,8 +672,6 @@ int padding = 0; NSRect frame = [self frame]; - vo_dwidth = frame.size.width; - vo_dheight = frame.size.height; glViewport(0, 0, frame.size.width, frame.size.height); glMatrixMode(GL_PROJECTION); @@ -705,6 +704,8 @@ { textureFrame = frame; } + vo_dwidth = textureFrame.size.width; + vo_dheight = textureFrame.size.height; } /* @@ -1004,6 +1005,16 @@ CGDisplayShowCursor(kCGDirectMainDisplay); mouseHide = NO; } + if (enable_mouse_movements) { + NSPoint p =[self convertPoint:[theEvent locationInWindow] fromView:nil]; + if ([self mouse:p inRect:textureFrame]) { + char cmdstr[40]; + snprintf(cmdstr, sizeof(cmdstr), "set_mouse_pos %i %i", + (int)(vo_fs ? p.x : (p.x - textureFrame.origin.x)), + (int)(vo_fs ? [self frame].size.height - p.y: (NSMaxY(textureFrame) - p.y))); + mp_input_queue_cmd(mp_input_parse_cmd(cmdstr)); + } + } } - (void) mouseDown: (NSEvent *) theEvent