diff --git a/vendor/sdl3/sdl3_log.odin b/vendor/sdl3/sdl3_log.odin new file mode 100644 index 000000000..981bfcefd --- /dev/null +++ b/vendor/sdl3/sdl3_log.odin @@ -0,0 +1,72 @@ +package sdl3 + +import "core:c" + +LogCategory :: enum c.int { + APPLICATION, + ERROR, + ASSERT, + SYSTEM, + AUDIO, + VIDEO, + RENDER, + INPUT, + TEST, + GPU, + + /* Reserved for future SDL library use */ + RESERVED2, + RESERVED3, + RESERVED4, + RESERVED5, + RESERVED6, + RESERVED7, + RESERVED8, + RESERVED9, + RESERVED10, + + /* Beyond this point is reserved for application use, e.g. + enum { + MYAPP_CATEGORY_AWESOME1 = CUSTOM, + MYAPP_CATEGORY_AWESOME2, + MYAPP_CATEGORY_AWESOME3, + ... + }; + */ + CUSTOM, +} + +LogPriority :: enum c.int { + INVALID, + TRACE, + VERBOSE, + DEBUG, + INFO, + WARN, + ERROR, + CRITICAL, +} + +LogOutputFunction :: #type proc "c" (userdata: rawptr, category: LogCategory, priority: LogPriority, message: cstring) + +@(default_calling_convention="c", link_prefix="SDL_") +foreign lib { + SetLogPriorities :: proc(priority: LogPriority) --- + SetLogPriority :: proc(category: LogCategory, priority: LogPriority) --- + GetLogPriority :: proc(category: LogCategory) -> LogPriority --- + ResetLogPriorities :: proc() --- + SetLogPriorityPrefix :: proc(priority: LogPriority, prefix: cstring) -> bool --- + Log :: proc(fmt: cstring, #c_vararg args: ..any) --- + LogTrace :: proc(category: c.int, fmt: cstring, #c_vararg args: ..any) --- + LogVerbose :: proc(category: c.int, fmt: cstring, #c_vararg args: ..any) --- + LogDebug :: proc(category: c.int, fmt: cstring, #c_vararg args: ..any) --- + LogInfo :: proc(category: c.int, fmt: cstring, #c_vararg args: ..any) --- + LogWarn :: proc(category: c.int, fmt: cstring, #c_vararg args: ..any) --- + LogError :: proc(category: c.int, fmt: cstring, #c_vararg args: ..any) --- + LogCritical :: proc(category: c.int, fmt: cstring, #c_vararg args: ..any) --- + LogMessage :: proc(category: c.int, priority: LogPriority, fmt: cstring, #c_vararg args: ..any) --- + LogMessageV :: proc(category: c.int, priority: LogPriority, fmt: cstring, ap: c.va_list) --- + GetDefaultLogOutputFunction :: proc() -> LogOutputFunction --- + GetLogOutputFunction :: proc(callback: ^LogOutputFunction, userdata: ^rawptr) --- + SetLogOutputFunction :: proc(callback: LogOutputFunction, userdata: rawptr) --- +} \ No newline at end of file