diff --git a/SDL3-CS.Tests/MyWindow.cs b/SDL3-CS.Tests/MyWindow.cs
index b647deb..351cb24 100644
--- a/SDL3-CS.Tests/MyWindow.cs
+++ b/SDL3-CS.Tests/MyWindow.cs
@@ -65,7 +65,7 @@ namespace SDL3.Tests
private int handleEventFromFilter(SDL_Event* e)
{
- switch (e->type)
+ switch (e->Type)
{
case SDL_EventType.SDL_EVENT_KEY_UP:
case SDL_EventType.SDL_EVENT_KEY_DOWN:
@@ -91,12 +91,12 @@ namespace SDL3.Tests
public void Create()
{
sdlWindowHandle = SDL_CreateWindow("hello"u8, 800, 600, SDL_WindowFlags.SDL_WINDOW_RESIZABLE | SDL_WindowFlags.SDL_WINDOW_HIGH_PIXEL_DENSITY);
- renderer = SDL_CreateRenderer(sdlWindowHandle, (byte*)null, SDL_RendererFlags.SDL_RENDERER_PRESENTVSYNC);
+ renderer = SDL_CreateRenderer(sdlWindowHandle, null, SDL_RendererFlags.SDL_RENDERER_PRESENTVSYNC);
}
private void handleEvent(SDL_Event e)
{
- switch (e.type)
+ switch (e.Type)
{
case SDL_EventType.SDL_EVENT_QUIT:
run = false;
@@ -196,9 +196,7 @@ namespace SDL3.Tests
do
{
- fixed (SDL_Event* buf = events)
- eventsRead = SDL_PeepEvents(buf, events_per_peep, SDL_eventaction.SDL_GETEVENT, SDL_EventType.SDL_EVENT_FIRST, SDL_EventType.SDL_EVENT_LAST);
-
+ eventsRead = SDL_PeepEvents(events, SDL_eventaction.SDL_GETEVENT, SDL_EventType.SDL_EVENT_FIRST, SDL_EventType.SDL_EVENT_LAST);
for (int i = 0; i < eventsRead; i++)
handleEvent(events[i]);
} while (eventsRead == events_per_peep);
diff --git a/SDL3-CS.sln.DotSettings b/SDL3-CS.sln.DotSettings
index 45e9c9e..099f4aa 100644
--- a/SDL3-CS.sln.DotSettings
+++ b/SDL3-CS.sln.DotSettings
@@ -780,4 +780,10 @@ See the LICENCE file in the repository root for full licence text.
<Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" />
<Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
<Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" />
- <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" />
\ No newline at end of file
+ <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" />
+ True
+ True
+ True
+ True
+ True
+ True
\ No newline at end of file
diff --git a/SDL3-CS/SDL-use-proper-types.patch b/SDL3-CS/SDL-use-proper-types.patch
index 631fdba..d13fa39 100644
--- a/SDL3-CS/SDL-use-proper-types.patch
+++ b/SDL3-CS/SDL-use-proper-types.patch
@@ -1,8 +1,8 @@
diff --git a/include/SDL3/SDL.h b/include/SDL3/SDL.h
-index b178d2ade..5c54b9ab5 100644
+index 6cda579f7..bc2952a4e 100644
--- a/include/SDL3/SDL.h
+++ b/include/SDL3/SDL.h
-@@ -29,6 +29,8 @@
+@@ -28,6 +28,8 @@
#ifndef SDL_h_
#define SDL_h_
@@ -11,320 +11,42 @@ index b178d2ade..5c54b9ab5 100644
#include
#include
#include
-diff --git a/include/SDL3/SDL_events.h b/include/SDL3/SDL_events.h
-index 0fddf1f24..36b98b569 100644
---- a/include/SDL3/SDL_events.h
-+++ b/include/SDL3/SDL_events.h
-@@ -244,7 +244,7 @@ typedef enum
- */
- typedef struct SDL_CommonEvent
- {
-- Uint32 type; /**< Event type, shared with all events, Uint32 to cover user events which are not in the SDL_EventType enumeration */
-+ SDL_EventType type; /**< Event type, shared with all events, Uint32 to cover user events which are not in the SDL_EventType enumeration */
- Uint32 reserved;
- Uint64 timestamp; /**< In nanoseconds, populated using SDL_GetTicksNS() */
- } SDL_CommonEvent;
-@@ -726,7 +726,7 @@ typedef struct SDL_QuitEvent
- */
- typedef struct SDL_UserEvent
- {
-- Uint32 type; /**< ::SDL_EVENT_USER through ::SDL_EVENT_LAST-1, Uint32 because these are not in the SDL_EventType enumeration */
-+ SDL_EventType type; /**< ::SDL_EVENT_USER through ::SDL_EVENT_LAST-1, Uint32 because these are not in the SDL_EventType enumeration */
- Uint32 reserved;
- Uint64 timestamp; /**< In nanoseconds, populated using SDL_GetTicksNS() */
- SDL_WindowID windowID; /**< The associated window if any */
-@@ -741,7 +741,7 @@ typedef struct SDL_UserEvent
- */
- typedef union SDL_Event
- {
-- Uint32 type; /**< Event type, shared with all events, Uint32 to cover user events which are not in the SDL_EventType enumeration */
-+ SDL_EventType type; /**< Event type, shared with all events, Uint32 to cover user events which are not in the SDL_EventType enumeration */
- SDL_CommonEvent common; /**< Common event data */
- SDL_DisplayEvent display; /**< Display event data */
- SDL_WindowEvent window; /**< Window event data */
-@@ -868,7 +868,7 @@ typedef enum
- * \sa SDL_PumpEvents
- * \sa SDL_PushEvent
- */
--extern DECLSPEC int SDLCALL SDL_PeepEvents(SDL_Event *events, int numevents, SDL_eventaction action, Uint32 minType, Uint32 maxType);
-+extern DECLSPEC int SDLCALL SDL_PeepEvents(SDL_Event *events, int numevents, SDL_eventaction action, SDL_EventType minType, SDL_EventType maxType);
- /* @} */
-
- /**
-@@ -885,7 +885,7 @@ extern DECLSPEC int SDLCALL SDL_PeepEvents(SDL_Event *events, int numevents, SDL
- *
- * \sa SDL_HasEvents
- */
--extern DECLSPEC SDL_bool SDLCALL SDL_HasEvent(Uint32 type);
-+extern DECLSPEC SDL_bool SDLCALL SDL_HasEvent(SDL_EventType type);
-
-
- /**
-@@ -904,7 +904,7 @@ extern DECLSPEC SDL_bool SDLCALL SDL_HasEvent(Uint32 type);
- *
- * \sa SDL_HasEvents
- */
--extern DECLSPEC SDL_bool SDLCALL SDL_HasEvents(Uint32 minType, Uint32 maxType);
-+extern DECLSPEC SDL_bool SDLCALL SDL_HasEvents(SDL_EventType minType, SDL_EventType maxType);
-
- /**
- * Clear events of a specific type from the event queue.
-@@ -930,7 +930,7 @@ extern DECLSPEC SDL_bool SDLCALL SDL_HasEvents(Uint32 minType, Uint32 maxType);
- *
- * \sa SDL_FlushEvents
- */
--extern DECLSPEC void SDLCALL SDL_FlushEvent(Uint32 type);
-+extern DECLSPEC void SDLCALL SDL_FlushEvent(SDL_EventType type);
-
- /**
- * Clear events of a range of types from the event queue.
-@@ -955,7 +955,7 @@ extern DECLSPEC void SDLCALL SDL_FlushEvent(Uint32 type);
- *
- * \sa SDL_FlushEvent
- */
--extern DECLSPEC void SDLCALL SDL_FlushEvents(Uint32 minType, Uint32 maxType);
-+extern DECLSPEC void SDLCALL SDL_FlushEvents(SDL_EventType minType, SDL_EventType maxType);
-
- /**
- * Poll for currently pending events.
-@@ -1234,7 +1234,7 @@ extern DECLSPEC void SDLCALL SDL_FilterEvents(SDL_EventFilter filter, void *user
- *
- * \sa SDL_IsEventEnabled
- */
--extern DECLSPEC void SDLCALL SDL_SetEventEnabled(Uint32 type, SDL_bool enabled);
-+extern DECLSPEC void SDLCALL SDL_SetEventEnabled(SDL_EventType type, SDL_bool enabled);
-
- /**
- * Query the state of processing events by type.
-@@ -1246,7 +1246,7 @@ extern DECLSPEC void SDLCALL SDL_SetEventEnabled(Uint32 type, SDL_bool enabled);
- *
- * \sa SDL_SetEventEnabled
- */
--extern DECLSPEC SDL_bool SDLCALL SDL_EventEnabled(Uint32 type);
-+extern DECLSPEC SDL_bool SDLCALL SDL_EventEnabled(SDL_EventType type);
-
- /**
- * Allocate a set of user-defined events, and return the beginning event
-diff --git a/include/SDL3/SDL_init.h b/include/SDL3/SDL_init.h
-index d1b925270..30cc4a8b7 100644
---- a/include/SDL3/SDL_init.h
-+++ b/include/SDL3/SDL_init.h
-@@ -110,7 +110,7 @@ typedef enum
- * \sa SDL_SetMainReady
- * \sa SDL_WasInit
- */
--extern DECLSPEC int SDLCALL SDL_Init(Uint32 flags);
-+extern DECLSPEC int SDLCALL SDL_Init(SDL_InitFlags flags);
-
- /**
- * Compatibility function to initialize the SDL library.
-@@ -127,7 +127,7 @@ extern DECLSPEC int SDLCALL SDL_Init(Uint32 flags);
- * \sa SDL_Quit
- * \sa SDL_QuitSubSystem
- */
--extern DECLSPEC int SDLCALL SDL_InitSubSystem(Uint32 flags);
-+extern DECLSPEC int SDLCALL SDL_InitSubSystem(SDL_InitFlags flags);
-
- /**
- * Shut down specific SDL subsystems.
-@@ -142,7 +142,7 @@ extern DECLSPEC int SDLCALL SDL_InitSubSystem(Uint32 flags);
- * \sa SDL_InitSubSystem
- * \sa SDL_Quit
- */
--extern DECLSPEC void SDLCALL SDL_QuitSubSystem(Uint32 flags);
-+extern DECLSPEC void SDLCALL SDL_QuitSubSystem(SDL_InitFlags flags);
-
- /**
- * Get a mask of the specified subsystems which are currently initialized.
-@@ -156,7 +156,7 @@ extern DECLSPEC void SDLCALL SDL_QuitSubSystem(Uint32 flags);
- * \sa SDL_Init
- * \sa SDL_InitSubSystem
- */
--extern DECLSPEC Uint32 SDLCALL SDL_WasInit(Uint32 flags);
-+extern DECLSPEC SDL_InitFlags SDLCALL SDL_WasInit(SDL_InitFlags flags);
-
- /**
- * Clean up all initialized subsystems.
diff --git a/include/SDL3/SDL_log.h b/include/SDL3/SDL_log.h
-index 99d2f2c36..eef01cac7 100644
+index 3ded311ff..42760135f 100644
--- a/include/SDL3/SDL_log.h
+++ b/include/SDL3/SDL_log.h
-@@ -135,7 +135,7 @@ extern DECLSPEC void SDLCALL SDL_LogSetAllPriority(SDL_LogPriority priority);
- * \sa SDL_LogResetPriorities
- * \sa SDL_LogSetAllPriority
- */
--extern DECLSPEC void SDLCALL SDL_LogSetPriority(int category,
-+extern DECLSPEC void SDLCALL SDL_LogSetPriority(SDL_LogCategory category,
- SDL_LogPriority priority);
-
- /**
-@@ -148,7 +148,7 @@ extern DECLSPEC void SDLCALL SDL_LogSetPriority(int category,
+@@ -372,7 +372,7 @@ extern DECLSPEC void SDLCALL SDL_LogMessageV(int category,
*
- * \sa SDL_LogSetPriority
- */
--extern DECLSPEC SDL_LogPriority SDLCALL SDL_LogGetPriority(int category);
-+extern DECLSPEC SDL_LogPriority SDLCALL SDL_LogGetPriority(SDL_LogCategory category);
-
- /**
- * Reset all priorities to default.
-@@ -201,7 +201,7 @@ extern DECLSPEC void SDLCALL SDL_Log(SDL_PRINTF_FORMAT_STRING const char *fmt, .
- * \sa SDL_LogMessageV
- * \sa SDL_LogWarn
- */
--extern DECLSPEC void SDLCALL SDL_LogVerbose(int category, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(2);
-+extern DECLSPEC void SDLCALL SDL_LogVerbose(SDL_LogCategory category, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(2);
-
- /**
- * Log a message with SDL_LOG_PRIORITY_DEBUG.
-@@ -222,7 +222,7 @@ extern DECLSPEC void SDLCALL SDL_LogVerbose(int category, SDL_PRINTF_FORMAT_STRI
- * \sa SDL_LogVerbose
- * \sa SDL_LogWarn
- */
--extern DECLSPEC void SDLCALL SDL_LogDebug(int category, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(2);
-+extern DECLSPEC void SDLCALL SDL_LogDebug(SDL_LogCategory category, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(2);
-
- /**
- * Log a message with SDL_LOG_PRIORITY_INFO.
-@@ -243,7 +243,7 @@ extern DECLSPEC void SDLCALL SDL_LogDebug(int category, SDL_PRINTF_FORMAT_STRING
- * \sa SDL_LogVerbose
- * \sa SDL_LogWarn
- */
--extern DECLSPEC void SDLCALL SDL_LogInfo(int category, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(2);
-+extern DECLSPEC void SDLCALL SDL_LogInfo(SDL_LogCategory category, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(2);
-
- /**
- * Log a message with SDL_LOG_PRIORITY_WARN.
-@@ -264,7 +264,7 @@ extern DECLSPEC void SDLCALL SDL_LogInfo(int category, SDL_PRINTF_FORMAT_STRING
- * \sa SDL_LogMessageV
- * \sa SDL_LogVerbose
- */
--extern DECLSPEC void SDLCALL SDL_LogWarn(int category, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(2);
-+extern DECLSPEC void SDLCALL SDL_LogWarn(SDL_LogCategory category, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(2);
-
- /**
- * Log a message with SDL_LOG_PRIORITY_ERROR.
-@@ -285,7 +285,7 @@ extern DECLSPEC void SDLCALL SDL_LogWarn(int category, SDL_PRINTF_FORMAT_STRING
- * \sa SDL_LogVerbose
- * \sa SDL_LogWarn
- */
--extern DECLSPEC void SDLCALL SDL_LogError(int category, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(2);
-+extern DECLSPEC void SDLCALL SDL_LogError(SDL_LogCategory category, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(2);
-
- /**
- * Log a message with SDL_LOG_PRIORITY_CRITICAL.
-@@ -306,7 +306,7 @@ extern DECLSPEC void SDLCALL SDL_LogError(int category, SDL_PRINTF_FORMAT_STRING
- * \sa SDL_LogVerbose
- * \sa SDL_LogWarn
- */
--extern DECLSPEC void SDLCALL SDL_LogCritical(int category, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(2);
-+extern DECLSPEC void SDLCALL SDL_LogCritical(SDL_LogCategory category, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(2);
-
- /**
- * Log a message with the specified category and priority.
-@@ -328,7 +328,7 @@ extern DECLSPEC void SDLCALL SDL_LogCritical(int category, SDL_PRINTF_FORMAT_STR
- * \sa SDL_LogVerbose
- * \sa SDL_LogWarn
- */
--extern DECLSPEC void SDLCALL SDL_LogMessage(int category,
-+extern DECLSPEC void SDLCALL SDL_LogMessage(SDL_LogCategory category,
- SDL_LogPriority priority,
- SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(3);
-
-@@ -351,7 +351,7 @@ extern DECLSPEC void SDLCALL SDL_LogMessage(int category,
- * \sa SDL_LogVerbose
- * \sa SDL_LogWarn
- */
--extern DECLSPEC void SDLCALL SDL_LogMessageV(int category,
-+extern DECLSPEC void SDLCALL SDL_LogMessageV(SDL_LogCategory category,
- SDL_LogPriority priority,
- SDL_PRINTF_FORMAT_STRING const char *fmt, va_list ap) SDL_PRINTF_VARARG_FUNCV(3);
-
-@@ -365,7 +365,7 @@ extern DECLSPEC void SDLCALL SDL_LogMessageV(int category,
- * \param priority the priority of the message
- * \param message the message being output
+ * \since This datatype is available since SDL 3.0.0.
*/
-typedef void (SDLCALL *SDL_LogOutputFunction)(void *userdata, int category, SDL_LogPriority priority, const char *message);
+typedef void (SDLCALL *SDL_LogOutputFunction)(void *userdata, SDL_LogCategory category, SDL_LogPriority priority, const char *message);
/**
* Get the current log output function.
-diff --git a/include/SDL3/SDL_messagebox.h b/include/SDL3/SDL_messagebox.h
-index 3d6855275..2b540a3fa 100644
---- a/include/SDL3/SDL_messagebox.h
-+++ b/include/SDL3/SDL_messagebox.h
-@@ -58,7 +58,7 @@ typedef enum
- */
- typedef struct
- {
-- Uint32 flags; /**< ::SDL_MessageBoxButtonFlags */
-+ SDL_MessageBoxButtonFlags flags; /**< ::SDL_MessageBoxButtonFlags */
- int buttonID; /**< User defined button id (value returned via SDL_ShowMessageBox) */
- const char *text; /**< The UTF-8 button text */
- } SDL_MessageBoxButtonData;
-@@ -94,7 +94,7 @@ typedef struct
- */
- typedef struct
- {
-- Uint32 flags; /**< ::SDL_MessageBoxFlags */
-+ SDL_MessageBoxFlags flags; /**< ::SDL_MessageBoxFlags */
- SDL_Window *window; /**< Parent window, can be NULL */
- const char *title; /**< UTF-8 title */
- const char *message; /**< UTF-8 message text */
-@@ -180,7 +180,7 @@ extern DECLSPEC int SDLCALL SDL_ShowMessageBox(const SDL_MessageBoxData *message
- *
- * \sa SDL_ShowMessageBox
- */
--extern DECLSPEC int SDLCALL SDL_ShowSimpleMessageBox(Uint32 flags, const char *title, const char *message, SDL_Window *window);
-+extern DECLSPEC int SDLCALL SDL_ShowSimpleMessageBox(SDL_MessageBoxFlags flags, const char *title, const char *message, SDL_Window *window);
-
-
- /* Ends C function definitions when using C++ */
-diff --git a/include/SDL3/SDL_render.h b/include/SDL3/SDL_render.h
-index 5024931e7..f1f61be21 100644
---- a/include/SDL3/SDL_render.h
-+++ b/include/SDL3/SDL_render.h
-@@ -80,7 +80,7 @@ typedef enum
- typedef struct SDL_RendererInfo
- {
- const char *name; /**< The name of the renderer */
-- Uint32 flags; /**< Supported ::SDL_RendererFlags */
-+ SDL_RendererFlags flags; /**< Supported ::SDL_RendererFlags */
- int num_texture_formats; /**< The number of available texture formats */
- SDL_PixelFormatEnum texture_formats[16]; /**< The available texture formats */
- int max_texture_width; /**< The maximum texture width */
-@@ -225,7 +225,7 @@ extern DECLSPEC int SDLCALL SDL_CreateWindowAndRenderer(int width, int height, S
- * \sa SDL_GetRenderDriver
- * \sa SDL_GetRendererInfo
- */
--extern DECLSPEC SDL_Renderer * SDLCALL SDL_CreateRenderer(SDL_Window *window, const char *name, Uint32 flags);
-+extern DECLSPEC SDL_Renderer * SDLCALL SDL_CreateRenderer(SDL_Window *window, const char *name, SDL_RendererFlags flags);
-
- /**
- * Create a 2D rendering context for a window, with the specified properties.
diff --git a/include/SDL3/SDL_stdinc.h b/include/SDL3/SDL_stdinc.h
-index e6a387c31..8aafb96c8 100644
+index 00a54a139..847b50ecb 100644
--- a/include/SDL3/SDL_stdinc.h
+++ b/include/SDL3/SDL_stdinc.h
-@@ -132,8 +132,8 @@ char *alloca();
- /**
- * A boolean type.
+@@ -146,7 +146,7 @@ void *alloca(size_t);
+ *
+ * \sa SDL_bool
*/
-#define SDL_FALSE 0
--#define SDL_TRUE 1
+#define SDL_FALSE (SDL_bool)0
-+#define SDL_TRUE (SDL_bool)1
- typedef int SDL_bool;
/**
-@@ -192,8 +192,8 @@ typedef uint64_t Uint64;
- * They can be converted between POSIX time_t values with SDL_NS_TO_SECONDS() and SDL_SECONDS_TO_NS(),
- * and between Windows FILETIME values with SDL_TimeToWindows() and SDL_TimeFromWindows().
+ * A boolean true.
+@@ -155,7 +155,7 @@ void *alloca(size_t);
+ *
+ * \sa SDL_bool
*/
--#define SDL_MAX_TIME SDL_MAX_SINT64
--#define SDL_MIN_TIME SDL_MIN_SINT64
-+#define SDL_MAX_TIME (SDL_Time)SDL_MAX_SINT64
-+#define SDL_MIN_TIME (SDL_Time)SDL_MIN_SINT64
- typedef Sint64 SDL_Time;
+-#define SDL_TRUE 1
++#define SDL_TRUE (SDL_bool)1
- /* @} *//* Basic data types */
-
\ No newline at end of file
+ /**
+ * A boolean type: true or false.
+
+base-commit: 0429f5d6a36fc35b551bcc2acd4a40c2db6dab82
+--
+2.40.0.windows.1
diff --git a/SDL3-CS/SDL3/ClangSharp/SDL_events.g.cs b/SDL3-CS/SDL3/ClangSharp/SDL_events.g.cs
index 5cf20ff..006f7e8 100644
--- a/SDL3-CS/SDL3/ClangSharp/SDL_events.g.cs
+++ b/SDL3-CS/SDL3/ClangSharp/SDL_events.g.cs
@@ -142,7 +142,8 @@ namespace SDL
public partial struct SDL_CommonEvent
{
- public SDL_EventType type;
+ [NativeTypeName("Uint32")]
+ public uint type;
[NativeTypeName("Uint32")]
public uint reserved;
@@ -882,7 +883,8 @@ namespace SDL
public partial struct SDL_UserEvent
{
- public SDL_EventType type;
+ [NativeTypeName("Uint32")]
+ public uint type;
[NativeTypeName("Uint32")]
public uint reserved;
@@ -906,7 +908,8 @@ namespace SDL
public partial struct SDL_Event
{
[FieldOffset(0)]
- public SDL_EventType type;
+ [NativeTypeName("Uint32")]
+ public uint type;
[FieldOffset(0)]
public SDL_CommonEvent common;
@@ -1031,19 +1034,19 @@ namespace SDL
public static extern void SDL_PumpEvents();
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- public static extern int SDL_PeepEvents(SDL_Event* events, int numevents, SDL_eventaction action, SDL_EventType minType, SDL_EventType maxType);
+ public static extern int SDL_PeepEvents(SDL_Event* events, int numevents, SDL_eventaction action, [NativeTypeName("Uint32")] uint minType, [NativeTypeName("Uint32")] uint maxType);
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- public static extern SDL_bool SDL_HasEvent(SDL_EventType type);
+ public static extern SDL_bool SDL_HasEvent([NativeTypeName("Uint32")] uint type);
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- public static extern SDL_bool SDL_HasEvents(SDL_EventType minType, SDL_EventType maxType);
+ public static extern SDL_bool SDL_HasEvents([NativeTypeName("Uint32")] uint minType, [NativeTypeName("Uint32")] uint maxType);
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- public static extern void SDL_FlushEvent(SDL_EventType type);
+ public static extern void SDL_FlushEvent([NativeTypeName("Uint32")] uint type);
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- public static extern void SDL_FlushEvents(SDL_EventType minType, SDL_EventType maxType);
+ public static extern void SDL_FlushEvents([NativeTypeName("Uint32")] uint minType, [NativeTypeName("Uint32")] uint maxType);
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern SDL_bool SDL_PollEvent(SDL_Event* @event);
@@ -1073,10 +1076,10 @@ namespace SDL
public static extern void SDL_FilterEvents([NativeTypeName("SDL_EventFilter")] delegate* unmanaged[Cdecl] filter, [NativeTypeName("void*")] IntPtr userdata);
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- public static extern void SDL_SetEventEnabled(SDL_EventType type, SDL_bool enabled);
+ public static extern void SDL_SetEventEnabled([NativeTypeName("Uint32")] uint type, SDL_bool enabled);
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- public static extern SDL_bool SDL_EventEnabled(SDL_EventType type);
+ public static extern SDL_bool SDL_EventEnabled([NativeTypeName("Uint32")] uint type);
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("Uint32")]
diff --git a/SDL3-CS/SDL3/ClangSharp/SDL_gamepad.g.cs b/SDL3-CS/SDL3/ClangSharp/SDL_gamepad.g.cs
index bbc7bf8..23f256a 100644
--- a/SDL3-CS/SDL3/ClangSharp/SDL_gamepad.g.cs
+++ b/SDL3-CS/SDL3/ClangSharp/SDL_gamepad.g.cs
@@ -117,12 +117,12 @@ namespace SDL
{
public SDL_GamepadBindingType input_type;
- [NativeTypeName("__AnonymousRecord_SDL_gamepad_L184_C5")]
+ [NativeTypeName("__AnonymousRecord_SDL_gamepad_L196_C5")]
public _input_e__Union input;
public SDL_GamepadBindingType output_type;
- [NativeTypeName("__AnonymousRecord_SDL_gamepad_L204_C5")]
+ [NativeTypeName("__AnonymousRecord_SDL_gamepad_L216_C5")]
public _output_e__Union output;
[StructLayout(LayoutKind.Explicit)]
@@ -132,11 +132,11 @@ namespace SDL
public int button;
[FieldOffset(0)]
- [NativeTypeName("__AnonymousRecord_SDL_gamepad_L188_C9")]
+ [NativeTypeName("__AnonymousRecord_SDL_gamepad_L200_C9")]
public _axis_e__Struct axis;
[FieldOffset(0)]
- [NativeTypeName("__AnonymousRecord_SDL_gamepad_L195_C9")]
+ [NativeTypeName("__AnonymousRecord_SDL_gamepad_L207_C9")]
public _hat_e__Struct hat;
public partial struct _axis_e__Struct
@@ -163,7 +163,7 @@ namespace SDL
public SDL_GamepadButton button;
[FieldOffset(0)]
- [NativeTypeName("__AnonymousRecord_SDL_gamepad_L208_C9")]
+ [NativeTypeName("__AnonymousRecord_SDL_gamepad_L220_C9")]
public _axis_e__Struct axis;
public partial struct _axis_e__Struct
diff --git a/SDL3-CS/SDL3/ClangSharp/SDL_init.g.cs b/SDL3-CS/SDL3/ClangSharp/SDL_init.g.cs
index 844476a..0e83d12 100644
--- a/SDL3-CS/SDL3/ClangSharp/SDL_init.g.cs
+++ b/SDL3-CS/SDL3/ClangSharp/SDL_init.g.cs
@@ -45,16 +45,17 @@ namespace SDL
public static partial class SDL3
{
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- public static extern int SDL_Init(SDL_InitFlags flags);
+ public static extern int SDL_Init([NativeTypeName("Uint32")] uint flags);
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- public static extern int SDL_InitSubSystem(SDL_InitFlags flags);
+ public static extern int SDL_InitSubSystem([NativeTypeName("Uint32")] uint flags);
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- public static extern void SDL_QuitSubSystem(SDL_InitFlags flags);
+ public static extern void SDL_QuitSubSystem([NativeTypeName("Uint32")] uint flags);
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- public static extern SDL_InitFlags SDL_WasInit(SDL_InitFlags flags);
+ [return: NativeTypeName("Uint32")]
+ public static extern uint SDL_WasInit([NativeTypeName("Uint32")] uint flags);
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern void SDL_Quit();
diff --git a/SDL3-CS/SDL3/ClangSharp/SDL_joystick.g.cs b/SDL3-CS/SDL3/ClangSharp/SDL_joystick.g.cs
index 3dc1a27..a543936 100644
--- a/SDL3-CS/SDL3/ClangSharp/SDL_joystick.g.cs
+++ b/SDL3-CS/SDL3/ClangSharp/SDL_joystick.g.cs
@@ -56,9 +56,6 @@ namespace SDL
public unsafe partial struct SDL_VirtualJoystickDesc
{
- [NativeTypeName("Uint16")]
- public ushort version;
-
[NativeTypeName("Uint16")]
public ushort type;
@@ -314,9 +311,6 @@ namespace SDL
[NativeTypeName("#define SDL_IPHONE_MAX_GFORCE 5.0")]
public const double SDL_IPHONE_MAX_GFORCE = 5.0;
- [NativeTypeName("#define SDL_VIRTUAL_JOYSTICK_DESC_VERSION 1")]
- public const int SDL_VIRTUAL_JOYSTICK_DESC_VERSION = 1;
-
[NativeTypeName("#define SDL_PROP_JOYSTICK_CAP_MONO_LED_BOOLEAN \"SDL.joystick.cap.mono_led\"")]
public static ReadOnlySpan SDL_PROP_JOYSTICK_CAP_MONO_LED_BOOLEAN => "SDL.joystick.cap.mono_led"u8;
diff --git a/SDL3-CS/SDL3/ClangSharp/SDL_log.g.cs b/SDL3-CS/SDL3/ClangSharp/SDL_log.g.cs
index 57a9929..c28a908 100644
--- a/SDL3-CS/SDL3/ClangSharp/SDL_log.g.cs
+++ b/SDL3-CS/SDL3/ClangSharp/SDL_log.g.cs
@@ -69,10 +69,10 @@ namespace SDL
public static extern void SDL_LogSetAllPriority(SDL_LogPriority priority);
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- public static extern void SDL_LogSetPriority(SDL_LogCategory category, SDL_LogPriority priority);
+ public static extern void SDL_LogSetPriority(int category, SDL_LogPriority priority);
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- public static extern SDL_LogPriority SDL_LogGetPriority(SDL_LogCategory category);
+ public static extern SDL_LogPriority SDL_LogGetPriority(int category);
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern void SDL_LogResetPriorities();
@@ -81,28 +81,28 @@ namespace SDL
public static extern void SDL_Log([NativeTypeName("const char *")] byte* fmt, __arglist);
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- public static extern void SDL_LogVerbose(SDL_LogCategory category, [NativeTypeName("const char *")] byte* fmt, __arglist);
+ public static extern void SDL_LogVerbose(int category, [NativeTypeName("const char *")] byte* fmt, __arglist);
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- public static extern void SDL_LogDebug(SDL_LogCategory category, [NativeTypeName("const char *")] byte* fmt, __arglist);
+ public static extern void SDL_LogDebug(int category, [NativeTypeName("const char *")] byte* fmt, __arglist);
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- public static extern void SDL_LogInfo(SDL_LogCategory category, [NativeTypeName("const char *")] byte* fmt, __arglist);
+ public static extern void SDL_LogInfo(int category, [NativeTypeName("const char *")] byte* fmt, __arglist);
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- public static extern void SDL_LogWarn(SDL_LogCategory category, [NativeTypeName("const char *")] byte* fmt, __arglist);
+ public static extern void SDL_LogWarn(int category, [NativeTypeName("const char *")] byte* fmt, __arglist);
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- public static extern void SDL_LogError(SDL_LogCategory category, [NativeTypeName("const char *")] byte* fmt, __arglist);
+ public static extern void SDL_LogError(int category, [NativeTypeName("const char *")] byte* fmt, __arglist);
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- public static extern void SDL_LogCritical(SDL_LogCategory category, [NativeTypeName("const char *")] byte* fmt, __arglist);
+ public static extern void SDL_LogCritical(int category, [NativeTypeName("const char *")] byte* fmt, __arglist);
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- public static extern void SDL_LogMessage(SDL_LogCategory category, SDL_LogPriority priority, [NativeTypeName("const char *")] byte* fmt, __arglist);
+ public static extern void SDL_LogMessage(int category, SDL_LogPriority priority, [NativeTypeName("const char *")] byte* fmt, __arglist);
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- public static extern void SDL_LogMessageV(SDL_LogCategory category, SDL_LogPriority priority, [NativeTypeName("const char *")] byte* fmt, [NativeTypeName("va_list")] byte* ap);
+ public static extern void SDL_LogMessageV(int category, SDL_LogPriority priority, [NativeTypeName("const char *")] byte* fmt, [NativeTypeName("va_list")] byte* ap);
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern void SDL_GetLogOutputFunction([NativeTypeName("SDL_LogOutputFunction *")] delegate* unmanaged[Cdecl]* callback, [NativeTypeName("void **")] IntPtr* userdata);
diff --git a/SDL3-CS/SDL3/ClangSharp/SDL_messagebox.g.cs b/SDL3-CS/SDL3/ClangSharp/SDL_messagebox.g.cs
index dee9332..7e5ef84 100644
--- a/SDL3-CS/SDL3/ClangSharp/SDL_messagebox.g.cs
+++ b/SDL3-CS/SDL3/ClangSharp/SDL_messagebox.g.cs
@@ -48,7 +48,8 @@ namespace SDL
public unsafe partial struct SDL_MessageBoxButtonData
{
- public SDL_MessageBoxButtonFlags flags;
+ [NativeTypeName("Uint32")]
+ public uint flags;
public int buttonID;
@@ -92,7 +93,8 @@ namespace SDL
public unsafe partial struct SDL_MessageBoxData
{
- public SDL_MessageBoxFlags flags;
+ [NativeTypeName("Uint32")]
+ public uint flags;
public SDL_Window* window;
@@ -117,6 +119,6 @@ namespace SDL
public static extern int SDL_ShowMessageBox([NativeTypeName("const SDL_MessageBoxData *")] SDL_MessageBoxData* messageboxdata, int* buttonid);
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- public static extern int SDL_ShowSimpleMessageBox(SDL_MessageBoxFlags flags, [NativeTypeName("const char *")] byte* title, [NativeTypeName("const char *")] byte* message, SDL_Window* window);
+ public static extern int SDL_ShowSimpleMessageBox([NativeTypeName("Uint32")] uint flags, [NativeTypeName("const char *")] byte* title, [NativeTypeName("const char *")] byte* message, SDL_Window* window);
}
}
diff --git a/SDL3-CS/SDL3/ClangSharp/SDL_rect.g.cs b/SDL3-CS/SDL3/ClangSharp/SDL_rect.g.cs
index 4fb3d30..e8dbee0 100644
--- a/SDL3-CS/SDL3/ClangSharp/SDL_rect.g.cs
+++ b/SDL3-CS/SDL3/ClangSharp/SDL_rect.g.cs
@@ -67,7 +67,7 @@ namespace SDL
{
public static SDL_bool SDL_PointInRect([NativeTypeName("const SDL_Point *")] SDL_Point* p, [NativeTypeName("const SDL_Rect *")] SDL_Rect* r)
{
- return ((p->x >= r->x) && (p->x < (r->x + r->w)) && (p->y >= r->y) && (p->y < (r->y + r->h))) ? (SDL_bool)(1) : (SDL_bool)(0);
+ return ((p) != null && (r) != null && (p->x >= r->x) && (p->x < (r->x + r->w)) && (p->y >= r->y) && (p->y < (r->y + r->h))) ? (SDL_bool)(1) : (SDL_bool)(0);
}
public static SDL_bool SDL_RectEmpty([NativeTypeName("const SDL_Rect *")] SDL_Rect* r)
@@ -97,7 +97,7 @@ namespace SDL
public static SDL_bool SDL_PointInRectFloat([NativeTypeName("const SDL_FPoint *")] SDL_FPoint* p, [NativeTypeName("const SDL_FRect *")] SDL_FRect* r)
{
- return ((p->x >= r->x) && (p->x < (r->x + r->w)) && (p->y >= r->y) && (p->y < (r->y + r->h))) ? (SDL_bool)(1) : (SDL_bool)(0);
+ return ((p) != null && (r) != null && (p->x >= r->x) && (p->x < (r->x + r->w)) && (p->y >= r->y) && (p->y < (r->y + r->h))) ? (SDL_bool)(1) : (SDL_bool)(0);
}
public static SDL_bool SDL_RectEmptyFloat([NativeTypeName("const SDL_FRect *")] SDL_FRect* r)
diff --git a/SDL3-CS/SDL3/ClangSharp/SDL_render.g.cs b/SDL3-CS/SDL3/ClangSharp/SDL_render.g.cs
index 12c830d..409edd6 100644
--- a/SDL3-CS/SDL3/ClangSharp/SDL_render.g.cs
+++ b/SDL3-CS/SDL3/ClangSharp/SDL_render.g.cs
@@ -40,7 +40,8 @@ namespace SDL
[NativeTypeName("const char *")]
public byte* name;
- public SDL_RendererFlags flags;
+ [NativeTypeName("Uint32")]
+ public uint flags;
public int num_texture_formats;
@@ -104,7 +105,7 @@ namespace SDL
public static extern int SDL_CreateWindowAndRenderer(int width, int height, SDL_WindowFlags window_flags, SDL_Window** window, SDL_Renderer** renderer);
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- public static extern SDL_Renderer* SDL_CreateRenderer(SDL_Window* window, [NativeTypeName("const char *")] byte* name, SDL_RendererFlags flags);
+ public static extern SDL_Renderer* SDL_CreateRenderer(SDL_Window* window, [NativeTypeName("const char *")] byte* name, [NativeTypeName("Uint32")] uint flags);
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern SDL_Renderer* SDL_CreateRendererWithProperties(SDL_PropertiesID props);
diff --git a/SDL3-CS/SDL3/ClangSharp/SDL_stdinc.g.cs b/SDL3-CS/SDL3/ClangSharp/SDL_stdinc.g.cs
index 2bd0ad8..0d7b1cc 100644
--- a/SDL3-CS/SDL3/ClangSharp/SDL_stdinc.g.cs
+++ b/SDL3-CS/SDL3/ClangSharp/SDL_stdinc.g.cs
@@ -595,11 +595,11 @@ namespace SDL
[NativeTypeName("#define SDL_MIN_UINT64 ((Uint64)(0x0000000000000000ull))")]
public const ulong SDL_MIN_UINT64 = ((ulong)(0x0000000000000000UL));
- [NativeTypeName("#define SDL_MAX_TIME (SDL_Time)SDL_MAX_SINT64")]
- public const SDL_Time SDL_MAX_TIME = (SDL_Time)((long)(0x7FFFFFFFFFFFFFFFL));
+ [NativeTypeName("#define SDL_MAX_TIME SDL_MAX_SINT64")]
+ public const long SDL_MAX_TIME = ((long)(0x7FFFFFFFFFFFFFFFL));
- [NativeTypeName("#define SDL_MIN_TIME (SDL_Time)SDL_MIN_SINT64")]
- public const SDL_Time SDL_MIN_TIME = (SDL_Time)((long)(~0x7FFFFFFFFFFFFFFFL));
+ [NativeTypeName("#define SDL_MIN_TIME SDL_MIN_SINT64")]
+ public const long SDL_MIN_TIME = ((long)(~0x7FFFFFFFFFFFFFFFL));
[NativeTypeName("#define SDL_FLT_EPSILON 1.1920928955078125e-07F")]
public const float SDL_FLT_EPSILON = 1.1920928955078125e-07F;
diff --git a/SDL3-CS/SDL3/ClangSharp/SDL_system.WinRT.g.cs b/SDL3-CS/SDL3/ClangSharp/SDL_system.WinRT.g.cs
index 3ceaa67..b275523 100644
--- a/SDL3-CS/SDL3/ClangSharp/SDL_system.WinRT.g.cs
+++ b/SDL3-CS/SDL3/ClangSharp/SDL_system.WinRT.g.cs
@@ -23,7 +23,6 @@
3. This notice may not be removed or altered from any source distribution.
*/
-using System;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
@@ -47,15 +46,10 @@ namespace SDL
public static unsafe partial class SDL3
{
- [DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- [return: NativeTypeName("const wchar_t *")]
- [SupportedOSPlatform("Windows")]
- public static extern IntPtr SDL_WinRTGetFSPathUNICODE(SDL_WinRT_Path pathType);
-
- [DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, EntryPoint = "SDL_WinRTGetFSPathUTF8", ExactSpelling = true)]
+ [DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, EntryPoint = "SDL_WinRTGetFSPath", ExactSpelling = true)]
[return: NativeTypeName("const char *")]
[SupportedOSPlatform("Windows")]
- public static extern byte* Unsafe_SDL_WinRTGetFSPathUTF8(SDL_WinRT_Path pathType);
+ public static extern byte* Unsafe_SDL_WinRTGetFSPath(SDL_WinRT_Path pathType);
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[SupportedOSPlatform("Windows")]
diff --git a/SDL3-CS/SDL3/ClangSharp/SDL_system.iOS.g.cs b/SDL3-CS/SDL3/ClangSharp/SDL_system.iOS.g.cs
index 441566c..c39bdac 100644
--- a/SDL3-CS/SDL3/ClangSharp/SDL_system.iOS.g.cs
+++ b/SDL3-CS/SDL3/ClangSharp/SDL_system.iOS.g.cs
@@ -33,11 +33,11 @@ namespace SDL
{
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[SupportedOSPlatform("iOS")]
- public static extern int SDL_iPhoneSetAnimationCallback(SDL_Window* window, int interval, [NativeTypeName("void (*)(void *)")] delegate* unmanaged[Cdecl] callback, [NativeTypeName("void*")] IntPtr callbackParam);
+ public static extern int SDL_iOSSetAnimationCallback(SDL_Window* window, int interval, [NativeTypeName("void (*)(void *)")] delegate* unmanaged[Cdecl] callback, [NativeTypeName("void*")] IntPtr callbackParam);
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[SupportedOSPlatform("iOS")]
- public static extern void SDL_iPhoneSetEventPump(SDL_bool enabled);
+ public static extern void SDL_iOSSetEventPump(SDL_bool enabled);
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[SupportedOSPlatform("iOS")]
diff --git a/SDL3-CS/SDL3/ClangSharp/SDL_time.g.cs b/SDL3-CS/SDL3/ClangSharp/SDL_time.g.cs
index 187c058..aaddc6e 100644
--- a/SDL3-CS/SDL3/ClangSharp/SDL_time.g.cs
+++ b/SDL3-CS/SDL3/ClangSharp/SDL_time.g.cs
@@ -49,14 +49,14 @@ namespace SDL
public int utc_offset;
}
- public enum SDL_DATE_FORMAT
+ public enum SDL_DateFormat
{
SDL_DATE_FORMAT_YYYYMMDD = 0,
SDL_DATE_FORMAT_DDMMYYYY = 1,
SDL_DATE_FORMAT_MMDDYYYY = 2,
}
- public enum SDL_TIME_FORMAT
+ public enum SDL_TimeFormat
{
SDL_TIME_FORMAT_24HR = 0,
SDL_TIME_FORMAT_12HR = 1,
diff --git a/SDL3-CS/SDL3/SDL_events.cs b/SDL3-CS/SDL3/SDL_events.cs
index fc8a7cd..fadb059 100644
--- a/SDL3-CS/SDL3/SDL_events.cs
+++ b/SDL3-CS/SDL3/SDL_events.cs
@@ -3,6 +3,21 @@
namespace SDL
{
+ public partial struct SDL_CommonEvent
+ {
+ public SDL_EventType Type => (SDL_EventType)type;
+ }
+
+ public partial struct SDL_UserEvent
+ {
+ public SDL_EventType Type => (SDL_EventType)type;
+ }
+
+ public partial struct SDL_Event
+ {
+ public SDL_EventType Type => (SDL_EventType)type;
+ }
+
public unsafe partial struct SDL_TextInputEvent
{
public string? GetText() => SDL3.PtrToStringUTF8(text);
@@ -34,4 +49,19 @@ namespace SDL
{
public SDL_GamepadButton Button => (SDL_GamepadButton)button;
}
+
+ public static partial class SDL3
+ {
+ public static unsafe int SDL_PeepEvents(SDL_Event[] events, SDL_eventaction action, SDL_EventType minType, SDL_EventType maxType)
+ {
+ fixed (SDL_Event* eventsPtr = events)
+ return SDL_PeepEvents(eventsPtr, events.Length, action, (uint)minType, (uint)maxType);
+ }
+
+ public static SDL_bool SDL_HasEvent(SDL_EventType type) => SDL_HasEvent((uint)type);
+ public static void SDL_FlushEvent(SDL_EventType type) => SDL_FlushEvent((uint)type);
+ public static void SDL_FlushEvents(SDL_EventType minType, SDL_EventType maxType) => SDL_FlushEvents((uint)minType, (uint)maxType);
+ public static void SDL_SetEventEnabled(SDL_EventType type, SDL_bool enabled) => SDL_SetEventEnabled((uint)type, enabled);
+ public static SDL_bool SDL_EventEnabled(SDL_EventType type) => SDL_EventEnabled((uint)type);
+ }
}
diff --git a/SDL3-CS/SDL3/SDL_init.cs b/SDL3-CS/SDL3/SDL_init.cs
new file mode 100644
index 0000000..6ac1e32
--- /dev/null
+++ b/SDL3-CS/SDL3/SDL_init.cs
@@ -0,0 +1,16 @@
+// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence.
+// See the LICENCE file in the repository root for full licence text.
+
+namespace SDL
+{
+ public static partial class SDL3
+ {
+ public static int SDL_Init(SDL_InitFlags flags) => SDL_Init((uint)flags);
+
+ public static int SDL_InitSubSystem(SDL_InitFlags flags) => SDL_InitSubSystem((uint)flags);
+
+ public static void SDL_QuitSubSystem(SDL_InitFlags flags) => SDL_QuitSubSystem((uint)flags);
+
+ public static SDL_InitFlags SDL_WasInit(SDL_InitFlags flags) => (SDL_InitFlags)SDL_WasInit((uint)flags);
+ }
+}
diff --git a/SDL3-CS/SDL3/SDL_log.cs b/SDL3-CS/SDL3/SDL_log.cs
new file mode 100644
index 0000000..dd19dc4
--- /dev/null
+++ b/SDL3-CS/SDL3/SDL_log.cs
@@ -0,0 +1,13 @@
+// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence.
+// See the LICENCE file in the repository root for full licence text.
+
+using System.Runtime.CompilerServices;
+
+namespace SDL
+{
+ public static partial class SDL3
+ {
+ public static void SDL_LogSetPriority(SDL_LogCategory category, SDL_LogPriority priority) => SDL_LogSetPriority((int)category, priority);
+ public static SDL_LogPriority SDL_LogGetPriority(SDL_LogCategory category) => SDL_LogGetPriority((int)category);
+ }
+}
diff --git a/SDL3-CS/SDL3/SDL_messagebox.cs b/SDL3-CS/SDL3/SDL_messagebox.cs
new file mode 100644
index 0000000..764cbbc
--- /dev/null
+++ b/SDL3-CS/SDL3/SDL_messagebox.cs
@@ -0,0 +1,24 @@
+// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence.
+// See the LICENCE file in the repository root for full licence text.
+
+using System;
+
+namespace SDL
+{
+ public partial struct SDL_MessageBoxButtonData
+ {
+ public SDL_MessageBoxButtonFlags Flags => (SDL_MessageBoxButtonFlags)flags;
+ }
+
+ public partial struct SDL_MessageBoxData
+ {
+ public SDL_MessageBoxFlags Flags => (SDL_MessageBoxFlags)flags;
+ }
+
+ public static partial class SDL3
+ {
+ // public static int SDL_ShowSimpleMessageBox([NativeTypeName("Uint32")] uint flags, [NativeTypeName("const char *")] byte* title, [NativeTypeName("const char *")] byte* message, SDL_Window* window);
+ public static unsafe int SDL_ShowSimpleMessageBox(SDL_MessageBoxFlags flags, ReadOnlySpan title, ReadOnlySpan message, SDL_Window* window)
+ => SDL_ShowSimpleMessageBox((uint)flags, title, message, window);
+ }
+}
diff --git a/SDL3-CS/SDL3/SDL_render.cs b/SDL3-CS/SDL3/SDL_render.cs
new file mode 100644
index 0000000..896953b
--- /dev/null
+++ b/SDL3-CS/SDL3/SDL_render.cs
@@ -0,0 +1,18 @@
+// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence.
+// See the LICENCE file in the repository root for full licence text.
+
+using System;
+
+namespace SDL
+{
+ public partial struct SDL_RendererInfo
+ {
+ public SDL_RendererFlags Flags => (SDL_RendererFlags)flags;
+ }
+
+ public static partial class SDL3
+ {
+ public static unsafe SDL_Renderer* SDL_CreateRenderer(SDL_Window* window, ReadOnlySpan name, SDL_RendererFlags flags)
+ => SDL_CreateRenderer(window, name, (uint)flags);
+ }
+}
diff --git a/SDL3-CS/SDL3/SDL_system.iOS.cs b/SDL3-CS/SDL3/SDL_system.iOS.cs
deleted file mode 100644
index c40537b..0000000
--- a/SDL3-CS/SDL3/SDL_system.iOS.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence.
-// See the LICENCE file in the repository root for full licence text.
-
-using System;
-using System.Runtime.Versioning;
-
-namespace SDL
-{
- public static partial class SDL3
- {
- [SupportedOSPlatform("iOS")]
- [Macro]
- public static unsafe int SDL_iOSSetAnimationCallback(SDL_Window* window, int interval, delegate* unmanaged[Cdecl] callback, IntPtr callbackParam)
- => SDL_iPhoneSetAnimationCallback(window, interval, callback, callbackParam);
-
- [SupportedOSPlatform("iOS")]
- [Macro]
- public static void SDL_iOSSetEventPump(SDL_bool enabled)
- => SDL_iPhoneSetEventPump(enabled);
- }
-}
diff --git a/SDL3-CS/generate_bindings.py b/SDL3-CS/generate_bindings.py
index b405427..4186ddb 100644
--- a/SDL3-CS/generate_bindings.py
+++ b/SDL3-CS/generate_bindings.py
@@ -7,7 +7,7 @@ Generates C# bindings for SDL3 using ClangSharp.
Prerequisites:
- run `dotnet tool restore` (to install ClangSharpPInvokeGenerator)
- https://github.com/libsdl-org/SDL checked out alongside this repository
-- git apply `SDL-use-proper-types.patch` to SDL repo
+- git apply --3way `SDL-use-proper-types.patch` to SDL repo
This script should be run manually.
"""