improving lexer
This commit is contained in:
@@ -131,7 +131,7 @@ fn ui_box_t *ui_build_box_from_string(ui_code_loc_t loc, ui_box_flags_t flags, s
|
||||
ui_box_t *box = ui_build_box_from_id(loc, flags, id);
|
||||
box->string = ui_get_display_string(string);
|
||||
v2f32_t string_size = rn_measure_string(&rn_state.main_font, box->string);
|
||||
string_size.x += 50;
|
||||
string_size.x += ui_em(1);
|
||||
r2f32_t rect = ui_next_rect(ui->top->op, &ui->top->rect, string_size);
|
||||
ui_set_rect(box, rect);
|
||||
return box;
|
||||
@@ -512,28 +512,18 @@ fn void ui_demo_update(app_frame_t *frame) {
|
||||
ui_begin_build(UILOC, ev, window_rect_from_frame(frame));
|
||||
|
||||
ui->top->op = ui_op_idle;
|
||||
ui_box_t *top_box = ui_boxf((ui_box_flags_t){.draw_rect = true, .draw_border = true, .clip_rect = true}, "top_box");
|
||||
ui_set_rect(top_box, r2f32_cut_top(&ui->top->rect, ui_em(1)));
|
||||
defer_block(ui_push_top(top_box), ui_pop_top()) {
|
||||
top_box->op = ui_op_cut_left;
|
||||
ui->pref_text_align = ui_text_align_center;
|
||||
ui_button("file");
|
||||
ui_button("edit");
|
||||
ui->pref_text_align = ui_text_align_left;
|
||||
}
|
||||
|
||||
ui_box_t *scroller_box = ui_boxf((ui_box_flags_t){.draw_rect = true, .clip_rect = true}, "scroller");
|
||||
ui_set_rect(scroller_box, r2f32_cut_right(&ui->top->rect, ui_em(1)));
|
||||
ui_set_rect(scroller_box, r2f32_cut_right(&ui->top->rect, ui_em(0.5f)));
|
||||
|
||||
ui_box_t *item_box = ui_boxf((ui_box_flags_t){.draw_rect = true, .clip_rect = true}, "item_box");
|
||||
ui_set_rect(item_box, r2f32_cut_left(&ui->top->rect, ui_max));
|
||||
|
||||
// @todo: now actually fill this out with struct data using type info
|
||||
static f32 scroller_value;
|
||||
defer_block(ui_push_top(item_box), ui_pop_top()) {
|
||||
ui_serial_type(&ui_test_event, type(app_event_t));
|
||||
defer_if (ui_begin_expander("app_event_t").clicked, ui_end_expander()) {
|
||||
for (int i = 0; i < 10; i += 1) {
|
||||
for (int i = 0; i < 2; i += 1) {
|
||||
ui_label("kind: app_event_kind_t##a%d", i);
|
||||
ui_label("ctrl: b8##ds%d", i);
|
||||
ui_label("shift: b8##f%d", i);
|
||||
@@ -562,7 +552,6 @@ fn void ui_demo_update(app_frame_t *frame) {
|
||||
f32 scroller_percent = scroller_norm * scrollable_space;
|
||||
f32 scroller_second = scrollable_space - scroller_percent;
|
||||
|
||||
scroller_box->op = ui_op_idle;
|
||||
r2f32_cut_top(&ui->top->rect, scroller_percent * scroller_box_size);
|
||||
ui_box_t *box = ui_build_box_from_id(UILOC, (ui_box_flags_t){.draw_border = true, .draw_rect = true}, ui_idf("slider"));
|
||||
ui_set_rect(box, r2f32_cut_top(&ui->top->rect, scroller_size * scroller_box_size));
|
||||
@@ -576,7 +565,6 @@ fn void ui_demo_update(app_frame_t *frame) {
|
||||
scroller_value = CLAMP(scroller_value, 0, all_items_size);
|
||||
}
|
||||
|
||||
|
||||
for (ui_box_t *it = item_box->first; it; it = it->next) {
|
||||
it->full_rect.min.y -= scroller_value;
|
||||
it->full_rect.max.y -= scroller_value;
|
||||
|
||||
Reference in New Issue
Block a user