Working example

This commit is contained in:
2025-12-15 12:37:50 -05:00
commit 4ff4b04f06
165 changed files with 94256 additions and 0 deletions

30
sdl3/sdl3_mutex.odin Normal file
View File

@@ -0,0 +1,30 @@
package sdl3
Mutex :: struct {}
RWLock :: struct {}
Semaphore :: struct {}
@(default_calling_convention="c", link_prefix="SDL_", require_results)
foreign lib {
CreateMutex :: proc() -> ^Mutex ---
LockMutex :: proc(mutex: ^Mutex) ---
TryLockMutex :: proc(mutex: ^Mutex) -> bool ---
UnlockMutex :: proc(mutex: ^Mutex) ---
DestroyMutex :: proc(mutex: ^Mutex) ---
CreateRWLock :: proc() -> ^RWLock ---
LockRWLockForReading :: proc(rwlock: ^RWLock) ---
LockRWLockForWriting :: proc(rwlock: ^RWLock) ---
TryLockRWLockForReading :: proc(rwlock: ^RWLock) -> bool ---
TryLockRWLockForWriting :: proc(rwlock: ^RWLock) -> bool ---
UnlockRWLock :: proc(rwlock: ^RWLock) ---
DestroyRWLock :: proc(rwlock: ^RWLock) ---
CreateSemaphore :: proc(initial_value: Uint32) -> ^Semaphore ---
DestroySemaphore :: proc(sem: ^Semaphore) ---
GetSemaphoreValue :: proc(sem: ^Semaphore) -> Uint32 ---
SignalSemaphore :: proc(sem: ^Semaphore) ---
TryWaitSemaphore :: proc(sem: ^Semaphore) -> bool ---
WaitSemaphore :: proc(sem: ^Semaphore) ---
WaitSemaphoreTimeout :: proc(sem: ^Semaphore, timeout_ms: Sint32) ---
}