Added ball, touchpad, and sensor support for virtual joysticks

Fixes https://github.com/libsdl-org/SDL/issues/9542
This commit is contained in:
Sam Lantinga 2024-05-09 17:36:15 -07:00
parent d231edd2ad
commit c1ba31118b
12 changed files with 494 additions and 41 deletions

View file

@ -191,6 +191,7 @@ void GetGamepadImageArea(GamepadImage *ctx, SDL_Rect *area)
{
if (!ctx) {
SDL_zerop(area);
return;
}
area->x = ctx->x;
@ -202,6 +203,19 @@ void GetGamepadImageArea(GamepadImage *ctx, SDL_Rect *area)
}
}
void GetGamepadTouchpadArea(GamepadImage *ctx, SDL_Rect *area)
{
if (!ctx) {
SDL_zerop(area);
return;
}
area->x = (float)ctx->x + (ctx->gamepad_width - ctx->touchpad_width) / 2 + touchpad_area.x;
area->y = (float)ctx->y + ctx->gamepad_height + touchpad_area.y;
area->w = (float)touchpad_area.w;
area->h = (float)touchpad_area.h;
}
void SetGamepadImageShowingFront(GamepadImage *ctx, SDL_bool showing_front)
{
if (!ctx) {