From 3db13edd898adcd41aa0768e2e707256687a90ac Mon Sep 17 00:00:00 2001 From: raysan5 Date: Tue, 20 Aug 2019 20:39:22 +0200 Subject: [PATCH] Support mouse cursor on RPI native Reduced bunnymark limits --- examples/textures/textures_bunnymark.c | 2 +- src/config.h | 2 ++ src/core.c | 9 +++++++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/examples/textures/textures_bunnymark.c b/examples/textures/textures_bunnymark.c index 784417d2..86605b90 100644 --- a/examples/textures/textures_bunnymark.c +++ b/examples/textures/textures_bunnymark.c @@ -13,7 +13,7 @@ #include // Required for: malloc(), free() -#define MAX_BUNNIES 100000 // 100K bunnies limit +#define MAX_BUNNIES 50000 // 50K bunnies limit // This is the maximum amount of elements (quads) per batch // NOTE: This value is defined in [rlgl] module and can be changed there diff --git a/src/config.h b/src/config.h index 050cce18..398b5e9a 100644 --- a/src/config.h +++ b/src/config.h @@ -44,6 +44,8 @@ #define SUPPORT_MOUSE_GESTURES 1 // Reconfigure standard input to receive key inputs, works with SSH connection. #define SUPPORT_SSH_KEYBOARD_RPI 1 +// Draw a mouse reference on screen (square cursor box) +#define SUPPORT_MOUSE_CURSOR_RPI 1 // Use busy wait loop for timing sync, if not defined, a high-resolution timer is setup and used //#define SUPPORT_BUSY_WAIT_LOOP 1 // Wait for events passively (sleeping while no events) instead of polling them actively every frame diff --git a/src/core.c b/src/core.c index 2e9bfb63..40071205 100644 --- a/src/core.c +++ b/src/core.c @@ -55,6 +55,9 @@ * WARNING: Reconfiguring standard input could lead to undesired effects, like breaking other running processes or * blocking the device is not restored properly. Use with care. * +* #define SUPPORT_MOUSE_CURSOR_RPI (Raspberry Pi only) +* Draw a mouse reference on screen (square cursor box) +* * #define SUPPORT_BUSY_WAIT_LOOP * Use busy wait loop for timing sync, if not defined, a high-resolution timer is setup and used * @@ -1187,6 +1190,12 @@ void BeginDrawing(void) // End canvas drawing and swap buffers (double buffering) void EndDrawing(void) { +#if defined(PLATFORM_RPI) && defined(SUPPORT_MOUSE_CURSOR_RPI) + // On RPI native mode we have no system mouse cursor, so, + // we draw a small rectangle for user reference + DrawRectangle(mousePosition.x, mousePosition.y, 3, 3, MAROON); +#endif + rlglDraw(); // Draw Buffers (Only OpenGL 3+ and ES2) #if defined(SUPPORT_GIF_RECORDING)