diff options
Diffstat (limited to 'cmd/demo/main.ha')
| -rw-r--r-- | cmd/demo/main.ha | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/cmd/demo/main.ha b/cmd/demo/main.ha index 1a8e362..1c780fd 100644 --- a/cmd/demo/main.ha +++ b/cmd/demo/main.ha @@ -1,8 +1,33 @@ -use sdl2; +use fmt; use os; +use sdl2::{event_type, window_flags}; +use sdl2; +use strings; export fn main() void = { sdl2::init(sdl2::init_flags::VIDEO); defer sdl2::quit(); - os::exit(0); + + const title = strings::to_c("Hare SDL2 demo"); + defer free(title); + const win = match (sdl2::create_window(title, + sdl2::WINDOWPOS_UNDEFINED, sdl2::WINDOWPOS_UNDEFINED, + 640, 480, window_flags::NONE)) { + case let win: *sdl2::window => + yield win; + case null => + fmt::fatal("sdl2::create_window failed"); + }; + defer sdl2::destroy_window(win); + + let ev = sdl2::event { ... }; + for (sdl2::wait_event(&ev) == 1) { + switch (ev.event_type) { + case event_type::QUIT => + break; + case => void; + }; + }; + + os::exit(0); // https://todo.sr.ht/~sircmpwn/hare/525 }; |
