diff options
| author | MichaelFiber <[email protected]> | 2023-10-11 04:30:51 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-10-11 10:30:51 +0200 |
| commit | daba1a27945d6be914e71f71fe8e7cfaef1eca5e (patch) | |
| tree | e1c3a18295927181b2233a0dfabdb8dc8754fd2b /examples | |
| parent | 101a9b04458a38413a29a11f22e6c8e0a472a75b (diff) | |
| download | raylib-daba1a27945d6be914e71f71fe8e7cfaef1eca5e.tar.gz raylib-daba1a27945d6be914e71f71fe8e7cfaef1eca5e.zip | |
Split drm update input (#3397)
* Update `PLATFORM_DRM` implementation of `GetGamepadAxisCount`
* Update
* Update `PLATFORM_DRM` implementation of `GetGamepadName`
* Add example to test gamepad info functions
Fix typo
* Update new gamepad info example
* Move axis count update out of GamepadThread - race condition
* Remove pointless if statement
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/Makefile | 1 | ||||
| -rw-r--r-- | examples/core/core_input_gamepad_info.c | 60 |
2 files changed, 61 insertions, 0 deletions
diff --git a/examples/Makefile b/examples/Makefile index 9404d39c..6031f05e 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -365,6 +365,7 @@ CORE = \ core/core_input_mouse \ core/core_input_mouse_wheel \ core/core_input_gamepad \ + core/core_input_gamepad_info \ core/core_input_multitouch \ core/core_input_gestures \ core/core_input_gestures_web \ diff --git a/examples/core/core_input_gamepad_info.c b/examples/core/core_input_gamepad_info.c new file mode 100644 index 00000000..84a687cd --- /dev/null +++ b/examples/core/core_input_gamepad_info.c @@ -0,0 +1,60 @@ +/******************************************************************************************* +* +* raylib [core] example - Gamepad information +* +* NOTE: This example requires a Gamepad connected to the system +* Check raylib.h for buttons configuration +* +* Example originally created with raylib 4.6, last time updated with raylib 4.6 +* +* Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, +* BSD-like license that allows static linking with closed source software +* +* Copyright (c) 2013-2023 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" + +//------------------------------------------------------------------------------------ +// Program main entry point +//------------------------------------------------------------------------------------ +int main(void) +{ + // Initialization + //-------------------------------------------------------------------------------------- + const int screenWidth = 800; + const int screenHeight = 450; + + SetConfigFlags(FLAG_MSAA_4X_HINT); // Set MSAA 4X hint before windows creation + + InitWindow(screenWidth, screenHeight, "raylib [core] example - gamepad information"); + + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + int y = 10; + + BeginDrawing(); + + ClearBackground(RAYWHITE); + + for (int i = 0; i < 4; i++) // by default rcore.h has a MAX_GAMEPADS of 4 so mimmic that here. + { + if (IsGamepadAvailable(i)) + { + DrawText(TextFormat("Gamepad:\n\tName: %s\n\tAxes: %d", GetGamepadName(i), GetGamepadAxisCount(i)), 10, y, 20, BLACK); + y += 40; + } + } + + EndDrawing(); + } + + // De-Initialization + //-------------------------------------------------------------------------------------- + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- +}
\ No newline at end of file |
