|
@@ -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) ---
|
|
|
+}
|