From f8c0e5f4da7d654078f83d92d3d5084ba76ff991 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Thu, 10 Jun 2021 23:44:11 -0500 Subject: [PATCH] added slider tests --- src/tower.onyx | 49 +++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 39 insertions(+), 10 deletions(-) diff --git a/src/tower.onyx b/src/tower.onyx index 97f688d..1409310 100644 --- a/src/tower.onyx +++ b/src/tower.onyx @@ -54,8 +54,6 @@ poll_events :: () { case .MouseMove do ui.update_mouse_position(~~ event.mouse.pos_x, ~~ event.mouse.pos_y); case .Resize { - printf("Window was resized to: %i %i\n", event.resize.width, event.resize.height); - window_width = event.resize.width; window_height = event.resize.height; @@ -90,6 +88,7 @@ counter := 0; test_button_count := 1; check_buttons : [10] bool +slider_values : [7] f32 draw :: () { gl.clearColor(0, 0, 0, 1); @@ -106,19 +105,29 @@ draw :: () { ui.draw_rect(right_top, .{ 0.5, 0.4, 0.4 }); { - panel, _ := split_vertical(right_top, left_width=300); + panel, slider_panel := split_vertical(right_top, left_width=300); checkbox : ui.Rectangle; + x, y := ui.Rectangle.bottom_left(panel); + w, h := ui.Rectangle.dimensions(panel); + gfx.scissor(x, ~~window_height - y, w, h); + ui.draw_rect(panel, .{ 0, 0, 0, 0.3 }); str_buffer : [32] u8; i := 1; for ^button_value: check_buttons { - checkbox, panel = split_horizontal(panel, top_height=48); + checkbox, panel = split_horizontal(panel, top_height=32); + theme := ui.default_checkbox_theme; + if i == 6 { + theme.text_color = .{ 0.5, 0.5, 1 }; + theme.background_color = .{ 0.5, 0.5, 1 }; + } + text := conv.str_format("Check me! %i", ~~ str_buffer, i); - ui.checkbox(checkbox, button_value, text, increment=i); + ui.checkbox(checkbox, button_value, text, increment=i, theme=^theme); i += 1; } @@ -128,6 +137,27 @@ draw :: () { if ui.button(button_rect, "Clear all") { for ^value: check_buttons do *value = false; } + + gfx.scissor_disable(); + + slider : ui.Rectangle; + slider_theme := ui.default_slider_theme; + slider_theme.box_border_width = 2.0f; + slider_theme.bar_hover_color = .{ .5, .5, 1 }; + + i = 1; + for ^value: slider_values { + slider, slider_panel = split_horizontal(slider_panel, top_height=48, padding=4); + slider = padding(slider, left=12, right=12); + ui.slider(slider, value, 0, ~~(10 + i), "Test Slider", 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; + + if !check_buttons[5] && i > 5 do break; + } + + ui.draw_text(slider_panel, "This text is underneath all of the slider!"); } { @@ -142,7 +172,7 @@ draw :: () { { button_rect: ui.Rectangle; - sidebar := left; + sidebar := padding(left, left=12, right=12, top=12, bottom=12); red_theme := ui.default_button_theme; red_theme.text_color = .{ 1, 0, 0 }; @@ -153,15 +183,14 @@ draw :: () { } if counter % 2 == 0 { - red_theme = ui.default_button_theme; button_rect, sidebar = split_horizontal(sidebar, top_height=75, padding=10); - ui.button(button_rect, "Another Button", ^red_theme); + ui.button(button_rect, "Another Button"); } button_rect, sidebar = split_horizontal(sidebar, top_height=75, padding = 10); - if ui.button(button_rect, "Increase Buttons", ^red_theme) do test_button_count += 1; + if ui.button(button_rect, "Increase Buttons") do test_button_count += 1; button_rect, sidebar = split_horizontal(sidebar, top_height=75, padding = 10); - if ui.button(button_rect, "Decrease Buttons", ^red_theme) do test_button_count -= 1; + if ui.button(button_rect, "Decrease Buttons") do test_button_count -= 1; test_button_count = math.clamp(test_button_count, 0, 10); -- 2.25.1