- textbox1_str.buffer = memory.make_slice(u8, 64);
- textbox1_str.buffer.count = 0;
- textbox1_str.capacity = 64;
-
- textbox2_str.buffer = memory.make_slice(u8, 64);
- textbox2_str.buffer.count = 0;
- textbox2_str.capacity = 64;
+ textbox1_str = string.buffer_make(memory.make_slice(u8, 64));
+ textbox2_str = string.buffer_make(memory.make_slice(u8, 64));
start_loop :: () -> void #foreign "game" "start_loop" ---
start_loop();
}
radio_value := radio_options.Apples;
-textbox1_str : ui.String_Buffer;
-textbox2_str : ui.String_Buffer;
+textbox1_str : string.String_Buffer;
+textbox2_str : string.String_Buffer;
draw :: () {
gl.clearColor(0, 0, 0, 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);
+ 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.draw_text(padding(slider, left=8, top=8), conv.str_format("Slider %i: %f", ~~str_buffer, i, *value));
ui.radio(padding(radio, left=12), ^radio_value, .Apples, "Another Apples");
- textbox: ui.Rectangle;
- textbox, slider_panel = split_horizontal(slider_panel, top_height=48, padding=8);
- ui.textbox(padding(textbox, left=12, right=12), ^textbox1_str);
- textbox, slider_panel = split_horizontal(slider_panel, top_height=48, padding=8);
- ui.textbox(padding(textbox, left=12, right=12), ^textbox2_str);
+ textbox_part: ui.Rectangle;
+ textbox_part, slider_panel = split_horizontal(slider_panel, top_height=72, padding=8);
+
+ left_textbox, right_textbox := split_vertical(textbox_part, left_percent=0.5f);
+ ui.textbox(padding(left_textbox, left=12, right=12), ^textbox1_str);
+ ui.textbox(padding(right_textbox, left=12, right=12), ^textbox2_str);
- ui.draw_text(slider_panel, conv.str_format("Pos: %i\nHash: %i", ~~str_buffer, ui.textbox_editing_state.cursor_position, ui.textbox_editing_state.hash));
+ if ui.button(.{ slider_panel.x0, slider_panel.y0, slider_panel.x0 + 400, slider_panel.y0 + 100 }, "Clear textboxes") {
+ textbox1_str.count = 0;
+ textbox2_str.count = 0;
+ }
}
{