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 <[email protected]>
---
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
[email protected]
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel