Strip unneeded semicolons from vendor library

This commit is contained in:
gingerBill
2021-08-31 22:26:58 +01:00
parent 251da264ed
commit b450a853d5
46 changed files with 7234 additions and 7234 deletions
+11 -11
View File
@@ -8,11 +8,11 @@ when ODIN_OS == "linux" do foreign import lib "system:SDL2_image"
when ODIN_OS == "darwin" do foreign import lib "system:SDL2_image"
when ODIN_OS == "freebsd" do foreign import lib "system:SDL2_image"
bool :: SDL.bool;
bool :: SDL.bool
MAJOR_VERSION :: 2;
MINOR_VERSION :: 0;
PATCHLEVEL :: 5;
MAJOR_VERSION :: 2
MINOR_VERSION :: 0
PATCHLEVEL :: 5
@(default_calling_convention="c", link_prefix="IMG_")
foreign lib {
@@ -26,12 +26,12 @@ InitFlag :: enum c.int {
WEBP = 3,
}
InitFlags :: distinct bit_set[InitFlag; c.int];
InitFlags :: distinct bit_set[InitFlag; c.int]
INIT_JPG :: InitFlags{.JPG};
INIT_PNG :: InitFlags{.PNG};
INIT_TIF :: InitFlags{.TIF};
INIT_WEBP :: InitFlags{.WEBP};
INIT_JPG :: InitFlags{.JPG}
INIT_PNG :: InitFlags{.PNG}
INIT_TIF :: InitFlags{.TIF}
INIT_WEBP :: InitFlags{.WEBP}
/* Animated image support
Currently only animated GIFs are supported.
@@ -44,8 +44,8 @@ Animation :: struct {
}
/* We'll use SDL for reporting errors */
SetError :: SDL.SetError;
GetError :: SDL.GetError;
SetError :: SDL.SetError
GetError :: SDL.GetError
@(default_calling_convention="c", link_prefix="IMG_")
foreign lib {
+42 -42
View File
@@ -9,14 +9,14 @@ when ODIN_OS == "darwin" do foreign import lib "system:SDL2_mixer"
when ODIN_OS == "freebsd" do foreign import lib "system:SDL2_mixer"
MAJOR_VERSION :: 2;
MINOR_VERSION :: 0;
PATCHLEVEL :: 4;
MAJOR_VERSION :: 2
MINOR_VERSION :: 0
PATCHLEVEL :: 4
CHANNELS :: 8;
CHANNELS :: 8
bool :: SDL.bool;
bool :: SDL.bool
InitFlag :: enum c.int {
@@ -28,19 +28,19 @@ InitFlag :: enum c.int {
OPUS = 6,
}
InitFlags :: distinct bit_set[InitFlag; c.int];
InitFlags :: distinct bit_set[InitFlag; c.int]
INIT_FLAC :: InitFlags{.FLAC};
INIT_MOD :: InitFlags{.MOD};
INIT_MP3 :: InitFlags{.MP3};
INIT_OGG :: InitFlags{.OGG};
INIT_MID :: InitFlags{.MID};
INIT_OPUS :: InitFlags{.OPUS};
INIT_FLAC :: InitFlags{.FLAC}
INIT_MOD :: InitFlags{.MOD}
INIT_MP3 :: InitFlags{.MP3}
INIT_OGG :: InitFlags{.OGG}
INIT_MID :: InitFlags{.MID}
INIT_OPUS :: InitFlags{.OPUS}
DEFAULT_FREQUENCY :: 44100;
DEFAULT_FORMAT :: SDL.AUDIO_S16SYS;
DEFAULT_CHANNELS :: 2;
MAX_VOLUME :: SDL.MIX_MAXVOLUME;
DEFAULT_FREQUENCY :: 44100
DEFAULT_FORMAT :: SDL.AUDIO_S16SYS
DEFAULT_CHANNELS :: 2
MAX_VOLUME :: SDL.MIX_MAXVOLUME
Chunk :: struct {
allocated: c.int,
@@ -55,9 +55,9 @@ Fading :: enum c.int {
FADING_IN,
}
NO_FADING :: Fading.NO_FADING;
FADING_OUT :: Fading.FADING_OUT;
FADING_IN :: Fading.FADING_IN;
NO_FADING :: Fading.NO_FADING
FADING_OUT :: Fading.FADING_OUT
FADING_IN :: Fading.FADING_IN
MusicType :: enum c.int {
NONE,
@@ -73,33 +73,33 @@ MusicType :: enum c.int {
OPUS,
}
MUS_NONE :: MusicType.NONE;
MUS_CMD :: MusicType.CMD;
MUS_WAV :: MusicType.WAV;
MUS_MOD :: MusicType.MOD;
MUS_MID :: MusicType.MID;
MUS_OGG :: MusicType.OGG;
MUS_MP3 :: MusicType.MP3;
MUS_MP3_MAD_UNUSED :: MusicType.MP3_MAD_UNUSED;
MUS_FLAC :: MusicType.FLAC;
MUS_MODPLUG_UNUSED :: MusicType.MODPLUG_UNUSED;
MUS_OPUS :: MusicType.OPUS;
MUS_NONE :: MusicType.NONE
MUS_CMD :: MusicType.CMD
MUS_WAV :: MusicType.WAV
MUS_MOD :: MusicType.MOD
MUS_MID :: MusicType.MID
MUS_OGG :: MusicType.OGG
MUS_MP3 :: MusicType.MP3
MUS_MP3_MAD_UNUSED :: MusicType.MP3_MAD_UNUSED
MUS_FLAC :: MusicType.FLAC
MUS_MODPLUG_UNUSED :: MusicType.MODPLUG_UNUSED
MUS_OPUS :: MusicType.OPUS
Music :: struct {};
Music :: struct {}
/* We'll use SDL for reporting errors */
SetError :: SDL.SetError;
GetError :: SDL.GetError;
ClearError :: SDL.ClearError;
SetError :: SDL.SetError
GetError :: SDL.GetError
ClearError :: SDL.ClearError
Mix_LoadWAV :: #force_inline proc "c" (file: cstring) -> ^Chunk {
return LoadWAV_RW(SDL.RWFromFile(file, "rb"), true);
return LoadWAV_RW(SDL.RWFromFile(file, "rb"), true)
}
MixFunc :: proc "c" (udata: rawptr, stream: [^]u8, len: c.int);
MixFunc :: proc "c" (udata: rawptr, stream: [^]u8, len: c.int)
@(default_calling_convention="c", link_prefix="Mix_")
foreign lib {
@@ -141,18 +141,18 @@ foreign lib {
ChannelFinished :: proc(channel_finished: proc "c" (channel: c.int)) ---
}
CHANNEL_POST :: -2;
CHANNEL_POST :: -2
EffectFunc_t :: proc "c" (chan: c.int, stream: rawptr, len: c.int, udata: rawptr);
EffectDone_t :: proc "c" (chan: c.int, udata: rawptr);
EffectFunc_t :: proc "c" (chan: c.int, stream: rawptr, len: c.int, udata: rawptr)
EffectDone_t :: proc "c" (chan: c.int, udata: rawptr)
EFFECTSMAXSPEED :: "MIX_EFFECTSMAXSPEED";
EFFECTSMAXSPEED :: "MIX_EFFECTSMAXSPEED"
PlayChannel :: #force_inline proc "c" (channel: c.int, chunk: ^Chunk, loops: c.int) -> c.int {
return PlayChannelTimed(channel, chunk, loops, -1);
return PlayChannelTimed(channel, chunk, loops, -1)
}
FadeInChannel :: #force_inline proc "c" (channel: c.int, chunk: ^Chunk, loops: c.int, ms: c.int) -> c.int {
return FadeInChannelTimed(channel, chunk, loops, ms, -1);
return FadeInChannelTimed(channel, chunk, loops, ms, -1)
}
+36 -36
View File
@@ -8,21 +8,21 @@ when ODIN_OS == "linux" do foreign import lib "system:SDL2_net"
when ODIN_OS == "darwin" do foreign import lib "system:SDL2_net"
when ODIN_OS == "freebsd" do foreign import lib "system:SDL2_net"
bool :: SDL.bool;
bool :: SDL.bool
MAJOR_VERSION :: 2;
MINOR_VERSION :: 0;
PATCHLEVEL :: 1;
MAJOR_VERSION :: 2
MINOR_VERSION :: 0
PATCHLEVEL :: 1
IPaddress :: struct {
host: u32, /* 32-bit IPv4 host address */
port: u16, /* 16-bit protocol port */
}
INADDR_ANY :: 0x00000000;
INADDR_NONE :: 0xFFFFFFFF;
INADDR_LOOPBACK :: 0x7f000001;
INADDR_BROADCAST :: 0xFFFFFFFF;
INADDR_ANY :: 0x00000000
INADDR_NONE :: 0xFFFFFFFF
INADDR_LOOPBACK :: 0x7f000001
INADDR_BROADCAST :: 0xFFFFFFFF
@(default_calling_convention="c", link_prefix="SDLNet_")
@@ -42,7 +42,7 @@ foreign lib {
/* TCP network API */
/***********************************************************************/
TCPsocket :: distinct rawptr;
TCPsocket :: distinct rawptr
@(default_calling_convention="c", link_prefix="SDLNet_")
foreign lib {
@@ -56,11 +56,11 @@ foreign lib {
/* The maximum channels on a a UDP socket */
MAX_UDPCHANNELS :: 32;
MAX_UDPCHANNELS :: 32
/* The maximum addresses bound to a single UDP socket channel */
MAX_UDPADDRESSES :: 4;
MAX_UDPADDRESSES :: 4
UDPsocket :: distinct rawptr;
UDPsocket :: distinct rawptr
UDPpacket :: struct {
channel: c.int, /* The src/dst channel of the packet */
data: [^]u8, /* The packet data */
@@ -99,16 +99,16 @@ foreign lib {
AllocPacketSlice :: proc "c" (howmany: c.int, size: c.int) -> []^UDPpacket {
if packets := AllocPacketV(howmany, size); packets != nil {
return packets[:howmany];
return packets[:howmany]
}
return nil;
return nil
}
FreePacketSlice :: proc "c" (packets: []^UDPpacket) {
FreePacketV(raw_data(packets));
FreePacketV(raw_data(packets))
}
UDP_SendSlice :: proc "c" (sock: UDPsocket, packets: []^UDPpacket) -> c.int {
return UDP_SendV(sock, raw_data(packets), c.int(len(packets)));
return UDP_SendV(sock, raw_data(packets), c.int(len(packets)))
}
@@ -116,27 +116,27 @@ UDP_SendSlice :: proc "c" (sock: UDPsocket, packets: []^UDPpacket) -> c.int {
/* Hooks for checking sockets for available data */
/***********************************************************************/
SocketSet :: distinct rawptr;
SocketSet :: distinct rawptr
/* Any network socket can be safely cast to this socket type */
GenericSocket :: ^struct { ready: c.int };
GenericSocket :: ^struct { ready: c.int }
TCP_AddSocket :: #force_inline proc "c" (set: SocketSet, sock: TCPsocket) -> c.int {
return AddSocket(set, (GenericSocket)(sock));
return AddSocket(set, (GenericSocket)(sock))
}
UDP_AddSocket :: #force_inline proc "c" (set: SocketSet, sock: UDPsocket) -> c.int {
return AddSocket(set, (GenericSocket)(sock));
return AddSocket(set, (GenericSocket)(sock))
}
TCP_DelSocket :: #force_inline proc "c" (set: SocketSet, sock: TCPsocket) -> c.int {
return DelSocket(set, (GenericSocket)(sock));
return DelSocket(set, (GenericSocket)(sock))
}
UDP_DelSocket :: #force_inline proc "c" (set: SocketSet, sock: UDPsocket) -> c.int {
return DelSocket(set, (GenericSocket)(sock));
return DelSocket(set, (GenericSocket)(sock))
}
SocketReady :: #force_inline proc "c" (sock: rawptr) -> bool {
s := (GenericSocket)(sock);
return bool(s != nil && s.ready != 0);
s := (GenericSocket)(sock)
return bool(s != nil && s.ready != 0)
}
@@ -167,25 +167,25 @@ foreign lib {
/* Write a 16/32-bit value to network packet buffer */
Write16 :: #force_inline proc "c" (value: u16, areap: rawptr) {
area := (^[2]u8)(areap);
area[0] = u8((value >> 8) & 0xFF);
area[1] = u8( value & 0xFF);
area := (^[2]u8)(areap)
area[0] = u8((value >> 8) & 0xFF)
area[1] = u8( value & 0xFF)
}
Write32 :: #force_inline proc "c" (value: u32, areap: rawptr) {
area := (^[4]u8)(areap);
area[0] = u8((value >> 24) & 0xFF);
area[1] = u8((value >> 16) & 0xFF);
area[2] = u8((value >> 8) & 0xFF);
area[3] = u8( value & 0xFF);
area := (^[4]u8)(areap)
area[0] = u8((value >> 24) & 0xFF)
area[1] = u8((value >> 16) & 0xFF)
area[2] = u8((value >> 8) & 0xFF)
area[3] = u8( value & 0xFF)
}
/* Read a 16/32-bit value from network packet buffer */
Read16 :: #force_inline proc "c" (areap: rawptr) -> u16 {
area := (^[2]u8)(areap);
return u16(area[0])<<8 | u16(area[1]);
area := (^[2]u8)(areap)
return u16(area[0])<<8 | u16(area[1])
}
Read32 :: #force_inline proc "c" (areap: rawptr) -> u32 {
area := (^[4]u8)(areap);
return u32(area[0])<<24 | u32(area[1])<<16 | u32(area[2])<<8 | u32(area[3]);
area := (^[4]u8)(areap)
return u32(area[0])<<24 | u32(area[1])<<16 | u32(area[2])<<8 | u32(area[3])
}
+31 -31
View File
@@ -34,11 +34,11 @@ version :: struct {
major: u8, /**< major version */
minor: u8, /**< minor version */
patch: u8, /**< update version */
};
}
MAJOR_VERSION :: 2;
MINOR_VERSION :: 0;
PATCHLEVEL :: 16;
MAJOR_VERSION :: 2
MINOR_VERSION :: 0
PATCHLEVEL :: 16
@(default_calling_convention="c", link_prefix="SDL_")
foreign lib {
@@ -59,18 +59,18 @@ InitFlag :: enum u32 {
NOPARACHUTE = 0x14,
}
InitFlags :: bit_set[InitFlag; u32];
InitFlags :: bit_set[InitFlag; u32]
INIT_TIMER :: InitFlags{.TIMER};
INIT_AUDIO :: InitFlags{.AUDIO};
INIT_VIDEO :: InitFlags{.VIDEO}; /**< INIT_VIDEO implies INIT_EVENTS */
INIT_JOYSTICK :: InitFlags{.JOYSTICK}; /**< INIT_JOYSTICK implies INIT_EVENTS */
INIT_HAPTIC :: InitFlags{.HAPTIC};
INIT_GAMECONTROLLER :: InitFlags{.GAMECONTROLLER}; /**< INIT_GAMECONTROLLER implies INIT_JOYSTICK */
INIT_EVENTS :: InitFlags{.EVENTS};
INIT_SENSOR :: InitFlags{.SENSOR};
INIT_NOPARACHUTE :: InitFlags{.NOPARACHUTE}; /**< compatibility; this flag is ignored. */
INIT_EVERYTHING :: InitFlags{.TIMER, .AUDIO, .VIDEO, .EVENTS, .JOYSTICK, .HAPTIC, .GAMECONTROLLER, .SENSOR};
INIT_TIMER :: InitFlags{.TIMER}
INIT_AUDIO :: InitFlags{.AUDIO}
INIT_VIDEO :: InitFlags{.VIDEO} /**< INIT_VIDEO implies INIT_EVENTS */
INIT_JOYSTICK :: InitFlags{.JOYSTICK} /**< INIT_JOYSTICK implies INIT_EVENTS */
INIT_HAPTIC :: InitFlags{.HAPTIC}
INIT_GAMECONTROLLER :: InitFlags{.GAMECONTROLLER} /**< INIT_GAMECONTROLLER implies INIT_JOYSTICK */
INIT_EVENTS :: InitFlags{.EVENTS}
INIT_SENSOR :: InitFlags{.SENSOR}
INIT_NOPARACHUTE :: InitFlags{.NOPARACHUTE} /**< compatibility; this flag is ignored. */
INIT_EVERYTHING :: InitFlags{.TIMER, .AUDIO, .VIDEO, .EVENTS, .JOYSTICK, .HAPTIC, .GAMECONTROLLER, .SENSOR}
@(default_calling_convention="c", link_prefix="SDL_")
foreign lib {
@@ -85,8 +85,8 @@ foreign lib {
// Atomic
// NOTE: Prefer the intrinsics built into Odin 'package intrinsics'
SpinLock :: distinct c.int;
atomic_t :: struct { value: c.int };
SpinLock :: distinct c.int
atomic_t :: struct { value: c.int }
@(default_calling_convention="c", link_prefix="SDL_")
foreign lib {
@@ -107,11 +107,11 @@ foreign lib {
// Bits
MostSignificantBitIndex32 :: #force_inline proc "c" (x: u32) -> c.int {
return c.int(intrinsics.count_leading_zeros(x));
return c.int(intrinsics.count_leading_zeros(x))
}
HasExactlyOneBitSet32 :: #force_inline proc "c" (x: u32) -> bool {
return intrinsics.count_ones(x) == 1;
return intrinsics.count_ones(x) == 1
}
// Clipboard
@@ -135,11 +135,11 @@ foreign lib {
}
GetErrorString :: proc "c" () -> string {
return string(GetError());
return string(GetError())
}
GetErrorMsgString :: proc "c" (buf: []u8) -> string {
cstr := GetErrorMsg(raw_data(buf), c.int(len(buf)));
return string(cstr);
cstr := GetErrorMsg(raw_data(buf), c.int(len(buf)))
return string(cstr)
}
@@ -234,16 +234,16 @@ foreign lib {
// quit
QuitRequested :: #force_inline proc "c" () -> bool {
PumpEvents();
return bool(PeepEvents(nil, 0, .PEEKEVENT, .QUIT, .QUIT) > 0);
PumpEvents()
return bool(PeepEvents(nil, 0, .PEEKEVENT, .QUIT, .QUIT) > 0)
}
// sensor
Sensor :: struct {};
Sensor :: struct {}
SensorID :: distinct i32;
SensorID :: distinct i32
SensorType :: enum c.int {
INVALID = -1, /**< Returned for an invalid sensor */
@@ -252,7 +252,7 @@ SensorType :: enum c.int {
GYRO, /**< Gyroscope */
}
STANDARD_GRAVITY :: 9.80665;
STANDARD_GRAVITY :: 9.80665
@(default_calling_convention="c", link_prefix="SDL_")
@@ -278,9 +278,9 @@ foreign lib {
// shape
NONSHAPEABLE_WINDOW :: -1;
INVALID_SHAPE_ARGUMENT :: -2;
WINDOW_LACKS_SHAPE :: -3;
NONSHAPEABLE_WINDOW :: -1
INVALID_SHAPE_ARGUMENT :: -2
WINDOW_LACKS_SHAPE :: -3
WindowShapeModeEnum :: enum c.int {
/** \brief The default mode, a binarized alpha cutoff of 1. */
@@ -294,7 +294,7 @@ WindowShapeModeEnum :: enum c.int {
}
SDL_SHAPEMODEALPHA :: #force_inline proc "c" (mode: WindowShapeModeEnum) -> bool {
return bool(mode == .Default || mode == .BinarizeAlpha || mode == .ReverseBinarizeAlpha);
return bool(mode == .Default || mode == .BinarizeAlpha || mode == .ReverseBinarizeAlpha)
}
+39 -39
View File
@@ -27,13 +27,13 @@ when ODIN_OS == "freebsd" do foreign import lib "system:SDL2"
*
* There are macros in SDL 2.0 and later to query these bits.
*/
AudioFormat :: distinct u16;
AudioFormat :: distinct u16
AUDIO_MASK_BITSIZE :: 0xFF;
AUDIO_MASK_DATATYPE :: 1<<8;
AUDIO_MASK_ENDIAN :: 1<<12;
AUDIO_MASK_SIGNED :: 1<<15;
AUDIO_MASK_BITSIZE :: 0xFF
AUDIO_MASK_DATATYPE :: 1<<8
AUDIO_MASK_ENDIAN :: 1<<12
AUDIO_MASK_SIGNED :: 1<<15
AUDIO_BITSIZE :: #force_inline proc "c" (x: AudioFormat) -> u8 { return u8(x & AUDIO_MASK_BITSIZE) }
AUDIO_ISFLOAT :: #force_inline proc "c" (x: AudioFormat) -> bool { return (x & AUDIO_MASK_DATATYPE) == AUDIO_MASK_DATATYPE }
AUDIO_ISBIGENDIAN :: #force_inline proc "c" (x: AudioFormat) -> bool { return (x & AUDIO_MASK_ENDIAN) == AUDIO_MASK_ENDIAN }
@@ -42,43 +42,43 @@ AUDIO_ISINT :: #force_inline proc "c" (x: AudioFormat) -> bool { return
AUDIO_ISLITTLEENDIAN :: #force_inline proc "c" (x: AudioFormat) -> bool { return !AUDIO_ISBIGENDIAN(x) }
AUDIO_ISUNSIGNED :: #force_inline proc "c" (x: AudioFormat) -> bool { return !AUDIO_ISSIGNED(x) }
AUDIO_U8 :: 0x0008; /**< Unsigned 8-bit samples */
AUDIO_S8 :: 0x8008; /**< Signed 8-bit samples */
AUDIO_U16LSB :: 0x0010; /**< Unsigned 16-bit samples */
AUDIO_S16LSB :: 0x8010; /**< Signed 16-bit samples */
AUDIO_U16MSB :: 0x1010; /**< As above, but big-endian byte order */
AUDIO_S16MSB :: 0x9010; /**< As above, but big-endian byte order */
AUDIO_U16 :: AUDIO_U16LSB;
AUDIO_S16 :: AUDIO_S16LSB;
AUDIO_U8 :: 0x0008 /**< Unsigned 8-bit samples */
AUDIO_S8 :: 0x8008 /**< Signed 8-bit samples */
AUDIO_U16LSB :: 0x0010 /**< Unsigned 16-bit samples */
AUDIO_S16LSB :: 0x8010 /**< Signed 16-bit samples */
AUDIO_U16MSB :: 0x1010 /**< As above, but big-endian byte order */
AUDIO_S16MSB :: 0x9010 /**< As above, but big-endian byte order */
AUDIO_U16 :: AUDIO_U16LSB
AUDIO_S16 :: AUDIO_S16LSB
AUDIO_S32LSB :: 0x8020; /**< 32-bit integer samples */
AUDIO_S32MSB :: 0x9020; /**< As above, but big-endian byte order */
AUDIO_S32 :: AUDIO_S32LSB;
AUDIO_S32LSB :: 0x8020 /**< 32-bit integer samples */
AUDIO_S32MSB :: 0x9020 /**< As above, but big-endian byte order */
AUDIO_S32 :: AUDIO_S32LSB
AUDIO_F32LSB :: 0x8120; /**< 32-bit floating point samples */
AUDIO_F32MSB :: 0x9120; /**< As above, but big-endian byte order */
AUDIO_F32 :: AUDIO_F32LSB;
AUDIO_F32LSB :: 0x8120 /**< 32-bit floating point samples */
AUDIO_F32MSB :: 0x9120 /**< As above, but big-endian byte order */
AUDIO_F32 :: AUDIO_F32LSB
when ODIN_ENDIAN == "little" {
AUDIO_U16SYS :: AUDIO_U16LSB;
AUDIO_S16SYS :: AUDIO_S16LSB;
AUDIO_S32SYS :: AUDIO_S32LSB;
AUDIO_F32SYS :: AUDIO_F32LSB;
AUDIO_U16SYS :: AUDIO_U16LSB
AUDIO_S16SYS :: AUDIO_S16LSB
AUDIO_S32SYS :: AUDIO_S32LSB
AUDIO_F32SYS :: AUDIO_F32LSB
} else {
AUDIO_U16SYS :: AUDIO_U16MSB;
AUDIO_S16SYS :: AUDIO_S16MSB;
AUDIO_S32SYS :: AUDIO_S32MSB;
AUDIO_F32SYS :: AUDIO_F32MSB;
AUDIO_U16SYS :: AUDIO_U16MSB
AUDIO_S16SYS :: AUDIO_S16MSB
AUDIO_S32SYS :: AUDIO_S32MSB
AUDIO_F32SYS :: AUDIO_F32MSB
}
AUDIO_ALLOW_FREQUENCY_CHANGE :: 0x00000001;
AUDIO_ALLOW_FORMAT_CHANGE :: 0x00000002;
AUDIO_ALLOW_CHANNELS_CHANGE :: 0x00000004;
AUDIO_ALLOW_SAMPLES_CHANGE :: 0x00000008;
AUDIO_ALLOW_ANY_CHANGE :: AUDIO_ALLOW_FREQUENCY_CHANGE|AUDIO_ALLOW_FORMAT_CHANGE|AUDIO_ALLOW_CHANNELS_CHANGE|AUDIO_ALLOW_SAMPLES_CHANGE;
AUDIO_ALLOW_FREQUENCY_CHANGE :: 0x00000001
AUDIO_ALLOW_FORMAT_CHANGE :: 0x00000002
AUDIO_ALLOW_CHANNELS_CHANGE :: 0x00000004
AUDIO_ALLOW_SAMPLES_CHANGE :: 0x00000008
AUDIO_ALLOW_ANY_CHANGE :: AUDIO_ALLOW_FREQUENCY_CHANGE|AUDIO_ALLOW_FORMAT_CHANGE|AUDIO_ALLOW_CHANNELS_CHANGE|AUDIO_ALLOW_SAMPLES_CHANGE
AudioCallback :: proc "c" (userdata: rawptr, stream: [^]u8, len: c.int);
AudioCallback :: proc "c" (userdata: rawptr, stream: [^]u8, len: c.int)
/**
* The calculated values in this structure are calculated by SDL_OpenAudio().
@@ -105,9 +105,9 @@ AudioSpec :: struct {
}
AudioFilter :: proc "c" (cvt: ^AudioCVT, format: AudioFormat);
AudioFilter :: proc "c" (cvt: ^AudioCVT, format: AudioFormat)
AUDIOCVT_MAX_FILTERS :: 9;
AUDIOCVT_MAX_FILTERS :: 9
AudioCVT :: struct #packed {
needed: c.int, /**< Set to 1 if conversion possible */
@@ -125,7 +125,7 @@ AudioCVT :: struct #packed {
AudioDeviceID :: distinct u32;
AudioDeviceID :: distinct u32
@(default_calling_convention="c", link_prefix="SDL_")
foreign lib {
@@ -166,7 +166,7 @@ foreign lib {
/* this is opaque to the outside world. */
AudioStream :: struct {};
AudioStream :: struct {}
@(default_calling_convention="c", link_prefix="SDL_")
foreign lib {
@@ -180,7 +180,7 @@ foreign lib {
* Compatibility convenience function.
*/
LoadWAV :: #force_inline proc "c" (file: cstring, spec: ^AudioSpec, audio_buf: ^[^]u8, audio_len: ^u32) -> ^AudioSpec {
return LoadWAV_RW(RWFromFile(file, "rb"), true, spec, audio_buf, audio_len);
return LoadWAV_RW(RWFromFile(file, "rb"), true, spec, audio_buf, audio_len)
}
@(default_calling_convention="c", link_prefix="SDL_")
@@ -221,7 +221,7 @@ foreign lib {
}
MIX_MAXVOLUME :: 128;
MIX_MAXVOLUME :: 128
@(default_calling_convention="c", link_prefix="SDL_")
foreign lib {
+1 -1
View File
@@ -12,7 +12,7 @@ when ODIN_OS == "freebsd" do foreign import lib "system:SDL2"
* The 64-bit PowerPC processors have a 128 byte cache line.
* We'll use the larger value to be generally safe.
*/
CACHELINE_SIZE :: 128;
CACHELINE_SIZE :: 128
@(default_calling_convention="c", link_prefix="SDL_")
+9 -9
View File
@@ -7,8 +7,8 @@ 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"
RELEASED :: 0;
PRESSED :: 1;
RELEASED :: 0
PRESSED :: 1
EventType :: enum u32 {
FIRSTEVENT = 0, /**< Unused (do not remove) */
@@ -167,7 +167,7 @@ KeyboardEvent :: struct {
keysym: Keysym, /**< The key that was pressed or released */
}
TEXTEDITINGEVENT_TEXT_SIZE :: 32;
TEXTEDITINGEVENT_TEXT_SIZE :: 32
TextEditingEvent :: struct {
type: EventType, /**< ::SDL_TEXTEDITING */
timestamp: u32, /**< In milliseconds, populated using SDL_GetTicks() */
@@ -178,7 +178,7 @@ TextEditingEvent :: struct {
}
TEXTINPUTEVENT_TEXT_SIZE :: 32;
TEXTINPUTEVENT_TEXT_SIZE :: 32
TextInputEvent :: struct {
type: EventType, /**< ::SDL_TEXTINPUT */
timestamp: u32, /**< In milliseconds, populated using SDL_GetTicks() */
@@ -468,12 +468,12 @@ eventaction :: enum c.int {
GETEVENT,
}
EventFilter :: proc "c" (userdata: rawptr, event: ^Event) -> c.int;
EventFilter :: proc "c" (userdata: rawptr, event: ^Event) -> c.int
QUERY :: -1;
IGNORE :: 0;
DISABLE :: 0;
ENABLE :: 1;
QUERY :: -1
IGNORE :: 0
DISABLE :: 0
ENABLE :: 1
GetEventState :: #force_inline proc "c" (type: EventType) -> u8 { return EventState(type, QUERY) }
+2 -2
View File
@@ -7,7 +7,7 @@ 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"
GameController :: struct {};
GameController :: struct {}
GameControllerType :: enum c.int {
UNKNOWN = 0,
@@ -80,7 +80,7 @@ GameControllerButton :: enum c.int {
GameControllerAddMappingsFromFile :: #force_inline proc "c" (file: cstring) -> c.int {
return GameControllerAddMappingsFromRW(RWFromFile(file, "rb"), true);
return GameControllerAddMappingsFromRW(RWFromFile(file, "rb"), true)
}
+23 -23
View File
@@ -9,7 +9,7 @@ when ODIN_OS == "freebsd" do foreign import lib "system:SDL2"
// Gesture
GestureID :: distinct i64;
GestureID :: distinct i64
@(default_calling_convention="c", link_prefix="SDL_")
foreign lib {
@@ -21,7 +21,7 @@ foreign lib {
// Haptic
Haptic :: struct {};
Haptic :: struct {}
HapticType :: enum u16 {
@@ -42,22 +42,22 @@ HapticType :: enum u16 {
STATUS = 1<<14,
PAUSE = 1<<15,
}
HAPTIC_CONSTANT :: HapticType.CONSTANT;
HAPTIC_SINE :: HapticType.SINE;
HAPTIC_LEFTRIGHT :: HapticType.LEFTRIGHT;
HAPTIC_TRIANGLE :: HapticType.TRIANGLE;
HAPTIC_SAWTOOTHUP :: HapticType.SAWTOOTHUP;
HAPTIC_SAWTOOTHDOWN :: HapticType.SAWTOOTHDOWN;
HAPTIC_RAMP :: HapticType.RAMP;
HAPTIC_SPRING :: HapticType.SPRING;
HAPTIC_DAMPER :: HapticType.DAMPER;
HAPTIC_INERTIA :: HapticType.INERTIA;
HAPTIC_FRICTION :: HapticType.FRICTION;
HAPTIC_CUSTOM :: HapticType.CUSTOM;
HAPTIC_GAIN :: HapticType.GAIN;
HAPTIC_AUTOCENTER :: HapticType.AUTOCENTER;
HAPTIC_STATUS :: HapticType.STATUS;
HAPTIC_PAUSE :: HapticType.PAUSE;
HAPTIC_CONSTANT :: HapticType.CONSTANT
HAPTIC_SINE :: HapticType.SINE
HAPTIC_LEFTRIGHT :: HapticType.LEFTRIGHT
HAPTIC_TRIANGLE :: HapticType.TRIANGLE
HAPTIC_SAWTOOTHUP :: HapticType.SAWTOOTHUP
HAPTIC_SAWTOOTHDOWN :: HapticType.SAWTOOTHDOWN
HAPTIC_RAMP :: HapticType.RAMP
HAPTIC_SPRING :: HapticType.SPRING
HAPTIC_DAMPER :: HapticType.DAMPER
HAPTIC_INERTIA :: HapticType.INERTIA
HAPTIC_FRICTION :: HapticType.FRICTION
HAPTIC_CUSTOM :: HapticType.CUSTOM
HAPTIC_GAIN :: HapticType.GAIN
HAPTIC_AUTOCENTER :: HapticType.AUTOCENTER
HAPTIC_STATUS :: HapticType.STATUS
HAPTIC_PAUSE :: HapticType.PAUSE
HapticDirectionType :: enum u8 {
POLAR = 0,
@@ -66,12 +66,12 @@ HapticDirectionType :: enum u8 {
STEERING_AXIS = 3,
}
HAPTIC_POLAR :: HapticDirectionType.POLAR;
HAPTIC_CARTESIAN :: HapticDirectionType.CARTESIAN;
HAPTIC_SPHERICAL :: HapticDirectionType.SPHERICAL;
HAPTIC_STEERING_AXIS :: HapticDirectionType.STEERING_AXIS;
HAPTIC_POLAR :: HapticDirectionType.POLAR
HAPTIC_CARTESIAN :: HapticDirectionType.CARTESIAN
HAPTIC_SPHERICAL :: HapticDirectionType.SPHERICAL
HAPTIC_STEERING_AXIS :: HapticDirectionType.STEERING_AXIS
HAPTIC_INFINITY :: 4294967295;
HAPTIC_INFINITY :: 4294967295
HapticDirection :: struct {
type: HapticDirectionType, /**< The type of encoding. */
+122 -122
View File
@@ -7,127 +7,127 @@ 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"
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";
HINT_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION :: "SDL_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION";
HINT_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION :: "SDL_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION";
HINT_ANDROID_BLOCK_ON_PAUSE :: "SDL_ANDROID_BLOCK_ON_PAUSE";
HINT_ANDROID_BLOCK_ON_PAUSE_PAUSEAUDIO :: "SDL_ANDROID_BLOCK_ON_PAUSE_PAUSEAUDIO";
HINT_ANDROID_TRAP_BACK_BUTTON :: "SDL_ANDROID_TRAP_BACK_BUTTON";
HINT_APPLE_TV_CONTROLLER_UI_EVENTS :: "SDL_APPLE_TV_CONTROLLER_UI_EVENTS";
HINT_APPLE_TV_REMOTE_ALLOW_ROTATION :: "SDL_APPLE_TV_REMOTE_ALLOW_ROTATION";
HINT_AUDIO_CATEGORY :: "SDL_AUDIO_CATEGORY";
HINT_AUDIO_DEVICE_APP_NAME :: "SDL_AUDIO_DEVICE_APP_NAME";
HINT_AUDIO_DEVICE_STREAM_NAME :: "SDL_AUDIO_DEVICE_STREAM_NAME";
HINT_AUDIO_DEVICE_STREAM_ROLE :: "SDL_AUDIO_DEVICE_STREAM_ROLE";
HINT_AUDIO_RESAMPLING_MODE :: "SDL_AUDIO_RESAMPLING_MODE";
HINT_AUTO_UPDATE_JOYSTICKS :: "SDL_AUTO_UPDATE_JOYSTICKS";
HINT_AUTO_UPDATE_SENSORS :: "SDL_AUTO_UPDATE_SENSORS";
HINT_BMP_SAVE_LEGACY_FORMAT :: "SDL_BMP_SAVE_LEGACY_FORMAT";
HINT_DISPLAY_USABLE_BOUNDS :: "SDL_DISPLAY_USABLE_BOUNDS";
HINT_EMSCRIPTEN_ASYNCIFY :: "SDL_EMSCRIPTEN_ASYNCIFY";
HINT_EMSCRIPTEN_KEYBOARD_ELEMENT :: "SDL_EMSCRIPTEN_KEYBOARD_ELEMENT";
HINT_ENABLE_STEAM_CONTROLLERS :: "SDL_ENABLE_STEAM_CONTROLLERS";
HINT_EVENT_LOGGING :: "SDL_EVENT_LOGGING";
HINT_FRAMEBUFFER_ACCELERATION :: "SDL_FRAMEBUFFER_ACCELERATION";
HINT_GAMECONTROLLERCONFIG :: "SDL_GAMECONTROLLERCONFIG";
HINT_GAMECONTROLLERCONFIG_FILE :: "SDL_GAMECONTROLLERCONFIG_FILE";
HINT_GAMECONTROLLERTYPE :: "SDL_GAMECONTROLLERTYPE";
HINT_GAMECONTROLLER_IGNORE_DEVICES :: "SDL_GAMECONTROLLER_IGNORE_DEVICES";
HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT :: "SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT";
HINT_GAMECONTROLLER_USE_BUTTON_LABELS :: "SDL_GAMECONTROLLER_USE_BUTTON_LABELS";
HINT_GRAB_KEYBOARD :: "SDL_GRAB_KEYBOARD";
HINT_IDLE_TIMER_DISABLED :: "SDL_IOS_IDLE_TIMER_DISABLED";
HINT_IME_INTERNAL_EDITING :: "SDL_IME_INTERNAL_EDITING";
HINT_IOS_HIDE_HOME_INDICATOR :: "SDL_IOS_HIDE_HOME_INDICATOR";
HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS :: "SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS";
HINT_JOYSTICK_HIDAPI :: "SDL_JOYSTICK_HIDAPI";
HINT_JOYSTICK_HIDAPI_GAMECUBE :: "SDL_JOYSTICK_HIDAPI_GAMECUBE";
HINT_JOYSTICK_HIDAPI_JOY_CONS :: "SDL_JOYSTICK_HIDAPI_JOY_CONS";
HINT_JOYSTICK_HIDAPI_LUNA :: "SDL_JOYSTICK_HIDAPI_LUNA";
HINT_JOYSTICK_HIDAPI_PS4 :: "SDL_JOYSTICK_HIDAPI_PS4";
HINT_JOYSTICK_HIDAPI_PS4_RUMBLE :: "SDL_JOYSTICK_HIDAPI_PS4_RUMBLE";
HINT_JOYSTICK_HIDAPI_PS5 :: "SDL_JOYSTICK_HIDAPI_PS5";
HINT_JOYSTICK_HIDAPI_PS5_PLAYER_LED :: "SDL_JOYSTICK_HIDAPI_PS5_PLAYER_LED";
HINT_JOYSTICK_HIDAPI_PS5_RUMBLE :: "SDL_JOYSTICK_HIDAPI_PS5_RUMBLE";
HINT_JOYSTICK_HIDAPI_STADIA :: "SDL_JOYSTICK_HIDAPI_STADIA";
HINT_JOYSTICK_HIDAPI_STEAM :: "SDL_JOYSTICK_HIDAPI_STEAM";
HINT_JOYSTICK_HIDAPI_SWITCH :: "SDL_JOYSTICK_HIDAPI_SWITCH";
HINT_JOYSTICK_HIDAPI_SWITCH_HOME_LED :: "SDL_JOYSTICK_HIDAPI_SWITCH_HOME_LED";
HINT_JOYSTICK_HIDAPI_XBOX :: "SDL_JOYSTICK_HIDAPI_XBOX";
HINT_JOYSTICK_RAWINPUT :: "SDL_JOYSTICK_RAWINPUT";
HINT_JOYSTICK_RAWINPUT_CORRELATE_XINPUT :: "SDL_JOYSTICK_RAWINPUT_CORRELATE_XINPUT";
HINT_JOYSTICK_THREAD :: "SDL_JOYSTICK_THREAD";
HINT_KMSDRM_REQUIRE_DRM_MASTER :: "SDL_KMSDRM_REQUIRE_DRM_MASTER";
HINT_LINUX_JOYSTICK_DEADZONES :: "SDL_LINUX_JOYSTICK_DEADZONES";
HINT_MAC_BACKGROUND_APP :: "SDL_MAC_BACKGROUND_APP";
HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK :: "SDL_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK";
HINT_MOUSE_DOUBLE_CLICK_RADIUS :: "SDL_MOUSE_DOUBLE_CLICK_RADIUS";
HINT_MOUSE_DOUBLE_CLICK_TIME :: "SDL_MOUSE_DOUBLE_CLICK_TIME";
HINT_MOUSE_FOCUS_CLICKTHROUGH :: "SDL_MOUSE_FOCUS_CLICKTHROUGH";
HINT_MOUSE_NORMAL_SPEED_SCALE :: "SDL_MOUSE_NORMAL_SPEED_SCALE";
HINT_MOUSE_RELATIVE_MODE_WARP :: "SDL_MOUSE_RELATIVE_MODE_WARP";
HINT_MOUSE_RELATIVE_SCALING :: "SDL_MOUSE_RELATIVE_SCALING";
HINT_MOUSE_RELATIVE_SPEED_SCALE :: "SDL_MOUSE_RELATIVE_SPEED_SCALE";
HINT_MOUSE_TOUCH_EVENTS :: "SDL_MOUSE_TOUCH_EVENTS";
HINT_NO_SIGNAL_HANDLERS :: "SDL_NO_SIGNAL_HANDLERS";
HINT_OPENGL_ES_DRIVER :: "SDL_OPENGL_ES_DRIVER";
HINT_ORIENTATIONS :: "SDL_IOS_ORIENTATIONS";
HINT_PREFERRED_LOCALES :: "SDL_PREFERRED_LOCALES";
HINT_QTWAYLAND_CONTENT_ORIENTATION :: "SDL_QTWAYLAND_CONTENT_ORIENTATION";
HINT_QTWAYLAND_WINDOW_FLAGS :: "SDL_QTWAYLAND_WINDOW_FLAGS";
HINT_RENDER_BATCHING :: "SDL_RENDER_BATCHING";
HINT_RENDER_DIRECT3D11_DEBUG :: "SDL_RENDER_DIRECT3D11_DEBUG";
HINT_RENDER_DIRECT3D_THREADSAFE :: "SDL_RENDER_DIRECT3D_THREADSAFE";
HINT_RENDER_DRIVER :: "SDL_RENDER_DRIVER";
HINT_RENDER_LOGICAL_SIZE_MODE :: "SDL_RENDER_LOGICAL_SIZE_MODE";
HINT_RENDER_OPENGL_SHADERS :: "SDL_RENDER_OPENGL_SHADERS";
HINT_RENDER_SCALE_QUALITY :: "SDL_RENDER_SCALE_QUALITY";
HINT_RENDER_VSYNC :: "SDL_RENDER_VSYNC";
HINT_RETURN_KEY_HIDES_IME :: "SDL_RETURN_KEY_HIDES_IME";
HINT_RPI_VIDEO_LAYER :: "SDL_RPI_VIDEO_LAYER";
HINT_THREAD_FORCE_REALTIME_TIME_CRITICAL :: "SDL_THREAD_FORCE_REALTIME_TIME_CRITICAL";
HINT_THREAD_PRIORITY_POLICY :: "SDL_THREAD_PRIORITY_POLICY";
HINT_THREAD_STACK_SIZE :: "SDL_THREAD_STACK_SIZE";
HINT_TIMER_RESOLUTION :: "SDL_TIMER_RESOLUTION";
HINT_TOUCH_MOUSE_EVENTS :: "SDL_TOUCH_MOUSE_EVENTS";
HINT_TV_REMOTE_AS_JOYSTICK :: "SDL_TV_REMOTE_AS_JOYSTICK";
HINT_VIDEO_ALLOW_SCREENSAVER :: "SDL_VIDEO_ALLOW_SCREENSAVER";
HINT_VIDEO_DOUBLE_BUFFER :: "SDL_VIDEO_DOUBLE_BUFFER";
HINT_VIDEO_EXTERNAL_CONTEXT :: "SDL_VIDEO_EXTERNAL_CONTEXT";
HINT_VIDEO_HIGHDPI_DISABLED :: "SDL_VIDEO_HIGHDPI_DISABLED";
HINT_VIDEO_MAC_FULLSCREEN_SPACES :: "SDL_VIDEO_MAC_FULLSCREEN_SPACES";
HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS :: "SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS";
HINT_VIDEO_WAYLAND_ALLOW_LIBDECOR :: "SDL_VIDEO_WAYLAND_ALLOW_LIBDECOR";
HINT_VIDEO_WINDOW_SHARE_PIXEL_FORMAT :: "SDL_VIDEO_WINDOW_SHARE_PIXEL_FORMAT";
HINT_VIDEO_WIN_D3DCOMPILER :: "SDL_VIDEO_WIN_D3DCOMPILER";
HINT_VIDEO_X11_FORCE_EGL :: "SDL_VIDEO_X11_FORCE_EGL";
HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR :: "SDL_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR";
HINT_VIDEO_X11_NET_WM_PING :: "SDL_VIDEO_X11_NET_WM_PING";
HINT_VIDEO_X11_WINDOW_VISUALID :: "SDL_VIDEO_X11_WINDOW_VISUALID";
HINT_VIDEO_X11_XINERAMA :: "SDL_VIDEO_X11_XINERAMA";
HINT_VIDEO_X11_XRANDR :: "SDL_VIDEO_X11_XRANDR";
HINT_VIDEO_X11_XVIDMODE :: "SDL_VIDEO_X11_XVIDMODE";
HINT_WAVE_FACT_CHUNK :: "SDL_WAVE_FACT_CHUNK";
HINT_WAVE_RIFF_CHUNK_SIZE :: "SDL_WAVE_RIFF_CHUNK_SIZE";
HINT_WAVE_TRUNCATION :: "SDL_WAVE_TRUNCATION";
HINT_WINDOWS_DISABLE_THREAD_NAMING :: "SDL_WINDOWS_DISABLE_THREAD_NAMING";
HINT_WINDOWS_ENABLE_MESSAGELOOP :: "SDL_WINDOWS_ENABLE_MESSAGELOOP";
HINT_WINDOWS_FORCE_MUTEX_CRITICAL_SECTIONS :: "SDL_WINDOWS_FORCE_MUTEX_CRITICAL_SECTIONS";
HINT_WINDOWS_FORCE_SEMAPHORE_KERNEL :: "SDL_WINDOWS_FORCE_SEMAPHORE_KERNEL";
HINT_WINDOWS_INTRESOURCE_ICON :: "SDL_WINDOWS_INTRESOURCE_ICON";
HINT_WINDOWS_INTRESOURCE_ICON_SMALL :: "SDL_WINDOWS_INTRESOURCE_ICON_SMALL";
HINT_WINDOWS_NO_CLOSE_ON_ALT_F4 :: "SDL_WINDOWS_NO_CLOSE_ON_ALT_F4";
HINT_WINDOWS_USE_D3D9EX :: "SDL_WINDOWS_USE_D3D9EX";
HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN :: "SDL_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN";
HINT_WINRT_HANDLE_BACK_BUTTON :: "SDL_WINRT_HANDLE_BACK_BUTTON";
HINT_WINRT_PRIVACY_POLICY_LABEL :: "SDL_WINRT_PRIVACY_POLICY_LABEL";
HINT_WINRT_PRIVACY_POLICY_URL :: "SDL_WINRT_PRIVACY_POLICY_URL";
HINT_X11_FORCE_OVERRIDE_REDIRECT :: "SDL_X11_FORCE_OVERRIDE_REDIRECT";
HINT_XINPUT_ENABLED :: "SDL_XINPUT_ENABLED";
HINT_XINPUT_USE_OLD_JOYSTICK_MAPPING :: "SDL_XINPUT_USE_OLD_JOYSTICK_MAPPING";
HINT_AUDIO_INCLUDE_MONITORS :: "SDL_AUDIO_INCLUDE_MONITORS";
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"
HINT_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION :: "SDL_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION"
HINT_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION :: "SDL_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION"
HINT_ANDROID_BLOCK_ON_PAUSE :: "SDL_ANDROID_BLOCK_ON_PAUSE"
HINT_ANDROID_BLOCK_ON_PAUSE_PAUSEAUDIO :: "SDL_ANDROID_BLOCK_ON_PAUSE_PAUSEAUDIO"
HINT_ANDROID_TRAP_BACK_BUTTON :: "SDL_ANDROID_TRAP_BACK_BUTTON"
HINT_APPLE_TV_CONTROLLER_UI_EVENTS :: "SDL_APPLE_TV_CONTROLLER_UI_EVENTS"
HINT_APPLE_TV_REMOTE_ALLOW_ROTATION :: "SDL_APPLE_TV_REMOTE_ALLOW_ROTATION"
HINT_AUDIO_CATEGORY :: "SDL_AUDIO_CATEGORY"
HINT_AUDIO_DEVICE_APP_NAME :: "SDL_AUDIO_DEVICE_APP_NAME"
HINT_AUDIO_DEVICE_STREAM_NAME :: "SDL_AUDIO_DEVICE_STREAM_NAME"
HINT_AUDIO_DEVICE_STREAM_ROLE :: "SDL_AUDIO_DEVICE_STREAM_ROLE"
HINT_AUDIO_RESAMPLING_MODE :: "SDL_AUDIO_RESAMPLING_MODE"
HINT_AUTO_UPDATE_JOYSTICKS :: "SDL_AUTO_UPDATE_JOYSTICKS"
HINT_AUTO_UPDATE_SENSORS :: "SDL_AUTO_UPDATE_SENSORS"
HINT_BMP_SAVE_LEGACY_FORMAT :: "SDL_BMP_SAVE_LEGACY_FORMAT"
HINT_DISPLAY_USABLE_BOUNDS :: "SDL_DISPLAY_USABLE_BOUNDS"
HINT_EMSCRIPTEN_ASYNCIFY :: "SDL_EMSCRIPTEN_ASYNCIFY"
HINT_EMSCRIPTEN_KEYBOARD_ELEMENT :: "SDL_EMSCRIPTEN_KEYBOARD_ELEMENT"
HINT_ENABLE_STEAM_CONTROLLERS :: "SDL_ENABLE_STEAM_CONTROLLERS"
HINT_EVENT_LOGGING :: "SDL_EVENT_LOGGING"
HINT_FRAMEBUFFER_ACCELERATION :: "SDL_FRAMEBUFFER_ACCELERATION"
HINT_GAMECONTROLLERCONFIG :: "SDL_GAMECONTROLLERCONFIG"
HINT_GAMECONTROLLERCONFIG_FILE :: "SDL_GAMECONTROLLERCONFIG_FILE"
HINT_GAMECONTROLLERTYPE :: "SDL_GAMECONTROLLERTYPE"
HINT_GAMECONTROLLER_IGNORE_DEVICES :: "SDL_GAMECONTROLLER_IGNORE_DEVICES"
HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT :: "SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT"
HINT_GAMECONTROLLER_USE_BUTTON_LABELS :: "SDL_GAMECONTROLLER_USE_BUTTON_LABELS"
HINT_GRAB_KEYBOARD :: "SDL_GRAB_KEYBOARD"
HINT_IDLE_TIMER_DISABLED :: "SDL_IOS_IDLE_TIMER_DISABLED"
HINT_IME_INTERNAL_EDITING :: "SDL_IME_INTERNAL_EDITING"
HINT_IOS_HIDE_HOME_INDICATOR :: "SDL_IOS_HIDE_HOME_INDICATOR"
HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS :: "SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS"
HINT_JOYSTICK_HIDAPI :: "SDL_JOYSTICK_HIDAPI"
HINT_JOYSTICK_HIDAPI_GAMECUBE :: "SDL_JOYSTICK_HIDAPI_GAMECUBE"
HINT_JOYSTICK_HIDAPI_JOY_CONS :: "SDL_JOYSTICK_HIDAPI_JOY_CONS"
HINT_JOYSTICK_HIDAPI_LUNA :: "SDL_JOYSTICK_HIDAPI_LUNA"
HINT_JOYSTICK_HIDAPI_PS4 :: "SDL_JOYSTICK_HIDAPI_PS4"
HINT_JOYSTICK_HIDAPI_PS4_RUMBLE :: "SDL_JOYSTICK_HIDAPI_PS4_RUMBLE"
HINT_JOYSTICK_HIDAPI_PS5 :: "SDL_JOYSTICK_HIDAPI_PS5"
HINT_JOYSTICK_HIDAPI_PS5_PLAYER_LED :: "SDL_JOYSTICK_HIDAPI_PS5_PLAYER_LED"
HINT_JOYSTICK_HIDAPI_PS5_RUMBLE :: "SDL_JOYSTICK_HIDAPI_PS5_RUMBLE"
HINT_JOYSTICK_HIDAPI_STADIA :: "SDL_JOYSTICK_HIDAPI_STADIA"
HINT_JOYSTICK_HIDAPI_STEAM :: "SDL_JOYSTICK_HIDAPI_STEAM"
HINT_JOYSTICK_HIDAPI_SWITCH :: "SDL_JOYSTICK_HIDAPI_SWITCH"
HINT_JOYSTICK_HIDAPI_SWITCH_HOME_LED :: "SDL_JOYSTICK_HIDAPI_SWITCH_HOME_LED"
HINT_JOYSTICK_HIDAPI_XBOX :: "SDL_JOYSTICK_HIDAPI_XBOX"
HINT_JOYSTICK_RAWINPUT :: "SDL_JOYSTICK_RAWINPUT"
HINT_JOYSTICK_RAWINPUT_CORRELATE_XINPUT :: "SDL_JOYSTICK_RAWINPUT_CORRELATE_XINPUT"
HINT_JOYSTICK_THREAD :: "SDL_JOYSTICK_THREAD"
HINT_KMSDRM_REQUIRE_DRM_MASTER :: "SDL_KMSDRM_REQUIRE_DRM_MASTER"
HINT_LINUX_JOYSTICK_DEADZONES :: "SDL_LINUX_JOYSTICK_DEADZONES"
HINT_MAC_BACKGROUND_APP :: "SDL_MAC_BACKGROUND_APP"
HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK :: "SDL_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK"
HINT_MOUSE_DOUBLE_CLICK_RADIUS :: "SDL_MOUSE_DOUBLE_CLICK_RADIUS"
HINT_MOUSE_DOUBLE_CLICK_TIME :: "SDL_MOUSE_DOUBLE_CLICK_TIME"
HINT_MOUSE_FOCUS_CLICKTHROUGH :: "SDL_MOUSE_FOCUS_CLICKTHROUGH"
HINT_MOUSE_NORMAL_SPEED_SCALE :: "SDL_MOUSE_NORMAL_SPEED_SCALE"
HINT_MOUSE_RELATIVE_MODE_WARP :: "SDL_MOUSE_RELATIVE_MODE_WARP"
HINT_MOUSE_RELATIVE_SCALING :: "SDL_MOUSE_RELATIVE_SCALING"
HINT_MOUSE_RELATIVE_SPEED_SCALE :: "SDL_MOUSE_RELATIVE_SPEED_SCALE"
HINT_MOUSE_TOUCH_EVENTS :: "SDL_MOUSE_TOUCH_EVENTS"
HINT_NO_SIGNAL_HANDLERS :: "SDL_NO_SIGNAL_HANDLERS"
HINT_OPENGL_ES_DRIVER :: "SDL_OPENGL_ES_DRIVER"
HINT_ORIENTATIONS :: "SDL_IOS_ORIENTATIONS"
HINT_PREFERRED_LOCALES :: "SDL_PREFERRED_LOCALES"
HINT_QTWAYLAND_CONTENT_ORIENTATION :: "SDL_QTWAYLAND_CONTENT_ORIENTATION"
HINT_QTWAYLAND_WINDOW_FLAGS :: "SDL_QTWAYLAND_WINDOW_FLAGS"
HINT_RENDER_BATCHING :: "SDL_RENDER_BATCHING"
HINT_RENDER_DIRECT3D11_DEBUG :: "SDL_RENDER_DIRECT3D11_DEBUG"
HINT_RENDER_DIRECT3D_THREADSAFE :: "SDL_RENDER_DIRECT3D_THREADSAFE"
HINT_RENDER_DRIVER :: "SDL_RENDER_DRIVER"
HINT_RENDER_LOGICAL_SIZE_MODE :: "SDL_RENDER_LOGICAL_SIZE_MODE"
HINT_RENDER_OPENGL_SHADERS :: "SDL_RENDER_OPENGL_SHADERS"
HINT_RENDER_SCALE_QUALITY :: "SDL_RENDER_SCALE_QUALITY"
HINT_RENDER_VSYNC :: "SDL_RENDER_VSYNC"
HINT_RETURN_KEY_HIDES_IME :: "SDL_RETURN_KEY_HIDES_IME"
HINT_RPI_VIDEO_LAYER :: "SDL_RPI_VIDEO_LAYER"
HINT_THREAD_FORCE_REALTIME_TIME_CRITICAL :: "SDL_THREAD_FORCE_REALTIME_TIME_CRITICAL"
HINT_THREAD_PRIORITY_POLICY :: "SDL_THREAD_PRIORITY_POLICY"
HINT_THREAD_STACK_SIZE :: "SDL_THREAD_STACK_SIZE"
HINT_TIMER_RESOLUTION :: "SDL_TIMER_RESOLUTION"
HINT_TOUCH_MOUSE_EVENTS :: "SDL_TOUCH_MOUSE_EVENTS"
HINT_TV_REMOTE_AS_JOYSTICK :: "SDL_TV_REMOTE_AS_JOYSTICK"
HINT_VIDEO_ALLOW_SCREENSAVER :: "SDL_VIDEO_ALLOW_SCREENSAVER"
HINT_VIDEO_DOUBLE_BUFFER :: "SDL_VIDEO_DOUBLE_BUFFER"
HINT_VIDEO_EXTERNAL_CONTEXT :: "SDL_VIDEO_EXTERNAL_CONTEXT"
HINT_VIDEO_HIGHDPI_DISABLED :: "SDL_VIDEO_HIGHDPI_DISABLED"
HINT_VIDEO_MAC_FULLSCREEN_SPACES :: "SDL_VIDEO_MAC_FULLSCREEN_SPACES"
HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS :: "SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS"
HINT_VIDEO_WAYLAND_ALLOW_LIBDECOR :: "SDL_VIDEO_WAYLAND_ALLOW_LIBDECOR"
HINT_VIDEO_WINDOW_SHARE_PIXEL_FORMAT :: "SDL_VIDEO_WINDOW_SHARE_PIXEL_FORMAT"
HINT_VIDEO_WIN_D3DCOMPILER :: "SDL_VIDEO_WIN_D3DCOMPILER"
HINT_VIDEO_X11_FORCE_EGL :: "SDL_VIDEO_X11_FORCE_EGL"
HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR :: "SDL_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR"
HINT_VIDEO_X11_NET_WM_PING :: "SDL_VIDEO_X11_NET_WM_PING"
HINT_VIDEO_X11_WINDOW_VISUALID :: "SDL_VIDEO_X11_WINDOW_VISUALID"
HINT_VIDEO_X11_XINERAMA :: "SDL_VIDEO_X11_XINERAMA"
HINT_VIDEO_X11_XRANDR :: "SDL_VIDEO_X11_XRANDR"
HINT_VIDEO_X11_XVIDMODE :: "SDL_VIDEO_X11_XVIDMODE"
HINT_WAVE_FACT_CHUNK :: "SDL_WAVE_FACT_CHUNK"
HINT_WAVE_RIFF_CHUNK_SIZE :: "SDL_WAVE_RIFF_CHUNK_SIZE"
HINT_WAVE_TRUNCATION :: "SDL_WAVE_TRUNCATION"
HINT_WINDOWS_DISABLE_THREAD_NAMING :: "SDL_WINDOWS_DISABLE_THREAD_NAMING"
HINT_WINDOWS_ENABLE_MESSAGELOOP :: "SDL_WINDOWS_ENABLE_MESSAGELOOP"
HINT_WINDOWS_FORCE_MUTEX_CRITICAL_SECTIONS :: "SDL_WINDOWS_FORCE_MUTEX_CRITICAL_SECTIONS"
HINT_WINDOWS_FORCE_SEMAPHORE_KERNEL :: "SDL_WINDOWS_FORCE_SEMAPHORE_KERNEL"
HINT_WINDOWS_INTRESOURCE_ICON :: "SDL_WINDOWS_INTRESOURCE_ICON"
HINT_WINDOWS_INTRESOURCE_ICON_SMALL :: "SDL_WINDOWS_INTRESOURCE_ICON_SMALL"
HINT_WINDOWS_NO_CLOSE_ON_ALT_F4 :: "SDL_WINDOWS_NO_CLOSE_ON_ALT_F4"
HINT_WINDOWS_USE_D3D9EX :: "SDL_WINDOWS_USE_D3D9EX"
HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN :: "SDL_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN"
HINT_WINRT_HANDLE_BACK_BUTTON :: "SDL_WINRT_HANDLE_BACK_BUTTON"
HINT_WINRT_PRIVACY_POLICY_LABEL :: "SDL_WINRT_PRIVACY_POLICY_LABEL"
HINT_WINRT_PRIVACY_POLICY_URL :: "SDL_WINRT_PRIVACY_POLICY_URL"
HINT_X11_FORCE_OVERRIDE_REDIRECT :: "SDL_X11_FORCE_OVERRIDE_REDIRECT"
HINT_XINPUT_ENABLED :: "SDL_XINPUT_ENABLED"
HINT_XINPUT_USE_OLD_JOYSTICK_MAPPING :: "SDL_XINPUT_USE_OLD_JOYSTICK_MAPPING"
HINT_AUDIO_INCLUDE_MONITORS :: "SDL_AUDIO_INCLUDE_MONITORS"
HintPriority :: enum c.int {
DEFAULT,
@@ -135,7 +135,7 @@ HintPriority :: enum c.int {
OVERRIDE,
}
HintCallback :: proc "c" (userdata: rawptr, name, oldValue, newValue: cstring);
HintCallback :: proc "c" (userdata: rawptr, name, oldValue, newValue: cstring)
@(default_calling_convention="c", link_prefix="SDL_")
foreign lib {
+14 -14
View File
@@ -7,13 +7,13 @@ 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"
Joystick :: struct {};
Joystick :: struct {}
JoystickGUID :: struct {
data: [16]u8,
}
JoystickID :: distinct i32;
JoystickID :: distinct i32
JoystickType :: enum c.int {
UNKNOWN,
@@ -38,20 +38,20 @@ JoystickPowerLevel :: enum c.int {
MAX,
}
IPHONE_MAX_GFORCE :: 5.0;
IPHONE_MAX_GFORCE :: 5.0
JOYSTICK_AXIS_MAX :: +32767;
JOYSTICK_AXIS_MIN :: -32768;
JOYSTICK_AXIS_MAX :: +32767
JOYSTICK_AXIS_MIN :: -32768
HAT_CENTERED :: 0x00;
HAT_UP :: 0x01;
HAT_RIGHT :: 0x02;
HAT_DOWN :: 0x04;
HAT_LEFT :: 0x08;
HAT_RIGHTUP :: HAT_RIGHT|HAT_UP;
HAT_RIGHTDOWN :: HAT_RIGHT|HAT_DOWN;
HAT_LEFTUP :: HAT_LEFT|HAT_UP;
HAT_LEFTDOWN :: HAT_LEFT|HAT_DOWN;
HAT_CENTERED :: 0x00
HAT_UP :: 0x01
HAT_RIGHT :: 0x02
HAT_DOWN :: 0x04
HAT_LEFT :: 0x08
HAT_RIGHTUP :: HAT_RIGHT|HAT_UP
HAT_RIGHTDOWN :: HAT_RIGHT|HAT_DOWN
HAT_LEFTUP :: HAT_LEFT|HAT_UP
HAT_LEFTDOWN :: HAT_LEFT|HAT_DOWN
@(default_calling_convention="c", link_prefix="SDL_")
foreign lib {
+4 -4
View File
@@ -34,12 +34,12 @@ foreign lib {
}
GetKeyboardStateAsSlice :: proc "c" () -> []u8 {
numkeys: c.int;
keys := GetKeyboardState(&numkeys);
numkeys: c.int
keys := GetKeyboardState(&numkeys)
if keys != nil {
return keys[:numkeys];
return keys[:numkeys]
}
return nil;
return nil
}
GetModState :: #force_inline proc "c" () -> Keymod { return transmute(Keymod)u16(SDL_GetModState()) }
+19 -19
View File
@@ -1,9 +1,9 @@
package sdl2
SCANCODE_MASK :: 1<<30;
SCANCODE_MASK :: 1<<30
SCANCODE_TO_KEYCODE :: #force_inline proc "c" (X: Scancode) -> KeyCode {
return KeyCode(i32(X) | SCANCODE_MASK);
return KeyCode(i32(X) | SCANCODE_MASK)
}
KeyCode :: enum i32 {
@@ -309,22 +309,22 @@ KeymodFlag :: enum u16 {
RESERVED = 0xf,
}
Keymod :: distinct bit_set[KeymodFlag; u16];
Keymod :: distinct bit_set[KeymodFlag; u16]
KMOD_NONE :: Keymod{};
KMOD_LSHIFT :: Keymod{.LSHIFT};
KMOD_RSHIFT :: Keymod{.RSHIFT};
KMOD_LCTRL :: Keymod{.LCTRL};
KMOD_RCTRL :: Keymod{.RCTRL};
KMOD_LALT :: Keymod{.LALT};
KMOD_RALT :: Keymod{.RALT};
KMOD_LGUI :: Keymod{.LGUI};
KMOD_RGUI :: Keymod{.RGUI};
KMOD_NUM :: Keymod{.NUM};
KMOD_CAPS :: Keymod{.CAPS};
KMOD_MODE :: Keymod{.MODE};
KMOD_RESERVED :: Keymod{.RESERVED};
KMOD_CTRL :: Keymod{.LCTRL, .RCTRL};
KMOD_SHIFT :: Keymod{.LSHIFT, .RSHIFT};
KMOD_ALT :: Keymod{.LALT, .RALT};
KMOD_NONE :: Keymod{}
KMOD_LSHIFT :: Keymod{.LSHIFT}
KMOD_RSHIFT :: Keymod{.RSHIFT}
KMOD_LCTRL :: Keymod{.LCTRL}
KMOD_RCTRL :: Keymod{.RCTRL}
KMOD_LALT :: Keymod{.LALT}
KMOD_RALT :: Keymod{.RALT}
KMOD_LGUI :: Keymod{.LGUI}
KMOD_RGUI :: Keymod{.RGUI}
KMOD_NUM :: Keymod{.NUM}
KMOD_CAPS :: Keymod{.CAPS}
KMOD_MODE :: Keymod{.MODE}
KMOD_RESERVED :: Keymod{.RESERVED}
KMOD_CTRL :: Keymod{.LCTRL, .RCTRL}
KMOD_SHIFT :: Keymod{.LSHIFT, .RSHIFT}
KMOD_ALT :: Keymod{.LALT, .RALT}
KMOD_GUI :: Keymod{.LGUI, .RGUI};
+2 -2
View File
@@ -7,7 +7,7 @@ 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;
MAX_LOG_MESSAGE :: 4096
LogCategory :: enum c.int {
APPLICATION,
@@ -54,7 +54,7 @@ LogPriority :: enum c.int {
NUM,
}
LogOutputFunction :: proc "c" (userdata: rawptr, category: LogCategory, priority: LogPriority, message: cstring);
LogOutputFunction :: proc "c" (userdata: rawptr, category: LogCategory, priority: LogPriority, message: cstring)
@(default_calling_convention="c", link_prefix="SDL_")
+9 -9
View File
@@ -17,22 +17,22 @@ MessageBoxFlag :: enum u32 {
}
MessageBoxFlags :: distinct bit_set[MessageBoxFlag; u32];
MessageBoxFlags :: distinct bit_set[MessageBoxFlag; u32]
MESSAGEBOX_ERROR :: MessageBoxFlags{.ERROR};
MESSAGEBOX_WARNING :: MessageBoxFlags{.WARNING};
MESSAGEBOX_INFORMATION :: MessageBoxFlags{.INFORMATION};
MESSAGEBOX_BUTTONS_LEFT_TO_RIGHT :: MessageBoxFlags{.BUTTONS_LEFT_TO_RIGHT};
MESSAGEBOX_BUTTONS_RIGHT_TO_LEFT :: MessageBoxFlags{.BUTTONS_RIGHT_TO_LEFT};
MESSAGEBOX_ERROR :: MessageBoxFlags{.ERROR}
MESSAGEBOX_WARNING :: MessageBoxFlags{.WARNING}
MESSAGEBOX_INFORMATION :: MessageBoxFlags{.INFORMATION}
MESSAGEBOX_BUTTONS_LEFT_TO_RIGHT :: MessageBoxFlags{.BUTTONS_LEFT_TO_RIGHT}
MESSAGEBOX_BUTTONS_RIGHT_TO_LEFT :: MessageBoxFlags{.BUTTONS_RIGHT_TO_LEFT}
MessageBoxButtonFlag :: enum u32 {
RETURNKEY_DEFAULT = 0, /**< Marks the default button when return is hit */
ESCAPEKEY_DEFAULT = 1, /**< Marks the default button when escape is hit */
}
MessageBoxButtonFlags :: distinct bit_set[MessageBoxButtonFlag; u32];
MessageBoxButtonFlags :: distinct bit_set[MessageBoxButtonFlag; u32]
MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT :: MessageBoxButtonFlags{.RETURNKEY_DEFAULT};
MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT :: MessageBoxButtonFlags{.ESCAPEKEY_DEFAULT};
MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT :: MessageBoxButtonFlags{.RETURNKEY_DEFAULT}
MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT :: MessageBoxButtonFlags{.ESCAPEKEY_DEFAULT}
MessageBoxButtonData :: struct {
flags: MessageBoxButtonFlags, /**< ::SDL_MessageBoxButtonFlags */
+1 -1
View File
@@ -7,7 +7,7 @@ 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"
MetalView :: distinct rawptr;
MetalView :: distinct rawptr
@(default_calling_convention="c", link_prefix="SDL_")
foreign lib {
+11 -11
View File
@@ -7,19 +7,19 @@ 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"
Cursor :: struct {};
Cursor :: struct {}
BUTTON :: #force_inline proc "c" (X: c.int) -> c.int { return 1 << u32(X-1) }
BUTTON_LEFT :: 1;
BUTTON_MIDDLE :: 2;
BUTTON_RIGHT :: 3;
BUTTON_X1 :: 4;
BUTTON_X2 :: 5;
BUTTON_LMASK :: 1<<(BUTTON_LEFT-1);
BUTTON_MMASK :: 1<<(BUTTON_MIDDLE-1);
BUTTON_RMASK :: 1<<(BUTTON_RIGHT-1);
BUTTON_X1MASK :: 1<<(BUTTON_X1-1);
BUTTON_X2MASK :: 1<<(BUTTON_X2-1);
BUTTON_LEFT :: 1
BUTTON_MIDDLE :: 2
BUTTON_RIGHT :: 3
BUTTON_X1 :: 4
BUTTON_X2 :: 5
BUTTON_LMASK :: 1<<(BUTTON_LEFT-1)
BUTTON_MMASK :: 1<<(BUTTON_MIDDLE-1)
BUTTON_RMASK :: 1<<(BUTTON_RIGHT-1)
BUTTON_X1MASK :: 1<<(BUTTON_X1-1)
BUTTON_X2MASK :: 1<<(BUTTON_X2-1)
SystemCursor :: enum c.int {
ARROW, /**< Arrow */
+8 -8
View File
@@ -7,18 +7,18 @@ 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"
MUTEX_TIMEDOUT :: 1;
MUTEX_MAXWAIT :: ~u32(0);
MUTEX_TIMEDOUT :: 1
MUTEX_MAXWAIT :: ~u32(0)
mutex :: struct {};
mutex :: struct {}
semaphore :: struct {};
sem :: semaphore;
semaphore :: struct {}
sem :: semaphore
cond :: struct {};
cond :: struct {}
mutexP :: LockMutex;
mutexV :: UnlockMutex;
mutexP :: LockMutex
mutexV :: UnlockMutex
@(default_calling_convention="c", link_prefix="SDL_")
foreign lib {
+45 -45
View File
@@ -7,63 +7,63 @@ 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"
ALPHA_OPAQUE :: 255;
ALPHA_TRANSPARENT :: 0;
ALPHA_OPAQUE :: 255
ALPHA_TRANSPARENT :: 0
PIXELTYPE_UNKNOWN :: 0;
PIXELTYPE_INDEX1 :: 1;
PIXELTYPE_INDEX4 :: 2;
PIXELTYPE_INDEX8 :: 3;
PIXELTYPE_PACKED8 :: 4;
PIXELTYPE_PACKED16 :: 5;
PIXELTYPE_PACKED32 :: 6;
PIXELTYPE_ARRAYU8 :: 7;
PIXELTYPE_ARRAYU16 :: 8;
PIXELTYPE_ARRAYU32 :: 9;
PIXELTYPE_ARRAYF16 :: 10;
PIXELTYPE_ARRAYF3 :: 11;
PIXELTYPE_UNKNOWN :: 0
PIXELTYPE_INDEX1 :: 1
PIXELTYPE_INDEX4 :: 2
PIXELTYPE_INDEX8 :: 3
PIXELTYPE_PACKED8 :: 4
PIXELTYPE_PACKED16 :: 5
PIXELTYPE_PACKED32 :: 6
PIXELTYPE_ARRAYU8 :: 7
PIXELTYPE_ARRAYU16 :: 8
PIXELTYPE_ARRAYU32 :: 9
PIXELTYPE_ARRAYF16 :: 10
PIXELTYPE_ARRAYF3 :: 11
BITMAPORDER_NONE :: 0;
BITMAPORDER_4321 :: 1;
BITMAPORDER_1234 :: 2;
BITMAPORDER_NONE :: 0
BITMAPORDER_4321 :: 1
BITMAPORDER_1234 :: 2
PACKEDORDER_NONE :: 0;
PACKEDORDER_XRGB :: 1;
PACKEDORDER_RGBX :: 2;
PACKEDORDER_ARGB :: 3;
PACKEDORDER_RGBA :: 4;
PACKEDORDER_XBGR :: 5;
PACKEDORDER_BGRX :: 6;
PACKEDORDER_ABGR :: 7;
PACKEDORDER_BGRA :: 8;
PACKEDORDER_NONE :: 0
PACKEDORDER_XRGB :: 1
PACKEDORDER_RGBX :: 2
PACKEDORDER_ARGB :: 3
PACKEDORDER_RGBA :: 4
PACKEDORDER_XBGR :: 5
PACKEDORDER_BGRX :: 6
PACKEDORDER_ABGR :: 7
PACKEDORDER_BGRA :: 8
/** Array component order, low byte -> high byte. */
/* !!! FIXME: in 2.1, make these not overlap differently with
!!! FIXME: SDL_PACKEDORDER_*, so we can simplify SDL_ISPIXELFORMAT_ALPHA */
ARRAYORDER_NONE :: 0;
ARRAYORDER_RGB :: 1;
ARRAYORDER_RGBA :: 2;
ARRAYORDER_ARGB :: 3;
ARRAYORDER_BGR :: 4;
ARRAYORDER_BGRA :: 5;
ARRAYORDER_ABG :: 6;
ARRAYORDER_NONE :: 0
ARRAYORDER_RGB :: 1
ARRAYORDER_RGBA :: 2
ARRAYORDER_ARGB :: 3
ARRAYORDER_BGR :: 4
ARRAYORDER_BGRA :: 5
ARRAYORDER_ABG :: 6
PACKEDLAYOUT_NONE :: 0;
PACKEDLAYOUT_332 :: 1;
PACKEDLAYOUT_4444 :: 2;
PACKEDLAYOUT_1555 :: 3;
PACKEDLAYOUT_5551 :: 4;
PACKEDLAYOUT_565 :: 5;
PACKEDLAYOUT_8888 :: 6;
PACKEDLAYOUT_2101010 :: 7;
PACKEDLAYOUT_101010 :: 8;
PACKEDLAYOUT_NONE :: 0
PACKEDLAYOUT_332 :: 1
PACKEDLAYOUT_4444 :: 2
PACKEDLAYOUT_1555 :: 3
PACKEDLAYOUT_5551 :: 4
PACKEDLAYOUT_565 :: 5
PACKEDLAYOUT_8888 :: 6
PACKEDLAYOUT_2101010 :: 7
PACKEDLAYOUT_101010 :: 8
DEFINE_PIXELFOURCC :: FOURCC;
DEFINE_PIXELFOURCC :: FOURCC
DEFINE_PIXELFORMAT :: #force_inline proc "c" (type: u8, order: u8, layout, bits, bytes: u8) -> u32 {
return (1 << 28) | (u32(type) << 24) | (u32(order) << 20) | (u32(layout) << 16) | (u32(bits) << 8) | (u32(bytes) << 0);
return (1 << 28) | (u32(type) << 24) | (u32(order) << 20) | (u32(layout) << 16) | (u32(bits) << 8) | (u32(bytes) << 0)
}
@@ -180,7 +180,7 @@ PixelFormatEnum :: enum u32 {
}
Colour :: Color;
Colour :: Color
Color :: struct {
r: u8,
g: u8,
+3 -3
View File
@@ -29,15 +29,15 @@ FRect :: struct {
}
PointInRect :: proc(p, r: ^Rect) -> bool {
return bool((p.x >= r.x) && (p.x < (r.x + r.w)) && (p.y >= r.y) && (p.y < (r.y + r.h)));
return bool((p.x >= r.x) && (p.x < (r.x + r.w)) && (p.y >= r.y) && (p.y < (r.y + r.h)))
}
RectEmpty :: proc(r: ^Rect) -> bool {
return bool(r == nil|| r.w <= 0 || r.h <= 0);
return bool(r == nil|| r.w <= 0 || r.h <= 0)
}
RectEquals :: proc(a, b: ^Rect) -> bool {
return a != nil && b != nil && a^ == b^;
return a != nil && b != nil && a^ == b^
}
@(default_calling_convention="c", link_prefix="SDL_")
+10 -10
View File
@@ -14,12 +14,12 @@ RendererFlag :: enum u32 {
TARGETTEXTURE = 3, /**< The renderer supports rendering to texture */
}
RendererFlags :: distinct bit_set[RendererFlag; u32];
RendererFlags :: distinct bit_set[RendererFlag; u32]
RENDERER_SOFTWARE :: RendererFlags{.SOFTWARE};
RENDERER_ACCELERATED :: RendererFlags{.ACCELERATED};
RENDERER_PRESENTVSYNC :: RendererFlags{.PRESENTVSYNC};
RENDERER_TARGETTEXTURE :: RendererFlags{.TARGETTEXTURE};
RENDERER_SOFTWARE :: RendererFlags{.SOFTWARE}
RENDERER_ACCELERATED :: RendererFlags{.ACCELERATED}
RENDERER_PRESENTVSYNC :: RendererFlags{.PRESENTVSYNC}
RENDERER_TARGETTEXTURE :: RendererFlags{.TARGETTEXTURE}
RendererInfo :: struct {
name: cstring, /**< The name of the renderer */
@@ -48,9 +48,9 @@ TextureAccess :: enum c.int {
TARGET, /**< Texture can be used as a render target */
}
SDL_TEXTUREMODULATE_NONE :: 0x00000000; /**< No modulation */
SDL_TEXTUREMODULATE_COLOR :: 0x00000001; /**< srcC = srcC * color */
SDL_TEXTUREMODULATE_ALPHA :: 0x00000002; /**< srcA = srcA * alpha */
SDL_TEXTUREMODULATE_NONE :: 0x00000000 /**< No modulation */
SDL_TEXTUREMODULATE_COLOR :: 0x00000001 /**< srcC = srcC * color */
SDL_TEXTUREMODULATE_ALPHA :: 0x00000002 /**< srcA = srcA * alpha */
/**
* Flip constants for SDL_RenderCopyEx
@@ -61,9 +61,9 @@ RendererFlip :: enum c.int {
VERTICAL = 0x00000002, /**< flip vertically */
}
Renderer :: struct {};
Renderer :: struct {}
Texture :: struct {};
Texture :: struct {}
@(default_calling_convention="c", link_prefix="SDL_")
foreign lib {
+10 -10
View File
@@ -8,13 +8,13 @@ when ODIN_OS == "darwin" do foreign import lib "system:SDL2"
when ODIN_OS == "freebsd" do foreign import lib "system:SDL2"
/* RWops Types */
RWOPS_UNKNOWN :: 0; /**< Unknown stream type */
RWOPS_WINFILE :: 1; /**< Win32 file */
RWOPS_STDFILE :: 2; /**< Stdio file */
RWOPS_JNIFILE :: 3; /**< Android asset */
RWOPS_MEMORY :: 4; /**< Memory stream */
RWOPS_MEMORY_RO :: 5; /**< Read-Only memory stream */
RWOPS_VITAFILE :: 6; /**< Vita file */
RWOPS_UNKNOWN :: 0 /**< Unknown stream type */
RWOPS_WINFILE :: 1 /**< Win32 file */
RWOPS_STDFILE :: 2 /**< Stdio file */
RWOPS_JNIFILE :: 3 /**< Android asset */
RWOPS_MEMORY :: 4 /**< Memory stream */
RWOPS_MEMORY_RO :: 5 /**< Read-Only memory stream */
RWOPS_VITAFILE :: 6 /**< Vita file */
/**
@@ -66,9 +66,9 @@ RWops :: struct {
}
SEEK_SET :: 0; /**< Seek from the beginning of data */
SEEK_CUR :: 1; /**< Seek relative to current read point */
SEEK_END :: 2; /**< Seek relative to the end of data */
SEEK_SET :: 0 /**< Seek from the beginning of data */
SEEK_CUR :: 1 /**< Seek relative to current read point */
SEEK_END :: 2 /**< Seek relative to the end of data */
@(default_calling_convention="c", link_prefix="SDL_")
foreign lib {
+243 -243
View File
@@ -273,270 +273,270 @@ Scancode :: enum c.int {
NUM_SCANCODES = 512,
}
NUM_SCANCODES :: 512;
NUM_SCANCODES :: 512
SCANCODE_UNKNOWN :: Scancode.UNKNOWN;
SCANCODE_UNKNOWN :: Scancode.UNKNOWN
SCANCODE_A :: Scancode.A;
SCANCODE_B :: Scancode.B;
SCANCODE_C :: Scancode.C;
SCANCODE_D :: Scancode.D;
SCANCODE_E :: Scancode.E;
SCANCODE_F :: Scancode.F;
SCANCODE_G :: Scancode.G;
SCANCODE_H :: Scancode.H;
SCANCODE_I :: Scancode.I;
SCANCODE_J :: Scancode.J;
SCANCODE_K :: Scancode.K;
SCANCODE_L :: Scancode.L;
SCANCODE_M :: Scancode.M;
SCANCODE_N :: Scancode.N;
SCANCODE_O :: Scancode.O;
SCANCODE_P :: Scancode.P;
SCANCODE_Q :: Scancode.Q;
SCANCODE_R :: Scancode.R;
SCANCODE_S :: Scancode.S;
SCANCODE_T :: Scancode.T;
SCANCODE_U :: Scancode.U;
SCANCODE_V :: Scancode.V;
SCANCODE_W :: Scancode.W;
SCANCODE_X :: Scancode.X;
SCANCODE_Y :: Scancode.Y;
SCANCODE_Z :: Scancode.Z;
SCANCODE_A :: Scancode.A
SCANCODE_B :: Scancode.B
SCANCODE_C :: Scancode.C
SCANCODE_D :: Scancode.D
SCANCODE_E :: Scancode.E
SCANCODE_F :: Scancode.F
SCANCODE_G :: Scancode.G
SCANCODE_H :: Scancode.H
SCANCODE_I :: Scancode.I
SCANCODE_J :: Scancode.J
SCANCODE_K :: Scancode.K
SCANCODE_L :: Scancode.L
SCANCODE_M :: Scancode.M
SCANCODE_N :: Scancode.N
SCANCODE_O :: Scancode.O
SCANCODE_P :: Scancode.P
SCANCODE_Q :: Scancode.Q
SCANCODE_R :: Scancode.R
SCANCODE_S :: Scancode.S
SCANCODE_T :: Scancode.T
SCANCODE_U :: Scancode.U
SCANCODE_V :: Scancode.V
SCANCODE_W :: Scancode.W
SCANCODE_X :: Scancode.X
SCANCODE_Y :: Scancode.Y
SCANCODE_Z :: Scancode.Z
SCANCODE_1 :: Scancode.NUM1;
SCANCODE_2 :: Scancode.NUM2;
SCANCODE_3 :: Scancode.NUM3;
SCANCODE_4 :: Scancode.NUM4;
SCANCODE_5 :: Scancode.NUM5;
SCANCODE_6 :: Scancode.NUM6;
SCANCODE_7 :: Scancode.NUM7;
SCANCODE_8 :: Scancode.NUM8;
SCANCODE_9 :: Scancode.NUM9;
SCANCODE_0 :: Scancode.NUM0;
SCANCODE_1 :: Scancode.NUM1
SCANCODE_2 :: Scancode.NUM2
SCANCODE_3 :: Scancode.NUM3
SCANCODE_4 :: Scancode.NUM4
SCANCODE_5 :: Scancode.NUM5
SCANCODE_6 :: Scancode.NUM6
SCANCODE_7 :: Scancode.NUM7
SCANCODE_8 :: Scancode.NUM8
SCANCODE_9 :: Scancode.NUM9
SCANCODE_0 :: Scancode.NUM0
SCANCODE_RETURN :: Scancode.RETURN;
SCANCODE_ESCAPE :: Scancode.ESCAPE;
SCANCODE_BACKSPACE :: Scancode.BACKSPACE;
SCANCODE_TAB :: Scancode.TAB;
SCANCODE_SPACE :: Scancode.SPACE;
SCANCODE_RETURN :: Scancode.RETURN
SCANCODE_ESCAPE :: Scancode.ESCAPE
SCANCODE_BACKSPACE :: Scancode.BACKSPACE
SCANCODE_TAB :: Scancode.TAB
SCANCODE_SPACE :: Scancode.SPACE
SCANCODE_MINUS :: Scancode.MINUS;
SCANCODE_EQUALS :: Scancode.EQUALS;
SCANCODE_LEFTBRACKET :: Scancode.LEFTBRACKET;
SCANCODE_RIGHTBRACKET :: Scancode.RIGHTBRACKET;
SCANCODE_BACKSLASH :: Scancode.BACKSLASH;
SCANCODE_NONUSHASH :: Scancode.NONUSHASH;
SCANCODE_SEMICOLON :: Scancode.SEMICOLON;
SCANCODE_APOSTROPHE :: Scancode.APOSTROPHE;
SCANCODE_GRAVE :: Scancode.GRAVE;
SCANCODE_COMMA :: Scancode.COMMA;
SCANCODE_PERIOD :: Scancode.PERIOD;
SCANCODE_SLASH :: Scancode.SLASH;
SCANCODE_MINUS :: Scancode.MINUS
SCANCODE_EQUALS :: Scancode.EQUALS
SCANCODE_LEFTBRACKET :: Scancode.LEFTBRACKET
SCANCODE_RIGHTBRACKET :: Scancode.RIGHTBRACKET
SCANCODE_BACKSLASH :: Scancode.BACKSLASH
SCANCODE_NONUSHASH :: Scancode.NONUSHASH
SCANCODE_SEMICOLON :: Scancode.SEMICOLON
SCANCODE_APOSTROPHE :: Scancode.APOSTROPHE
SCANCODE_GRAVE :: Scancode.GRAVE
SCANCODE_COMMA :: Scancode.COMMA
SCANCODE_PERIOD :: Scancode.PERIOD
SCANCODE_SLASH :: Scancode.SLASH
SCANCODE_CAPSLOCK :: Scancode.CAPSLOCK;
SCANCODE_CAPSLOCK :: Scancode.CAPSLOCK
SCANCODE_F1 :: Scancode.F1;
SCANCODE_F2 :: Scancode.F2;
SCANCODE_F3 :: Scancode.F3;
SCANCODE_F4 :: Scancode.F4;
SCANCODE_F5 :: Scancode.F5;
SCANCODE_F6 :: Scancode.F6;
SCANCODE_F7 :: Scancode.F7;
SCANCODE_F8 :: Scancode.F8;
SCANCODE_F9 :: Scancode.F9;
SCANCODE_F10 :: Scancode.F10;
SCANCODE_F11 :: Scancode.F11;
SCANCODE_F12 :: Scancode.F12;
SCANCODE_F1 :: Scancode.F1
SCANCODE_F2 :: Scancode.F2
SCANCODE_F3 :: Scancode.F3
SCANCODE_F4 :: Scancode.F4
SCANCODE_F5 :: Scancode.F5
SCANCODE_F6 :: Scancode.F6
SCANCODE_F7 :: Scancode.F7
SCANCODE_F8 :: Scancode.F8
SCANCODE_F9 :: Scancode.F9
SCANCODE_F10 :: Scancode.F10
SCANCODE_F11 :: Scancode.F11
SCANCODE_F12 :: Scancode.F12
SCANCODE_PRINTSCREEN :: Scancode.PRINTSCREEN;
SCANCODE_SCROLLLOCK :: Scancode.SCROLLLOCK;
SCANCODE_PAUSE :: Scancode.PAUSE;
SCANCODE_INSERT :: Scancode.INSERT;
SCANCODE_HOME :: Scancode.HOME;
SCANCODE_PAGEUP :: Scancode.PAGEUP;
SCANCODE_DELETE :: Scancode.DELETE;
SCANCODE_END :: Scancode.END;
SCANCODE_PAGEDOWN :: Scancode.PAGEDOWN;
SCANCODE_RIGHT :: Scancode.RIGHT;
SCANCODE_LEFT :: Scancode.LEFT;
SCANCODE_DOWN :: Scancode.DOWN;
SCANCODE_UP :: Scancode.UP;
SCANCODE_PRINTSCREEN :: Scancode.PRINTSCREEN
SCANCODE_SCROLLLOCK :: Scancode.SCROLLLOCK
SCANCODE_PAUSE :: Scancode.PAUSE
SCANCODE_INSERT :: Scancode.INSERT
SCANCODE_HOME :: Scancode.HOME
SCANCODE_PAGEUP :: Scancode.PAGEUP
SCANCODE_DELETE :: Scancode.DELETE
SCANCODE_END :: Scancode.END
SCANCODE_PAGEDOWN :: Scancode.PAGEDOWN
SCANCODE_RIGHT :: Scancode.RIGHT
SCANCODE_LEFT :: Scancode.LEFT
SCANCODE_DOWN :: Scancode.DOWN
SCANCODE_UP :: Scancode.UP
SCANCODE_NUMLOCKCLEAR :: Scancode.NUMLOCKCLEAR;
SCANCODE_KP_DIVIDE :: Scancode.KP_DIVIDE;
SCANCODE_KP_MULTIPLY :: Scancode.KP_MULTIPLY;
SCANCODE_KP_MINUS :: Scancode.KP_MINUS;
SCANCODE_KP_PLUS :: Scancode.KP_PLUS;
SCANCODE_KP_ENTER :: Scancode.KP_ENTER;
SCANCODE_KP_1 :: Scancode.KP_1;
SCANCODE_KP_2 :: Scancode.KP_2;
SCANCODE_KP_3 :: Scancode.KP_3;
SCANCODE_KP_4 :: Scancode.KP_4;
SCANCODE_KP_5 :: Scancode.KP_5;
SCANCODE_KP_6 :: Scancode.KP_6;
SCANCODE_KP_7 :: Scancode.KP_7;
SCANCODE_KP_8 :: Scancode.KP_8;
SCANCODE_KP_9 :: Scancode.KP_9;
SCANCODE_KP_0 :: Scancode.KP_0;
SCANCODE_KP_PERIOD :: Scancode.KP_PERIOD;
SCANCODE_NUMLOCKCLEAR :: Scancode.NUMLOCKCLEAR
SCANCODE_KP_DIVIDE :: Scancode.KP_DIVIDE
SCANCODE_KP_MULTIPLY :: Scancode.KP_MULTIPLY
SCANCODE_KP_MINUS :: Scancode.KP_MINUS
SCANCODE_KP_PLUS :: Scancode.KP_PLUS
SCANCODE_KP_ENTER :: Scancode.KP_ENTER
SCANCODE_KP_1 :: Scancode.KP_1
SCANCODE_KP_2 :: Scancode.KP_2
SCANCODE_KP_3 :: Scancode.KP_3
SCANCODE_KP_4 :: Scancode.KP_4
SCANCODE_KP_5 :: Scancode.KP_5
SCANCODE_KP_6 :: Scancode.KP_6
SCANCODE_KP_7 :: Scancode.KP_7
SCANCODE_KP_8 :: Scancode.KP_8
SCANCODE_KP_9 :: Scancode.KP_9
SCANCODE_KP_0 :: Scancode.KP_0
SCANCODE_KP_PERIOD :: Scancode.KP_PERIOD
SCANCODE_NONUSBACKSLASH :: Scancode.NONUSBACKSLASH;
SCANCODE_APPLICATION :: Scancode.APPLICATION;
SCANCODE_POWER :: Scancode.POWER;
SCANCODE_KP_EQUALS :: Scancode.KP_EQUALS;
SCANCODE_F13 :: Scancode.F13;
SCANCODE_F14 :: Scancode.F14;
SCANCODE_F15 :: Scancode.F15;
SCANCODE_F16 :: Scancode.F16;
SCANCODE_F17 :: Scancode.F17;
SCANCODE_F18 :: Scancode.F18;
SCANCODE_F19 :: Scancode.F19;
SCANCODE_F20 :: Scancode.F20;
SCANCODE_F21 :: Scancode.F21;
SCANCODE_F22 :: Scancode.F22;
SCANCODE_F23 :: Scancode.F23;
SCANCODE_F24 :: Scancode.F24;
SCANCODE_EXECUTE :: Scancode.EXECUTE;
SCANCODE_HELP :: Scancode.HELP;
SCANCODE_MENU :: Scancode.MENU;
SCANCODE_SELECT :: Scancode.SELECT;
SCANCODE_STOP :: Scancode.STOP;
SCANCODE_AGAIN :: Scancode.AGAIN;
SCANCODE_UNDO :: Scancode.UNDO;
SCANCODE_CUT :: Scancode.CUT;
SCANCODE_COPY :: Scancode.COPY;
SCANCODE_PASTE :: Scancode.PASTE;
SCANCODE_FIND :: Scancode.FIND;
SCANCODE_MUTE :: Scancode.MUTE;
SCANCODE_VOLUMEUP :: Scancode.VOLUMEUP;
SCANCODE_VOLUMEDOWN :: Scancode.VOLUMEDOWN;
SCANCODE_KP_COMMA :: Scancode.KP_COMMA;
SCANCODE_KP_EQUALSAS400 :: Scancode.KP_EQUALSAS400;
SCANCODE_NONUSBACKSLASH :: Scancode.NONUSBACKSLASH
SCANCODE_APPLICATION :: Scancode.APPLICATION
SCANCODE_POWER :: Scancode.POWER
SCANCODE_KP_EQUALS :: Scancode.KP_EQUALS
SCANCODE_F13 :: Scancode.F13
SCANCODE_F14 :: Scancode.F14
SCANCODE_F15 :: Scancode.F15
SCANCODE_F16 :: Scancode.F16
SCANCODE_F17 :: Scancode.F17
SCANCODE_F18 :: Scancode.F18
SCANCODE_F19 :: Scancode.F19
SCANCODE_F20 :: Scancode.F20
SCANCODE_F21 :: Scancode.F21
SCANCODE_F22 :: Scancode.F22
SCANCODE_F23 :: Scancode.F23
SCANCODE_F24 :: Scancode.F24
SCANCODE_EXECUTE :: Scancode.EXECUTE
SCANCODE_HELP :: Scancode.HELP
SCANCODE_MENU :: Scancode.MENU
SCANCODE_SELECT :: Scancode.SELECT
SCANCODE_STOP :: Scancode.STOP
SCANCODE_AGAIN :: Scancode.AGAIN
SCANCODE_UNDO :: Scancode.UNDO
SCANCODE_CUT :: Scancode.CUT
SCANCODE_COPY :: Scancode.COPY
SCANCODE_PASTE :: Scancode.PASTE
SCANCODE_FIND :: Scancode.FIND
SCANCODE_MUTE :: Scancode.MUTE
SCANCODE_VOLUMEUP :: Scancode.VOLUMEUP
SCANCODE_VOLUMEDOWN :: Scancode.VOLUMEDOWN
SCANCODE_KP_COMMA :: Scancode.KP_COMMA
SCANCODE_KP_EQUALSAS400 :: Scancode.KP_EQUALSAS400
SCANCODE_INTERNATIONAL1 :: Scancode.INTERNATIONAL1;
SCANCODE_INTERNATIONAL2 :: Scancode.INTERNATIONAL2;
SCANCODE_INTERNATIONAL3 :: Scancode.INTERNATIONAL3;
SCANCODE_INTERNATIONAL4 :: Scancode.INTERNATIONAL4;
SCANCODE_INTERNATIONAL5 :: Scancode.INTERNATIONAL5;
SCANCODE_INTERNATIONAL6 :: Scancode.INTERNATIONAL6;
SCANCODE_INTERNATIONAL7 :: Scancode.INTERNATIONAL7;
SCANCODE_INTERNATIONAL8 :: Scancode.INTERNATIONAL8;
SCANCODE_INTERNATIONAL9 :: Scancode.INTERNATIONAL9;
SCANCODE_LANG1 :: Scancode.LANG1;
SCANCODE_LANG2 :: Scancode.LANG2;
SCANCODE_LANG3 :: Scancode.LANG3;
SCANCODE_LANG4 :: Scancode.LANG4;
SCANCODE_LANG5 :: Scancode.LANG5;
SCANCODE_LANG6 :: Scancode.LANG6;
SCANCODE_LANG7 :: Scancode.LANG7;
SCANCODE_LANG8 :: Scancode.LANG8;
SCANCODE_LANG9 :: Scancode.LANG9;
SCANCODE_INTERNATIONAL1 :: Scancode.INTERNATIONAL1
SCANCODE_INTERNATIONAL2 :: Scancode.INTERNATIONAL2
SCANCODE_INTERNATIONAL3 :: Scancode.INTERNATIONAL3
SCANCODE_INTERNATIONAL4 :: Scancode.INTERNATIONAL4
SCANCODE_INTERNATIONAL5 :: Scancode.INTERNATIONAL5
SCANCODE_INTERNATIONAL6 :: Scancode.INTERNATIONAL6
SCANCODE_INTERNATIONAL7 :: Scancode.INTERNATIONAL7
SCANCODE_INTERNATIONAL8 :: Scancode.INTERNATIONAL8
SCANCODE_INTERNATIONAL9 :: Scancode.INTERNATIONAL9
SCANCODE_LANG1 :: Scancode.LANG1
SCANCODE_LANG2 :: Scancode.LANG2
SCANCODE_LANG3 :: Scancode.LANG3
SCANCODE_LANG4 :: Scancode.LANG4
SCANCODE_LANG5 :: Scancode.LANG5
SCANCODE_LANG6 :: Scancode.LANG6
SCANCODE_LANG7 :: Scancode.LANG7
SCANCODE_LANG8 :: Scancode.LANG8
SCANCODE_LANG9 :: Scancode.LANG9
SCANCODE_ALTERASE :: Scancode.ALTERASE;
SCANCODE_SYSREQ :: Scancode.SYSREQ;
SCANCODE_CANCEL :: Scancode.CANCEL;
SCANCODE_CLEAR :: Scancode.CLEAR;
SCANCODE_PRIOR :: Scancode.PRIOR;
SCANCODE_RETURN2 :: Scancode.RETURN2;
SCANCODE_SEPARATOR :: Scancode.SEPARATOR;
SCANCODE_OUT :: Scancode.OUT;
SCANCODE_OPER :: Scancode.OPER;
SCANCODE_CLEARAGAIN :: Scancode.CLEARAGAIN;
SCANCODE_CRSEL :: Scancode.CRSEL;
SCANCODE_EXSEL :: Scancode.EXSEL;
SCANCODE_ALTERASE :: Scancode.ALTERASE
SCANCODE_SYSREQ :: Scancode.SYSREQ
SCANCODE_CANCEL :: Scancode.CANCEL
SCANCODE_CLEAR :: Scancode.CLEAR
SCANCODE_PRIOR :: Scancode.PRIOR
SCANCODE_RETURN2 :: Scancode.RETURN2
SCANCODE_SEPARATOR :: Scancode.SEPARATOR
SCANCODE_OUT :: Scancode.OUT
SCANCODE_OPER :: Scancode.OPER
SCANCODE_CLEARAGAIN :: Scancode.CLEARAGAIN
SCANCODE_CRSEL :: Scancode.CRSEL
SCANCODE_EXSEL :: Scancode.EXSEL
SCANCODE_KP_00 :: Scancode.KP_00;
SCANCODE_KP_000 :: Scancode.KP_000;
SCANCODE_THOUSANDSSEPARATOR :: Scancode.THOUSANDSSEPARATOR;
SCANCODE_DECIMALSEPARATOR :: Scancode.DECIMALSEPARATOR;
SCANCODE_CURRENCYUNIT :: Scancode.CURRENCYUNIT;
SCANCODE_CURRENCYSUBUNIT :: Scancode.CURRENCYSUBUNIT;
SCANCODE_KP_LEFTPAREN :: Scancode.KP_LEFTPAREN;
SCANCODE_KP_RIGHTPAREN :: Scancode.KP_RIGHTPAREN;
SCANCODE_KP_LEFTBRACE :: Scancode.KP_LEFTBRACE;
SCANCODE_KP_RIGHTBRACE :: Scancode.KP_RIGHTBRACE;
SCANCODE_KP_TAB :: Scancode.KP_TAB;
SCANCODE_KP_BACKSPACE :: Scancode.KP_BACKSPACE;
SCANCODE_KP_A :: Scancode.KP_A;
SCANCODE_KP_B :: Scancode.KP_B;
SCANCODE_KP_C :: Scancode.KP_C;
SCANCODE_KP_D :: Scancode.KP_D;
SCANCODE_KP_E :: Scancode.KP_E;
SCANCODE_KP_F :: Scancode.KP_F;
SCANCODE_KP_XOR :: Scancode.KP_XOR;
SCANCODE_KP_POWER :: Scancode.KP_POWER;
SCANCODE_KP_PERCENT :: Scancode.KP_PERCENT;
SCANCODE_KP_LESS :: Scancode.KP_LESS;
SCANCODE_KP_GREATER :: Scancode.KP_GREATER;
SCANCODE_KP_AMPERSAND :: Scancode.KP_AMPERSAND;
SCANCODE_KP_DBLAMPERSAND :: Scancode.KP_DBLAMPERSAND;
SCANCODE_KP_VERTICALBAR :: Scancode.KP_VERTICALBAR;
SCANCODE_KP_DBLVERTICALBAR :: Scancode.KP_DBLVERTICALBAR;
SCANCODE_KP_COLON :: Scancode.KP_COLON;
SCANCODE_KP_HASH :: Scancode.KP_HASH;
SCANCODE_KP_SPACE :: Scancode.KP_SPACE;
SCANCODE_KP_AT :: Scancode.KP_AT;
SCANCODE_KP_EXCLAM :: Scancode.KP_EXCLAM;
SCANCODE_KP_MEMSTORE :: Scancode.KP_MEMSTORE;
SCANCODE_KP_MEMRECALL :: Scancode.KP_MEMRECALL;
SCANCODE_KP_MEMCLEAR :: Scancode.KP_MEMCLEAR;
SCANCODE_KP_MEMADD :: Scancode.KP_MEMADD;
SCANCODE_KP_MEMSUBTRACT :: Scancode.KP_MEMSUBTRACT;
SCANCODE_KP_MEMMULTIPLY :: Scancode.KP_MEMMULTIPLY;
SCANCODE_KP_MEMDIVIDE :: Scancode.KP_MEMDIVIDE;
SCANCODE_KP_PLUSMINUS :: Scancode.KP_PLUSMINUS;
SCANCODE_KP_CLEAR :: Scancode.KP_CLEAR;
SCANCODE_KP_CLEARENTRY :: Scancode.KP_CLEARENTRY;
SCANCODE_KP_BINARY :: Scancode.KP_BINARY;
SCANCODE_KP_OCTAL :: Scancode.KP_OCTAL;
SCANCODE_KP_DECIMAL :: Scancode.KP_DECIMAL;
SCANCODE_KP_HEXADECIMAL :: Scancode.KP_HEXADECIMAL;
SCANCODE_KP_00 :: Scancode.KP_00
SCANCODE_KP_000 :: Scancode.KP_000
SCANCODE_THOUSANDSSEPARATOR :: Scancode.THOUSANDSSEPARATOR
SCANCODE_DECIMALSEPARATOR :: Scancode.DECIMALSEPARATOR
SCANCODE_CURRENCYUNIT :: Scancode.CURRENCYUNIT
SCANCODE_CURRENCYSUBUNIT :: Scancode.CURRENCYSUBUNIT
SCANCODE_KP_LEFTPAREN :: Scancode.KP_LEFTPAREN
SCANCODE_KP_RIGHTPAREN :: Scancode.KP_RIGHTPAREN
SCANCODE_KP_LEFTBRACE :: Scancode.KP_LEFTBRACE
SCANCODE_KP_RIGHTBRACE :: Scancode.KP_RIGHTBRACE
SCANCODE_KP_TAB :: Scancode.KP_TAB
SCANCODE_KP_BACKSPACE :: Scancode.KP_BACKSPACE
SCANCODE_KP_A :: Scancode.KP_A
SCANCODE_KP_B :: Scancode.KP_B
SCANCODE_KP_C :: Scancode.KP_C
SCANCODE_KP_D :: Scancode.KP_D
SCANCODE_KP_E :: Scancode.KP_E
SCANCODE_KP_F :: Scancode.KP_F
SCANCODE_KP_XOR :: Scancode.KP_XOR
SCANCODE_KP_POWER :: Scancode.KP_POWER
SCANCODE_KP_PERCENT :: Scancode.KP_PERCENT
SCANCODE_KP_LESS :: Scancode.KP_LESS
SCANCODE_KP_GREATER :: Scancode.KP_GREATER
SCANCODE_KP_AMPERSAND :: Scancode.KP_AMPERSAND
SCANCODE_KP_DBLAMPERSAND :: Scancode.KP_DBLAMPERSAND
SCANCODE_KP_VERTICALBAR :: Scancode.KP_VERTICALBAR
SCANCODE_KP_DBLVERTICALBAR :: Scancode.KP_DBLVERTICALBAR
SCANCODE_KP_COLON :: Scancode.KP_COLON
SCANCODE_KP_HASH :: Scancode.KP_HASH
SCANCODE_KP_SPACE :: Scancode.KP_SPACE
SCANCODE_KP_AT :: Scancode.KP_AT
SCANCODE_KP_EXCLAM :: Scancode.KP_EXCLAM
SCANCODE_KP_MEMSTORE :: Scancode.KP_MEMSTORE
SCANCODE_KP_MEMRECALL :: Scancode.KP_MEMRECALL
SCANCODE_KP_MEMCLEAR :: Scancode.KP_MEMCLEAR
SCANCODE_KP_MEMADD :: Scancode.KP_MEMADD
SCANCODE_KP_MEMSUBTRACT :: Scancode.KP_MEMSUBTRACT
SCANCODE_KP_MEMMULTIPLY :: Scancode.KP_MEMMULTIPLY
SCANCODE_KP_MEMDIVIDE :: Scancode.KP_MEMDIVIDE
SCANCODE_KP_PLUSMINUS :: Scancode.KP_PLUSMINUS
SCANCODE_KP_CLEAR :: Scancode.KP_CLEAR
SCANCODE_KP_CLEARENTRY :: Scancode.KP_CLEARENTRY
SCANCODE_KP_BINARY :: Scancode.KP_BINARY
SCANCODE_KP_OCTAL :: Scancode.KP_OCTAL
SCANCODE_KP_DECIMAL :: Scancode.KP_DECIMAL
SCANCODE_KP_HEXADECIMAL :: Scancode.KP_HEXADECIMAL
SCANCODE_LCTRL :: Scancode.LCTRL;
SCANCODE_LSHIFT :: Scancode.LSHIFT;
SCANCODE_LALT :: Scancode.LALT;
SCANCODE_LGUI :: Scancode.LGUI;
SCANCODE_RCTRL :: Scancode.RCTRL;
SCANCODE_RSHIFT :: Scancode.RSHIFT;
SCANCODE_RALT :: Scancode.RALT;
SCANCODE_RGUI :: Scancode.RGUI;
SCANCODE_LCTRL :: Scancode.LCTRL
SCANCODE_LSHIFT :: Scancode.LSHIFT
SCANCODE_LALT :: Scancode.LALT
SCANCODE_LGUI :: Scancode.LGUI
SCANCODE_RCTRL :: Scancode.RCTRL
SCANCODE_RSHIFT :: Scancode.RSHIFT
SCANCODE_RALT :: Scancode.RALT
SCANCODE_RGUI :: Scancode.RGUI
SCANCODE_MODE :: Scancode.MODE;
SCANCODE_MODE :: Scancode.MODE
SCANCODE_AUDIONEXT :: Scancode.AUDIONEXT;
SCANCODE_AUDIOPREV :: Scancode.AUDIOPREV;
SCANCODE_AUDIOSTOP :: Scancode.AUDIOSTOP;
SCANCODE_AUDIOPLAY :: Scancode.AUDIOPLAY;
SCANCODE_AUDIOMUTE :: Scancode.AUDIOMUTE;
SCANCODE_MEDIASELECT :: Scancode.MEDIASELECT;
SCANCODE_WWW :: Scancode.WWW;
SCANCODE_MAIL :: Scancode.MAIL;
SCANCODE_CALCULATOR :: Scancode.CALCULATOR;
SCANCODE_COMPUTER :: Scancode.COMPUTER;
SCANCODE_AC_SEARCH :: Scancode.AC_SEARCH;
SCANCODE_AC_HOME :: Scancode.AC_HOME;
SCANCODE_AC_BACK :: Scancode.AC_BACK;
SCANCODE_AC_FORWARD :: Scancode.AC_FORWARD;
SCANCODE_AC_STOP :: Scancode.AC_STOP;
SCANCODE_AC_REFRESH :: Scancode.AC_REFRESH;
SCANCODE_AC_BOOKMARKS :: Scancode.AC_BOOKMARKS;
SCANCODE_AUDIONEXT :: Scancode.AUDIONEXT
SCANCODE_AUDIOPREV :: Scancode.AUDIOPREV
SCANCODE_AUDIOSTOP :: Scancode.AUDIOSTOP
SCANCODE_AUDIOPLAY :: Scancode.AUDIOPLAY
SCANCODE_AUDIOMUTE :: Scancode.AUDIOMUTE
SCANCODE_MEDIASELECT :: Scancode.MEDIASELECT
SCANCODE_WWW :: Scancode.WWW
SCANCODE_MAIL :: Scancode.MAIL
SCANCODE_CALCULATOR :: Scancode.CALCULATOR
SCANCODE_COMPUTER :: Scancode.COMPUTER
SCANCODE_AC_SEARCH :: Scancode.AC_SEARCH
SCANCODE_AC_HOME :: Scancode.AC_HOME
SCANCODE_AC_BACK :: Scancode.AC_BACK
SCANCODE_AC_FORWARD :: Scancode.AC_FORWARD
SCANCODE_AC_STOP :: Scancode.AC_STOP
SCANCODE_AC_REFRESH :: Scancode.AC_REFRESH
SCANCODE_AC_BOOKMARKS :: Scancode.AC_BOOKMARKS
SCANCODE_BRIGHTNESSDOWN :: Scancode.BRIGHTNESSDOWN;
SCANCODE_BRIGHTNESSUP :: Scancode.BRIGHTNESSUP;
SCANCODE_DISPLAYSWITCH :: Scancode.DISPLAYSWITCH;
SCANCODE_KBDILLUMTOGGLE :: Scancode.KBDILLUMTOGGLE;
SCANCODE_KBDILLUMDOWN :: Scancode.KBDILLUMDOWN;
SCANCODE_KBDILLUMUP :: Scancode.KBDILLUMUP;
SCANCODE_EJECT :: Scancode.EJECT;
SCANCODE_SLEEP :: Scancode.SLEEP;
SCANCODE_BRIGHTNESSDOWN :: Scancode.BRIGHTNESSDOWN
SCANCODE_BRIGHTNESSUP :: Scancode.BRIGHTNESSUP
SCANCODE_DISPLAYSWITCH :: Scancode.DISPLAYSWITCH
SCANCODE_KBDILLUMTOGGLE :: Scancode.KBDILLUMTOGGLE
SCANCODE_KBDILLUMDOWN :: Scancode.KBDILLUMDOWN
SCANCODE_KBDILLUMUP :: Scancode.KBDILLUMUP
SCANCODE_EJECT :: Scancode.EJECT
SCANCODE_SLEEP :: Scancode.SLEEP
SCANCODE_APP1 :: Scancode.APP1;
SCANCODE_APP2 :: Scancode.APP2;
SCANCODE_APP1 :: Scancode.APP1
SCANCODE_APP2 :: Scancode.APP2
SCANCODE_AUDIOREWIND :: Scancode.AUDIOREWIND;
SCANCODE_AUDIOREWIND :: Scancode.AUDIOREWIND
SCANCODE_AUDIOFASTFORWARD :: Scancode.AUDIOFASTFORWARD;
+21 -21
View File
@@ -3,35 +3,35 @@ package sdl2
import "core:c"
import "core:intrinsics"
import "core:runtime"
_, _ :: intrinsics, runtime;
_, _ :: intrinsics, runtime
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"
bool :: distinct b32;
bool :: distinct b32
#assert(size_of(bool) == size_of(c.int));
FOURCC :: #force_inline proc "c" (A, B, C, D: u8) -> u32 {
return u32(A) << 0 | u32(B) << 8 | u32(C) << 16 | u32(D) << 24;
return u32(A) << 0 | u32(B) << 8 | u32(C) << 16 | u32(D) << 24
}
stack_alloc :: proc "c" ($T: typeid, #any_int count: int) -> ^T {
return (^T)(intrinsics.alloca(size_of(T)*count));
return (^T)(intrinsics.alloca(size_of(T)*count))
}
stack_make :: proc "c" ($T: typeid/[]$E, #any_int count: int) -> T {
ptr := (^T)(intrinsics.alloca(size_of(T)*count));
return transmute(T)runtime.Raw_Slice{ptr, count};
ptr := (^T)(intrinsics.alloca(size_of(T)*count))
return transmute(T)runtime.Raw_Slice{ptr, count}
}
stack_free :: proc "c" (ptr: rawptr) {}
malloc_func :: proc "c" (size: c.size_t) -> rawptr;
calloc_func :: proc "c" (nmemb, size: c.size_t) -> rawptr;
realloc_func :: proc "c" (mem: rawptr, size: c.size_t) -> rawptr;
free_func :: proc "c" (mem: rawptr);
malloc_func :: proc "c" (size: c.size_t) -> rawptr
calloc_func :: proc "c" (nmemb, size: c.size_t) -> rawptr
realloc_func :: proc "c" (mem: rawptr, size: c.size_t) -> rawptr
free_func :: proc "c" (mem: rawptr)
@(default_calling_convention="c", link_prefix="SDL_")
foreign lib {
@@ -81,7 +81,7 @@ foreign lib {
}
M_PI :: 3.14159265358979323846264338327950288;
M_PI :: 3.14159265358979323846264338327950288
@(default_calling_convention="c", link_prefix="SDL_")
foreign lib {
@@ -130,13 +130,13 @@ foreign lib {
}
/* The SDL implementation of iconv() returns these error codes */
ICONV_ERROR :: ~c.size_t(0); // (size_t)-1
ICONV_E2BIG :: ~c.size_t(1); // (size_t)-2
ICONV_EILSEQ :: ~c.size_t(2); // (size_t)-3
ICONV_EINVAL :: ~c.size_t(3); // (size_t)-4
ICONV_ERROR :: ~c.size_t(0) // (size_t)-1
ICONV_E2BIG :: ~c.size_t(1) // (size_t)-2
ICONV_EILSEQ :: ~c.size_t(2) // (size_t)-3
ICONV_EINVAL :: ~c.size_t(3) // (size_t)-4
/* SDL_iconv_* are now always real symbols/types, not macros or inlined. */
iconv_t :: distinct rawptr;
iconv_t :: distinct rawptr
@(default_calling_convention="c", link_prefix="SDL_")
foreign lib {
@@ -147,17 +147,17 @@ foreign lib {
}
iconv_utf8_locale :: proc "c" (s: string) -> cstring {
return cast(cstring)iconv_string("", "UTF-8", cstring(raw_data(s)), len(s)+1);
return cast(cstring)iconv_string("", "UTF-8", cstring(raw_data(s)), len(s)+1)
}
iconv_utf8_utf16 :: iconv_utf8_ucs2;
iconv_utf8_utf16 :: iconv_utf8_ucs2
iconv_utf8_ucs2 :: proc "c" (s: string) -> [^]u16 {
return cast([^]u16)iconv_string("UCS-2-INTERNAL", "UTF-8", cstring(raw_data(s)), len(s)+1);
return cast([^]u16)iconv_string("UCS-2-INTERNAL", "UTF-8", cstring(raw_data(s)), len(s)+1)
}
#assert(size_of(rune) == size_of(c.int));
iconv_utf8_utf32 :: iconv_utf8_ucs4;
iconv_utf8_utf32 :: iconv_utf8_ucs4
iconv_utf8_ucs4 :: proc "c" (s: string) -> [^]rune {
return cast([^]rune)iconv_string("UCS-4-INTERNAL", "UTF-8", cstring(raw_data(s)), len(s)+1);
return cast([^]rune)iconv_string("UCS-4-INTERNAL", "UTF-8", cstring(raw_data(s)), len(s)+1)
}
+12 -12
View File
@@ -7,17 +7,17 @@ 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"
SWSURFACE :: 0; /**< Just here for compatibility */
PREALLOC :: 0x00000001; /**< Surface uses preallocated memory */
RLEACCEL :: 0x00000002; /**< Surface is RLE encoded */
DONTFREE :: 0x00000004; /**< Surface is referenced internally */
SIMD_ALIGNED :: 0x00000008; /**< Surface uses aligned memory */
SWSURFACE :: 0 /**< Just here for compatibility */
PREALLOC :: 0x00000001 /**< Surface uses preallocated memory */
RLEACCEL :: 0x00000002 /**< Surface is RLE encoded */
DONTFREE :: 0x00000004 /**< Surface is referenced internally */
SIMD_ALIGNED :: 0x00000008 /**< Surface uses aligned memory */
MUSTLOCK :: #force_inline proc "c" (surface: ^Surface) -> bool {
return bool(surface.flags & RLEACCEL != 0);
return bool(surface.flags & RLEACCEL != 0)
}
BlitMap :: struct {};
BlitMap :: struct {}
Surface :: struct {
flags: u32, /**< Read-only */
@@ -45,7 +45,7 @@ Surface :: struct {
refcount: c.int, /**< Read-mostly */
}
blit :: proc "c" (src: ^Surface, srcrect: ^Rect, dst: ^Surface, dstrect: ^Rect) -> c.int;
blit :: proc "c" (src: ^Surface, srcrect: ^Rect, dst: ^Surface, dstrect: ^Rect) -> c.int
YUV_CONVERSION_MODE :: enum c.int {
@@ -57,15 +57,15 @@ YUV_CONVERSION_MODE :: enum c.int {
LoadBMP :: #force_inline proc "c" (file: cstring) -> ^Surface {
return LoadBMP_RW(RWFromFile(file, "rb"), true);
return LoadBMP_RW(RWFromFile(file, "rb"), true)
}
SaveBMP :: #force_inline proc "c" (surface: ^Surface, file: cstring) -> c.int {
return SaveBMP_RW(surface, RWFromFile(file, "wb"), true);
return SaveBMP_RW(surface, RWFromFile(file, "wb"), true)
}
BlitSurface :: UpperBlit;
BlitScaled :: UpperBlitScaled;
BlitSurface :: UpperBlit
BlitScaled :: UpperBlitScaled
@(default_calling_convention="c", link_prefix="SDL_")
+7 -7
View File
@@ -26,10 +26,10 @@ foreign lib {
// Windows & WinRT
WindowsMessageHook :: proc "c" (userdata: rawptr, hWnd: rawptr, message: c.uint, wParam: u64, lParam: i64);
WindowsMessageHook :: proc "c" (userdata: rawptr, hWnd: rawptr, message: c.uint, wParam: u64, lParam: i64)
IDirect3DDevice9 :: struct {};
ID3D11Device :: struct {};
IDirect3DDevice9 :: struct {}
ID3D11Device :: struct {}
@(default_calling_convention="c", link_prefix="SDL_")
foreign lib {
@@ -91,8 +91,8 @@ foreign lib {
// iOS
iOSSetAnimationCallback :: iPhoneSetAnimationCallback;
iOSSetEventPump :: iPhoneSetEventPump;
iOSSetAnimationCallback :: iPhoneSetAnimationCallback
iOSSetEventPump :: iPhoneSetEventPump
@(default_calling_convention="c", link_prefix="SDL_")
foreign lib {
@@ -104,8 +104,8 @@ foreign lib {
// Android
ANDROID_EXTERNAL_STORAGE_READ :: 0x01;
ANDROID_EXTERNAL_STORAGE_WRITE :: 0x02;
ANDROID_EXTERNAL_STORAGE_READ :: 0x01
ANDROID_EXTERNAL_STORAGE_WRITE :: 0x02
@(default_calling_convention="c", link_prefix="SDL_")
+4 -4
View File
@@ -7,10 +7,10 @@ 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"
Thread :: struct {};
Thread :: struct {}
threadID :: distinct c.ulong;
TLSID :: distinct c.uint;
threadID :: distinct c.ulong
TLSID :: distinct c.uint
ThreadPriority :: enum c.int {
LOW,
@@ -19,7 +19,7 @@ ThreadPriority :: enum c.int {
TIME_CRITICAL,
}
ThreadFunction :: proc "c" (data: rawptr) -> c.int;
ThreadFunction :: proc "c" (data: rawptr) -> c.int
@(default_calling_convention="c", link_prefix="SDL_")
foreign lib {
+3 -3
View File
@@ -7,11 +7,11 @@ 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"
TimerCallback :: proc "c" (interval: u32, param: rawptr) -> u32;
TimerID :: distinct c.int;
TimerCallback :: proc "c" (interval: u32, param: rawptr) -> u32
TimerID :: distinct c.int
TICKS_PASSED :: #force_inline proc "c" (A, B: u32) -> bool {
return bool(i32(B) - i32(A) <= 0);
return bool(i32(B) - i32(A) <= 0)
}
@(default_calling_convention="c", link_prefix="SDL_")
+4 -4
View File
@@ -7,8 +7,8 @@ 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"
TouchID :: distinct i64;
FingerID :: distinct i64;
TouchID :: distinct i64
FingerID :: distinct i64
TouchDeviceType :: enum c.int {
INVALID = -1,
@@ -24,8 +24,8 @@ Finger :: struct {
pressure: f32,
}
TOUCH_MOUSEID :: ~u32(0);
MOUSE_TOUCH_ID :: TouchID(-1);
TOUCH_MOUSEID :: ~u32(0)
MOUSE_TOUCH_ID :: TouchID(-1)
@(default_calling_convention="c", link_prefix="SDL_")
foreign lib {
+35 -35
View File
@@ -15,7 +15,7 @@ DisplayMode :: struct {
driverdata: rawptr, /**< driver-specific data, initialize to 0 */
}
Window :: struct {};
Window :: struct {}
WindowFlag :: enum u32 {
FULLSCREEN = 0, /**< fullscreen window */
@@ -46,47 +46,47 @@ WindowFlag :: enum u32 {
INPUT_GRABBED = MOUSE_GRABBED, /**< equivalent to SDL_WINDOW_MOUSE_GRABBED for compatibility */
}
WindowFlags :: distinct bit_set[WindowFlag; u32];
WindowFlags :: distinct bit_set[WindowFlag; u32]
WINDOW_FULLSCREEN :: WindowFlags{.FULLSCREEN};
WINDOW_OPENGL :: WindowFlags{.OPENGL};
WINDOW_SHOWN :: WindowFlags{.SHOWN};
WINDOW_HIDDEN :: WindowFlags{.HIDDEN};
WINDOW_BORDERLESS :: WindowFlags{.BORDERLESS};
WINDOW_RESIZABLE :: WindowFlags{.RESIZABLE};
WINDOW_MINIMIZED :: WindowFlags{.MINIMIZED};
WINDOW_MAXIMIZED :: WindowFlags{.MAXIMIZED};
WINDOW_MOUSE_GRABBED :: WindowFlags{.MOUSE_GRABBED};
WINDOW_INPUT_FOCUS :: WindowFlags{.INPUT_FOCUS};
WINDOW_MOUSE_FOCUS :: WindowFlags{.MOUSE_FOCUS};
WINDOW_FULLSCREEN_DESKTOP :: WindowFlags{.FULLSCREEN, ._INTERNAL_FULLSCREEN_DESKTOP};
WINDOW_FOREIGN :: WindowFlags{.FOREIGN};
WINDOW_ALLOW_HIGHDPI :: WindowFlags{.ALLOW_HIGHDPI};
WINDOW_MOUSE_CAPTURE :: WindowFlags{.MOUSE_CAPTURE};
WINDOW_ALWAYS_ON_TOP :: WindowFlags{.ALWAYS_ON_TOP};
WINDOW_SKIP_TASKBAR :: WindowFlags{.SKIP_TASKBAR};
WINDOW_UTILITY :: WindowFlags{.UTILITY};
WINDOW_TOOLTIP :: WindowFlags{.TOOLTIP};
WINDOW_POPUP_MENU :: WindowFlags{.POPUP_MENU};
WINDOW_KEYBOARD_GRABBED :: WindowFlags{.KEYBOARD_GRABBED};
WINDOW_VULKAN :: WindowFlags{.VULKAN};
WINDOW_METAL :: WindowFlags{.METAL};
WINDOW_INPUT_GRABBED :: WindowFlags{.INPUT_GRABBED};
WINDOW_FULLSCREEN :: WindowFlags{.FULLSCREEN}
WINDOW_OPENGL :: WindowFlags{.OPENGL}
WINDOW_SHOWN :: WindowFlags{.SHOWN}
WINDOW_HIDDEN :: WindowFlags{.HIDDEN}
WINDOW_BORDERLESS :: WindowFlags{.BORDERLESS}
WINDOW_RESIZABLE :: WindowFlags{.RESIZABLE}
WINDOW_MINIMIZED :: WindowFlags{.MINIMIZED}
WINDOW_MAXIMIZED :: WindowFlags{.MAXIMIZED}
WINDOW_MOUSE_GRABBED :: WindowFlags{.MOUSE_GRABBED}
WINDOW_INPUT_FOCUS :: WindowFlags{.INPUT_FOCUS}
WINDOW_MOUSE_FOCUS :: WindowFlags{.MOUSE_FOCUS}
WINDOW_FULLSCREEN_DESKTOP :: WindowFlags{.FULLSCREEN, ._INTERNAL_FULLSCREEN_DESKTOP}
WINDOW_FOREIGN :: WindowFlags{.FOREIGN}
WINDOW_ALLOW_HIGHDPI :: WindowFlags{.ALLOW_HIGHDPI}
WINDOW_MOUSE_CAPTURE :: WindowFlags{.MOUSE_CAPTURE}
WINDOW_ALWAYS_ON_TOP :: WindowFlags{.ALWAYS_ON_TOP}
WINDOW_SKIP_TASKBAR :: WindowFlags{.SKIP_TASKBAR}
WINDOW_UTILITY :: WindowFlags{.UTILITY}
WINDOW_TOOLTIP :: WindowFlags{.TOOLTIP}
WINDOW_POPUP_MENU :: WindowFlags{.POPUP_MENU}
WINDOW_KEYBOARD_GRABBED :: WindowFlags{.KEYBOARD_GRABBED}
WINDOW_VULKAN :: WindowFlags{.VULKAN}
WINDOW_METAL :: WindowFlags{.METAL}
WINDOW_INPUT_GRABBED :: WindowFlags{.INPUT_GRABBED}
WINDOWPOS_UNDEFINED_MASK :: 0x1FFF0000;
WINDOWPOS_UNDEFINED_MASK :: 0x1FFF0000
WINDOWPOS_UNDEFINED_DISPLAY :: #force_inline proc "c" (X: c.int) -> c.int { return WINDOWPOS_UNDEFINED_MASK|X }
WINDOWPOS_UNDEFINED :: WINDOWPOS_UNDEFINED_MASK|0;
WINDOWPOS_UNDEFINED :: WINDOWPOS_UNDEFINED_MASK|0
WINDOWPOS_ISUNDEFINED :: #force_inline proc "c" (X: c.int) -> bool {
return u32(X)&0xFFFF0000 == WINDOWPOS_UNDEFINED_MASK;
return u32(X)&0xFFFF0000 == WINDOWPOS_UNDEFINED_MASK
}
WINDOWPOS_CENTERED_MASK :: 0x2FFF0000;
WINDOWPOS_CENTERED_MASK :: 0x2FFF0000
WINDOWPOS_CENTERED_DISPLAY :: #force_inline proc "c" (X: c.int) -> c.int { return WINDOWPOS_CENTERED_MASK|X }
WINDOWPOS_CENTERED :: WINDOWPOS_CENTERED_MASK|0;
WINDOWPOS_CENTERED :: WINDOWPOS_CENTERED_MASK|0
WINDOWPOS_ISCENTERED :: #force_inline proc "c" (X: c.int) -> bool {
return u32(X)&0xFFFF0000 == WINDOWPOS_CENTERED_MASK;
return u32(X)&0xFFFF0000 == WINDOWPOS_CENTERED_MASK
}
@@ -136,7 +136,7 @@ FlashOperation :: enum c.int {
UNTIL_FOCUSED, /**< Flash the window until it gets focus */
}
GLContext :: distinct rawptr;
GLContext :: distinct rawptr
GLattr :: enum c.int {
RED_SIZE,
@@ -205,7 +205,7 @@ HitTestResult :: enum c.int {
RESIZE_LEFT,
}
HitTest :: proc "c" (win: ^Window, area: ^Point, data: rawptr) -> HitTestResult;
HitTest :: proc "c" (win: ^Window, area: ^Point, data: rawptr) -> HitTestResult
@(default_calling_convention="c", link_prefix="SDL_")
@@ -309,5 +309,5 @@ foreign lib {
// Used by vendor:OpenGL
gl_set_proc_address :: proc(p: rawptr, name: cstring) {
(^rawptr)(p)^ = GL_GetProcAddress(name);
(^rawptr)(p)^ = GL_GetProcAddress(name)
}
+4 -4
View File
@@ -7,11 +7,11 @@ 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"
VkInstance :: distinct u64;
VkSurfaceKHR :: distinct u64;
VkInstance :: distinct u64
VkSurfaceKHR :: distinct u64
vulkanInstance :: VkInstance;
vulkanSurface :: VkSurfaceKHR;
vulkanInstance :: VkInstance
vulkanSurface :: VkSurfaceKHR
@(default_calling_convention="c", link_prefix="SDL_")
foreign lib {
+23 -23
View File
@@ -8,18 +8,18 @@ when ODIN_OS == "linux" do foreign import lib "system:SDL2_ttf"
when ODIN_OS == "darwin" do foreign import lib "system:SDL2_ttf"
when ODIN_OS == "freebsd" do foreign import lib "system:SDL2_ttf"
bool :: SDL.bool;
bool :: SDL.bool
#assert(size_of(rune) == size_of(u32));
MAJOR_VERSION :: 2;
MINOR_VERSION :: 0;
PATCHLEVEL :: 15;
MAJOR_VERSION :: 2
MINOR_VERSION :: 0
PATCHLEVEL :: 15
UNICODE_BOM_NATIVE :: 0xFEFF;
UNICODE_BOM_SWAPPED :: 0xFFFE;
UNICODE_BOM_NATIVE :: 0xFEFF
UNICODE_BOM_SWAPPED :: 0xFFFE
Font :: struct {};
Font :: struct {}
StyleFlag :: enum c.int {
BOLD = 0,
@@ -28,13 +28,13 @@ StyleFlag :: enum c.int {
STRIKETHROUGH = 3,
}
Style :: distinct bit_set[StyleFlag; c.int];
Style :: distinct bit_set[StyleFlag; c.int]
STYLE_NORMAL :: Style{};
STYLE_BOLD :: Style{.BOLD};
STYLE_ITALIC :: Style{.ITALIC};
STYLE_UNDERLINE :: Style{.UNDERLINE};
STYLE_STRIKETHROUGH :: Style{.STRIKETHROUGH};
STYLE_NORMAL :: Style{}
STYLE_BOLD :: Style{.BOLD}
STYLE_ITALIC :: Style{.ITALIC}
STYLE_UNDERLINE :: Style{.UNDERLINE}
STYLE_STRIKETHROUGH :: Style{.STRIKETHROUGH}
Hinting :: enum c.int {
NORMAL = 0,
@@ -44,25 +44,25 @@ Hinting :: enum c.int {
LIGHT_SUBPIXEL = 4,
}
HINTING_NORMAL :: Hinting.NORMAL;
HINTING_LIGHT :: Hinting.LIGHT;
HINTING_MONO :: Hinting.MONO;
HINTING_NONE :: Hinting.NONE;
HINTING_LIGHT_SUBPIXEL :: Hinting.LIGHT_SUBPIXEL;
HINTING_NORMAL :: Hinting.NORMAL
HINTING_LIGHT :: Hinting.LIGHT
HINTING_MONO :: Hinting.MONO
HINTING_NONE :: Hinting.NONE
HINTING_LIGHT_SUBPIXEL :: Hinting.LIGHT_SUBPIXEL
/* We'll use SDL for reporting errors */
SetError :: SDL.SetError;
GetError :: SDL.GetError;
SetError :: SDL.SetError
GetError :: SDL.GetError
/* For compatibility with previous versions, here are the old functions */
RenderText :: #force_inline proc "c" (font: ^Font, text: cstring, fg, bg: SDL.Color) -> ^SDL.Surface {
return RenderText_Shaded(font, text, fg, bg);
return RenderText_Shaded(font, text, fg, bg)
}
RenderUTF8 :: #force_inline proc "c" (font: ^Font, text: cstring, fg, bg: SDL.Color) -> ^SDL.Surface {
return RenderUTF8_Shaded(font, text, fg, bg);
return RenderUTF8_Shaded(font, text, fg, bg)
}
RenderUNICODE :: #force_inline proc "c" (font: ^Font, text: [^]u16, fg, bg: SDL.Color) -> ^SDL.Surface {
return RenderUNICODE_Shaded(font, text, fg, bg);
return RenderUNICODE_Shaded(font, text, fg, bg)
}
@(default_calling_convention="c", link_prefix="TTF_")