Merge branch 'master' of github.com:odin-lang/Odin

This commit is contained in:
Jeroen van Rijn
2023-05-02 14:16:21 +02:00
29 changed files with 166 additions and 4 deletions

View File

@@ -26,13 +26,11 @@ import "core:c"
import "core:intrinsics"
when ODIN_OS == .Windows {
foreign import _lib "SDL2.lib"
foreign import lib "SDL2.lib"
} else {
foreign import _lib "system:SDL2"
foreign import lib "system:SDL2"
}
lib :: _lib
version :: struct {
major: u8, /**< major version */
minor: u8, /**< minor version */
@@ -47,6 +45,7 @@ PATCHLEVEL :: 16
foreign lib {
GetVersion :: proc(ver: ^version) ---
GetRevision :: proc() -> cstring ---
}
InitFlag :: enum u32 {

View File

@@ -2,6 +2,12 @@ package sdl2
import "core:c"
when ODIN_OS == .Windows {
foreign import lib "SDL2.lib"
} else {
foreign import lib "system:SDL2"
}
/**
* \brief Audio format flags.
*

View File

@@ -2,6 +2,12 @@ package sdl2
import "core:c"
when ODIN_OS == .Windows {
foreign import lib "SDL2.lib"
} else {
foreign import lib "system:SDL2"
}
/**
* \brief The blend mode used in SDL_RenderCopy() and drawing operations.
*/

View File

@@ -2,6 +2,12 @@ package sdl2
import "core:c"
when ODIN_OS == .Windows {
foreign import lib "SDL2.lib"
} else {
foreign import lib "system:SDL2"
}
/* This is a guess for the cacheline size used for padding.
* Most x86 processors have a 64 byte cache line.
* The 64-bit PowerPC processors have a 128 byte cache line.

View File

@@ -2,6 +2,12 @@ package sdl2
import "core:c"
when ODIN_OS == .Windows {
foreign import lib "SDL2.lib"
} else {
foreign import lib "system:SDL2"
}
RELEASED :: 0
PRESSED :: 1

View File

@@ -2,6 +2,12 @@ package sdl2
import "core:c"
when ODIN_OS == .Windows {
foreign import lib "SDL2.lib"
} else {
foreign import lib "system:SDL2"
}
GameController :: struct {}
GameControllerType :: enum c.int {

View File

@@ -2,6 +2,12 @@ package sdl2
import "core:c"
when ODIN_OS == .Windows {
foreign import lib "SDL2.lib"
} else {
foreign import lib "system:SDL2"
}
// Gesture
GestureID :: distinct i64

View File

@@ -2,6 +2,12 @@ package sdl2
import "core:c"
when ODIN_OS == .Windows {
foreign import lib "SDL2.lib"
} else {
foreign import lib "system:SDL2"
}
HINT_ACCELEROMETER_AS_JOYSTICK :: "SDL_ACCELEROMETER_AS_JOYSTICK"
HINT_ALLOW_ALT_TAB_WHILE_GRABBED :: "SDL_ALLOW_ALT_TAB_WHILE_GRABBED"
HINT_ALLOW_TOPMOST :: "SDL_ALLOW_TOPMOST"

View File

@@ -2,6 +2,12 @@ package sdl2
import "core:c"
when ODIN_OS == .Windows {
foreign import lib "SDL2.lib"
} else {
foreign import lib "system:SDL2"
}
Joystick :: struct {}
JoystickGUID :: struct {

View File

@@ -2,6 +2,12 @@ package sdl2
import "core:c"
when ODIN_OS == .Windows {
foreign import lib "SDL2.lib"
} else {
foreign import lib "system:SDL2"
}
Keysym :: struct {
scancode: Scancode, /**< SDL physical key code - see ::SDL_Scancode for details */
sym: Keycode, /**< SDL virtual key code - see ::SDL_Keycode for details */

View File

@@ -1,5 +1,6 @@
package sdl2
SCANCODE_MASK :: 1<<30
SCANCODE_TO_KEYCODE :: #force_inline proc "c" (X: Scancode) -> Keycode {
return Keycode(i32(X) | SCANCODE_MASK)

View File

@@ -2,6 +2,12 @@ package sdl2
import "core:c"
when ODIN_OS == .Windows {
foreign import lib "SDL2.lib"
} else {
foreign import lib "system:SDL2"
}
MAX_LOG_MESSAGE :: 4096
LogCategory :: enum c.int {

View File

@@ -2,6 +2,12 @@ package sdl2
import "core:c"
when ODIN_OS == .Windows {
foreign import lib "SDL2.lib"
} else {
foreign import lib "system:SDL2"
}
MessageBoxFlag :: enum u32 {
_ = 0,
ERROR = 4, /**< error dialog */

View File

@@ -2,6 +2,12 @@ package sdl2
import "core:c"
when ODIN_OS == .Windows {
foreign import lib "SDL2.lib"
} else {
foreign import lib "system:SDL2"
}
MetalView :: distinct rawptr
@(default_calling_convention="c", link_prefix="SDL_")

View File

@@ -2,6 +2,12 @@ package sdl2
import "core:c"
when ODIN_OS == .Windows {
foreign import lib "SDL2.lib"
} else {
foreign import lib "system:SDL2"
}
Cursor :: struct {}
BUTTON :: #force_inline proc "c" (X: c.int) -> c.int { return 1 << u32(X-1) }

View File

@@ -2,6 +2,12 @@ package sdl2
import "core:c"
when ODIN_OS == .Windows {
foreign import lib "SDL2.lib"
} else {
foreign import lib "system:SDL2"
}
MUTEX_TIMEDOUT :: 1
MUTEX_MAXWAIT :: ~u32(0)

View File

@@ -2,6 +2,12 @@ package sdl2
import "core:c"
when ODIN_OS == .Windows {
foreign import lib "SDL2.lib"
} else {
foreign import lib "system:SDL2"
}
ALPHA_OPAQUE :: 255
ALPHA_TRANSPARENT :: 0

View File

@@ -2,6 +2,12 @@ package sdl2
import "core:c"
when ODIN_OS == .Windows {
foreign import lib "SDL2.lib"
} else {
foreign import lib "system:SDL2"
}
Point :: struct {
x: c.int,
y: c.int,

View File

@@ -2,6 +2,12 @@ package sdl2
import "core:c"
when ODIN_OS == .Windows {
foreign import lib "SDL2.lib"
} else {
foreign import lib "system:SDL2"
}
RendererFlag :: enum u32 {
SOFTWARE = 0, /**< The renderer is a software fallback */
ACCELERATED = 1, /**< The renderer uses hardware acceleration */

View File

@@ -2,6 +2,12 @@ package sdl2
import "core:c"
when ODIN_OS == .Windows {
foreign import lib "SDL2.lib"
} else {
foreign import lib "system:SDL2"
}
/* RWops Types */
RWOPS_UNKNOWN :: 0 /**< Unknown stream type */
RWOPS_WINFILE :: 1 /**< Win32 file */

View File

@@ -5,6 +5,12 @@ import "core:intrinsics"
import "core:runtime"
_, _ :: intrinsics, runtime
when ODIN_OS == .Windows {
foreign import lib "SDL2.lib"
} else {
foreign import lib "system:SDL2"
}
bool :: distinct b32
#assert(size_of(bool) == size_of(c.int))

View File

@@ -2,6 +2,12 @@ package sdl2
import "core:c"
when ODIN_OS == .Windows {
foreign import lib "SDL2.lib"
} else {
foreign import lib "system:SDL2"
}
SWSURFACE :: 0 /**< Just here for compatibility */
PREALLOC :: 0x00000001 /**< Surface uses preallocated memory */
RLEACCEL :: 0x00000002 /**< Surface is RLE encoded */

View File

@@ -2,6 +2,12 @@ package sdl2
import "core:c"
when ODIN_OS == .Windows {
foreign import lib "SDL2.lib"
} else {
foreign import lib "system:SDL2"
}
// General
@(default_calling_convention="c", link_prefix="SDL_")
foreign lib {

View File

@@ -2,6 +2,12 @@ package sdl2
import "core:c"
when ODIN_OS == .Windows {
foreign import lib "SDL2.lib"
} else {
foreign import lib "system:SDL2"
}
SYSWM_TYPE :: enum c.int {
UNKNOWN,
WINDOWS,

View File

@@ -2,6 +2,12 @@ package sdl2
import "core:c"
when ODIN_OS == .Windows {
foreign import lib "SDL2.lib"
} else {
foreign import lib "system:SDL2"
}
Thread :: struct {}
threadID :: distinct c.ulong

View File

@@ -2,6 +2,12 @@ package sdl2
import "core:c"
when ODIN_OS == .Windows {
foreign import lib "SDL2.lib"
} else {
foreign import lib "system:SDL2"
}
TimerCallback :: proc "c" (interval: u32, param: rawptr) -> u32
TimerID :: distinct c.int

View File

@@ -2,6 +2,12 @@ package sdl2
import "core:c"
when ODIN_OS == .Windows {
foreign import lib "SDL2.lib"
} else {
foreign import lib "system:SDL2"
}
TouchID :: distinct i64
FingerID :: distinct i64

View File

@@ -2,6 +2,12 @@ package sdl2
import "core:c"
when ODIN_OS == .Windows {
foreign import lib "SDL2.lib"
} else {
foreign import lib "system:SDL2"
}
DisplayMode :: struct {
format: u32, /**< pixel format */
w: c.int, /**< width, in screen coordinates */

View File

@@ -3,6 +3,12 @@ package sdl2
import "core:c"
import vk "vendor:vulkan"
when ODIN_OS == .Windows {
foreign import lib "SDL2.lib"
} else {
foreign import lib "system:SDL2"
}
VkInstance :: vk.Instance
VkSurfaceKHR :: vk.SurfaceKHR