aboutsummaryrefslogtreecommitdiff
path: root/vendor/sdl2/sdl_timer.odin
blob: 50b5eb981fd5ced386cd69cc2fc9a2f62984cf44 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package sdl2

import "core:c"

when ODIN_OS == .Windows {
	@(ignore_duplicates)
	foreign import lib "SDL2.lib"
} else {
	@(ignore_duplicates)
	foreign import lib "system:SDL2"
}

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

@(default_calling_convention="c", link_prefix="SDL_")
foreign lib {
	GetTicks                :: proc() -> u32 ---
	GetPerformanceCounter   :: proc() -> u64 ---
	GetPerformanceFrequency :: proc() -> u64 ---
	Delay                   :: proc(ms: u32) ---
	AddTimer                :: proc(interval: u32, callback: TimerCallback, param: rawptr) -> TimerID ---
	RemoveTimer             :: proc(id: TimerID) -> bool ---
}