#pragma once #include #include #include namespace engine::ui { using element_style = Clay_ElementDeclaration; using text_style = Clay_TextElementConfig; struct container_style_with_state { element_style normal; element_style hovered; element_style active; }; struct text_style_with_state { text_style normal; text_style hovered; text_style active; }; struct button_style { container_style_with_state container; text_style_with_state label; }; struct input_style { container_style_with_state container; text_style_with_state content; }; struct stylesheet { std::unordered_map elements; std::unordered_map texts; std::unordered_map buttons; std::unordered_map inputs; }; }