#private_file gl :: package gl
#private_file gfx :: package immediate_mode
-#private_file bitmap_font :: package bitmap_font
#private_file ui :: package ui
main :: (args: [] cstr) {
master_rectangle := ui.Rectangle.{ x1 = ~~window_width, y1 = ~~window_height };
- left, right := ui.Flow.split_vertical(master_rectangle, left_width=300);
+ left, right := ui.Flow.split_vertical(master_rectangle, left_width=400);
right_top, right_bottom := ui.Flow.split_horizontal(right, top_percent=.6);
ui.draw_rect(right_bottom, .{ 0, 0.25, 0.5 });
+ ui.draw_rect(right_top, .{ 0.5, 0.4, 0.4 });
{
+ top, bottom := ui.Flow.split_horizontal(right_bottom, top_percent=.5);
text_theme := ui.default_text_theme;
- text_theme.font_size = 24;
- text_theme.text_color = .{ 0.6, 0.6, 1.0 };
- ui.draw_text(right_bottom, "Something here\nSomething else here.\nAlso here.", ^text_theme);
+ text_theme.font_size = 1.0f;
+ ui.draw_text(bottom, "Something here\nSomething else here.\nAlso here.", ^text_theme);
+
+ text_theme.font_size = 1.5f;
+ ui.draw_text(top, "ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz\n0123456789!@#$%^&*()-=_+{}[];:<>,./?'\"\\|~`", ^text_theme);
}
{
button_rect: ui.Rectangle;
sidebar := left;
- for i: test_button_count {
- button_rect, sidebar = ui.Flow.split_horizontal(sidebar, top_height=75, padding=10);
- ui.button(button_rect, "Test Button", increment=i);
- }
-
red_theme := ui.default_button_theme;
red_theme.text_color = .{ 1, 0, 0 };
red_theme.click_color = .{ 1, 0, 0 };
if ui.button(button_rect, "Decrease Buttons", ^red_theme) do test_button_count -= 1;
test_button_count = math.clamp(test_button_count, 0, 10);
+
+ for i: test_button_count {
+ button_rect, sidebar = ui.Flow.split_horizontal(sidebar, top_height=75, padding=10);
+ ui.button(button_rect, "Test Button", increment=i);
+ }
}
if opacity > 0 do ui.draw_rect(master_rectangle, .{ 0, 0, 0, opacity });
#if DEBUG {
- Debug_Info_Font_Size :: 16;
+ debug_info_theme := ui.default_text_theme;
+ debug_info_theme.text_color = .{ 0, 1, 0 };
+ debug_info_theme.font_size = 0.75f;
- box_top_left := cast(f32) (window_width - 160);
- ui.draw_rect(box_top_left, 0, 160, 36, .{0,0,0,.7});
+ debug_info_rectangle := ui.Rectangle.{ ~~(window_width - 200), 0, 200, 72 };
+ ui.draw_rect(debug_info_rectangle, .{0,0,0,.7});
str_buffer : [32] u8;
- conv.str_format("FPS: %i", ~~ str_buffer, fps) |> ui.draw_text_raw(box_top_left, 0, ~~Debug_Info_Font_Size, .{0,1,0});
- conv.str_format("Events: %i", ~~ str_buffer, events_this_frame) |> ui.draw_text_raw(box_top_left, 20, ~~Debug_Info_Font_Size, .{0,1,0});
+ debug_str := conv.str_format("FPS: %i\nEvents: %i", ~~ str_buffer, fps, events_this_frame);
+ ui.draw_text(debug_info_rectangle, debug_str, ^debug_info_theme);
events_this_frame = 0;
}