TARGET=site/tower.wasm
ONYX_INSTALLATION_FOLDER="/home/brendan/dev/c/onyx"
-echo "Starting build at $(date)"
+# echo "Starting build at $(date)"
# Copy relative javascript modules from Onyx source directory
cp "$ONYX_INSTALLATION_FOLDER/bin/onyx-loader.js" ./site/js/onyx-loader.js
cp "$ONYX_INSTALLATION_FOLDER/modules/webgl2/webgl2.js" ./site/js/webgl2.js
cp "$ONYX_INSTALLATION_FOLDER/modules/js_events/js_events.js" ./site/js/js_events.js
-onyx -r js -V --use-post-mvp-features -o $TARGET \
+[ ! -z "$1" ] && COLOR_FLAG=--no-colors
+
+onyx -r js --use-post-mvp-features -o $TARGET $COLOR_FLAG --doc docs/source_reference.txt \
src/build.onyx \
-I "$ONYX_INSTALLATION_FOLDER" # Include the folder that contains the "modules"
test_button_count := 1;
check_buttons : [10] bool
-slider_values : [7] f32
+slider_values : [7] f32 = f32.[ 1.0f, 2.0f, 3.0, 4.0, 5.0, 6.0, 7.0 ];
radio_options :: enum {
Apples;
for ^value: slider_values {
slider, slider_panel = split_horizontal(slider_panel, top_height=48);
slider = padding(slider, left=12, right=12, top=4);
- ui.slider(slider, value, 0, ~~(10 + i), "Test Slider", theme=^slider_theme, increment=i);
+ ui.slider(slider, value, ~~ -(10 + i), ~~(10 + i), theme=^slider_theme, increment=i);
ui.draw_text(padding(slider, left=8, top=8), conv.str_format("Slider %i: %f", ~~str_buffer, i, *value));
i += 1;
}
- // When enum metadata is embedded in the binary file, this can become a for loop.
radio: ui.Rectangle;
- radio, slider_panel = split_horizontal(slider_panel, top_height=32);
- ui.radio(padding(radio, left=12), ^radio_value, .Apples, "Apples");
- radio, slider_panel = split_horizontal(slider_panel, top_height=32);
- ui.radio(padding(radio, left=12), ^radio_value, .Bananas, "Bananas");
-
- radio, slider_panel = split_horizontal(slider_panel, top_height=32);
- ui.radio(padding(radio, left=12), ^radio_value, .Coconut, "Coconut");
-
- radio, slider_panel = split_horizontal(slider_panel, top_height=32);
- ui.radio(padding(radio, left=12), ^radio_value, .Apples, "Another Apples");
+ i = 0;
+ for v: (cast(^type_info.Type_Info_Enum) type_info.get_type_info(radio_options)).members {
+ radio, slider_panel = split_horizontal(slider_panel, top_height=32);
+ ui.radio(padding(radio, left=12), ^radio_value, ~~v.value, v.name, increment=i);
+ i += 1;
+ }
textbox_part: ui.Rectangle;
textbox_part, slider_panel = split_horizontal(slider_panel, top_height=72, padding=8);