diff options
Diffstat (limited to 'src/apps/example_app.jai')
| -rw-r--r-- | src/apps/example_app.jai | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/apps/example_app.jai b/src/apps/example_app.jai new file mode 100644 index 0000000..2298fb7 --- /dev/null +++ b/src/apps/example_app.jai @@ -0,0 +1,33 @@ +#import "Basic"; +#import "Math"; + +Example_Data :: struct { + timer: float; +} + +init_example_widget :: (widget: *Widget_State) { + data := New(Example_Data); + data.timer = 0; + widget.data = data; + + widget.init = (app: *Widget_State) {}; + + widget.update = (widget: *Widget_State, dt: float) { + data := cast(*Example_Data) widget.data; + data.timer += dt; + }; + + widget.handle_input = (widget: *Widget_State, occluded: bool) -> (occludes: bool) {return false;}; + + widget.render = (widget: *Widget_State) { + data := cast(*Example_Data) widget.data; + + // Pulse background color to red to show it's updating and distinct from menu + r := 0.5 + 0.5 * sin(data.timer * 2.0); + Simp.clear_render_target(r, 0.1, 0.1, 1.0); + }; + + widget.shutdown = (widget: *Widget_State) { + free(widget.data); + }; +} |
