From 2241bd669fcb96046390e2a08eeea5864a832b15 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Fri, 29 Jul 2022 20:37:38 -0700
Subject: [PATCH] Added a command line option `--info event_motion` to show
mouse and finger motion events
---
include/SDL_test_common.h | 1 +
src/test/SDL_test_common.c | 19 ++++++++++---------
2 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/include/SDL_test_common.h b/include/SDL_test_common.h
index 0f509678950..b86520d3242 100644
--- a/include/SDL_test_common.h
+++ b/include/SDL_test_common.h
@@ -50,6 +50,7 @@
#define VERBOSE_RENDER 0x00000004
#define VERBOSE_EVENT 0x00000008
#define VERBOSE_AUDIO 0x00000010
+#define VERBOSE_MOTION 0x00000020
typedef struct
{
diff --git a/src/test/SDL_test_common.c b/src/test/SDL_test_common.c
index 44013f67a4f..c86742cd43d 100644
--- a/src/test/SDL_test_common.c
+++ b/src/test/SDL_test_common.c
@@ -28,7 +28,7 @@
static const char *video_usage[] = {
"[--video driver]", "[--renderer driver]", "[--gldebug]",
- "[--info all|video|modes|render|event]",
+ "[--info all|video|modes|render|event|event_motion]",
"[--log all|error|system|audio|video|render|input]", "[--display N]",
"[--metal-window | --opengl-window | --vulkan-window]",
"[--fullscreen | --fullscreen-desktop | --windows N]", "[--title title]",
@@ -168,6 +168,10 @@ SDLTest_CommonArg(SDLTest_CommonState * state, int index)
state->verbose |= VERBOSE_EVENT;
return 2;
}
+ if (SDL_strcasecmp(argv[index], "event_motion") == 0) {
+ state->verbose |= (VERBOSE_EVENT | VERBOSE_MOTION);
+ return 2;
+ }
return -1;
}
if (SDL_strcasecmp(argv[index], "--log") == 0) {
@@ -1464,13 +1468,6 @@ default: return "???";
static void
SDLTest_PrintEvent(SDL_Event * event)
{
-#ifndef VERBOSE_MOTION_EVENTS
- if ((event->type == SDL_MOUSEMOTION) || (event->type == SDL_FINGERMOTION)) {
- /* Mouse and finger motion are really spammy */
- return;
- }
-#endif
-
switch (event->type) {
case SDL_DISPLAYEVENT:
switch (event->display.event) {
@@ -1826,7 +1823,11 @@ SDLTest_CommonEvent(SDLTest_CommonState * state, SDL_Event * event, int *done)
static SDL_MouseMotionEvent lastEvent;
if (state->verbose & VERBOSE_EVENT) {
- SDLTest_PrintEvent(event);
+ if (((event->type != SDL_MOUSEMOTION) &&
+ (event->type != SDL_FINGERMOTION)) ||
+ ((state->verbose & VERBOSE_MOTION) != 0)) {
+ SDLTest_PrintEvent(event);
+ }
}
switch (event->type) {