Commit Graph

8 Commits

Author SHA1 Message Date
Susko3 25c2558184 Update SDL3 bindings
Updates to https://github.com/libsdl-org/SDL/commit/%206f2621438a65abae114a7210914352b4c1d9c6c3.
This matches the binaries.
2024-05-18 12:26:03 +02:00
Susko3 99d1c0f9fa Update bindings to 661f2fc1fca76f79f536919fefe5887a875b6afb
Not too happy with the manually defined enums, but it'll do for now.
2024-05-15 20:05:52 +02:00
Susko3 91cef07624 Add friendly `string?` overloads to C `(const) char *` functions
This is done by adding a `Unsafe_` prefix to `(const) char *` (C# `byte*`) functions.
I am using `string?` instead of `ReadOnlyMemory<byte>?` because the returned pointer can
get invalidated and cause memory-safety issues.

The returned pointer is automatically freed if the return type is `char *`.
I've checked that the documentation for all functions (except in SDL_stdinc.h)
requires calling `SDL_free()` on the pointer.
2024-04-06 14:36:36 +02:00
Susko3 5747f163ac Manually implement endianness-specific audio formats 2024-04-06 13:42:10 +02:00
Susko3 409ecf7536 Add C# enum "typedefs" for C typedefs
This doesn't compile as ClangSharp fails to emit `unchecked`
in `SDL_pen.g.cs` and `SDL_touch.g.cs`.
And `(SDL_bool)` casts in `SDL_rect.g.cs`.
2024-04-06 13:32:55 +02:00
Susko3 dfe2b5b251 Remap C `void *` to C# `IntPtr` 2024-04-06 12:34:11 +02:00
Susko3 53f98fece1 Map C `char` to C# `byte` instead of `sbyte`
This matches .NET's UTF-8 `ReadOnlySpan<byte>` (see `SDL_hints.g.cs`).
2024-04-06 12:31:32 +02:00
Susko3 1512bef026 Initial SDL3-CS binding project with ClangSharp
The bindings don't yet compile. There are errors in SDL_pixels.g.cs, SDL_stdinc.g.cs and SDL_thread.g.cs,
a bunch of warnings about "Function like macro definition records are not supported",
and a few "Info: Potential missing remapping".

Built on SDL commit:
6ad390fc50
2024-04-06 00:57:07 +02:00