diff options
| author | Drew DeVault <sir@cmpwn.com> | 2021-12-09 13:06:45 +0100 |
|---|---|---|
| committer | Drew DeVault <sir@cmpwn.com> | 2021-12-09 13:07:36 +0100 |
| commit | 01bb53f01d5d8b732bd80a84f25b661e1452faeb (patch) | |
| tree | 822f1c568ce60ca68dd8a1f65b1828a60fb554e4 /cmd/demo/main.ha | |
| parent | Initial commit (diff) | |
| download | hare-chip8-01bb53f01d5d8b732bd80a84f25b661e1452faeb.tar.gz | |
Rig up events, partially rig up video
Diffstat (limited to '')
| -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 }; |
