color table, string_pos_offset

This commit is contained in:
Krzosa Karol
2025-01-26 08:24:09 +01:00
parent 0a6654c15d
commit 7831cc51d6
7 changed files with 183 additions and 109 deletions

View File

@@ -1,4 +1,39 @@
// automatically generated using: C:\dev\wasm\src/ui/ui.meta.c
type_t type__ui_color_t = { type_kind_enum, s8_const_lit("ui_color_t"), sizeof(ui_color_t),
.members = (type_member_t[]){
{.name = s8_const_lit("ui_color_rect_color"), .value = ui_color_rect_color},
{.name = s8_const_lit("ui_color_rect_hot_color"), .value = ui_color_rect_hot_color},
{.name = s8_const_lit("ui_color_rect_active_color"), .value = ui_color_rect_active_color},
{.name = s8_const_lit("ui_color_border_color"), .value = ui_color_border_color},
{.name = s8_const_lit("ui_color_text_color"), .value = ui_color_text_color},
{.name = s8_const_lit("ui_color_text_hot_color"), .value = ui_color_text_hot_color},
{.name = s8_const_lit("ui_color_text_active_color"), .value = ui_color_text_active_color},
{.name = s8_const_lit("ui_color_focused_rect_color"), .value = ui_color_focused_rect_color},
},
.count = 8,
};
gb v4f32_t ui_color_table[] = {
{0},
{0},
{0},
{0},
{0},
{0},
{0},
{0},
};
fn void ui_init_colors(void) {
ui_color_table[ui_color_rect_color] = v4f32_hsla_to_rgba((v4f32_t){0.0f, 0.2f, 0.95f, 1.0f});
ui_color_table[ui_color_rect_hot_color] = v4f32_hsla_to_rgba((v4f32_t){0.0f, 0.5f, 0.95f, 1.0f});
ui_color_table[ui_color_rect_active_color] = v4f32_hsla_to_rgba((v4f32_t){0.1f, 0.5f, 0.95f, 1.0f});
ui_color_table[ui_color_border_color] = v4f32_hsla_to_rgba((v4f32_t){0.0f, 0.2f, 0.70f, 1.0f});
ui_color_table[ui_color_text_color] = v4f32_hsla_to_rgba((v4f32_t){0.0f, 0.2f, 0.70f, 1.0f});
ui_color_table[ui_color_text_hot_color] = v4f32_hsla_to_rgba((v4f32_t){0.1f, 0.4f, 0.70f, 1.0f});
ui_color_table[ui_color_text_active_color] = v4f32_hsla_to_rgba((v4f32_t){0.1f, 0.5f, 0.70f, 1.0f});
ui_color_table[ui_color_focused_rect_color] = v4f32_hsla_to_rgba((v4f32_t){0.1f, 0.6f, 0.95f, 1.0f});
}
fn void ui_push_id(ui_id_t v) { ui_id_node_t *n = ma_push_type(tcx.temp, ui_id_node_t); n->value = v; SLLS_PUSH(ui->id_stack, n); }
fn void ui_pop_id(void) { SLLS_POP(ui->id_stack); }
fn ui_id_t ui_top_id(void) { return ui->id_stack->value; }
@@ -23,6 +58,10 @@ fn void ui_push_padding(f32 v) { ui_f32_node_t *n = ma_push_type(tcx.temp, ui_f3
fn void ui_pop_padding(void) { SLLS_POP(ui->padding_stack); }
fn f32 ui_top_padding(void) { return ui->padding_stack->value; }
#define ui_set_padding(x) defer_block(ui_push_padding(x), ui_pop_padding())
fn void ui_push_string_pos_offset(f32 v) { ui_f32_node_t *n = ma_push_type(tcx.temp, ui_f32_node_t); n->value = v; SLLS_PUSH(ui->string_pos_offset_stack, n); }
fn void ui_pop_string_pos_offset(void) { SLLS_POP(ui->string_pos_offset_stack); }
fn f32 ui_top_string_pos_offset(void) { return ui->string_pos_offset_stack->value; }
#define ui_set_string_pos_offset(x) defer_block(ui_push_string_pos_offset(x), ui_pop_string_pos_offset())
fn void ui_push_background_color(v4f32_t v) { ui_v4f32_node_t *n = ma_push_type(tcx.temp, ui_v4f32_node_t); n->value = v; SLLS_PUSH(ui->background_color_stack, n); }
fn void ui_pop_background_color(void) { SLLS_POP(ui->background_color_stack); }
fn v4f32_t ui_top_background_color(void) { return ui->background_color_stack->value; }
@@ -59,6 +98,7 @@ assert(ui->border_thickness_stack == NULL);
assert(ui->text_align_stack == NULL);
assert(ui->required_size_stack == NULL);
assert(ui->padding_stack == NULL);
assert(ui->string_pos_offset_stack == NULL);
assert(ui->background_color_stack == NULL);
assert(ui->bg_hot_color_stack == NULL);
assert(ui->bg_active_color_stack == NULL);
@@ -72,19 +112,21 @@ ui_push_id(ui_idf("root"));
ui_push_lop(ui_lop_cut_top);
ui_push_border_thickness(1.0f);
ui_push_text_align(ui_text_align_left);
ui_push_background_color(v4f32_hsla_to_rgba((v4f32_t){0.0f, 0.2f, 0.95f, 1.0f}));
ui_push_bg_hot_color(v4f32_hsla_to_rgba((v4f32_t){0.0f, 0.5f, 0.95f, 1.0f}));
ui_push_bg_active_color(v4f32_hsla_to_rgba((v4f32_t){0.1f, 0.5f, 0.95f, 1.0f}));
ui_push_border_color(v4f32_hsla_to_rgba((v4f32_t){0.0f, 0.2f, 0.7f, 1.0f}));
ui_push_text_color(v4f32_hsla_to_rgba((v4f32_t){0.0f, 0.2f, 0.7f, 1.0f}));
ui_push_text_hot_color(v4f32_hsla_to_rgba((v4f32_t){0.1f, 0.4f, 0.7f, 1.0f}));
ui_push_text_active_color(v4f32_hsla_to_rgba((v4f32_t){0.1f, 0.5f, 0.7f, 1.0f}));
ui_push_string_pos_offset(0);
ui_push_background_color(ui_color_table[ui_color_rect_color]);
ui_push_bg_hot_color(ui_color_table[ui_color_rect_hot_color]);
ui_push_bg_active_color(ui_color_table[ui_color_rect_active_color]);
ui_push_border_color(ui_color_table[ui_color_border_color]);
ui_push_text_color(ui_color_table[ui_color_text_color]);
ui_push_text_hot_color(ui_color_table[ui_color_text_hot_color]);
ui_push_text_active_color(ui_color_table[ui_color_text_active_color]);
}
fn void ui_pop_init_values(void) {
ui_pop_id();
ui_pop_lop();
ui_pop_border_thickness();
ui_pop_text_align();
ui_pop_string_pos_offset();
ui_pop_background_color();
ui_pop_bg_hot_color();
ui_pop_bg_active_color();