mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-08 00:28:49 +00:00
Embed the SDL2 libraries into vendor:sdl2
This commit is contained in:
Vendored
+77
@@ -0,0 +1,77 @@
|
||||
package sdl2
|
||||
|
||||
import "core:c"
|
||||
|
||||
when ODIN_OS == "windows" do foreign import lib "SDL2.lib"
|
||||
when ODIN_OS == "linux" do foreign import lib "system:SDL2"
|
||||
when ODIN_OS == "darwin" do foreign import lib "system:SDL2"
|
||||
when ODIN_OS == "freebsd" do foreign import lib "system:SDL2"
|
||||
|
||||
MAX_LOG_MESSAGE :: 4096;
|
||||
|
||||
LogCategory :: enum c.int {
|
||||
APPLICATION,
|
||||
ERROR,
|
||||
ASSERT,
|
||||
SYSTEM,
|
||||
AUDIO,
|
||||
VIDEO,
|
||||
RENDER,
|
||||
INPUT,
|
||||
TEST,
|
||||
|
||||
/* Reserved for future SDL library use */
|
||||
RESERVED1,
|
||||
RESERVED2,
|
||||
RESERVED3,
|
||||
RESERVED4,
|
||||
RESERVED5,
|
||||
RESERVED6,
|
||||
RESERVED7,
|
||||
RESERVED8,
|
||||
RESERVED9,
|
||||
RESERVED10,
|
||||
|
||||
/* Beyond this point is reserved for application use, e.g.
|
||||
enum {
|
||||
MYAPP_CATEGORY_AWESOME1 = SDL_LOG_CATEGORY_CUSTOM,
|
||||
MYAPP_CATEGORY_AWESOME2,
|
||||
MYAPP_CATEGORY_AWESOME3,
|
||||
...
|
||||
};
|
||||
*/
|
||||
CUSTOM,
|
||||
}
|
||||
|
||||
LogPriority :: enum c.int {
|
||||
DEFAULT = 0, // CUSTOM ONE
|
||||
VERBOSE = 1,
|
||||
DEBUG,
|
||||
INFO,
|
||||
WARN,
|
||||
ERROR,
|
||||
CRITICAL,
|
||||
NUM,
|
||||
}
|
||||
|
||||
LogOutputFunction :: proc "c" (userdata: rawptr, category: LogCategory, priority: LogPriority, message: cstring);
|
||||
|
||||
|
||||
@(default_calling_convention="c", link_prefix="SDL_")
|
||||
foreign lib {
|
||||
LogSetAllPriority :: proc(priority: LogPriority) ---
|
||||
LogSetPriority :: proc(category: c.int, priority: LogPriority) ---
|
||||
LogGetPriority :: proc(category: c.int) -> LogPriority ---
|
||||
LogResetPriorities :: proc() ---
|
||||
Log :: proc(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: va_list) ---
|
||||
LogGetOutputFunction :: proc(callback: ^LogOutputFunction, userdata: ^rawptr) ---
|
||||
LogSetOutputFunction :: proc(callback: LogOutputFunction, userdata: rawptr) ---
|
||||
}
|
||||
Reference in New Issue
Block a user