diff --git a/Libraries/LibWeb/Gamepad/Gamepad.cpp b/Libraries/LibWeb/Gamepad/Gamepad.cpp index fa1f450fca6..a4a6c50ecc4 100644 --- a/Libraries/LibWeb/Gamepad/Gamepad.cpp +++ b/Libraries/LibWeb/Gamepad/Gamepad.cpp @@ -16,6 +16,8 @@ #include #include +#include + namespace Web::Gamepad { GC_DEFINE_ALLOCATOR(Gamepad); diff --git a/Libraries/LibWeb/Gamepad/Gamepad.h b/Libraries/LibWeb/Gamepad/Gamepad.h index cb1a25a7b65..4512bfd35ea 100644 --- a/Libraries/LibWeb/Gamepad/Gamepad.h +++ b/Libraries/LibWeb/Gamepad/Gamepad.h @@ -9,8 +9,8 @@ #include #include +#include #include -#include namespace Web::Gamepad { diff --git a/Libraries/LibWeb/Gamepad/GamepadButton.cpp b/Libraries/LibWeb/Gamepad/GamepadButton.cpp index 3254d8e52d5..51cbd808337 100644 --- a/Libraries/LibWeb/Gamepad/GamepadButton.cpp +++ b/Libraries/LibWeb/Gamepad/GamepadButton.cpp @@ -8,6 +8,8 @@ #include #include +#include + namespace Web::Gamepad { GC_DEFINE_ALLOCATOR(GamepadButton); diff --git a/Libraries/LibWeb/Gamepad/GamepadButton.h b/Libraries/LibWeb/Gamepad/GamepadButton.h index 273c3cebb39..7e0d9b95684 100644 --- a/Libraries/LibWeb/Gamepad/GamepadButton.h +++ b/Libraries/LibWeb/Gamepad/GamepadButton.h @@ -7,7 +7,6 @@ #pragma once #include -#include namespace Web::Gamepad { diff --git a/Libraries/LibWeb/Gamepad/NavigatorGamepad.cpp b/Libraries/LibWeb/Gamepad/NavigatorGamepad.cpp index 1f3f383f28e..e0edd24c3c3 100644 --- a/Libraries/LibWeb/Gamepad/NavigatorGamepad.cpp +++ b/Libraries/LibWeb/Gamepad/NavigatorGamepad.cpp @@ -14,6 +14,8 @@ #include #include +#include + namespace Web::Gamepad { // https://w3c.github.io/gamepad/#dom-navigator-getgamepads diff --git a/Libraries/LibWeb/Gamepad/NavigatorGamepad.h b/Libraries/LibWeb/Gamepad/NavigatorGamepad.h index 74c92388fa7..5f0e8755b0a 100644 --- a/Libraries/LibWeb/Gamepad/NavigatorGamepad.h +++ b/Libraries/LibWeb/Gamepad/NavigatorGamepad.h @@ -9,10 +9,9 @@ #include #include #include +#include #include -#include - namespace Web::Gamepad { class NavigatorGamepadPartial { diff --git a/Libraries/LibWeb/Gamepad/SDLGamepadForward.h b/Libraries/LibWeb/Gamepad/SDLGamepadForward.h new file mode 100644 index 00000000000..e61a26b0fc6 --- /dev/null +++ b/Libraries/LibWeb/Gamepad/SDLGamepadForward.h @@ -0,0 +1,16 @@ +/* + * Copyright (c) 2025, ayeteadoe + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#pragma once + +#include + +typedef uint32_t Uint32; +typedef Uint32 SDL_JoystickID; + +typedef struct SDL_Joystick SDL_Joystick; + +typedef struct SDL_Gamepad SDL_Gamepad; diff --git a/Libraries/LibWeb/Internals/InternalGamepad.cpp b/Libraries/LibWeb/Internals/InternalGamepad.cpp index 9820c740452..961c7937d4d 100644 --- a/Libraries/LibWeb/Internals/InternalGamepad.cpp +++ b/Libraries/LibWeb/Internals/InternalGamepad.cpp @@ -8,11 +8,14 @@ #include #include +#include +#include + namespace Web::Internals { GC_DEFINE_ALLOCATOR(InternalGamepad); -static constexpr Array BUTTONS = { +static constexpr Array BUTTONS = { SDL_GAMEPAD_BUTTON_SOUTH, SDL_GAMEPAD_BUTTON_EAST, SDL_GAMEPAD_BUTTON_WEST, @@ -30,14 +33,14 @@ static constexpr Array BUTTONS = { SDL_GAMEPAD_BUTTON_GUIDE, }; -static constexpr Array AXES { +static constexpr Array AXES { SDL_GAMEPAD_AXIS_LEFTX, SDL_GAMEPAD_AXIS_LEFTY, SDL_GAMEPAD_AXIS_RIGHTX, SDL_GAMEPAD_AXIS_RIGHTY, }; -static constexpr Array TRIGGERS { +static constexpr Array TRIGGERS { SDL_GAMEPAD_AXIS_LEFT_TRIGGER, SDL_GAMEPAD_AXIS_RIGHT_TRIGGER, }; @@ -112,17 +115,17 @@ void InternalGamepad::finalize() disconnect(); } -Array const& InternalGamepad::buttons() +Array const& InternalGamepad::buttons() { return BUTTONS; } -Array const& InternalGamepad::axes() +Array const& InternalGamepad::axes() { return AXES; } -Array const& InternalGamepad::triggers() +Array const& InternalGamepad::triggers() { return TRIGGERS; } diff --git a/Libraries/LibWeb/Internals/InternalGamepad.h b/Libraries/LibWeb/Internals/InternalGamepad.h index a5f8fb9af8c..ddbc3df642a 100644 --- a/Libraries/LibWeb/Internals/InternalGamepad.h +++ b/Libraries/LibWeb/Internals/InternalGamepad.h @@ -7,8 +7,7 @@ #pragma once #include -#include -#include +#include namespace Web::Internals { @@ -21,9 +20,9 @@ public: virtual ~InternalGamepad() override; - Array const& buttons(); - Array const& axes(); - Array const& triggers(); + Array const& buttons(); + Array const& axes(); + Array const& triggers(); void set_button(int button, bool down); void set_axis(int axis, short value); diff --git a/Libraries/LibWeb/Page/EventHandler.cpp b/Libraries/LibWeb/Page/EventHandler.cpp index e1aa685f83d..547d5136cf0 100644 --- a/Libraries/LibWeb/Page/EventHandler.cpp +++ b/Libraries/LibWeb/Page/EventHandler.cpp @@ -39,6 +39,7 @@ #include #include +#include namespace Web { diff --git a/Libraries/LibWeb/Page/EventHandler.h b/Libraries/LibWeb/Page/EventHandler.h index 1ed89629871..508b3aab12e 100644 --- a/Libraries/LibWeb/Page/EventHandler.h +++ b/Libraries/LibWeb/Page/EventHandler.h @@ -15,13 +15,12 @@ #include #include #include +#include #include #include #include #include -#include - namespace Web { class WEB_API EventHandler {