1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-17 14:11:06 +00:00

Add type variations to Theme

This commit is contained in:
Yuri Sizov
2022-02-11 00:26:09 +03:00
parent 47e34dc4e2
commit df13466139
14 changed files with 897 additions and 422 deletions

View File

@@ -116,7 +116,11 @@ void ThemeEditorPreview::_draw_picker_overlay() {
highlight_rect.position = picker_overlay->get_global_transform().affine_inverse().xform(highlight_rect.position);
picker_overlay->draw_style_box(theme_cache.preview_picker_overlay, highlight_rect);
String highlight_name = hovered_control->get_class_name();
String highlight_name = hovered_control->get_theme_type_variation();
if (highlight_name == StringName()) {
highlight_name = hovered_control->get_class_name();
}
Rect2 highlight_label_rect = highlight_rect;
highlight_label_rect.size = theme_cache.preview_picker_font->get_string_size(highlight_name);
@@ -147,7 +151,10 @@ void ThemeEditorPreview::_gui_input_picker_overlay(const Ref<InputEvent> &p_even
if (mb.is_valid() && mb->is_pressed() && mb->get_button_index() == BUTTON_LEFT) {
if (hovered_control) {
StringName theme_type = hovered_control->get_class_name();
StringName theme_type = hovered_control->get_theme_type_variation();
if (theme_type == StringName()) {
theme_type = hovered_control->get_class_name();
}
emit_signal("control_picked", theme_type);
picker_button->set_pressed(false);