From a9be283ac4706ec899f31b3a88a0191b4dc3df03 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Sat, 3 Jul 2021 22:50:36 -0500 Subject: [PATCH] added config and started using #defined() --- build.sh | 2 +- src/build.onyx | 2 ++ src/config.onyx | 2 ++ src/main.onyx | 26 ++++++++++++++++++++------ 4 files changed, 25 insertions(+), 7 deletions(-) create mode 100644 src/config.onyx diff --git a/build.sh b/build.sh index 64aa898..132e368 100755 --- a/build.sh +++ b/build.sh @@ -17,7 +17,7 @@ RUNTIME=js onyx --no-colors $FLAGS -r $RUNTIME \ --use-post-mvp-features \ -I $ONYX_MODULE_DIRECTORY \ - --doc docs/source_reference \ + --doc doc/source_reference \ -o $TARGET \ src/build.onyx diff --git a/src/build.onyx b/src/build.onyx index e11d1ad..50c527a 100644 --- a/src/build.onyx +++ b/src/build.onyx @@ -3,6 +3,8 @@ #load "modules/wasm_utils/module" #load "modules/json/module" +#load "src/config" + #if (package runtime).Runtime == (package runtime).Runtime_Js { #load "modules/webgl2/module" #load "modules/immediate_mode/module" diff --git a/src/config.onyx b/src/config.onyx new file mode 100644 index 0000000..f3921b0 --- /dev/null +++ b/src/config.onyx @@ -0,0 +1,2 @@ +package config + diff --git a/src/main.onyx b/src/main.onyx index bf0ad7e..8e08565 100644 --- a/src/main.onyx +++ b/src/main.onyx @@ -4,7 +4,8 @@ use package core #private_file events :: package js_events #private_file gl :: package gl #private_file gfx :: package immediate_mode -#private_file ui :: package ui +#private_file ui :: package ui +#private_file config :: package config main :: (args: [] cstr) { init(); @@ -34,16 +35,27 @@ last_time := 0; dt := cast(f32) (now - last_time) / 1000.0f; last_time = now; - poll_events(); - update(dt); - draw(); + #if #defined(config.ONLY_UPDATE_ON_EVENTS) { + if poll_events() { + update(dt); + draw(); + } + + } else { + poll_events(); + update(dt); + draw(); + } } @Temporary window_width := 0 @Temporary window_height := 0 -poll_events :: () { +poll_events :: () -> bool { + had_event := false; + for event: events.consume() { + had_event = true; switch event.kind { case .MouseDown do switch event.mouse.button { case .Left do ui.button_pressed(.Left); @@ -87,6 +99,8 @@ poll_events :: () { } } } + + return had_event; } update :: (dt: f32) { @@ -98,7 +112,7 @@ draw :: () { gl.clear(gl.COLOR_BUFFER_BIT); if ui.button(.{ 100, 100, 300, 200 }, "Test") { - red = math.abs(1 - red); + red = 1 - red; } gfx.flush(); -- 2.25.1