2
0
gingerBill 7 сар өмнө
parent
commit
72f69d1bac

+ 72 - 0
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) ---
+}