Skip to content

Commit ee98235

Browse files
authored
Merge pull request #168 from Susko3/update-bindings
Update bindings and fix bindgen script
2 parents bfa2ad0 + 5ab6d58 commit ee98235

7 files changed

+56
-24
lines changed

SDL3-CS/SDL3/ClangSharp/SDL_events.g.cs

+4
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,10 @@ public enum SDL_EventType
139139
SDL_EVENT_CAMERA_DEVICE_DENIED,
140140
SDL_EVENT_RENDER_TARGETS_RESET = 0x2000,
141141
SDL_EVENT_RENDER_DEVICE_RESET,
142+
SDL_EVENT_PRIVATE0 = 0x4000,
143+
SDL_EVENT_PRIVATE1,
144+
SDL_EVENT_PRIVATE2,
145+
SDL_EVENT_PRIVATE3,
142146
SDL_EVENT_POLL_SENTINEL = 0x7F00,
143147
SDL_EVENT_USER = 0x8000,
144148
SDL_EVENT_LAST = 0xFFFF,

SDL3-CS/SDL3/ClangSharp/SDL_gpu.g.cs

+16-16
Original file line numberDiff line numberDiff line change
@@ -1470,32 +1470,32 @@ public static unsafe partial class SDL3
14701470
[NativeTypeName("#define SDL_PROP_GPU_CREATETEXTURE_D3D12_CLEAR_STENCIL_UINT8 \"SDL.gpu.createtexture.d3d12.clear.stencil\"")]
14711471
public static ReadOnlySpan<byte> SDL_PROP_GPU_CREATETEXTURE_D3D12_CLEAR_STENCIL_UINT8 => "SDL.gpu.createtexture.d3d12.clear.stencil"u8;
14721472

1473-
[NativeTypeName("#define SDL_PROP_GPU_DEVICE_CREATE_DEBUGMODE_BOOL \"SDL.gpu.device.create.debugmode\"")]
1474-
public static ReadOnlySpan<byte> SDL_PROP_GPU_DEVICE_CREATE_DEBUGMODE_BOOL => "SDL.gpu.device.create.debugmode"u8;
1473+
[NativeTypeName("#define SDL_PROP_GPU_DEVICE_CREATE_DEBUGMODE_BOOLEAN \"SDL.gpu.device.create.debugmode\"")]
1474+
public static ReadOnlySpan<byte> SDL_PROP_GPU_DEVICE_CREATE_DEBUGMODE_BOOLEAN => "SDL.gpu.device.create.debugmode"u8;
14751475

1476-
[NativeTypeName("#define SDL_PROP_GPU_DEVICE_CREATE_PREFERLOWPOWER_BOOL \"SDL.gpu.device.create.preferlowpower\"")]
1477-
public static ReadOnlySpan<byte> SDL_PROP_GPU_DEVICE_CREATE_PREFERLOWPOWER_BOOL => "SDL.gpu.device.create.preferlowpower"u8;
1476+
[NativeTypeName("#define SDL_PROP_GPU_DEVICE_CREATE_PREFERLOWPOWER_BOOLEAN \"SDL.gpu.device.create.preferlowpower\"")]
1477+
public static ReadOnlySpan<byte> SDL_PROP_GPU_DEVICE_CREATE_PREFERLOWPOWER_BOOLEAN => "SDL.gpu.device.create.preferlowpower"u8;
14781478

14791479
[NativeTypeName("#define SDL_PROP_GPU_DEVICE_CREATE_NAME_STRING \"SDL.gpu.device.create.name\"")]
14801480
public static ReadOnlySpan<byte> SDL_PROP_GPU_DEVICE_CREATE_NAME_STRING => "SDL.gpu.device.create.name"u8;
14811481

1482-
[NativeTypeName("#define SDL_PROP_GPU_DEVICE_CREATE_SHADERS_PRIVATE_BOOL \"SDL.gpu.device.create.shaders.private\"")]
1483-
public static ReadOnlySpan<byte> SDL_PROP_GPU_DEVICE_CREATE_SHADERS_PRIVATE_BOOL => "SDL.gpu.device.create.shaders.private"u8;
1482+
[NativeTypeName("#define SDL_PROP_GPU_DEVICE_CREATE_SHADERS_PRIVATE_BOOLEAN \"SDL.gpu.device.create.shaders.private\"")]
1483+
public static ReadOnlySpan<byte> SDL_PROP_GPU_DEVICE_CREATE_SHADERS_PRIVATE_BOOLEAN => "SDL.gpu.device.create.shaders.private"u8;
14841484

1485-
[NativeTypeName("#define SDL_PROP_GPU_DEVICE_CREATE_SHADERS_SPIRV_BOOL \"SDL.gpu.device.create.shaders.spirv\"")]
1486-
public static ReadOnlySpan<byte> SDL_PROP_GPU_DEVICE_CREATE_SHADERS_SPIRV_BOOL => "SDL.gpu.device.create.shaders.spirv"u8;
1485+
[NativeTypeName("#define SDL_PROP_GPU_DEVICE_CREATE_SHADERS_SPIRV_BOOLEAN \"SDL.gpu.device.create.shaders.spirv\"")]
1486+
public static ReadOnlySpan<byte> SDL_PROP_GPU_DEVICE_CREATE_SHADERS_SPIRV_BOOLEAN => "SDL.gpu.device.create.shaders.spirv"u8;
14871487

1488-
[NativeTypeName("#define SDL_PROP_GPU_DEVICE_CREATE_SHADERS_DXBC_BOOL \"SDL.gpu.device.create.shaders.dxbc\"")]
1489-
public static ReadOnlySpan<byte> SDL_PROP_GPU_DEVICE_CREATE_SHADERS_DXBC_BOOL => "SDL.gpu.device.create.shaders.dxbc"u8;
1488+
[NativeTypeName("#define SDL_PROP_GPU_DEVICE_CREATE_SHADERS_DXBC_BOOLEAN \"SDL.gpu.device.create.shaders.dxbc\"")]
1489+
public static ReadOnlySpan<byte> SDL_PROP_GPU_DEVICE_CREATE_SHADERS_DXBC_BOOLEAN => "SDL.gpu.device.create.shaders.dxbc"u8;
14901490

1491-
[NativeTypeName("#define SDL_PROP_GPU_DEVICE_CREATE_SHADERS_DXIL_BOOL \"SDL.gpu.device.create.shaders.dxil\"")]
1492-
public static ReadOnlySpan<byte> SDL_PROP_GPU_DEVICE_CREATE_SHADERS_DXIL_BOOL => "SDL.gpu.device.create.shaders.dxil"u8;
1491+
[NativeTypeName("#define SDL_PROP_GPU_DEVICE_CREATE_SHADERS_DXIL_BOOLEAN \"SDL.gpu.device.create.shaders.dxil\"")]
1492+
public static ReadOnlySpan<byte> SDL_PROP_GPU_DEVICE_CREATE_SHADERS_DXIL_BOOLEAN => "SDL.gpu.device.create.shaders.dxil"u8;
14931493

1494-
[NativeTypeName("#define SDL_PROP_GPU_DEVICE_CREATE_SHADERS_MSL_BOOL \"SDL.gpu.device.create.shaders.msl\"")]
1495-
public static ReadOnlySpan<byte> SDL_PROP_GPU_DEVICE_CREATE_SHADERS_MSL_BOOL => "SDL.gpu.device.create.shaders.msl"u8;
1494+
[NativeTypeName("#define SDL_PROP_GPU_DEVICE_CREATE_SHADERS_MSL_BOOLEAN \"SDL.gpu.device.create.shaders.msl\"")]
1495+
public static ReadOnlySpan<byte> SDL_PROP_GPU_DEVICE_CREATE_SHADERS_MSL_BOOLEAN => "SDL.gpu.device.create.shaders.msl"u8;
14961496

1497-
[NativeTypeName("#define SDL_PROP_GPU_DEVICE_CREATE_SHADERS_METALLIB_BOOL \"SDL.gpu.device.create.shaders.metallib\"")]
1498-
public static ReadOnlySpan<byte> SDL_PROP_GPU_DEVICE_CREATE_SHADERS_METALLIB_BOOL => "SDL.gpu.device.create.shaders.metallib"u8;
1497+
[NativeTypeName("#define SDL_PROP_GPU_DEVICE_CREATE_SHADERS_METALLIB_BOOLEAN \"SDL.gpu.device.create.shaders.metallib\"")]
1498+
public static ReadOnlySpan<byte> SDL_PROP_GPU_DEVICE_CREATE_SHADERS_METALLIB_BOOLEAN => "SDL.gpu.device.create.shaders.metallib"u8;
14991499

15001500
[NativeTypeName("#define SDL_PROP_GPU_DEVICE_CREATE_D3D12_SEMANTIC_NAME_STRING \"SDL.gpu.device.create.d3d12.semantic\"")]
15011501
public static ReadOnlySpan<byte> SDL_PROP_GPU_DEVICE_CREATE_D3D12_SEMANTIC_NAME_STRING => "SDL.gpu.device.create.d3d12.semantic"u8;

SDL3-CS/SDL3/ClangSharp/SDL_hints.g.cs

+6
Original file line numberDiff line numberDiff line change
@@ -502,6 +502,9 @@ public static unsafe partial class SDL3
502502
[NativeTypeName("#define SDL_HINT_OPENGL_ES_DRIVER \"SDL_OPENGL_ES_DRIVER\"")]
503503
public static ReadOnlySpan<byte> SDL_HINT_OPENGL_ES_DRIVER => "SDL_OPENGL_ES_DRIVER"u8;
504504

505+
[NativeTypeName("#define SDL_HINT_OPENVR_LIBRARY \"SDL_OPENVR_LIBRARY\"")]
506+
public static ReadOnlySpan<byte> SDL_HINT_OPENVR_LIBRARY => "SDL_OPENVR_LIBRARY"u8;
507+
505508
[NativeTypeName("#define SDL_HINT_ORIENTATIONS \"SDL_ORIENTATIONS\"")]
506509
public static ReadOnlySpan<byte> SDL_HINT_ORIENTATIONS => "SDL_ORIENTATIONS"u8;
507510

@@ -586,6 +589,9 @@ public static unsafe partial class SDL3
586589
[NativeTypeName("#define SDL_HINT_VIDEO_ALLOW_SCREENSAVER \"SDL_VIDEO_ALLOW_SCREENSAVER\"")]
587590
public static ReadOnlySpan<byte> SDL_HINT_VIDEO_ALLOW_SCREENSAVER => "SDL_VIDEO_ALLOW_SCREENSAVER"u8;
588591

592+
[NativeTypeName("#define SDL_HINT_VIDEO_DISPLAY_PRIORITY \"SDL_VIDEO_DISPLAY_PRIORITY\"")]
593+
public static ReadOnlySpan<byte> SDL_HINT_VIDEO_DISPLAY_PRIORITY => "SDL_VIDEO_DISPLAY_PRIORITY"u8;
594+
589595
[NativeTypeName("#define SDL_HINT_VIDEO_DOUBLE_BUFFER \"SDL_VIDEO_DOUBLE_BUFFER\"")]
590596
public static ReadOnlySpan<byte> SDL_HINT_VIDEO_DOUBLE_BUFFER => "SDL_VIDEO_DOUBLE_BUFFER"u8;
591597

SDL3-CS/SDL3/ClangSharp/SDL_render.g.cs

+7
Original file line numberDiff line numberDiff line change
@@ -397,6 +397,10 @@ public static unsafe partial class SDL3
397397
[return: NativeTypeName("bool")]
398398
public static extern SDLBool SDL_GetRenderVSync(SDL_Renderer* renderer, int* vsync);
399399

400+
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
401+
[return: NativeTypeName("bool")]
402+
public static extern SDLBool SDL_RenderDebugText(SDL_Renderer* renderer, float x, float y, [NativeTypeName("const char *")] byte* str);
403+
400404
[NativeTypeName("#define SDL_SOFTWARE_RENDERER \"software\"")]
401405
public static ReadOnlySpan<byte> SDL_SOFTWARE_RENDERER => "software"u8;
402406

@@ -654,5 +658,8 @@ public static unsafe partial class SDL3
654658

655659
[NativeTypeName("#define SDL_RENDERER_VSYNC_ADAPTIVE (-1)")]
656660
public const int SDL_RENDERER_VSYNC_ADAPTIVE = (-1);
661+
662+
[NativeTypeName("#define SDL_DEBUG_TEXT_FONT_CHARACTER_SIZE 8")]
663+
public const int SDL_DEBUG_TEXT_FONT_CHARACTER_SIZE = 8;
657664
}
658665
}

SDL3-CS/SDL3/ClangSharp/SDL_system.g.cs

+12
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,15 @@ 3. This notice may not be removed or altered from any source distribution.
2828

2929
namespace SDL
3030
{
31+
public enum SDL_Sandbox
32+
{
33+
SDL_SANDBOX_NONE = 0,
34+
SDL_SANDBOX_UNKNOWN_CONTAINER,
35+
SDL_SANDBOX_FLATPAK,
36+
SDL_SANDBOX_SNAP,
37+
SDL_SANDBOX_MACOS,
38+
}
39+
3140
public static unsafe partial class SDL3
3241
{
3342
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
@@ -41,6 +50,9 @@ public static unsafe partial class SDL3
4150
[return: NativeTypeName("bool")]
4251
public static extern SDLBool SDL_IsTV();
4352

53+
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
54+
public static extern SDL_Sandbox SDL_GetSandbox();
55+
4456
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
4557
public static extern void SDL_OnApplicationWillTerminate();
4658

SDL3-CS/SDL3/ClangSharp/SDL_video.g.cs

+3
Original file line numberDiff line numberDiff line change
@@ -809,6 +809,9 @@ public static unsafe partial class SDL3
809809
[NativeTypeName("#define SDL_PROP_WINDOW_COCOA_METAL_VIEW_TAG_NUMBER \"SDL.window.cocoa.metal_view_tag\"")]
810810
public static ReadOnlySpan<byte> SDL_PROP_WINDOW_COCOA_METAL_VIEW_TAG_NUMBER => "SDL.window.cocoa.metal_view_tag"u8;
811811

812+
[NativeTypeName("#define SDL_PROP_WINDOW_OPENVR_OVERLAY_ID \"SDL.window.openvr.overlay_id\"")]
813+
public static ReadOnlySpan<byte> SDL_PROP_WINDOW_OPENVR_OVERLAY_ID => "SDL.window.openvr.overlay_id"u8;
814+
812815
[NativeTypeName("#define SDL_PROP_WINDOW_VIVANTE_DISPLAY_POINTER \"SDL.window.vivante.display\"")]
813816
public static ReadOnlySpan<byte> SDL_PROP_WINDOW_VIVANTE_DISPLAY_POINTER => "SDL.window.vivante.display"u8;
814817

SDL3-CS/generate_bindings.py

+8-8
Original file line numberDiff line numberDiff line change
@@ -288,30 +288,30 @@ def run_clangsharp(command, header: Header):
288288
return header.output_file()
289289

290290

291-
# regex for ClangSharp-generated SDL functions
292-
generated_function_regex = re.compile(r"public static extern \w+\** (SDL_\w+)\(")
291+
# regex for ClangSharp-generated SDL functions and enums
292+
generated_symbol_regex = re.compile(r"public (enum|static extern \w+\**) (SDL_\w+)")
293293

294294

295-
def get_generated_functions(file):
295+
def get_generated_symbols(file):
296296
with open(file, "r", encoding="utf-8") as f:
297-
for match in generated_function_regex.finditer(f.read()):
298-
yield match.group(1)
297+
for match in generated_symbol_regex.finditer(f.read()):
298+
yield match.group(2)
299299

300300

301301
def generate_platform_specific_headers(sdl_api, header: Header, platforms):
302302
all_functions = list(all_funcs_from_header(sdl_api, header))
303303

304304
print(f"💠 {header} platform agnostic")
305305
platform_agnostic_cs = run_clangsharp(base_command, header)
306-
platform_agnostic_functions = list(get_generated_functions(platform_agnostic_cs))
306+
platform_agnostic_symbols = list(get_generated_symbols(platform_agnostic_cs))
307307
output_files = [platform_agnostic_cs]
308308

309309
for (defines, suffix, platform_name) in platforms:
310310
command = base_command + ["--define-macro"] + defines
311311

312-
if platform_agnostic_functions:
312+
if platform_agnostic_symbols:
313313
command.append("--exclude")
314-
command.extend(platform_agnostic_functions)
314+
command.extend(platform_agnostic_symbols)
315315

316316
if all_functions:
317317
command.append("--with-attribute")

0 commit comments

Comments
 (0)