LibWeb/Gamepad: Forward declare SDL components to fix Windows build

We have to prevent from including any SDL headers in LibWeb headers.
Otherwise there will be transitive Windows.h includes that will
re-declare some of our existing forward decls/defines in
LibCore/SocketAddressWindows.h
This commit is contained in:
ayeteadoe 2025-09-01 14:07:19 -07:00 committed by Luke Wilde
parent 5ce518f493
commit 454e6a6f7f
Notes: github-actions[bot] 2025-09-02 10:12:35 +00:00
11 changed files with 39 additions and 17 deletions

View file

@ -16,6 +16,8 @@
#include <LibWeb/HTML/Window.h>
#include <LibWeb/HighResolutionTime/TimeOrigin.h>
#include <SDL3/SDL_gamepad.h>
namespace Web::Gamepad {
GC_DEFINE_ALLOCATOR(Gamepad);

View file

@ -9,8 +9,8 @@
#include <LibWeb/Bindings/GamepadPrototype.h>
#include <LibWeb/Bindings/PlatformObject.h>
#include <LibWeb/Gamepad/SDLGamepadForward.h>
#include <LibWeb/HighResolutionTime/DOMHighResTimeStamp.h>
#include <SDL3/SDL_gamepad.h>
namespace Web::Gamepad {

View file

@ -8,6 +8,8 @@
#include <LibWeb/Bindings/Intrinsics.h>
#include <LibWeb/Gamepad/GamepadButton.h>
#include <SDL3/SDL_gamepad.h>
namespace Web::Gamepad {
GC_DEFINE_ALLOCATOR(GamepadButton);

View file

@ -7,7 +7,6 @@
#pragma once
#include <LibWeb/Bindings/PlatformObject.h>
#include <SDL3/SDL_gamepad.h>
namespace Web::Gamepad {

View file

@ -14,6 +14,8 @@
#include <LibWeb/HTML/Window.h>
#include <LibWeb/HighResolutionTime/TimeOrigin.h>
#include <SDL3/SDL_gamepad.h>
namespace Web::Gamepad {
// https://w3c.github.io/gamepad/#dom-navigator-getgamepads

View file

@ -9,10 +9,9 @@
#include <LibGC/Ptr.h>
#include <LibGC/RootVector.h>
#include <LibWeb/Forward.h>
#include <LibWeb/Gamepad/SDLGamepadForward.h>
#include <LibWeb/WebIDL/ExceptionOr.h>
#include <SDL3/SDL_gamepad.h>
namespace Web::Gamepad {
class NavigatorGamepadPartial {

View file

@ -0,0 +1,16 @@
/*
* Copyright (c) 2025, ayeteadoe <ayeteadoe@gmail.com>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/Types.h>
typedef uint32_t Uint32;
typedef Uint32 SDL_JoystickID;
typedef struct SDL_Joystick SDL_Joystick;
typedef struct SDL_Gamepad SDL_Gamepad;