On Fri, 15 Jan 2016, Vittorio Gambaletta (VittGam) wrote:
Now that the seek only happens with the right mouse button, it makes sense to toggle full screen when double-clicking with the left mouse button, like other video players do.
I am not against this.
Signed-off-by: Vittorio Gambaletta <ffmpeg-...@vittgam.net> --- ffplay.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/ffplay.c b/ffplay.c index 2fa7165..582ca39 100644 --- a/ffplay.c +++ b/ffplay.c @@ -3473,6 +3473,24 @@ static void event_loop(VideoState *cur_stream) do_exit(cur_stream); break; } + {
Whitespace and indentation seems messed up in this patch as well.
+ static int mouse_left_click_status = 0; + static double mouse_left_click_last_x, mouse_left_click_last_y; + if (event.button.button == SDL_BUTTON_LEFT) { + if (mouse_left_click_status == 1 && av_gettime_relative() - cursor_last_shown <= 500000 + && fabs(event.button.x - mouse_left_click_last_x) <= 1 && fabs(event.button.y - mouse_left_click_last_y) <= 1) { + toggle_full_screen(cur_stream); + cur_stream->force_refresh = 1; + mouse_left_click_status = 0; + } else { + mouse_left_click_status = 1; + mouse_left_click_last_x = event.button.x; + mouse_left_click_last_y = event.button.y; + } + } else { + mouse_left_click_status = 0; + } + }
I don't think we need the complex stuff about not clicking too far out of the first click, what are the chances of a fast moving mouse with double clicking? Slim to none I guess. Are you aware of a case when this matters?
I think it is enough if you just store the timestamp of the last left click in an int64_t and check the time difference next time the user do a left click, this way you can detect double clicking with a single variable and you don't have to use cursor_last_shown which is updated on every motion as well.
Regards, Marton _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel