sdl_timer.odin 740 B

1234567891011121314151617181920212223242526
  1. package sdl2
  2. import "core:c"
  3. when ODIN_OS == .Windows {
  4. foreign import lib "SDL2.lib"
  5. } else {
  6. foreign import lib "system:SDL2"
  7. }
  8. TimerCallback :: proc "c" (interval: u32, param: rawptr) -> u32
  9. TimerID :: distinct c.int
  10. TICKS_PASSED :: #force_inline proc "c" (A, B: u32) -> bool {
  11. return bool(i32(B) - i32(A) <= 0)
  12. }
  13. @(default_calling_convention="c", link_prefix="SDL_")
  14. foreign lib {
  15. GetTicks :: proc() -> u32 ---
  16. GetPerformanceCounter :: proc() -> u64 ---
  17. GetPerformanceFrequency :: proc() -> u64 ---
  18. Delay :: proc(ms: u32) ---
  19. AddTimer :: proc(interval: u32, callback: TimerCallback, param: rawptr) -> TimerID ---
  20. RemoveTimer :: proc(id: TimerID) -> bool ---
  21. }