changeset 31049:b40e41324173

Avoid duplicating mouse-movement command-generation code.
author reimar
date Sun, 25 Apr 2010 16:13:57 +0000
parents ba91602b82c5
children 340fd8115a78
files libvo/video_out.c libvo/video_out.h libvo/vo_corevideo.m libvo/w32_common.c libvo/x11_common.c
diffstat 5 files changed, 20 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- a/libvo/video_out.c	Sun Apr 25 16:09:56 2010 +0000
+++ b/libvo/video_out.c	Sun Apr 25 16:13:57 2010 +0000
@@ -446,6 +446,21 @@
   dst->height = dst->bottom - dst->top;
 }
 
+/**
+ * Generates a mouse movement message if those are enable and sends it
+ * to the "main" MPlayer.
+ *
+ * \param posx new x position of mouse
+ * \param posy new y position of mouse
+ */
+void vo_mouse_movement(int posx, int posy) {
+  char cmd_str[40];
+  if (!enable_mouse_movements)
+    return;
+  snprintf(cmd_str, sizeof(cmd_str), "set_mouse_pos %i %i", posx, posy);
+  mp_input_queue_cmd(mp_input_parse_cmd(cmd_str));
+}
+
 #if defined(CONFIG_FBDEV) || defined(CONFIG_VESA)
 /* Borrowed from vo_fbdev.c
 Monitor ranges related functions*/
--- a/libvo/video_out.h	Sun Apr 25 16:09:56 2010 +0000
+++ b/libvo/video_out.h	Sun Apr 25 16:13:57 2010 +0000
@@ -281,6 +281,7 @@
 };
 void calc_src_dst_rects(int src_width, int src_height, struct vo_rect *src, struct vo_rect *dst,
                         struct vo_rect *borders, const struct vo_rect *crop);
+void vo_mouse_movement(int posx, int posy);
 
 static inline int aspect_scaling(void)
 {
--- a/libvo/vo_corevideo.m	Sun Apr 25 16:09:56 2010 +0000
+++ b/libvo/vo_corevideo.m	Sun Apr 25 16:13:57 2010 +0000
@@ -953,11 +953,8 @@
 	if (enable_mouse_movements && !isRootwin) {
 		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));
+			vo_mouse_movement(vo_fs ? p.x : p.x - textureFrame.origin.x,
+			                  vo_fs ? [self frame].size.height - p.y : NSMaxY(textureFrame) - p.y);
 		}
 	}
 }
--- a/libvo/w32_common.c	Sun Apr 25 16:09:56 2010 +0000
+++ b/libvo/w32_common.c	Sun Apr 25 16:13:57 2010 +0000
@@ -159,12 +159,7 @@
                 mplayer_put_key(MOUSE_BTN2);
             break;
         case WM_MOUSEMOVE:
-            if (enable_mouse_movements) {
-                char cmd_str[40];
-                snprintf(cmd_str, sizeof(cmd_str), "set_mouse_pos %i %i",
-                        GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam));
-                mp_input_queue_cmd(mp_input_parse_cmd(cmd_str));
-            }
+            vo_mouse_movement(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam));
             break;
         case WM_MOUSEWHEEL:
             if (!vo_nomouse_input) {
--- a/libvo/x11_common.c	Sun Apr 25 16:09:56 2010 +0000
+++ b/libvo/x11_common.c	Sun Apr 25 16:13:57 2010 +0000
@@ -873,12 +873,7 @@
                 }
                 break;
             case MotionNotify:
-                if(enable_mouse_movements)
-                {
-                    char cmd_str[40];
-                    sprintf(cmd_str,"set_mouse_pos %i %i",Event.xmotion.x, Event.xmotion.y);
-                    mp_input_queue_cmd(mp_input_parse_cmd(cmd_str));
-                }
+                vo_mouse_movement(Event.xmotion.x, Event.xmotion.y);
 
                 if (vo_mouse_autohide)
                 {