# HG changeset patch # User reimar # Date 1272212037 0 # Node ID b40e413241736088f0c93de1d65d716a6afc3b66 # Parent ba91602b82c54664c029b92958fd46be040fb4d5 Avoid duplicating mouse-movement command-generation code. diff -r ba91602b82c5 -r b40e41324173 libvo/video_out.c --- 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*/ diff -r ba91602b82c5 -r b40e41324173 libvo/video_out.h --- 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) { diff -r ba91602b82c5 -r b40e41324173 libvo/vo_corevideo.m --- 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); } } } diff -r ba91602b82c5 -r b40e41324173 libvo/w32_common.c --- 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) { diff -r ba91602b82c5 -r b40e41324173 libvo/x11_common.c --- 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) {