Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarton Balint <cus@passwd.hu>2012-12-01 05:27:29 +0400
committerMarton Balint <cus@passwd.hu>2012-12-28 23:01:00 +0400
commitef7f3b08703f334768f61c2c5817b6e42c05c08a (patch)
tree13813864d11a82210222de19422f97bb9ba12823 /ffplay.c
parent0ca4e9f014839ce26a3975e67a32c36b289d8801 (diff)
ffplay: hide cursor on no mouse movement
Signed-off-by: Marton Balint <cus@passwd.hu>
Diffstat (limited to 'ffplay.c')
-rw-r--r--ffplay.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/ffplay.c b/ffplay.c
index 5f4f111349..caba6d7e9b 100644
--- a/ffplay.c
+++ b/ffplay.c
@@ -90,6 +90,8 @@ const int program_birth_year = 2003;
/* TODO: We assume that a decoded and resampled frame fits into this buffer */
#define SAMPLE_ARRAY_SIZE (8 * 65536)
+#define CURSOR_HIDE_DELAY 1000000
+
static int64_t sws_flags = SWS_BICUBIC;
typedef struct MyAVPacketList {
@@ -303,6 +305,8 @@ static const char *audio_codec_name;
static const char *subtitle_codec_name;
static const char *video_codec_name;
static int rdftspeed = 20;
+static int64_t cursor_last_shown;
+static int cursor_hidden = 0;
#if CONFIG_AVFILTER
static char *vfilters = NULL;
#endif
@@ -3038,6 +3042,11 @@ static void event_loop(VideoState *cur_stream)
break;
}
case SDL_MOUSEMOTION:
+ if (cursor_hidden) {
+ SDL_ShowCursor(1);
+ cursor_hidden = 0;
+ }
+ cursor_last_shown = av_gettime();
if (event.type == SDL_MOUSEBUTTONDOWN) {
x = event.button.x;
} else {
@@ -3084,6 +3093,10 @@ static void event_loop(VideoState *cur_stream)
alloc_picture(event.user.data1);
break;
case FF_REFRESH_EVENT:
+ if (!cursor_hidden && av_gettime() - cursor_last_shown > CURSOR_HIDE_DELAY) {
+ SDL_ShowCursor(0);
+ cursor_hidden = 1;
+ }
video_refresh(event.user.data1);
cur_stream->refresh = 0;
break;