diff options
Diffstat (limited to 'src/static-ui.hpp')
| -rw-r--r-- | src/static-ui.hpp | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/src/static-ui.hpp b/src/static-ui.hpp index adc410a..3abfd26 100644 --- a/src/static-ui.hpp +++ b/src/static-ui.hpp @@ -82,6 +82,24 @@ const PKE_UI_BOX_STATE_FLAG PKE_UI_BOX_STATE_FLAG_MOUSE_EXITED = PKE_UI_BOX_STATE_FLAG((PKE_UI_BOX_STATE_FLAG_T(1) << 1)); const PKE_UI_BOX_STATE_FLAG PKE_UI_BOX_STATE_FLAG_MOUSE_HOVER = PKE_UI_BOX_STATE_FLAG((PKE_UI_BOX_STATE_FLAG_T(1) << 2)); +const PKE_UI_BOX_STATE_FLAG PKE_UI_BOX_STATE_FLAG_ON_BTN_PRIMARY_PRESS + = PKE_UI_BOX_STATE_FLAG((PKE_UI_BOX_STATE_FLAG_T(1) << 3)); +const PKE_UI_BOX_STATE_FLAG PKE_UI_BOX_STATE_FLAG_ON_BTN_PRIMARY_RELEASE + = PKE_UI_BOX_STATE_FLAG((PKE_UI_BOX_STATE_FLAG_T(1) << 4)); +const PKE_UI_BOX_STATE_FLAG PKE_UI_BOX_STATE_FLAG_ON_BTN_PRIMARY_PRESSED + = PKE_UI_BOX_STATE_FLAG((PKE_UI_BOX_STATE_FLAG_T(1) << 5)); +const PKE_UI_BOX_STATE_FLAG PKE_UI_BOX_STATE_FLAG_ON_BTN_SECONDARY_PRESS + = PKE_UI_BOX_STATE_FLAG((PKE_UI_BOX_STATE_FLAG_T(1) << 6)); +const PKE_UI_BOX_STATE_FLAG PKE_UI_BOX_STATE_FLAG_ON_BTN_SECONDARY_RELEASE + = PKE_UI_BOX_STATE_FLAG((PKE_UI_BOX_STATE_FLAG_T(1) << 7)); +const PKE_UI_BOX_STATE_FLAG PKE_UI_BOX_STATE_FLAG_ON_BTN_SECONDARY_PRESSED + = PKE_UI_BOX_STATE_FLAG((PKE_UI_BOX_STATE_FLAG_T(1) << 8)); +const PKE_UI_BOX_STATE_FLAG PKE_UI_BOX_STATE_FLAG_ON_BTN_MIDDLE_PRESS + = PKE_UI_BOX_STATE_FLAG((PKE_UI_BOX_STATE_FLAG_T(1) << 9)); +const PKE_UI_BOX_STATE_FLAG PKE_UI_BOX_STATE_FLAG_ON_BTN_MIDDLE_RELEASE + = PKE_UI_BOX_STATE_FLAG((PKE_UI_BOX_STATE_FLAG_T(1) << 10)); +const PKE_UI_BOX_STATE_FLAG PKE_UI_BOX_STATE_FLAG_ON_BTN_MIDDLE_PRESSED + = PKE_UI_BOX_STATE_FLAG((PKE_UI_BOX_STATE_FLAG_T(1) << 11)); typedef uint16_t pke_ui_box_count_T; @@ -100,6 +118,7 @@ struct pke_ui_box : public Entity_Base { glm::vec4 color_background = glm::vec4(0.2, 0.3, 0.2, 0.5); union pke_ui_box_type_data *type_data; PKE_UI_BOX_STATE_FLAG state_flags; + PKE_UI_BOX_STATE_FLAG state_flags_mem; struct pke_ui_box_internals { // the exact px to translate (shader) glm::vec2 px_corner; @@ -112,6 +131,7 @@ struct pke_ui_box : public Entity_Base { pke_ui_box **children; pke_ui_box_count_T h_children; pke_ui_box_count_T r_children; + uint8_t depth; } internal; }; @@ -122,7 +142,8 @@ union pke_ui_box_type_data { } text; struct pke_ui_box_type_data_button_text { FontRenderHandle font_render_handle; - pk_ev_id_T ev_mgr; + PkeEventHandle pke_event_handle; + pk_ev_id_T ev_id; } button_text; struct pke_ui_box_type_data_button_image { VkDeviceMemory image_memory; @@ -132,7 +153,8 @@ union pke_ui_box_type_data { VkImageView image_view_hovered; VkImage image_pressed; VkImageView image_view_pressed; - pk_ev_id_T ev_mgr; + PkeEventHandle pke_event_handle; + pk_ev_id_T ev_id; } button_image; }; @@ -161,7 +183,7 @@ pke_ui_box *pke_ui_box_new_child(pke_ui_box *parent, const PKE_UI_BOX_TYPE type #ifdef PKE_TEST_EXPOSE void pke_ui_calc_px(pk_arr_t<pke_ui_box_instance_buffer_item> &buffer, pke_ui_flex_params *flex_params, pke_ui_box *box); -void pke_ui_recalc_sizes_recursive(pk_arr_t<pke_ui_box_instance_buffer_item> &arr, pke_ui_box *box, uint8_t depth = 0); +void pke_ui_recalc_sizes_recursive(pk_arr_t<pke_ui_box_instance_buffer_item> &arr, pke_ui_box *box); #endif pke_ui_graphics_bindings *pke_ui_get_graphics_bindings(); |
