using cache in build_file, ui metaprogram and generating stacks
This commit is contained in:
31
src/ui/ui.gen.c
Normal file
31
src/ui/ui.gen.c
Normal file
@@ -0,0 +1,31 @@
|
||||
|
||||
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); }
|
||||
#define ui_set_id(x) defer_block(ui_push_id(x), ui_pop_id())
|
||||
fn void ui_push_lop(ui_lop_t v) { ui_lop_node_t *n = ma_push_type(tcx.temp, ui_lop_node_t); n->value = v; SLLS_PUSH(ui->lop_stack, n); }
|
||||
fn void ui_pop_lop(void) { SLLS_POP(ui->lop_stack); }
|
||||
#define ui_set_lop(x) defer_block(ui_push_lop(x), ui_pop_lop())
|
||||
fn void ui_push_border_thickness(f32 v) { ui_f32_node_t *n = ma_push_type(tcx.temp, ui_f32_node_t); n->value = v; SLLS_PUSH(ui->border_thickness_stack, n); }
|
||||
fn void ui_pop_border_thickness(void) { SLLS_POP(ui->border_thickness_stack); }
|
||||
#define ui_set_border_thickness(x) defer_block(ui_push_border_thickness(x), ui_pop_border_thickness())
|
||||
fn void ui_push_text_align(ui_text_align_t v) { ui_text_align_node_t *n = ma_push_type(tcx.temp, ui_text_align_node_t); n->value = v; SLLS_PUSH(ui->text_align_stack, n); }
|
||||
fn void ui_pop_text_align(void) { SLLS_POP(ui->text_align_stack); }
|
||||
#define ui_set_text_align(x) defer_block(ui_push_text_align(x), ui_pop_text_align())
|
||||
fn void ui_push_required_width(f32 v) { ui_f32_node_t *n = ma_push_type(tcx.temp, ui_f32_node_t); n->value = v; SLLS_PUSH(ui->required_width_stack, n); }
|
||||
fn void ui_pop_required_width(void) { SLLS_POP(ui->required_width_stack); }
|
||||
#define ui_set_required_width(x) defer_block(ui_push_required_width(x), ui_pop_required_width())
|
||||
fn void ui_push_required_height(f32 v) { ui_f32_node_t *n = ma_push_type(tcx.temp, ui_f32_node_t); n->value = v; SLLS_PUSH(ui->required_height_stack, n); }
|
||||
fn void ui_pop_required_height(void) { SLLS_POP(ui->required_height_stack); }
|
||||
#define ui_set_required_height(x) defer_block(ui_push_required_height(x), ui_pop_required_height())
|
||||
fn void ui_push_padding(v2f32_t v) { ui_v2f32_node_t *n = ma_push_type(tcx.temp, ui_v2f32_node_t); n->value = v; SLLS_PUSH(ui->padding_stack, n); }
|
||||
fn void ui_pop_padding(void) { SLLS_POP(ui->padding_stack); }
|
||||
#define ui_set_padding(x) defer_block(ui_push_padding(x), ui_pop_padding())
|
||||
fn void ui_assert_stacks_are_null(void) {
|
||||
assert(ui->id_stack == NULL);
|
||||
assert(ui->lop_stack == NULL);
|
||||
assert(ui->border_thickness_stack == NULL);
|
||||
assert(ui->text_align_stack == NULL);
|
||||
assert(ui->required_width_stack == NULL);
|
||||
assert(ui->required_height_stack == NULL);
|
||||
assert(ui->padding_stack == NULL);
|
||||
}
|
||||
Reference in New Issue
Block a user