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;
test_button_count := 1;
check_buttons : [10] bool
+slider_values : [7] f32
draw :: () {
gl.clearColor(0, 0, 0, 1);
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;
}
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!");
}
{
{
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 };
}
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);