vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Thu May 31 21:21:31 2018 +0300| [b9dc6404aaf192be4197d38c48fe00b48c9c6e37] | committer: Rémi Denis-Courmont
vout: inline mouse events > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=b9dc6404aaf192be4197d38c48fe00b48c9c6e37 --- src/video_output/display.c | 22 ++++++++++++++++------ src/video_output/event.h | 25 ------------------------- 2 files changed, 16 insertions(+), 31 deletions(-) diff --git a/src/video_output/display.c b/src/video_output/display.c index 1e7dacddf4..eba0e0e3c2 100644 --- a/src/video_output/display.c +++ b/src/video_output/display.c @@ -1295,6 +1295,7 @@ vout_display_t *vout_NewSplitter(vout_thread_t *vout, * TODO move out *****************************************************************************/ #include "vout_internal.h" + void vout_SendDisplayEventMouse(vout_thread_t *vout, const vlc_mouse_t *m) { vlc_mouse_t tmp1, tmp2; @@ -1312,18 +1313,27 @@ void vout_SendDisplayEventMouse(vout_thread_t *vout, const vlc_mouse_t *m) } vlc_mutex_unlock( &vout->p->filter.lock ); - if (vlc_mouse_HasMoved(&vout->p->mouse, m)) { - vout_SendEventMouseMoved(vout, m->i_x, m->i_y); - } + if (vlc_mouse_HasMoved(&vout->p->mouse, m)) + var_SetCoords(vout, "mouse-moved", m->i_x, m->i_y); + if (vlc_mouse_HasButton(&vout->p->mouse, m)) { for (unsigned button = 0; button < MOUSE_BUTTON_MAX; button++) { if (vlc_mouse_HasPressed(&vout->p->mouse, m, button)) - vout_SendEventMousePressed(vout, button); + var_OrInteger(vout, "mouse-button-down", 1 << button); else if (vlc_mouse_HasReleased(&vout->p->mouse, m, button)) - vout_SendEventMouseReleased(vout, button); + var_NAndInteger(vout, "mouse-button-down", 1 << button); + } + + if (vlc_mouse_HasPressed(&vout->p->mouse, m, MOUSE_BUTTON_LEFT)) { + /* FIXME? */ + int x, y; + + var_GetCoords(vout, "mouse-moved", &x, &y); + var_SetCoords(vout, "mouse-clicked", x, y); } } + if (m->b_double_click) - vout_SendEventMouseDoubleClick(vout); + var_ToggleBool(vout, "fullscreen"); vout->p->mouse = *m; } diff --git a/src/video_output/event.h b/src/video_output/event.h index 985052a45f..1e237d7142 100644 --- a/src/video_output/event.h +++ b/src/video_output/event.h @@ -41,10 +41,6 @@ static inline void vout_SendEventKey(vout_thread_t *vout, int key) { var_SetInteger(vout->obj.libvlc, "key-pressed", key); } -static inline void vout_SendEventMouseMoved(vout_thread_t *vout, int x, int y) -{ - var_SetCoords(vout, "mouse-moved", x, y); -} static inline void vout_SendEventViewpointMoved(vout_thread_t *vout, const vlc_viewpoint_t *p_viewpoint) { @@ -53,27 +49,6 @@ static inline void vout_SendEventViewpointMoved(vout_thread_t *vout, var_Change(vout, "viewpoint-moved", VLC_VAR_SETVALUE, &(vlc_value_t) { .p_address = NULL }, NULL); } -static inline void vout_SendEventMousePressed(vout_thread_t *vout, int button) -{ - var_OrInteger(vout, "mouse-button-down", 1 << button); - - if (button == MOUSE_BUTTON_LEFT) - { - /* FIXME? */ - int x, y; - var_GetCoords(vout, "mouse-moved", &x, &y); - var_SetCoords(vout, "mouse-clicked", x, y); - } -} -static inline void vout_SendEventMouseReleased(vout_thread_t *vout, int button) -{ - var_NAndInteger(vout, "mouse-button-down", 1 << button); -} -static inline void vout_SendEventMouseDoubleClick(vout_thread_t *vout) -{ - //vout_ControlSetFullscreen(vout, !var_GetBool(vout, "fullscreen")); - var_ToggleBool(vout, "fullscreen"); -} static inline void vout_SendEventViewpointChangeable(vout_thread_t *vout, bool b_can_change) { _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
