Files
LeanDoom/SDL.lean
Oliver Dressler 626e8ebd90 Initial commit
2025-08-28 09:42:00 +02:00

54 lines
1.3 KiB
Lean4

namespace SDL
def SDL_INIT_VIDEO : UInt32 := 0x00000020
def SDL_WINDOW_SHOWN : UInt32 := 0x00000004
def SDL_RENDERER_ACCELERATED : UInt32 := 0x00000002
def SDL_QUIT : UInt32 := 0x100
def SDL_SCANCODE_W : UInt32 := 26
def SDL_SCANCODE_A : UInt32 := 4
def SDL_SCANCODE_S : UInt32 := 22
def SDL_SCANCODE_D : UInt32 := 7
def SDL_SCANCODE_LEFT : UInt32 := 80
def SDL_SCANCODE_RIGHT : UInt32 := 79
def SDL_SCANCODE_SPACE : UInt32 := 44
def SDL_SCANCODE_ESCAPE : UInt32 := 41
@[extern "sdl_init"]
opaque init : UInt32 IO UInt32
@[extern "sdl_quit"]
opaque quit : IO Unit
@[extern "sdl_create_window"]
opaque createWindow : String Int32 Int32 Int32 Int32 UInt32 IO UInt32
@[extern "sdl_create_renderer"]
opaque createRenderer : UInt32 UInt32 IO UInt32
@[extern "sdl_set_render_draw_color"]
opaque setRenderDrawColor : UInt8 UInt8 UInt8 UInt8 IO Int32
@[extern "sdl_render_clear"]
opaque renderClear : IO Int32
@[extern "sdl_render_present"]
opaque renderPresent : IO Unit
@[extern "sdl_render_fill_rect"]
opaque renderFillRect : Int32 Int32 Int32 Int32 IO Int32
@[extern "sdl_delay"]
opaque delay : UInt32 IO Unit
@[extern "sdl_poll_event"]
opaque pollEvent : IO UInt32
@[extern "sdl_get_ticks"]
opaque getTicks : IO UInt32
@[extern "sdl_get_key_state"]
opaque getKeyState : UInt32 IO Bool
end SDL