diff options
author | RĂ©mi Verschelde <rverschelde@gmail.com> | 2017-09-12 20:19:59 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-12 20:19:59 +0200 |
commit | fe33ef5a1948af7c89a6d71de3580341cf2c0d6a (patch) | |
tree | 6088272e7164f81b59f368c8635ad0756280dc91 | |
parent | 647a9141558e0dd618e62b0563dca3363387e897 (diff) | |
parent | 57fff67580981397420ab8be2b3121ca951f36b8 (diff) |
Merge pull request #11072 from djrm/pr_better_theme
Several visual improvements
26 files changed, 407 insertions, 263 deletions
diff --git a/editor/animation_editor.cpp b/editor/animation_editor.cpp index f4e3bf4894..47360ff7fb 100644 --- a/editor/animation_editor.cpp +++ b/editor/animation_editor.cpp @@ -1038,7 +1038,7 @@ void AnimationKeyEditor::_track_pos_draw() { //draw position int pixel = (timeline_pos - h_scroll->get_value()) * zoom_scale; pixel += name_limit; - track_pos->draw_line(ofs + Point2(pixel, 0), ofs + Point2(pixel, size.height), get_color("highlight_color", "Editor")); + track_pos->draw_line(ofs + Point2(pixel, 0), ofs + Point2(pixel, size.height), get_color("accent_color", "Editor")); } } @@ -1101,7 +1101,7 @@ void AnimationKeyEditor::_track_editor_draw() { Color select_color = color; select_color.a = 0.1; Color invalid_path_color = get_color("error_color", "Editor"); - Color track_select_color = get_color("highlight_color", "Editor"); + Color track_select_color = get_color("accent", "Editor"); Ref<Texture> remove_icon = get_icon("Remove", "EditorIcons"); Ref<Texture> move_up_icon = get_icon("MoveUp", "EditorIcons"); @@ -1487,7 +1487,7 @@ void AnimationKeyEditor::_track_editor_draw() { switch (click.click) { case ClickOver::CLICK_SELECT_KEYS: { - Color box_color = get_color("highlight_color", "Editor"); + Color box_color = get_color("accent_color", "Editor"); box_color.a = 0.35; te->draw_rect(Rect2(click.at, click.to - click.at), box_color); diff --git a/editor/editor_help.cpp b/editor/editor_help.cpp index 7fa2c53275..696eda2536 100644 --- a/editor/editor_help.cpp +++ b/editor/editor_help.cpp @@ -1709,6 +1709,10 @@ void EditorHelp::_notification(int p_what) { //forward->set_icon(get_icon("Forward","EditorIcons")); //back->set_icon(get_icon("Back","EditorIcons")); _update_doc(); + + class_desc->add_style_override("normal", class_desc->get_stylebox("code_normal", "RichTextLabel")); + class_desc->add_style_override("focus", class_desc->get_stylebox("code_focus", "RichTextLabel")); + } break; case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: { @@ -1784,12 +1788,10 @@ EditorHelp::EditorHelp() { //class_list->set_selection_enabled(true); { - background_panel = memnew(Panel); - background_panel->set_v_size_flags(SIZE_EXPAND_FILL); - vbc->add_child(background_panel); class_desc = memnew(RichTextLabel); - background_panel->add_child(class_desc); + vbc->add_child(class_desc); class_desc->set_area_as_parent_rect(); + class_desc->set_v_size_flags(SIZE_EXPAND_FILL); class_desc->add_color_override("selection_color", EDITOR_DEF("text_editor/highlighting/selection_color", Color(0.2, 0.2, 1))); class_desc->connect("meta_clicked", this, "_class_desc_select"); class_desc->connect("gui_input", this, "_class_desc_input"); diff --git a/editor/editor_help.h b/editor/editor_help.h index 30a535a535..f937e4a723 100644 --- a/editor/editor_help.h +++ b/editor/editor_help.h @@ -130,7 +130,6 @@ class EditorHelp : public VBoxContainer { HSplitContainer *h_split; static DocData *doc; - Panel *background_panel; ConfirmationDialog *search_dialog; LineEdit *search; diff --git a/editor/editor_log.cpp b/editor/editor_log.cpp index 35291f8f9e..035819f503 100644 --- a/editor/editor_log.cpp +++ b/editor/editor_log.cpp @@ -61,9 +61,6 @@ void EditorLog::_notification(int p_what) { //button->set_icon(get_icon("Console","EditorIcons")); } - if (p_what == EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED) { - _override_logger_styles(); - } /*if (p_what==NOTIFICATION_DRAW) { @@ -129,7 +126,6 @@ void EditorLog::_undo_redo_cbk(void *p_self, const String &p_name) { void EditorLog::_bind_methods() { ClassDB::bind_method(D_METHOD("_clear_request"), &EditorLog::_clear_request); - ClassDB::bind_method("_override_logger_styles", &EditorLog::_override_logger_styles); //ClassDB::bind_method(D_METHOD("_dragged"),&EditorLog::_dragged ); ADD_SIGNAL(MethodInfo("clear_request")); } @@ -151,21 +147,15 @@ EditorLog::EditorLog() { clearbutton->set_text(TTR("Clear")); clearbutton->connect("pressed", this, "_clear_request"); - ec = memnew(Control); - vb->add_child(ec); - ec->set_custom_minimum_size(Size2(0, 180) * EDSCALE); - ec->set_v_size_flags(SIZE_EXPAND_FILL); - - pc = memnew(PanelContainer); - ec->add_child(pc); - pc->set_area_as_parent_rect(); - pc->connect("tree_entered", this, "_override_logger_styles"); - log = memnew(RichTextLabel); log->set_scroll_follow(true); log->set_selection_enabled(true); log->set_focus_mode(FOCUS_CLICK); - pc->add_child(log); + log->set_custom_minimum_size(Size2(0, 180) * EDSCALE); + log->set_area_as_parent_rect(); + log->set_v_size_flags(SIZE_EXPAND_FILL); + log->set_h_size_flags(SIZE_EXPAND_FILL); + vb->add_child(log); add_message(VERSION_FULL_NAME " (c) 2008-2017 Juan Linietsky, Ariel Manzur."); //log->add_text("Initialization Complete.\n"); //because it looks cool. @@ -183,10 +173,5 @@ void EditorLog::deinit() { remove_error_handler(&eh); } -void EditorLog::_override_logger_styles() { - - pc->add_style_override("panel", get_stylebox("normal", "TextEdit")); -} - EditorLog::~EditorLog() { } diff --git a/editor/editor_log.h b/editor/editor_log.h index fd919fd692..e551623140 100644 --- a/editor/editor_log.h +++ b/editor/editor_log.h @@ -50,8 +50,6 @@ class EditorLog : public VBoxContainer { RichTextLabel *log; HBoxContainer *title_hb; //PaneDrag *pd; - Control *ec; - PanelContainer *pc; static void _error_handler(void *p_self, const char *p_func, const char *p_file, int p_line, const char *p_error, const char *p_errorexp, ErrorHandlerType p_type); @@ -66,7 +64,6 @@ class EditorLog : public VBoxContainer { protected: static void _bind_methods(); void _notification(int p_what); - void _override_logger_styles(); public: void add_message(const String &p_msg, bool p_error = false); diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index b4412014e7..240d3563ae 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -4872,6 +4872,7 @@ EditorNode::EditorNode() { gui_base->add_child(dependency_fixer); settings_config_dialog = memnew(EditorSettingsDialog); + // settings_config_dialog->add_style_override("panel", gui_base->get_stylebox("EditorSettingsDialog", "EditorStyles")); gui_base->add_child(settings_config_dialog); project_settings = memnew(ProjectSettingsEditor(&editor_data)); @@ -5029,7 +5030,7 @@ EditorNode::EditorNode() { p->add_icon_item(gui_base->get_icon("Instance", "EditorIcons"), TTR("Issue Tracker"), HELP_ISSUES); p->add_icon_item(gui_base->get_icon("Instance", "EditorIcons"), TTR("Community"), HELP_COMMUNITY); p->add_separator(); - p->add_icon_item(gui_base->get_icon("GodotDocs", "EditorIcons"), TTR("About"), HELP_ABOUT); + p->add_icon_item(gui_base->get_icon("Godot", "EditorIcons"), TTR("About"), HELP_ABOUT); play_cc = memnew(CenterContainer); play_cc->set_mouse_filter(Control::MOUSE_FILTER_IGNORE); diff --git a/editor/editor_settings.cpp b/editor/editor_settings.cpp index 50cee6d892..136878e470 100644 --- a/editor/editor_settings.cpp +++ b/editor/editor_settings.cpp @@ -574,10 +574,10 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) { set("interface/theme/icon_and_font_color", 0); hints["interface/theme/icon_and_font_color"] = PropertyInfo(Variant::INT, "interface/theme/icon_and_font_color", PROPERTY_HINT_ENUM, "Auto,Dark,Light", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED); set("interface/theme/base_color", Color::html("#323b4f")); - hints["interface/theme/highlight_color"] = PropertyInfo(Variant::COLOR, "interface/theme/highlight_color", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED); - set("interface/theme/highlight_color", Color::html("#699ce8")); + hints["interface/theme/accent_color"] = PropertyInfo(Variant::COLOR, "interface/theme/accent_color", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED); + set("interface/theme/accent_color", Color::html("#699ce8")); hints["interface/theme/base_color"] = PropertyInfo(Variant::COLOR, "interface/theme/base_color", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED); - set("interface/theme/contrast", 0.2); + set("interface/theme/contrast", 0.25); hints["interface/theme/contrast"] = PropertyInfo(Variant::REAL, "interface/theme/contrast", PROPERTY_HINT_RANGE, "0.01, 1, 0.01"); set("interface/theme/highlight_tabs", false); set("interface/theme/border_size", 1); diff --git a/editor/editor_themes.cpp b/editor/editor_themes.cpp index ff0e794a20..1903514ea6 100644 --- a/editor/editor_themes.cpp +++ b/editor/editor_themes.cpp @@ -86,7 +86,7 @@ static Ref<StyleBoxFlat> change_border_color(Ref<StyleBoxFlat> p_style, Color p_ return style; } -Ref<ImageTexture> editor_generate_icon(int p_index, bool dark_theme = true, Dictionary *p_colors = NULL) { +Ref<ImageTexture> editor_generate_icon(int p_index, bool dark_theme = true, Dictionary *p_colors = NULL, float p_scale = EDSCALE, bool force_filter = false) { Ref<ImageTexture> icon = memnew(ImageTexture); Ref<Image> img = memnew(Image); @@ -94,9 +94,9 @@ Ref<ImageTexture> editor_generate_icon(int p_index, bool dark_theme = true, Dict // dumb gizmo check bool is_gizmo = String(editor_icons_names[p_index]).begins_with("Gizmo"); - ImageLoaderSVG::create_image_from_string(img, editor_icons_sources[p_index], EDSCALE, true, dark_theme ? NULL : p_colors); + ImageLoaderSVG::create_image_from_string(img, editor_icons_sources[p_index], p_scale, true, dark_theme ? NULL : p_colors); - if ((EDSCALE - (float)((int)EDSCALE)) > 0.0 || is_gizmo) + if ((p_scale - (float)((int)p_scale)) > 0.0 || is_gizmo || force_filter) icon->create_from_image(img); // in this case filter really helps else icon->create_from_image(img, 0); @@ -108,10 +108,9 @@ Ref<ImageTexture> editor_generate_icon(int p_index, bool dark_theme = true, Dict #define ADD_CONVERT_COLOR(dictionary, old_color, new_color) dictionary[Color::html(old_color)] = Color::html(new_color) #endif -void editor_register_and_generate_icons(Ref<Theme> p_theme, bool dark_theme = true) { +void editor_register_and_generate_icons(Ref<Theme> p_theme, bool dark_theme = true, int p_thumb_size = 32, bool only_thumbs = false) { #ifdef SVG_ENABLED - Dictionary dark_icon_color_dictionary; //convert color: FROM TO ADD_CONVERT_COLOR(dark_icon_color_dictionary, "#e0e0e0", "#4f4f4f"); // common icon color @@ -161,13 +160,32 @@ void editor_register_and_generate_icons(Ref<Theme> p_theme, bool dark_theme = tr clock_t begin_time = clock(); - for (int i = 0; i < editor_icons_count; i++) { - List<String>::Element *is_exception = exceptions.find(editor_icons_names[i]); - if (is_exception) { - exceptions.erase(is_exception); + if (!only_thumbs) + for (int i = 0; i < editor_icons_count; i++) { + List<String>::Element *is_exception = exceptions.find(editor_icons_names[i]); + if (is_exception) { + exceptions.erase(is_exception); + } + Ref<ImageTexture> icon = editor_generate_icon(i, dark_theme, is_exception ? NULL : &dark_icon_color_dictionary); + p_theme->set_icon(editor_icons_names[i], "EditorIcons", icon); + } + + bool force_filter = !(p_thumb_size == 64 && p_thumb_size == 32); // we dont need filter with original resolution + // generate thumb files with the given thumb size + if (p_thumb_size >= 64) { + float scale = (float)p_thumb_size / 64.0 * EDSCALE; + for (int i = 0; i < editor_bg_thumbs_count; i++) { + int index = editor_bg_thumbs_indices[i]; + Ref<ImageTexture> icon = editor_generate_icon(index, dark_theme, &dark_icon_color_dictionary, scale, force_filter); + p_theme->set_icon(editor_icons_names[index], "EditorIcons", icon); + } + } else { + float scale = (float)p_thumb_size / 32.0 * EDSCALE; + for (int i = 0; i < editor_md_thumbs_count; i++) { + int index = editor_md_thumbs_indices[i]; + Ref<ImageTexture> icon = editor_generate_icon(index, dark_theme, &dark_icon_color_dictionary, scale, force_filter); + p_theme->set_icon(editor_icons_names[index], "EditorIcons", icon); } - Ref<ImageTexture> icon = editor_generate_icon(i, dark_theme, is_exception ? NULL : &dark_icon_color_dictionary); - p_theme->set_icon(editor_icons_names[i], "EditorIcons", icon); } clock_t end_time = clock(); @@ -179,9 +197,6 @@ void editor_register_and_generate_icons(Ref<Theme> p_theme, bool dark_theme = tr #endif } -#define HIGHLIGHT_COLOR_FONT highlight_color.linear_interpolate(dark_theme ? Color(1, 1, 1, 1) : Color(0, 0, 0, 1), 0.5) -#define HIGHLIGHT_COLOR_BG highlight_color.linear_interpolate(dark_theme ? Color(0, 0, 0, 1) : Color(1, 1, 1, 1), 0.5) - Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { Ref<Theme> theme = Ref<Theme>(memnew(Theme)); @@ -189,7 +204,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { const float default_contrast = 0.25; //Theme settings - Color highlight_color = EDITOR_DEF("interface/theme/highlight_color", Color::html("#000000")); + Color accent_color = EDITOR_DEF("interface/theme/accent_color", Color::html("#000000")); Color base_color = EDITOR_DEF("interface/theme/base_color", Color::html("#000000")); float contrast = EDITOR_DEF("interface/theme/contrast", default_contrast); @@ -202,27 +217,27 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { switch (preset) { case 0: { // Default - highlight_color = Color::html("#699ce8"); + accent_color = Color::html("#699ce8"); base_color = Color::html("#323b4f"); contrast = default_contrast; } break; case 1: { // Grey - highlight_color = Color::html("#3e3e3e"); + accent_color = Color::html("#3e3e3e"); base_color = Color::html("#3d3d3d"); contrast = 0.2; } break; case 2: { // Godot 2 - highlight_color = Color::html("#86ace2"); + accent_color = Color::html("#86ace2"); base_color = Color::html("#3C3A44"); contrast = 0.25; } break; case 3: { // Arc - highlight_color = Color::html("#5294e2"); + accent_color = Color::html("#5294e2"); base_color = Color::html("#383c4a"); contrast = 0.25; } break; case 4: { // Light - highlight_color = Color::html("#2070ff"); + accent_color = Color::html("#2070ff"); base_color = Color::html("#ffffff"); contrast = 0.08; } break; @@ -233,22 +248,29 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { int LIGHT_COLOR = 2; bool dark_theme = (icon_font_color_setting == AUTO_COLOR && ((base_color.r + base_color.g + base_color.b) / 3.0) < 0.5) || icon_font_color_setting == LIGHT_COLOR; - Color dark_color_1 = base_color.linear_interpolate(Color(0, 0, 0, 1), contrast); - Color dark_color_2 = base_color.linear_interpolate(Color(0, 0, 0, 1), contrast * 1.5); - Color dark_color_3 = base_color.linear_interpolate(Color(0, 0, 0, 1), contrast * 2); + const Color dark_color_1 = base_color.linear_interpolate(Color(0, 0, 0, 1), contrast); + const Color dark_color_2 = base_color.linear_interpolate(Color(0, 0, 0, 1), contrast * 1.5); + const Color dark_color_3 = base_color.linear_interpolate(Color(0, 0, 0, 1), contrast * 2); - Color contrast_color_1 = base_color.linear_interpolate((dark_theme ? Color(1, 1, 1, 1) : Color(0, 0, 0, 1)), MAX(contrast, default_contrast)); - Color contrast_color_2 = base_color.linear_interpolate((dark_theme ? Color(1, 1, 1, 1) : Color(0, 0, 0, 1)), MAX(contrast * 1.5, default_contrast * 1.5)); + const Color background_color = dark_color_2; - Color font_color = dark_theme ? Color(1, 1, 1) : Color(0, 0, 0); - Color font_color_disabled = dark_theme ? Color(0.6, 0.6, 0.6) : Color(0.45, 0.45, 0.45); + // white (dark theme) or black (light theme), will be used to generate the rest of the colors + const Color mono_color = dark_theme ? Color(1, 1, 1) : Color(0, 0, 0); - Color separator_color = dark_theme ? Color(1, 1, 1, 0.1) : Color(0, 0, 0, 0.1); + const Color contrast_color_1 = base_color.linear_interpolate(mono_color, MAX(contrast, default_contrast)); + const Color contrast_color_2 = base_color.linear_interpolate(mono_color, MAX(contrast * 1.5, default_contrast * 1.5)); - Color tab_color = highlight_tabs ? base_color.linear_interpolate(font_color, contrast) : base_color; - const int border_width = CLAMP(border_size, 0, 3) * EDSCALE; + const Color font_color = mono_color.linear_interpolate(base_color, 0.25); + const Color font_color_hl = mono_color.linear_interpolate(base_color, 0.15); + const Color font_color_disabled = Color(mono_color.r, mono_color.g, mono_color.b, 0.3); + const Color color_disabled = mono_color.inverted().linear_interpolate(base_color, 0.7); + const Color color_disabled_bg = mono_color.inverted().linear_interpolate(base_color, 0.9); - theme->set_color("highlight_color", "Editor", highlight_color); + const Color separator_color = Color(mono_color.r, mono_color.g, mono_color.b, 0.1); + + const Color highlight_color = Color(mono_color.r, mono_color.g, mono_color.b, 0.2); + + theme->set_color("accent_color", "Editor", accent_color); theme->set_color("base_color", "Editor", base_color); theme->set_color("dark_color_1", "Editor", dark_color_1); theme->set_color("dark_color_2", "Editor", dark_color_2); @@ -256,14 +278,16 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_color("contrast_color_1", "Editor", contrast_color_1); theme->set_color("contrast_color_2", "Editor", contrast_color_2); - Color success_color = highlight_color.linear_interpolate(Color(.6, 1, .6), 0.8); - Color warning_color = highlight_color.linear_interpolate(Color(1, 1, .2), 0.8); - Color error_color = highlight_color.linear_interpolate(Color(1, .2, .2), 0.8); + Color success_color = accent_color.linear_interpolate(Color(.6, 1, .6), 0.8); + Color warning_color = accent_color.linear_interpolate(Color(1, 1, .2), 0.8); + Color error_color = accent_color.linear_interpolate(Color(1, .2, .2), 0.8); theme->set_color("success_color", "Editor", success_color); theme->set_color("warning_color", "Editor", warning_color); theme->set_color("error_color", "Editor", error_color); + const int thumb_size = EDITOR_DEF("filesystem/file_dialog/thumbnail_size", 64); theme->set_constant("scale", "Editor", EDSCALE); + theme->set_constant("thumb_size", "Editor", thumb_size); theme->set_constant("dark_theme", "Editor", dark_theme); //Register icons + font @@ -275,23 +299,85 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_icon(editor_icons_names[i], "EditorIcons", p_theme->get_icon(editor_icons_names[i], "EditorIcons")); } } else { - editor_register_and_generate_icons(theme, dark_theme); + editor_register_and_generate_icons(theme, dark_theme, thumb_size); + } + // thumbnail size has changed, so we regenerate the medium sizes + if (p_theme != NULL && fabs(p_theme->get_constant("thumb_size", "Editor") - thumb_size) > 0.00001) { + editor_register_and_generate_icons(p_theme, dark_theme, thumb_size, true); } editor_register_fonts(theme); + // Highlighted tabs and border width + Color tab_color = highlight_tabs ? base_color.linear_interpolate(font_color, contrast) : base_color; + const int border_width = CLAMP(border_size, 0, 3) * EDSCALE; + + const int default_margin_size = 4 * EDSCALE; + // styleboxes + // this is the most commonly used stylebox, variations should be made as duplicate of this + Ref<StyleBoxFlat> style_default = make_flat_stylebox(base_color, default_margin_size, default_margin_size, default_margin_size, default_margin_size); + style_default->set_border_width_all(border_width); + style_default->set_border_color_all(base_color); + style_default->set_draw_center(true); + + // Button and widgets + Ref<StyleBoxFlat> style_widget = style_default->duplicate(); + + // style_widget->set_bg_color(dark_color_1.linear_interpolate(base_color, 0.4)); + style_widget->set_bg_color(dark_color_1); + style_widget->set_default_margin(MARGIN_LEFT, 6 * EDSCALE); + style_widget->set_default_margin(MARGIN_RIGHT, 6 * EDSCALE); + // style_widget->set_border_color_all(contrast_color_1); + style_widget->set_border_color_all(dark_color_2); + + Ref<StyleBoxFlat> style_widget_disabled = style_widget->duplicate(); + style_widget_disabled->set_border_color_all(color_disabled); + style_widget_disabled->set_bg_color(color_disabled_bg); + + Ref<StyleBoxFlat> style_widget_focus = style_widget->duplicate(); + style_widget_focus->set_border_color_all(accent_color); + + Ref<StyleBoxFlat> style_widget_pressed = style_widget->duplicate(); + style_widget_pressed->set_border_color_all(accent_color); + + Ref<StyleBoxFlat> style_widget_hover = style_widget->duplicate(); + style_widget_hover->set_border_color_all(contrast_color_1); + + // style for windows, popups, etc.. + Ref<StyleBoxFlat> style_popup = style_default->duplicate(); + style_popup->set_default_margin(MARGIN_LEFT, default_margin_size * 2); + style_popup->set_default_margin(MARGIN_TOP, default_margin_size * 2); + style_popup->set_default_margin(MARGIN_RIGHT, default_margin_size * 2); + style_popup->set_default_margin(MARGIN_BOTTOM, default_margin_size * 2); + style_popup->set_border_color_all(contrast_color_1); + style_popup->set_border_width_all(MAX(EDSCALE, border_width)); + const Color shadow_color = Color(0, 0, 0, dark_theme ? 0.3 : 0.1); + style_popup->set_shadow_color(shadow_color); + style_popup->set_shadow_size(4 * EDSCALE); + + Ref<StyleBoxEmpty> style_empty = make_empty_stylebox(default_margin_size, default_margin_size, default_margin_size, default_margin_size); + + // Tabs + Ref<StyleBoxFlat> style_tab_selected = style_default->duplicate(); + style_tab_selected->set_default_margin(MARGIN_LEFT, 10 * EDSCALE); + style_tab_selected->set_default_margin(MARGIN_RIGHT, 10 * EDSCALE); + style_tab_selected->set_bg_color(tab_color); + + Ref<StyleBoxEmpty> style_tab_unselected = style_empty->duplicate(); + style_tab_unselected->set_default_margin(MARGIN_LEFT, 10 * EDSCALE); + style_tab_unselected->set_default_margin(MARGIN_RIGHT, 10 * EDSCALE); + // Editor background - theme->set_stylebox("Background", "EditorStyles", make_flat_stylebox(dark_color_2, 4, 4, 4, 4)); + theme->set_stylebox("Background", "EditorStyles", make_flat_stylebox(background_color, default_margin_size, default_margin_size, default_margin_size, default_margin_size)); // Focus - Ref<StyleBoxFlat> focus_sbt = make_flat_stylebox(contrast_color_1, 4, 4, 4, 4); - focus_sbt->set_draw_center(false); - focus_sbt->set_border_width_all(1 * EDSCALE); - focus_sbt = change_border_color(focus_sbt, contrast_color_2); - theme->set_stylebox("Focus", "EditorStyles", focus_sbt); + Ref<StyleBoxFlat> style_focus = style_default->duplicate(); + style_focus->set_draw_center(false); + style_focus->set_border_color_all(contrast_color_2); + theme->set_stylebox("Focus", "EditorStyles", style_focus); // Menu - Ref<StyleBoxEmpty> style_menu = make_empty_stylebox(4, 4, 4, 4); + Ref<StyleBoxEmpty> style_menu = style_empty; theme->set_stylebox("panel", "PanelContainer", style_menu); theme->set_stylebox("MenuPanel", "EditorStyles", style_menu); @@ -300,15 +386,18 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_stylebox("ScriptEditor", "EditorStyles", make_empty_stylebox(0, 0, 0, 0)); // Play button group - theme->set_stylebox("PlayButtonPanel", "EditorStyles", make_empty_stylebox(8, 4, 8, 4)); //make_stylebox(theme->get_icon("GuiPlayButtonGroup", "EditorIcons"), 16, 16, 16, 16, 8, 4, 8, 4)); + theme->set_stylebox("PlayButtonPanel", "EditorStyles", style_empty); //make_stylebox(theme->get_icon("GuiPlayButtonGroup", "EditorIcons"), 16, 16, 16, 16, 8, 4, 8, 4)); //MenuButton - Ref<StyleBoxFlat> style_menu_hover_border = make_flat_stylebox(highlight_color, 4, 4, 4, 4); - Ref<StyleBoxFlat> style_menu_hover_bg = make_flat_stylebox(dark_color_2, 4, 4, 4, 4); - + Ref<StyleBoxFlat> style_menu_hover_border = style_default->duplicate(); style_menu_hover_border->set_draw_center(false); - style_menu_hover_border->set_border_width(MARGIN_BOTTOM, 2 * EDSCALE); - style_menu_hover_border->set_border_color_all(highlight_color); + style_menu_hover_border->set_border_width_all(0); + style_menu_hover_border->set_border_width(MARGIN_BOTTOM, border_width * EDSCALE); + style_menu_hover_border->set_border_color_all(accent_color); + + Ref<StyleBoxFlat> style_menu_hover_bg = style_default->duplicate(); + style_menu_hover_bg->set_border_width_all(0); + style_menu_hover_bg->set_bg_color(dark_color_1); theme->set_stylebox("normal", "MenuButton", style_menu); theme->set_stylebox("hover", "MenuButton", style_menu); @@ -329,72 +418,66 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_stylebox("disabled", "ToolButton", style_menu); theme->set_color("font_color", "MenuButton", font_color); - theme->set_color("font_color_hover", "MenuButton", HIGHLIGHT_COLOR_FONT); + theme->set_color("font_color_hover", "MenuButton", font_color_hl); theme->set_color("font_color", "ToolButton", font_color); - theme->set_color("font_color_hover", "ToolButton", HIGHLIGHT_COLOR_FONT); - theme->set_color("font_color_pressed", "ToolButton", highlight_color); + theme->set_color("font_color_hover", "ToolButton", font_color_hl); + theme->set_color("font_color_pressed", "ToolButton", accent_color); theme->set_stylebox("MenuHover", "EditorStyles", style_menu_hover_border); // Content of each tab - Ref<StyleBoxFlat> style_content_panel = make_flat_stylebox(base_color, 4, 4, 4, 4); + Ref<StyleBoxFlat> style_content_panel = style_default->duplicate(); style_content_panel->set_border_color_all(base_color); - style_content_panel->set_border_width_all(border_width); - Ref<StyleBoxFlat> style_content_panel_vp = make_flat_stylebox(base_color, border_width, 4, border_width, border_width); - style_content_panel_vp->set_border_color_all(base_color); - style_content_panel_vp->set_border_width_all(border_width); + + // this is the stylebox used in 3d and 2d viewports (no borders) + Ref<StyleBoxFlat> style_content_panel_vp = style_content_panel->duplicate(); + style_content_panel_vp->set_default_margin(MARGIN_LEFT, border_width); + style_content_panel_vp->set_default_margin(MARGIN_TOP, default_margin_size); + style_content_panel_vp->set_default_margin(MARGIN_LEFT, border_width); + style_content_panel_vp->set_default_margin(MARGIN_BOTTOM, border_width); theme->set_stylebox("panel", "TabContainer", style_content_panel); theme->set_stylebox("Content", "EditorStyles", style_content_panel_vp); - Ref<StyleBoxFlat> style_button_type = make_flat_stylebox(dark_color_1, 6, 4, 6, 4); - style_button_type->set_draw_center(true); - style_button_type->set_border_width_all(border_width); - style_button_type->set_border_color_all(contrast_color_2); + // Buttons + theme->set_stylebox("normal", "Button", style_widget); + theme->set_stylebox("hover", "Button", style_widget_hover); + theme->set_stylebox("pressed", "Button", style_widget_pressed); + theme->set_stylebox("focus", "Button", style_widget_focus); + theme->set_stylebox("disabled", "Button", style_widget_disabled); - Ref<StyleBoxFlat> style_button_type_disabled = change_border_color(style_button_type, contrast_color_1); - - Color button_font_color = contrast_color_1.linear_interpolate(font_color, .6); - - // Button - theme->set_stylebox("normal", "Button", style_button_type); - theme->set_stylebox("hover", "Button", change_border_color(style_button_type, HIGHLIGHT_COLOR_FONT)); - theme->set_stylebox("pressed", "Button", change_border_color(style_button_type, highlight_color)); - theme->set_stylebox("focus", "Button", change_border_color(style_button_type, highlight_color)); - theme->set_stylebox("disabled", "Button", style_button_type_disabled); - - theme->set_color("font_color", "Button", button_font_color); - theme->set_color("font_color_hover", "Button", HIGHLIGHT_COLOR_FONT); - theme->set_color("font_color_pressed", "Button", highlight_color); + theme->set_color("font_color", "Button", font_color); + theme->set_color("font_color_hover", "Button", font_color_hl); + theme->set_color("font_color_pressed", "Button", accent_color); theme->set_color("font_color_disabled", "Button", font_color_disabled); - theme->set_color("icon_color_hover", "Button", HIGHLIGHT_COLOR_FONT); + theme->set_color("icon_color_hover", "Button", font_color_hl); // make icon color value bigger because icon image is not complete white - theme->set_color("icon_color_pressed", "Button", Color(highlight_color.r * 1.15, highlight_color.g * 1.15, highlight_color.b * 1.15, highlight_color.a)); + theme->set_color("icon_color_pressed", "Button", Color(accent_color.r * 1.15, accent_color.g * 1.15, accent_color.b * 1.15, accent_color.a)); // OptionButton - theme->set_stylebox("normal", "OptionButton", style_button_type); - theme->set_stylebox("hover", "OptionButton", change_border_color(style_button_type, contrast_color_1)); - theme->set_stylebox("pressed", "OptionButton", change_border_color(style_button_type, HIGHLIGHT_COLOR_FONT)); - theme->set_stylebox("focus", "OptionButton", change_border_color(style_button_type, highlight_color)); - theme->set_stylebox("disabled", "OptionButton", style_button_type_disabled); - - theme->set_color("font_color", "OptionButton", button_font_color); - theme->set_color("font_color_hover", "OptionButton", HIGHLIGHT_COLOR_FONT); - theme->set_color("font_color_pressed", "OptionButton", highlight_color); + theme->set_stylebox("normal", "OptionButton", style_widget); + theme->set_stylebox("hover", "OptionButton", style_widget_hover); + theme->set_stylebox("pressed", "OptionButton", style_widget_pressed); + theme->set_stylebox("focus", "OptionButton", style_widget_focus); + theme->set_stylebox("disabled", "OptionButton", style_widget_disabled); + + theme->set_color("font_color", "OptionButton", font_color); + theme->set_color("font_color_hover", "OptionButton", font_color_hl); + theme->set_color("font_color_pressed", "OptionButton", accent_color); theme->set_color("font_color_disabled", "OptionButton", font_color_disabled); - theme->set_color("icon_color_hover", "OptionButton", HIGHLIGHT_COLOR_FONT); + theme->set_color("icon_color_hover", "OptionButton", font_color_hl); theme->set_icon("arrow", "OptionButton", theme->get_icon("GuiOptionArrow", "EditorIcons")); - theme->set_constant("arrow_margin", "OptionButton", 4); + theme->set_constant("arrow_margin", "OptionButton", 4 * EDSCALE); theme->set_constant("modulate_arrow", "OptionButton", true); // CheckButton theme->set_icon("on", "CheckButton", theme->get_icon("GuiToggleOn", "EditorIcons")); theme->set_icon("off", "CheckButton", theme->get_icon("GuiToggleOff", "EditorIcons")); - theme->set_color("font_color", "CheckButton", button_font_color); - theme->set_color("font_color_hover", "CheckButton", HIGHLIGHT_COLOR_FONT); - theme->set_color("font_color_pressed", "CheckButton", highlight_color); + theme->set_color("font_color", "CheckButton", font_color); + theme->set_color("font_color_hover", "CheckButton", font_color_hl); + theme->set_color("font_color_pressed", "CheckButton", accent_color); theme->set_color("font_color_disabled", "CheckButton", font_color_disabled); - theme->set_color("icon_color_hover", "CheckButton", HIGHLIGHT_COLOR_FONT); + theme->set_color("icon_color_hover", "CheckButton", font_color_hl); // Checkbox theme->set_icon("checked", "CheckBox", theme->get_icon("GuiChecked", "EditorIcons")); @@ -402,21 +485,19 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_icon("radio_checked", "CheckBox", theme->get_icon("GuiRadioChecked", "EditorIcons")); theme->set_icon("radio_unchecked", "CheckBox", theme->get_icon("GuiRadioUnchecked", "EditorIcons")); - theme->set_color("font_color", "CheckBox", button_font_color); - theme->set_color("font_color_hover", "CheckBox", HIGHLIGHT_COLOR_FONT); - theme->set_color("font_color_pressed", "CheckBox", highlight_color); + theme->set_color("font_color", "CheckBox", font_color); + theme->set_color("font_color_hover", "CheckBox", font_color_hl); + theme->set_color("font_color_pressed", "CheckBox", accent_color); theme->set_color("font_color_disabled", "CheckBox", font_color_disabled); - theme->set_color("icon_color_hover", "CheckBox", HIGHLIGHT_COLOR_FONT); + theme->set_color("icon_color_hover", "CheckBox", font_color_hl); // PopupMenu - Ref<StyleBoxFlat> style_popup_menu = make_flat_stylebox(dark_color_1, 8, 8, 8, 8); - style_popup_menu->set_border_width_all(MAX(EDSCALE, border_width)); - style_popup_menu->set_border_color_all(contrast_color_1); + Ref<StyleBoxFlat> style_popup_menu = style_popup; theme->set_stylebox("panel", "PopupMenu", style_popup_menu); theme->set_stylebox("separator", "PopupMenu", make_line_stylebox(separator_color, MAX(EDSCALE, border_width), 8 - MAX(EDSCALE, border_width))); theme->set_color("font_color", "PopupMenu", font_color); - theme->set_color("font_color_hover", "PopupMenu", HIGHLIGHT_COLOR_FONT); - theme->set_color("font_color_accel", "PopupMenu", font_color); + theme->set_color("font_color_hover", "PopupMenu", font_color_hl); + theme->set_color("font_color_accel", "PopupMenu", font_color_disabled); theme->set_color("font_color_disabled", "PopupMenu", font_color_disabled); theme->set_icon("checked", "PopupMenu", theme->get_icon("GuiChecked", "EditorIcons")); theme->set_icon("unchecked", "PopupMenu", theme->get_icon("GuiUnchecked", "EditorIcons")); @@ -424,8 +505,8 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_icon("radio_unchecked", "PopupMenu", theme->get_icon("GuiUnchecked", "EditorIcons")); // Tree & ItemList background - Ref<StyleBoxFlat> style_tree_bg = make_flat_stylebox(dark_color_1, 2, 4, 2, 4); - style_tree_bg->set_border_width_all(border_width); + Ref<StyleBoxFlat> style_tree_bg = style_default->duplicate(); + style_tree_bg->set_bg_color(dark_color_1); style_tree_bg->set_border_color_all(dark_color_3); theme->set_stylebox("bg", "Tree", style_tree_bg); @@ -435,78 +516,84 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_icon("arrow", "Tree", theme->get_icon("GuiTreeArrowDown", "EditorIcons")); theme->set_icon("arrow_collapsed", "Tree", theme->get_icon("GuiTreeArrowRight", "EditorIcons")); theme->set_icon("select_arrow", "Tree", theme->get_icon("GuiDropdown", "EditorIcons")); - theme->set_stylebox("bg_focus", "Tree", focus_sbt); + theme->set_stylebox("bg_focus", "Tree", style_focus); theme->set_stylebox("custom_button", "Tree", make_empty_stylebox()); theme->set_stylebox("custom_button_pressed", "Tree", make_empty_stylebox()); - theme->set_stylebox("custom_button_hover", "Tree", style_button_type); - theme->set_color("custom_button_font_highlight", "Tree", HIGHLIGHT_COLOR_FONT); + theme->set_stylebox("custom_button_hover", "Tree", style_widget); + theme->set_color("custom_button_font_highlight", "Tree", font_color_hl); theme->set_color("font_color", "Tree", font_color); theme->set_color("font_color_selected", "Tree", font_color); - Ref<StyleBox> style_tree_btn = make_flat_stylebox(contrast_color_1, 2, 4, 2, 4); + Ref<StyleBoxFlat> style_tree_btn = style_default->duplicate(); + style_tree_btn->set_bg_color(contrast_color_1); + style_tree_btn->set_border_width_all(0); theme->set_stylebox("button_pressed", "Tree", style_tree_btn); - Ref<StyleBoxFlat> style_tree_focus = make_flat_stylebox(HIGHLIGHT_COLOR_BG, 2, 2, 2, 2); + Ref<StyleBoxFlat> style_tree_focus = style_default->duplicate(); + style_tree_focus->set_bg_color(highlight_color); + style_tree_focus->set_border_width_all(0); theme->set_stylebox("selected_focus", "Tree", style_tree_focus); - Ref<StyleBoxFlat> style_tree_selected = make_flat_stylebox(HIGHLIGHT_COLOR_BG, 2, 2, 2, 2); + Ref<StyleBoxFlat> style_tree_selected = style_tree_focus->duplicate(); theme->set_stylebox("selected", "Tree", style_tree_selected); - Ref<StyleBoxFlat> style_tree_cursor = make_flat_stylebox(HIGHLIGHT_COLOR_BG, 4, 4, 4, 4); + Ref<StyleBoxFlat> style_tree_cursor = style_default->duplicate(); style_tree_cursor->set_draw_center(false); style_tree_cursor->set_border_width_all(border_width); style_tree_cursor->set_border_color_all(contrast_color_1); - Ref<StyleBoxFlat> style_tree_title = make_flat_stylebox(dark_color_3, 4, 4, 4, 4); + Ref<StyleBoxFlat> style_tree_title = style_default->duplicate(); + style_tree_title->set_bg_color(dark_color_3); + style_tree_title->set_border_width_all(0); theme->set_stylebox("cursor", "Tree", style_tree_cursor); theme->set_stylebox("cursor_unfocused", "Tree", style_tree_cursor); theme->set_stylebox("title_button_normal", "Tree", style_tree_title); theme->set_stylebox("title_button_hover", "Tree", style_tree_title); theme->set_stylebox("title_button_pressed", "Tree", style_tree_title); - Color prop_category_color = dark_theme ? dark_color_1.linear_interpolate(Color(1, 1, 1, 1), 0.12) : dark_color_1.linear_interpolate(Color(0, 0, 0, 1), 0.2); - Color prop_section_color = dark_theme ? dark_color_1.linear_interpolate(Color(1, 1, 1, 1), 0.09) : dark_color_1.linear_interpolate(Color(0, 1, 0, 1), 0.1); - Color prop_subsection_color = dark_theme ? dark_color_1.linear_interpolate(Color(1, 1, 1, 1), 0.06) : dark_color_1.linear_interpolate(Color(0, 0, 0, 1), 0.1); + // Color prop_category_color = dark_color_1.linear_interpolate(mono_color, 0.12) : dark_color_1.linear_interpolate(Color(0, 0, 0, 1), 0.2); + // Color prop_section_color = dark_color_1.linear_interpolate(mono_color, 0.09) : dark_color_1.linear_interpolate(Color(0, 1, 0, 1), 0.1); + // Color prop_subsection_color = dark_color_1.linear_interpolate(mono_color, 0.06) : dark_color_1.linear_interpolate(Color(0, 0, 0, 1), 0.1); + Color prop_category_color = dark_color_1.linear_interpolate(mono_color, 0.12); + Color prop_section_color = dark_color_1.linear_interpolate(mono_color, 0.09); + Color prop_subsection_color = dark_color_1.linear_interpolate(mono_color, 0.06); theme->set_color("prop_category", "Editor", prop_category_color); theme->set_color("prop_section", "Editor", prop_section_color); theme->set_color("prop_subsection", "Editor", prop_subsection_color); - theme->set_color("drop_position_color", "Tree", highlight_color); + theme->set_color("drop_position_color", "Tree", accent_color); // ItemList - Ref<StyleBoxFlat> style_itemlist_bg = make_flat_stylebox(dark_color_1, 4, 4, 4, 4); + Ref<StyleBoxFlat> style_itemlist_bg = style_default->duplicate(); + style_itemlist_bg->set_bg_color(dark_color_1); style_itemlist_bg->set_border_width_all(border_width); style_itemlist_bg->set_border_color_all(dark_color_3); - Ref<StyleBoxFlat> style_itemlist_cursor = make_flat_stylebox(highlight_color, 0, 0, 0, 0); + Ref<StyleBoxFlat> style_itemlist_cursor = style_default->duplicate(); style_itemlist_cursor->set_draw_center(false); style_itemlist_cursor->set_border_width_all(border_width); - style_itemlist_cursor->set_border_color_all(HIGHLIGHT_COLOR_BG); + style_itemlist_cursor->set_border_color_all(highlight_color); theme->set_stylebox("cursor", "ItemList", style_itemlist_cursor); theme->set_stylebox("cursor_unfocused", "ItemList", style_itemlist_cursor); theme->set_stylebox("selected_focus", "ItemList", style_tree_focus); theme->set_stylebox("selected", "ItemList", style_tree_selected); - theme->set_stylebox("bg_focus", "ItemList", focus_sbt); + theme->set_stylebox("bg_focus", "ItemList", style_focus); theme->set_stylebox("bg", "ItemList", style_itemlist_bg); theme->set_constant("vseparation", "ItemList", 5 * EDSCALE); theme->set_color("font_color", "ItemList", font_color); - Ref<StyleBoxFlat> style_tab_fg = make_flat_stylebox(tab_color, 15, 5, 15, 5); - Ref<StyleBoxFlat> style_tab_bg = make_flat_stylebox(tab_color, 15, 5, 15, 5); - style_tab_bg->set_draw_center(false); - // Tabs & TabContainer - theme->set_stylebox("tab_fg", "TabContainer", style_tab_fg); - theme->set_stylebox("tab_bg", "TabContainer", style_tab_bg); - theme->set_stylebox("tab_fg", "Tabs", style_tab_fg); - theme->set_stylebox("tab_bg", "Tabs", style_tab_bg); + theme->set_stylebox("tab_fg", "TabContainer", style_tab_selected); + theme->set_stylebox("tab_bg", "TabContainer", style_tab_unselected); + theme->set_stylebox("tab_fg", "Tabs", style_tab_selected); + theme->set_stylebox("tab_bg", "Tabs", style_tab_unselected); theme->set_color("font_color_fg", "TabContainer", font_color); theme->set_color("font_color_bg", "TabContainer", font_color_disabled); theme->set_color("font_color_fg", "Tabs", font_color); theme->set_color("font_color_bg", "Tabs", font_color_disabled); theme->set_icon("menu", "TabContainer", theme->get_icon("GuiTabMenu", "EditorIcons")); theme->set_icon("menu_hl", "TabContainer", theme->get_icon("GuiTabMenu", "EditorIcons")); - theme->set_stylebox("SceneTabFG", "EditorStyles", make_flat_stylebox(base_color, 10, 5, 10, 5)); - theme->set_stylebox("SceneTabBG", "EditorStyles", make_empty_stylebox(6, 5, 6, 5)); + theme->set_stylebox("SceneTabFG", "EditorStyles", style_tab_selected); + theme->set_stylebox("SceneTabBG", "EditorStyles", style_tab_unselected); theme->set_icon("close", "Tabs", theme->get_icon("GuiClose", "EditorIcons")); theme->set_stylebox("button_pressed", "Tabs", style_menu); theme->set_stylebox("button", "Tabs", style_menu); @@ -516,39 +603,26 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_stylebox("separator", "VSeparator", make_line_stylebox(separator_color, border_width, 0, true)); // Debugger - Ref<StyleBoxFlat> style_panel_debugger = make_flat_stylebox(dark_color_2, 4, 4, 4, 4); + Ref<StyleBoxFlat> style_panel_debugger = style_default->duplicate(); theme->set_stylebox("DebuggerPanel", "EditorStyles", style_panel_debugger); - Ref<StyleBoxFlat> style_tab_fg_debugger = make_flat_stylebox(dark_color_2, 10, 5, 10, 5); - Ref<StyleBoxFlat> style_tab_bg_debugger = make_flat_stylebox(dark_color_2, 10, 5, 10, 5); - style_tab_bg_debugger->set_draw_center(false); + Ref<StyleBoxFlat> style_tab_fg_debugger = style_tab_selected->duplicate(); + style_tab_fg_debugger->set_border_width_all(0); theme->set_stylebox("DebuggerTabFG", "EditorStyles", style_tab_fg_debugger); - theme->set_stylebox("DebuggerTabBG", "EditorStyles", style_tab_bg_debugger); + theme->set_stylebox("DebuggerTabBG", "EditorStyles", style_tab_unselected); // LineEdit - Ref<StyleBoxFlat> style_line_edit = make_flat_stylebox(dark_color_1, 6, 4, 6, 4); - style_line_edit->set_border_width_all(border_width); - style_line_edit = change_border_color(style_line_edit, contrast_color_1); - Ref<StyleBoxFlat> style_line_edit_disabled = change_border_color(style_line_edit, dark_color_1); - style_line_edit_disabled->set_bg_color(Color(0, 0, 0, .1)); - Ref<StyleBoxFlat> style_line_edit_focus = change_border_color(style_line_edit, highlight_color); - theme->set_stylebox("normal", "LineEdit", style_line_edit); - theme->set_stylebox("focus", "LineEdit", style_line_edit_focus); - theme->set_stylebox("read_only", "LineEdit", style_line_edit_disabled); + theme->set_stylebox("normal", "LineEdit", style_widget); + theme->set_stylebox("focus", "LineEdit", style_widget_focus); + theme->set_stylebox("read_only", "LineEdit", style_widget_disabled); theme->set_color("read_only", "LineEdit", font_color_disabled); theme->set_color("font_color", "LineEdit", font_color); theme->set_color("cursor_color", "LineEdit", font_color); // TextEdit - Ref<StyleBoxFlat> style_textedit_normal(memnew(StyleBoxFlat)); - style_textedit_normal->set_bg_color(dark_color_2); - style_textedit_normal->set_default_margin(MARGIN_LEFT, 0); - style_textedit_normal->set_default_margin(MARGIN_RIGHT, 0); - style_textedit_normal->set_default_margin(MARGIN_BOTTOM, 0); - style_textedit_normal->set_default_margin(MARGIN_TOP, 0); - theme->set_stylebox("normal", "TextEdit", style_textedit_normal); - theme->set_stylebox("focus", "TextEdit", focus_sbt); + theme->set_stylebox("normal", "TextEdit", style_widget); + theme->set_stylebox("focus", "TextEdit", style_widget_hover); theme->set_constant("side_margin", "TabContainer", 0); // H/VSplitContainer @@ -558,13 +632,12 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_icon("grabber", "VSplitContainer", theme->get_icon("GuiVsplitter", "EditorIcons")); theme->set_icon("grabber", "HSplitContainer", theme->get_icon("GuiHsplitter", "EditorIcons")); - theme->set_constant("separation", "HSplitContainer", 8 * EDSCALE); - theme->set_constant("separation", "VSplitContainer", 8 * EDSCALE); + theme->set_constant("separation", "HSplitContainer", default_margin_size * 2 * EDSCALE); + theme->set_constant("separation", "VSplitContainer", default_margin_size * 2 * EDSCALE); // WindowDialog - Ref<StyleBoxFlat> style_window = make_flat_stylebox(dark_color_2, 4, 4, 4, 4); - style_window->set_border_width_all(MAX(EDSCALE, border_width)); - style_window->set_border_color_all(base_color); + Ref<StyleBoxFlat> style_window = style_popup->duplicate(); + style_window->set_border_color_all(tab_color); style_window->set_border_width(MARGIN_TOP, 24 * EDSCALE); style_window->set_expand_margin_size(MARGIN_TOP, 24 * EDSCALE); theme->set_stylebox("panel", "WindowDialog", style_window); @@ -575,6 +648,14 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_constant("close_v_ofs", "WindowDialog", 20 * EDSCALE); theme->set_constant("title_height", "WindowDialog", 24 * EDSCALE); + // complex window, for now only Editor settings and Project settings + Ref<StyleBoxFlat> style_complex_window = style_window->duplicate(); + style_complex_window->set_bg_color(dark_color_2); + style_complex_window->set_border_color_all(highlight_tabs ? tab_color : dark_color_2); + theme->set_stylebox("panel", "EditorSettingsDialog", style_complex_window); + theme->set_stylebox("panel", "ProjectSettingsEditor", style_complex_window); + theme->set_stylebox("panel", "EditorAbout", style_complex_window); + // HScrollBar Ref<Texture> empty_icon = memnew(ImageTexture); @@ -602,12 +683,12 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_icon("decrement_highlight", "VScrollBar", empty_icon); // HSlider - theme->set_stylebox("slider", "HSlider", make_stylebox(theme->get_icon("GuiHsliderBg", "EditorIcons"), 4, 4, 4, 4)); + theme->set_stylebox("slider", "HSlider", make_stylebox(theme->get_icon("GuiHsliderBg", "EditorIcons"), default_margin_size, default_margin_size, default_margin_size, default_margin_size)); theme->set_icon("grabber", "HSlider", theme->get_icon("GuiSliderGrabber", "EditorIcons")); theme->set_icon("grabber_highlight", "HSlider", theme->get_icon("GuiSliderGrabberHl", "EditorIcons")); // VSlider - theme->set_stylebox("slider", "VSlider", make_stylebox(theme->get_icon("GuiVsliderBg", "EditorIcons"), 4, 4, 4, 4)); + theme->set_stylebox("slider", "VSlider", make_stylebox(theme->get_icon("GuiVsliderBg", "EditorIcons"), default_margin_size, default_margin_size, default_margin_size, default_margin_size)); theme->set_icon("grabber", "VSlider", theme->get_icon("GuiSliderGrabber", "EditorIcons")); theme->set_icon("grabber_highlight", "VSlider", theme->get_icon("GuiSliderGrabberHl", "EditorIcons")); @@ -616,7 +697,13 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { Color rtl_font_color = (rtl_combined_bg_color.r + rtl_combined_bg_color.g + rtl_combined_bg_color.b > 0.5 * 3) ? Color(0, 0, 0) : Color(1, 1, 1); theme->set_color("default_color", "RichTextLabel", rtl_font_color); theme->set_stylebox("focus", "RichTextLabel", make_empty_stylebox()); - theme->set_stylebox("normal", "RichTextLabel", make_flat_stylebox(script_bg_color, 6, 6, 6, 6)); + theme->set_stylebox("normal", "RichTextLabel", style_tree_bg); + Ref<StyleBoxFlat> style_code = style_tree_bg->duplicate(); + style_code->set_bg_color(rtl_combined_bg_color); + theme->set_stylebox("code_normal", "RichTextLabel", style_code); + Ref<StyleBoxFlat> style_code_focus = style_tree_focus->duplicate(); + style_code_focus->set_bg_color(rtl_combined_bg_color); + theme->set_stylebox("code_focus", "RichTextLabel", style_code_focus); // Panel theme->set_stylebox("panel", "Panel", make_flat_stylebox(dark_color_1, 6, 4, 6, 4)); @@ -625,18 +712,15 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_color("font_color", "Label", font_color); // TooltipPanel - Ref<StyleBoxFlat> style_tooltip = make_flat_stylebox(Color(1, 1, 1, 0.8), 8, 8, 8, 8); + Ref<StyleBoxFlat> style_tooltip = style_popup->duplicate(); + style_tooltip->set_bg_color(Color(mono_color.r, mono_color.g, mono_color.b, 0.9)); style_tooltip->set_border_width_all(border_width); - style_tooltip->set_border_color_all(HIGHLIGHT_COLOR_FONT); + style_tooltip->set_border_color_all(mono_color); theme->set_color("font_color", "TooltipPanel", font_color); theme->set_stylebox("panel", "TooltipPanel", style_tooltip); // PopupPanel - Ref<StyleBoxFlat> style_dock_select = make_flat_stylebox(base_color); - style_dock_select->set_border_color_all(contrast_color_1); - style_dock_select->set_expand_margin_size_all(2); - style_dock_select->set_border_width_all(2); - theme->set_stylebox("panel", "PopupPanel", style_dock_select); + theme->set_stylebox("panel", "PopupPanel", style_popup); // SpinBox theme->set_icon("updown", "SpinBox", theme->get_icon("GuiSpinboxUpdown", "EditorIcons")); @@ -647,21 +731,24 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_color("font_color", "ProgressBar", font_color); // GraphEdit - theme->set_stylebox("bg", "GraphEdit", make_flat_stylebox(dark_color_2, 4, 4, 4, 4)); - theme->set_color("grid_major", "GraphEdit", Color(font_color.r, font_color.g, font_color.b, 0.2)); - theme->set_color("grid_minor", "GraphEdit", Color(font_color_disabled.r, font_color_disabled.g, font_color_disabled.b, 0.2)); + theme->set_stylebox("bg", "GraphEdit", style_tree_bg); + theme->set_color("grid_major", "GraphEdit", Color(font_color.r, font_color.g, font_color.b, 0.1)); + theme->set_color("grid_minor", "GraphEdit", Color(font_color_disabled.r, font_color_disabled.g, font_color_disabled.b, 0.05)); theme->set_icon("minus", "GraphEdit", theme->get_icon("ZoomLess", "EditorIcons")); theme->set_icon("more", "GraphEdit", theme->get_icon("ZoomMore", "EditorIcons")); theme->set_icon("reset", "GraphEdit", theme->get_icon("ZoomReset", "EditorIcons")); // GraphNode + Ref<StyleBoxFlat> graphsb = make_flat_stylebox(Color(0, 0, 0, 0.3), 16, 24, 16, 5); graphsb->set_border_width_all(border_width); graphsb->set_border_color_all(Color(1, 1, 1, 0.6)); graphsb->set_border_width(MARGIN_TOP, 22 * EDSCALE + border_width); Ref<StyleBoxFlat> graphsbselected = make_flat_stylebox(Color(0, 0, 0, 0.4), 16, 24, 16, 5); graphsbselected->set_border_width_all(border_width); - graphsbselected->set_border_color_all(Color(1, 1, 1, 0.9)); + graphsbselected->set_border_color_all(Color(accent_color.r, accent_color.g, accent_color.b, 0.9)); + graphsbselected->set_shadow_size(8 * EDSCALE); + graphsbselected->set_shadow_color(shadow_color); graphsbselected->set_border_width(MARGIN_TOP, 22 * EDSCALE + border_width); Ref<StyleBoxFlat> graphsbcomment = make_flat_stylebox(Color(0, 0, 0, 0.3), 16, 24, 16, 5); graphsbcomment->set_border_width_all(border_width); @@ -677,9 +764,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_stylebox("commentfocus", "GraphNode", graphsbcommentselected); // FileDialog - Color disable_color = contrast_color_2; - disable_color.a = 0.7; - theme->set_color("files_disabled", "FileDialog", disable_color); + theme->set_color("files_disabled", "FileDialog", font_color_disabled); return theme; } diff --git a/editor/filesystem_dock.cpp b/editor/filesystem_dock.cpp index a66d1724a1..69c1424403 100644 --- a/editor/filesystem_dock.cpp +++ b/editor/filesystem_dock.cpp @@ -215,9 +215,6 @@ void FileSystemDock::_notification(int p_what) { button_hist_next->set_icon(get_icon("Forward", "EditorIcons")); button_hist_prev->set_icon(get_icon("Back", "EditorIcons")); - Theme::get_default()->clear_icon("ResizedFolder", "EditorIcons"); - Theme::get_default()->clear_icon("ResizedFile", "EditorIcons"); - if (new_mode != display_mode) { set_display_mode(new_mode); } else { @@ -437,39 +434,15 @@ void FileSystemDock::_update_files(bool p_keep_selection) { files->set_max_text_lines(2); files->set_fixed_icon_size(Size2(thumbnail_size, thumbnail_size)); - if (!has_icon("ResizedFolder", "EditorIcons")) { - Ref<ImageTexture> folder = get_icon("FolderBig", "EditorIcons"); - Ref<Image> img = folder->get_data(); - img = img->duplicate(); - img->resize(thumbnail_size, thumbnail_size); - Ref<ImageTexture> resized_folder = Ref<ImageTexture>(memnew(ImageTexture)); - resized_folder->create_from_image(img, 0); - Theme::get_default()->set_icon("ResizedFolder", "EditorIcons", resized_folder); - } - - folder_thumbnail = get_icon("ResizedFolder", "EditorIcons"); - - if (!has_icon("ResizedFile", "EditorIcons")) { - Ref<ImageTexture> file = get_icon("FileBig", "EditorIcons"); - Ref<Image> img = file->get_data(); - img->resize(thumbnail_size, thumbnail_size); - Ref<ImageTexture> resized_file = Ref<ImageTexture>(memnew(ImageTexture)); - resized_file->create_from_image(img, 0); - Theme::get_default()->set_icon("ResizedFile", "EditorIcons", resized_file); - } - - if (!has_icon("ResizedFileBroken", "EditorIcons")) { - Ref<ImageTexture> file = get_icon("FileBigBroken", "EditorIcons"); - Ref<Image> img = file->get_data(); - img->resize(thumbnail_size, thumbnail_size); - Ref<ImageTexture> resized_file = Ref<ImageTexture>(memnew(ImageTexture)); - resized_file->create_from_image(img, 0); - Theme::get_default()->set_icon("ResizedFileBroken", "EditorIcons", resized_file); + if (thumbnail_size < 64) { + folder_thumbnail = get_icon("FolderMediumThumb", "EditorIcons"); + file_thumbnail = get_icon("FileMediumThumb", "EditorIcons"); + file_thumbnail_broken = get_icon("FileDeadMediumThumb", "EditorIcons"); + } else { + folder_thumbnail = get_icon("FolderBigThumb", "EditorIcons"); + file_thumbnail = get_icon("FileBigThumb", "EditorIcons"); + file_thumbnail_broken = get_icon("FileDeadBigThumb", "EditorIcons"); } - - file_thumbnail = get_icon("ResizedFile", "EditorIcons"); - - file_thumbnail_broken = get_icon("ResizedFileBroken", "EditorIcons"); } else { files->set_icon_mode(ItemList::ICON_MODE_LEFT); diff --git a/editor/icons/SCsub b/editor/icons/SCsub index 534a8186a5..e28c229a38 100644 --- a/editor/icons/SCsub +++ b/editor/icons/SCsub @@ -39,18 +39,44 @@ def make_editor_icons_action(target, source, env): s.write(icons_string.getvalue()) s.write('};\n\n') s.write("static const char *editor_icons_names[] = {\n") + + # this is used to store the indices of thumbnail icons + thumb_medium_indices = []; + thumb_big_indices = []; + index = 0 for f in svg_icons: fname = str(f) icon_name = os.path.basename(fname)[5:-4].title().replace("_", "") + if icon_name.endswith("MediumThumb"): # dont know a better way to handle this + thumb_medium_indices.append(str(index)) + if icon_name.endswith("BigThumb"): # dont know a better way to handle this + thumb_big_indices.append(str(index)) s.write('\t"%s"' % icon_name) if fname != svg_icons[-1]: s.write(",") s.write('\n') + + index += 1 + s.write('};\n') + + if thumb_medium_indices: + s.write("\n\n") + s.write("static const int editor_md_thumbs_count = %s;\n" % len(thumb_medium_indices)) + s.write("static const int editor_md_thumbs_indices[] = {") + s.write(", ".join(thumb_medium_indices)) + s.write("};\n") + if thumb_big_indices: + s.write("\n\n") + s.write("static const int editor_bg_thumbs_count = %s;\n" % len(thumb_big_indices)) + s.write("static const int editor_bg_thumbs_indices[] = {") + s.write(", ".join(thumb_big_indices)) + s.write("};\n") + s.write("#endif\n") diff --git a/editor/icons/icon_file.svg b/editor/icons/icon_file.svg new file mode 100644 index 0000000000..67a081a704 --- /dev/null +++ b/editor/icons/icon_file.svg @@ -0,0 +1,7 @@ +<svg width="16" height="16" version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"> +<g transform="translate(0 -1036.4)"> +<g transform="translate(0 -1.6949e-5)"> +<path transform="translate(0 1036.4)" d="m2 1v14h12v-9h-5v-5zm8 0v4h4z" fill="#e0e0e0"/> +</g> +</g> +</svg> diff --git a/editor/icons/icon_file_big.svg b/editor/icons/icon_file_big_thumb.svg index 569b449a59..569b449a59 100644 --- a/editor/icons/icon_file_big.svg +++ b/editor/icons/icon_file_big_thumb.svg diff --git a/editor/icons/icon_file_big_broken.svg b/editor/icons/icon_file_broken_big_thumb.svg index 167bb1bb5f..167bb1bb5f 100644 --- a/editor/icons/icon_file_big_broken.svg +++ b/editor/icons/icon_file_broken_big_thumb.svg diff --git a/editor/icons/icon_file_big_dead.svg b/editor/icons/icon_file_dead_big_thumb.svg index c8aab912f1..c8aab912f1 100644 --- a/editor/icons/icon_file_big_dead.svg +++ b/editor/icons/icon_file_dead_big_thumb.svg diff --git a/editor/icons/icon_file_dead_medium_thumb.svg b/editor/icons/icon_file_dead_medium_thumb.svg new file mode 100644 index 0000000000..60a456a600 --- /dev/null +++ b/editor/icons/icon_file_dead_medium_thumb.svg @@ -0,0 +1,7 @@ +<svg width="32" height="32" version="1.1" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> +<g transform="translate(0 -1020.4)"> +<g transform="translate(0 -1.6949e-5)"> +<path transform="translate(0 1020.4)" d="m5 1c-1.6447 0-3 1.3553-3 3v24c0 1.6447 1.3553 3 3 3h22c1.6447 0 3-1.3553 3-3v-16.809c-5.1e-5 -0.2652-0.10543-0.51952-0.29297-0.70703l-9.1816-9.1895c-0.18719-0.18825-0.44155-0.29435-0.70703-0.29492h-14.818zm0 2h14v6c0 1.6447 1.3553 3 3 3h6v16c0 0.5713-0.42868 1-1 1h-22c-0.57133 0-1-0.4287-1-1v-24c0-0.5713 0.42867-1 1-1zm1.9863 11.002a1 1 0 0 0 -0.69336 0.29102 1 1 0 0 0 0 1.4141l1.293 1.293-1.293 1.293a1 1 0 0 0 0 1.4141 1 1 0 0 0 1.4141 0l1.293-1.293 1.293 1.293a1 1 0 0 0 1.4141 0 1 1 0 0 0 0 -1.4141l-1.293-1.293 1.293-1.293a1 1 0 0 0 0 -1.4141 1 1 0 0 0 -0.7207 -0.29102 1 1 0 0 0 -0.69336 0.29102l-1.293 1.293-1.293-1.293a1 1 0 0 0 -0.7207 -0.29102zm14 0a1 1 0 0 0 -0.69336 0.29102 1 1 0 0 0 0 1.4141l1.293 1.293-1.293 1.293a1 1 0 0 0 0 1.4141 1 1 0 0 0 1.4141 0l1.293-1.293 1.293 1.293a1 1 0 0 0 1.4141 0 1 1 0 0 0 0 -1.4141l-1.293-1.293 1.293-1.293a1 1 0 0 0 0 -1.4141 1 1 0 0 0 -0.7207 -0.29102 1 1 0 0 0 -0.69336 0.29102l-1.293 1.293-1.293-1.293a1 1 0 0 0 -0.7207 -0.29102zm-13.986 7.998a1 1 0 0 0 -1 1 1 1 0 0 0 1 1h1a4 4 0 0 0 2 3.4648 4 4 0 0 0 4 0 4 4 0 0 0 2 -3.4648h9a1 1 0 0 0 1 -1 1 1 0 0 0 -1 -1h-18zm3 2h4a2 2 0 0 1 -2 2 2 2 0 0 1 -2 -2z" color="#000000" color-rendering="auto" dominant-baseline="auto" fill="#ff8484" image-rendering="auto" shape-rendering="auto" solid-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;isolation:auto;mix-blend-mode:normal;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/> +</g> +</g> +</svg> diff --git a/editor/icons/icon_file_medium_thumb.svg b/editor/icons/icon_file_medium_thumb.svg new file mode 100644 index 0000000000..a143aa5c8f --- /dev/null +++ b/editor/icons/icon_file_medium_thumb.svg @@ -0,0 +1,7 @@ +<svg width="32" height="32" version="1.1" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> +<g transform="translate(0 -1020.4)"> +<g transform="translate(0 -1.6949e-5)"> +<path transform="translate(0 1020.4)" d="m5 1c-1.6447 0-3 1.3553-3 3v24c0 1.6447 1.3553 3 3 3h22c1.6447 0 3-1.3553 3-3v-16.809c-5.1e-5 -0.2652-0.10543-0.51952-0.29297-0.70703l-9.1816-9.1895c-0.18719-0.18825-0.44155-0.29435-0.70703-0.29492zm0 2h14v6c0 1.6447 1.3553 3 3 3h6v16c0 0.5713-0.42868 1-1 1h-22c-0.57133 0-1-0.4287-1-1v-24c0-0.5713 0.42867-1 1-1z" color="#000000" color-rendering="auto" dominant-baseline="auto" fill="#fff" fill-opacity=".58824" image-rendering="auto" shape-rendering="auto" solid-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;isolation:auto;mix-blend-mode:normal;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/> +</g> +</g> +</svg> diff --git a/editor/icons/icon_folder_big.svg b/editor/icons/icon_folder_big.svg deleted file mode 100644 index 1c0cd3584e..0000000000 --- a/editor/icons/icon_folder_big.svg +++ /dev/null @@ -1,5 +0,0 @@ -<svg width="64" height="64" version="1.1" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -988.36)"> -<path transform="translate(0 988.36)" d="m13 11.996a5.0039 5.0039 0 0 0 -5.0039 5.0039 5.0039 5.0039 0 0 0 0.0039062 0.11719v2.8828 8 22.92a5.0039 5.0039 0 0 0 -0.0039062 0.076172 5.0039 5.0039 0 0 0 5.0039 5.0039h37.996a5.0039 5.0039 0 0 0 5.0039 -5.0039v-25.916a5.0039 5.0039 0 0 0 0.003906 -0.076172 5.0039 5.0039 0 0 0 -5.0039 -5.0039h-11v-0.039062a3.5 3.5 0 0 1 -0.5 0.039062 3.5 3.5 0 0 1 -3.5 -3.5v0.38281a5.0039 5.0039 0 0 0 -5 -4.8867 5.0039 5.0039 0 0 0 -0.11719 0.003906h-17.807a5.0039 5.0039 0 0 0 -0.076172 -0.003906zm23 4.5039a3.5 3.5 0 0 1 0.041016 -0.5h-0.041016v0.5z" fill="#e0e0e0"/> -</g> -</svg> diff --git a/editor/icons/icon_folder_big_thumb.svg b/editor/icons/icon_folder_big_thumb.svg new file mode 100644 index 0000000000..a7e830b019 --- /dev/null +++ b/editor/icons/icon_folder_big_thumb.svg @@ -0,0 +1,5 @@ +<svg width="64" height="64" version="1.1" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg"> +<g transform="translate(0 -988.36)"> +<path transform="translate(0 988.36)" d="m12 10c-2.2091 0-4 1.7909-4 4v37h0.13086c0.45564 1.7647 2.0466 2.9982 3.8691 3h40c2.2091 0 4-1.7909 4-4v-28c0-2.2091-1.7909-4-4-4h-16l-2-4c-0.98796-1.9759-1.7909-4-4-4z" fill="#e0e0e0" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/> +</g> +</svg> diff --git a/editor/icons/icon_folder_medium_thumb.svg b/editor/icons/icon_folder_medium_thumb.svg new file mode 100644 index 0000000000..23b9ffc25c --- /dev/null +++ b/editor/icons/icon_folder_medium_thumb.svg @@ -0,0 +1,5 @@ +<svg width="32" height="32" version="1.1" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> +<g transform="translate(0 -1020.4)"> +<path d="m6 1025.4c-1.1046 0-2 0.8954-2 2v18.5h0.06543c0.22782 0.8823 1.0233 1.4991 1.9346 1.5h20c1.1046 0 2-0.8954 2-2v-14c0-1.1046-0.89543-2-2-2h-8l-1-2c-0.49398-0.988-0.89543-2-2-2z" fill="#e0e0e0" stroke-linecap="round" stroke-linejoin="round"/> +</g> +</svg> diff --git a/editor/icons/icon_godot.svg b/editor/icons/icon_godot.svg index 32a1eeb6ec..b8bdfcc023 100644 --- a/editor/icons/icon_godot.svg +++ b/editor/icons/icon_godot.svg @@ -26,8 +26,5 @@ <path d="m0 0c0-7.994 6.477-14.473 14.471-14.473 8.002 0 14.479 6.479 14.479 14.473s-6.477 14.479-14.479 14.479c-7.994 0-14.471-6.485-14.471-14.479" fill="#414042"/> </g> </g> -<path d="m4 1041.4a3 3 0 0 0 -3 3 3 3 0 0 0 3 3 3 3 0 0 0 3 -3 3 3 0 0 0 -3 -3zm0 1a2 2 0 0 1 2 2 2 2 0 0 1 -2 2 2 2 0 0 1 -2 -2 2 2 0 0 1 2 -2z"/> -<path d="m12 1041.4a3 3 0 0 0 -3 3 3 3 0 0 0 3 3 3 3 0 0 0 3 -3 3 3 0 0 0 -3 -3zm0 1a2 2 0 0 1 2 2 2 2 0 0 1 -2 2 2 2 0 0 1 -2 -2 2 2 0 0 1 2 -2z"/> -<rect x="6" y="1043.4" width="4" height="1" ry="0"/> </g> </svg> diff --git a/editor/icons/icon_godot_docs.svg b/editor/icons/icon_godot_docs.svg new file mode 100644 index 0000000000..9caa09066d --- /dev/null +++ b/editor/icons/icon_godot_docs.svg @@ -0,0 +1,31 @@ +<svg width="16" height="16" version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"> +<g transform="translate(0 -1036.4)"> +<g transform="matrix(.017241 0 0 .017241 -.82759 1033.7)" stroke-width=".32031"> +<g transform="matrix(4.1626 0 0 -4.1626 919.24 771.67)"> +<path d="m0 0s-0.325 1.994-0.515 1.976l-36.182-3.491c-2.879-0.278-5.115-2.574-5.317-5.459l-0.994-14.247-27.992-1.997-1.904 12.912c-0.424 2.872-2.932 5.037-5.835 5.037h-38.188c-2.902 0-5.41-2.165-5.834-5.037l-1.905-12.912-27.992 1.997-0.994 14.247c-0.202 2.886-2.438 5.182-5.317 5.46l-36.2 3.49c-0.187 0.018-0.324-1.978-0.511-1.978l-0.049-7.83 30.658-4.944 1.004-14.374c0.203-2.91 2.551-5.263 5.463-5.472l38.551-2.75c0.146-0.01 0.29-0.016 0.434-0.016 2.897 0 5.401 2.166 5.825 5.038l1.959 13.286h28.005l1.959-13.286c0.423-2.871 2.93-5.037 5.831-5.037 0.142 0 0.284 5e-3 0.423 0.015l38.556 2.75c2.911 0.209 5.26 2.562 5.463 5.472l1.003 14.374 30.645 4.966z" fill="#fff"/> +</g> +<g transform="matrix(4.1626 0 0 -4.1626 104.7 525.91)"> +<path d="m0 0v-59.041c0.108-1e-3 0.216-5e-3 0.323-0.015l36.196-3.49c1.896-0.183 3.382-1.709 3.514-3.609l1.116-15.978 31.574-2.253 2.175 14.747c0.282 1.912 1.922 3.329 3.856 3.329h38.188c1.933 0 3.573-1.417 3.855-3.329l2.175-14.747 31.575 2.253 1.115 15.978c0.133 1.9 1.618 3.425 3.514 3.609l36.182 3.49c0.107 0.01 0.214 0.014 0.322 0.015v4.711l0.015 5e-3v54.325h0.134c4.795 6.12 9.232 12.569 13.487 19.449-5.651 9.62-12.575 18.217-19.976 26.182-6.864-3.455-13.531-7.369-19.828-11.534-3.151 3.132-6.7 5.694-10.186 8.372-3.425 2.751-7.285 4.768-10.946 7.118 1.09 8.117 1.629 16.108 1.846 24.448-9.446 4.754-19.519 7.906-29.708 10.17-4.068-6.837-7.788-14.241-11.028-21.479-3.842 0.642-7.702 0.88-11.567 0.926v6e-3c-0.027 0-0.052-6e-3 -0.075-6e-3 -0.024 0-0.049 6e-3 -0.073 6e-3v-6e-3c-3.872-0.046-7.729-0.284-11.572-0.926-3.238 7.238-6.956 14.642-11.03 21.479-10.184-2.264-20.258-5.416-29.703-10.17 0.216-8.34 0.755-16.331 1.848-24.448-3.668-2.35-7.523-4.367-10.949-7.118-3.481-2.678-7.036-5.24-10.188-8.372-6.297 4.165-12.962 8.079-19.828 11.534-7.401-7.965-14.321-16.562-19.974-26.182 4.253-6.88 8.693-13.329 13.487-19.449z" fill="#478cbf"/> +</g> +<g transform="matrix(4.1626 0 0 -4.1626 784.07 817.24)"> +<path d="m0 0-1.121-16.063c-0.135-1.936-1.675-3.477-3.611-3.616l-38.555-2.751c-0.094-7e-3 -0.188-0.01-0.281-0.01-1.916 0-3.569 1.406-3.852 3.33l-2.211 14.994h-31.459l-2.211-14.994c-0.297-2.018-2.101-3.469-4.133-3.32l-38.555 2.751c-1.936 0.139-3.476 1.68-3.611 3.616l-1.121 16.063-32.547 3.138c0.015-3.498 0.06-7.33 0.06-8.093 0-34.374 43.605-50.896 97.781-51.086h0.133c54.176 0.19 97.766 16.712 97.766 51.086 0 0.777 0.047 4.593 0.063 8.093z" fill="#478cbf"/> +</g> +<g transform="matrix(4.1626 0 0 -4.1626 389.21 625.67)"> +<path d="m0 0c0-12.052-9.765-21.815-21.813-21.815-12.042 0-21.81 9.763-21.81 21.815 0 12.044 9.768 21.802 21.81 21.802 12.048 0 21.813-9.758 21.813-21.802" fill="#fff"/> +</g> +<g transform="matrix(4.1626 0 0 -4.1626 367.37 631.06)"> +<path d="m0 0c0-7.994-6.479-14.473-14.479-14.473-7.996 0-14.479 6.479-14.479 14.473s6.483 14.479 14.479 14.479c8 0 14.479-6.485 14.479-14.479" fill="#414042"/> +</g> +<g transform="matrix(4.1626 0 0 -4.1626 511.99 724.74)"> +<path d="m0 0c-3.878 0-7.021 2.858-7.021 6.381v20.081c0 3.52 3.143 6.381 7.021 6.381s7.028-2.861 7.028-6.381v-20.081c0-3.523-3.15-6.381-7.028-6.381" fill="#fff"/> +</g> +<g transform="matrix(4.1626 0 0 -4.1626 634.79 625.67)"> +<path d="m0 0c0-12.052 9.765-21.815 21.815-21.815 12.041 0 21.808 9.763 21.808 21.815 0 12.044-9.767 21.802-21.808 21.802-12.05 0-21.815-9.758-21.815-21.802" fill="#fff"/> +</g> +<g transform="matrix(4.1626 0 0 -4.1626 656.64 631.06)"> +<path d="m0 0c0-7.994 6.477-14.473 14.471-14.473 8.002 0 14.479 6.479 14.479 14.473s-6.477 14.479-14.479 14.479c-7.994 0-14.471-6.485-14.471-14.479" fill="#414042"/> +</g> +</g> +<path transform="translate(0 1036.4)" d="m4 5a3 3 0 0 0 -3 3 3 3 0 0 0 3 3 3 3 0 0 0 3 -3h2a3 3 0 0 0 3 3 3 3 0 0 0 3 -3 3 3 0 0 0 -3 -3 3 3 0 0 0 -2.8262 2h-2.3496a3 3 0 0 0 -2.8242 -2zm0 1a2 2 0 0 1 2 2 2 2 0 0 1 -2 2 2 2 0 0 1 -2 -2 2 2 0 0 1 2 -2zm8 0a2 2 0 0 1 2 2 2 2 0 0 1 -2 2 2 2 0 0 1 -2 -2 2 2 0 0 1 2 -2z"/> +</g> +</svg> diff --git a/editor/icons/icon_logo.svg b/editor/icons/icon_logo.svg new file mode 100644 index 0000000000..269fe1b245 --- /dev/null +++ b/editor/icons/icon_logo.svg @@ -0,0 +1,7 @@ +<svg width="187" height="69" version="1.1" viewBox="0 0 187 69" xmlns="http://www.w3.org/2000/svg"> +<path d="m91.912 19.51c-3.5233 0-6.278 1.1097-8.2676 3.3281-1.9911 2.2193-2.9844 5.1004-2.9844 8.6465 0 4.1636 1.0165 7.3207 3.0508 9.4707 2.0379 2.1497 4.7123 3.2227 8.0293 3.2227 1.7838 0 3.3686-0.15384 4.752-0.46289 1.3848-0.30784 2.3038-0.62367 2.7617-0.94336l0.13867-10.736c0-0.62388-1.6471-0.90785-3.4941-0.93945-1.847-0.02857-3.9609 0.35742-3.9609 0.35742v3.6055h2.125l-0.023438 1.6055c0 0.59532-0.59062 0.89453-1.7676 0.89453-1.1785 0-2.2182-0.4989-3.1211-1.4941-0.90498-0.99645-1.3555-2.4517-1.3555-4.3711 0-1.9233 0.43964-3.3428 1.3203-4.2578 0.87885-0.9141 2.0322-1.3711 3.4492-1.3711 0.59532 0 1.2107 0.095008 1.8516 0.29102 0.64121 0.19418 1.0686 0.37639 1.2871 0.54688 0.21667 0.17534 0.42435 0.25781 0.61914 0.25781 0.19388 0 0.50715-0.22698 0.94141-0.68555 0.43487-0.45735 0.82427-1.1501 1.168-2.0742 0.34218-0.92899 0.51367-1.6414 0.51367-2.1465 0-0.50111-0.011023-0.84501-0.033203-1.0273-0.48045-0.52573-1.3668-0.94394-2.6602-1.2539-1.2909-0.30906-2.7387-0.46289-4.3398-0.46289zm21.049 0c-3.2367 0-5.8788 1.0413-7.9258 3.1211-2.0464 2.0826-3.0703 5.1404-3.0703 9.1797 0 4.0369 1.0128 7.1085 3.0352 9.2129 2.0251 2.1026 4.6444 3.1543 7.8574 3.1543 3.2145 0 5.8383-1.0111 7.875-3.0332 2.0367-2.0263 3.0527-5.1142 3.0527-9.2656 0-4.1484-0.99433-7.2508-2.9863-9.2969-1.9884-2.05-4.6018-3.0723-7.8379-3.0723zm45.504 0c-3.2379 0-5.8792 1.0413-7.9277 3.1211-2.0461 2.0826-3.0684 5.1404-3.0684 9.1797 0 4.0369 1.0104 7.1085 3.0352 9.2129 2.0233 2.1026 4.6432 3.1543 7.8574 3.1543 3.213 0 5.8373-1.0111 7.873-3.0332 2.0364-2.0263 3.0547-5.1142 3.0547-9.2656 0-4.1484-0.9939-7.2508-2.9844-9.2969-1.9908-2.05-4.6031-3.0723-7.8398-3.0723zm-30.105 0.30859c-0.45888 0-0.82988 0.16637-1.1152 0.49609-0.28717 0.33489-0.42969 0.78715-0.42969 1.3594v20.584c0 1.053 0.58624 1.5781 1.752 1.5781h5.8652c7.1824-1e-6 10.773-4.2092 10.773-12.627 0-3.9348-0.94335-6.8151-2.832-8.6445-1.8853-1.83-4.6472-2.7461-8.2832-2.7461h-5.7305zm42.807 0c-0.38928 0-0.66468 0.52801-0.82422 1.5801-0.0687 0.50294-0.10157 1.0191-0.10157 1.543 0 0.52694 0.03287 1.0409 0.10157 1.543 0.15954 1.0548 0.43494 1.5801 0.82422 1.5801h4.1152v17.225c0 0.45462 1.1351 0.68555 3.3984 0.68555 2.2655 0 3.3965-0.23093 3.3965-0.68555v-17.225h4.0137c0.38868 0 0.66225-0.52528 0.82422-1.5801 0.0672-0.50202 0.10156-1.016 0.10156-1.543 1e-5 -0.52391-0.03436-1.04-0.10156-1.543-0.16197-1.0521-0.43554-1.5801-0.82422-1.5801h-14.924zm-58.291 6.2793c1.0989 0 2.0193 0.49244 2.7617 1.4746 0.74331 0.98339 1.1152 2.3913 1.1152 4.2207 0 1.8309-0.35955 3.2363-1.0801 4.2188-0.72053 0.98612-1.6597 1.4785-2.8145 1.4785-1.1554 0-2.0859-0.48441-2.7949-1.459-0.71019-0.97154-1.0644-2.3663-1.0644-4.1875 0-1.8173 0.37148-3.2302 1.1133-4.2363 0.74574-1.0053 1.6663-1.5098 2.7637-1.5098zm45.504 0c1.0989 0 2.0181 0.49244 2.7617 1.4746 0.74331 0.98339 1.1152 2.3913 1.1152 4.2207 0 1.8309-0.3612 3.2363-1.082 4.2188-0.71961 0.98612-1.6574 1.4785-2.8125 1.4785-1.1554 0-2.0888-0.48441-2.7969-1.459-0.70806-0.97154-1.0625-2.3663-1.0625-4.1875 0-1.8173 0.37179-3.2302 1.1133-4.2363 0.74453-1.0053 1.666-1.5098 2.7637-1.5098zm-24.977 0.23828h0.34375c1.4638 0 2.5334 0.33466 3.209 0.99805 0.6722 0.66157 1.0098 2.0859 1.0098 4.2715 0 2.1847-0.32289 3.7447-0.97656 4.6816-0.65214 0.9378-1.6059 1.4082-2.8652 1.4082-0.34218 0-0.54909-0.063339-0.61719-0.18945-0.06873-0.12672-0.10352-0.42897-0.10352-0.9082v-10.262z" fill="#fff"/> +<path d="m137.91 48.551v1.2109h0.85938v-1.2109h-0.85938zm-52.396 0.58984c-0.99736 0-1.7963 0.32424-2.3926 0.96484-0.59745 0.64576-0.89453 1.5712-0.89453 2.7773v3.0742c0 1.2329 0.31639 2.1765 0.94727 2.832 0.6333 0.66066 1.467 0.98828 2.5039 0.98828 0.78586 0 1.4321-0.16147 1.9414-0.48633 0.50993-0.32273 0.8592-0.67938 1.0488-1.0684v-3.6875h-3.0059v0.74805h2.1465v2.6934c-0.13766 0.30115-0.38143 0.55386-0.73242 0.76172-0.34978 0.2109-0.8171 0.31445-1.3984 0.31445-0.79619 0-1.4265-0.2632-1.8945-0.78711-0.46799-0.52786-0.70312-1.2936-0.70312-2.2988v-3.0918c0-0.96941 0.21778-1.7078 0.65234-2.2168 0.43578-0.51023 1.0297-0.76367 1.7812-0.76367 0.74271 0 1.3056 0.19019 1.6836 0.56641 0.38017 0.37925 0.58276 0.91542 0.61133 1.6113h0.79492l0.013672-0.041016c-0.024311-0.90802-0.30456-1.6179-0.83789-2.127-0.53484-0.50719-1.2907-0.76367-2.2656-0.76367zm7.6133 2.6641c-0.719 0-1.3111 0.22524-1.7715 0.67773-0.46222 0.45371-0.68069 0.96571-0.6582 1.5449l0.013672 0.041015 0.79688 0.007813c0-0.42696 0.14768-0.78487 0.44336-1.0781 0.2966-0.29508 0.67455-0.44141 1.1328-0.44141 0.4926 0 0.87459 0.15388 1.1523 0.45898 0.27198 0.30906 0.41016 0.73655 0.41016 1.2793v0.94531h-1.3418c-0.85666 0-1.5379 0.21084-2.0391 0.63477-0.50142 0.42392-0.75195 0.99502-0.75195 1.707 0 0.67372 0.17358 1.2075 0.51758 1.6035 0.34613 0.39445 0.83497 0.5918 1.4707 0.5918 0.45462 0 0.86723-0.12355 1.2383-0.37305 0.37166-0.24767 0.67317-0.56424 0.90625-0.94531 0 0.17413 0.01089 0.34527 0.03125 0.51758 0.02097 0.16927 0.053163 0.38614 0.095703 0.65234h0.88867c-0.062302-0.24767-0.10234-0.49621-0.12695-0.75391-0.02401-0.25436-0.037109-0.52051-0.037109-0.79492v-3.7676c0-0.80622-0.21809-1.4265-0.65234-1.8613-0.43669-0.43061-1.0083-0.64648-1.7188-0.64648zm7.1152 0c-0.45462 0-0.85109 0.11505-1.1875 0.3457-0.33519 0.23369-0.60486 0.56357-0.80664 0.99023l-0.074219-1.1934h-0.75195v7.6816h0.85352v-5.5293c0.11791-0.47346 0.31244-0.84655 0.58594-1.1191 0.27168-0.27107 0.63379-0.4082 1.082-0.4082 0.4689 0 0.83314 0.19466 1.0957 0.58789 0.26378 0.39323 0.39258 1.0508 0.39258 1.9707v4.498h0.85351v-4.6211-0.19922c0.0623-0.64455 0.23396-1.1785 0.51172-1.6055 0.27927-0.42696 0.66855-0.63672 1.166-0.63672 0.47285 0 0.83879 0.19223 1.0938 0.57422 0.25345 0.38138 0.38281 1.0443 0.38281 1.9863v4.502h0.85742v-4.4863c0-1.1332-0.18468-1.9728-0.55664-2.5195-0.37044-0.54548-0.89268-0.81836-1.5664-0.81836-0.48897 0-0.91182 0.1465-1.2598 0.43945-0.34796 0.29234-0.61537 0.69589-0.80469 1.207-0.148-0.55369-0.38151-0.966-0.69726-1.2383-0.31543-0.2732-0.70589-0.4082-1.1699-0.4082zm10.316 0c-0.74423-1e-6 -1.3797 0.32125-1.9082 0.96094-0.52725 0.64273-0.78906 1.4505-0.78906 2.4199v1.2754c0 0.96758 0.26259 1.762 0.7871 2.3828 0.52604 0.62206 1.2032 0.93359 2.0312 0.93359 0.5157 0 0.95833-0.090281 1.3242-0.26562 0.36679-0.17626 0.66658-0.41287 0.89844-0.70703l-0.34961-0.60547c-0.21728 0.27441-0.4784 0.4836-0.7832 0.63281-0.3048 0.14586-0.66987 0.2207-1.0898 0.2207-0.60443 0-1.0864-0.24489-1.4414-0.74023-0.35433-0.49412-0.53321-1.1138-0.53321-1.8574v-0.63867h4.3965v-0.84375c0-0.96667-0.22381-1.7371-0.66992-2.3105-0.44519-0.57253-1.0684-0.85742-1.873-0.85742zm9.4727 0c-0.74423-1e-6 -1.3782 0.32125-1.9082 0.96094-0.52603 0.64273-0.79101 1.4505-0.79101 2.4199v1.2754c0 0.96758 0.26241 1.762 0.78906 2.3828 0.52512 0.62206 1.2028 0.93359 2.0312 0.93359 0.51601 0 0.95639-0.090281 1.3223-0.26562 0.36741-0.17626 0.66822-0.41287 0.90039-0.70703l-0.34766-0.60547c-0.21972 0.27441-0.4811 0.4836-0.78711 0.63281-0.30389 0.14586-0.66639 0.2207-1.0879 0.2207-0.60656 0-1.0883-0.24489-1.4414-0.74023-0.35646-0.49412-0.5332-1.1138-0.5332-1.8574v-0.63867h4.3945v-0.84375c0-0.96667-0.22338-1.7371-0.66797-2.3105-0.44398-0.57253-1.0699-0.85742-1.873-0.85742zm6.8672 0c-0.45614 0-0.85274 0.12451-1.1894 0.36914-0.33975 0.24342-0.60962 0.5923-0.81445 1.043l-0.07031-1.2695h-0.76172v7.6816h0.85351v-5.4824c0.14617-0.47923 0.36569-0.85918 0.66016-1.1445 0.29325-0.28809 0.65767-0.42969 1.0938-0.42969 0.48622 0 0.85922 0.17765 1.1133 0.5332 0.25557 0.35555 0.38477 0.96807 0.38477 1.8457v4.6777h0.85937v-4.6855c0-1.0736-0.18381-1.866-0.55273-2.375-0.36497-0.50993-0.89-0.76367-1.5762-0.76367zm6.2539 0c-0.77674 0-1.386 0.32888-1.8242 0.98437-0.44186 0.65883-0.66211 1.5326-0.66211 2.6211l0.00196 1.0508c0 1.0031 0.21834 1.8072 0.65625 2.4102 0.43699 0.60413 1.0429 0.90625 1.8144 0.90625 0.41602 0 0.78387-0.091234 1.0996-0.27539 0.31695-0.18324 0.58484-0.4491 0.80273-0.79492v0.92969c0 0.75881-0.14785 1.3303-0.4414 1.7266-0.29235 0.39111-0.74301 0.58789-1.3535 0.58789-0.30359 0-0.59763-0.04082-0.88086-0.125-0.28565-0.081443-0.54279-0.19619-0.77344-0.3457l-0.23632 0.74805c0.27047 0.15164 0.57916 0.27315 0.92773 0.36523 0.34795 0.092075 0.67388 0.13867 0.97656 0.13867 0.84208 0 1.494-0.27297 1.9531-0.81055 0.45857-0.53971 0.68554-1.3009 0.68554-2.2852v-7.6895h-0.72265l-0.08399 1.0684c-0.21485-0.38533-0.48269-0.68758-0.80664-0.89453-0.32334-0.2109-0.70159-0.31641-1.1328-0.31641zm10.467 0c-0.45401 0-0.85062 0.12451-1.1895 0.36914-0.33914 0.24342-0.60902 0.5923-0.81445 1.043l-0.07031-1.2695h-0.75977v7.6816h0.85352v-5.4824c0.14556-0.47923 0.3663-0.85918 0.66016-1.1445 0.29295-0.28809 0.65797-0.42969 1.0937-0.42969 0.48775 0 0.85711 0.17765 1.1133 0.5332 0.25496 0.35555 0.38476 0.96807 0.38476 1.8457v4.6777h0.85742v-4.6855c0-1.0736-0.18081-1.866-0.54882-2.375-0.36588-0.50993-0.8939-0.76367-1.5801-0.76367zm6.4043 0c-0.74271-1e-6 -1.3778 0.32125-1.9062 0.96094-0.52724 0.64273-0.79101 1.4505-0.79101 2.4199v1.2754c0 0.96758 0.26334 1.762 0.78906 2.3828 0.52361 0.62206 1.2007 0.93359 2.0312 0.93359 0.5154 0 0.9567-0.090281 1.3223-0.26562 0.3668-0.17626 0.6667-0.41287 0.90039-0.70703l-0.34961-0.60547c-0.2194 0.27441-0.47958 0.4836-0.78711 0.63281-0.30359 0.14586-0.66597 0.2207-1.0859 0.2207-0.60717 0-1.089-0.24489-1.4434-0.74023-0.35464-0.49412-0.5332-1.1138-0.5332-1.8574v-0.63867h4.3965v-0.84375c0-0.96667-0.22369-1.7371-0.66797-2.3105-0.44551-0.57253-1.0709-0.85742-1.875-0.85742zm-12.113 0.14258v7.6816h0.85938v-7.6816h-0.85938zm-27.352 0.60938c0.53029 0 0.9445 0.20789 1.2441 0.62695 0.29781 0.41876 0.44531 0.94616 0.44531 1.5801v0.33008h-3.543c0.01429-0.71688 0.19281-1.3186 0.53711-1.8066 0.34401-0.48622 0.78217-0.73047 1.3164-0.73047zm9.4727 0c0.52998 0 0.94406 0.20789 1.2422 0.62695 0.29963 0.41876 0.44727 0.94616 0.44727 1.5801v0.33008h-3.543c0.0155-0.71688 0.19298-1.3186 0.53516-1.8066 0.3437-0.48622 0.7826-0.73047 1.3184-0.73047zm29.992 0c0.53089 0 0.94602 0.20789 1.2441 0.62695 0.29902 0.41876 0.44532 0.94616 0.44532 1.5801v0.33008h-3.543c0.01519-0.71688 0.19402-1.3186 0.53711-1.8066 0.34218-0.48622 0.78064-0.73047 1.3164-0.73047zm-16.686 0.015625c0.42119 0 0.77033 0.1246 1.0469 0.375 0.27684 0.25466 0.4967 0.58706 0.65625 0.99609v3.8047c-0.16593 0.39718-0.39 0.70872-0.67383 0.93359-0.28475 0.22488-0.63089 0.33594-1.043 0.33594-0.6014 0-1.0536-0.22975-1.3496-0.69531-0.29964-0.4613-0.44727-1.0819-0.44727-1.8613v-1.0508c0-0.84177 0.15149-1.527 0.45508-2.0527 0.30146-0.52482 0.75528-0.78516 1.3555-0.78516zm-40.057 3.3281h1.3652v1.6621c-0.15286 0.42089-0.40964 0.76752-0.77734 1.041-0.3671 0.27228-0.78783 0.40625-1.2598 0.40625-0.39262 0-0.69782-0.12824-0.91602-0.38867-0.2185-0.25952-0.32617-0.59591-0.32617-1.0059 0-0.48531 0.17262-0.89402 0.52148-1.2207 0.34795-0.32881 0.81215-0.49414 1.3926-0.49414z" fill="#e0e0e0"/> +<path d="m27 3c-3.0948 0.68801-6.1571 1.6452-9.0273 3.0898 0.06564 2.5344 0.23035 4.963 0.5625 7.4297-1.1147 0.71414-2.287 1.3281-3.3281 2.1641-1.0578 0.81382-2.1378 1.5912-3.0957 2.543-1.9136-1.2657-3.9389-2.454-6.0254-3.5039-2.2491 2.4205-4.3524 5.0317-6.0703 7.9551 1.2924 2.0908 2.6428 4.0523 4.0996 5.9121h0.041016v14.438 1.834 1.6699c0.03282 3.04e-4 0.06514 8.06e-4 0.097656 0.003906l11 1.0605c0.57617 0.05561 1.0282 0.52027 1.0684 1.0977l0.33789 4.8555 9.5957 0.68359 0.66016-4.4805c0.0857-0.58104 0.58415-1.0117 1.1719-1.0117h11.605c0.58742 0 1.0862 0.43068 1.1719 1.0117l0.66016 4.4805 9.5957-0.68359 0.33789-4.8555c0.04042-0.57739 0.49219-1.0417 1.0684-1.0977l10.996-1.0605c0.032519-3e-3 0.064836-0.003606 0.097656-0.003906v-1.4316l0.003906-0.001953v-16.508h0.041016c1.4571-1.8598 2.8066-3.8214 4.0996-5.9121-1.7173-2.9234-3.8232-5.5346-6.0723-7.9551-2.0859 1.0499-4.1118 2.2382-6.0254 3.5039-0.95756-0.95178-2.0363-1.7292-3.0957-2.543-1.0408-0.836-2.2136-1.4499-3.3262-2.1641 0.33124-2.4667 0.49656-4.8952 0.5625-7.4297-2.8706-1.4447-5.933-2.4018-9.0293-3.0898-1.2362 2.0777-2.367 4.3278-3.3516 6.5273-1.1675-0.1951-2.3391-0.26727-3.5137-0.28125v-0.0019532c-0.0082 0-0.016447 0.0019531-0.023437 0.0019532-0.0073 0-0.014194-0.0019532-0.021484-0.0019532v0.0019532c-1.1767 0.013979-2.3497 0.086153-3.5176 0.28125-0.98399-2.1996-2.1135-4.4497-3.3516-6.5273zm-22.863 45.904c0.0045599 1.063 0.019531 2.2271 0.019531 2.459 0 10.446 13.251 15.468 29.715 15.525h0.019531 0.019531c16.464-0.05774 29.711-5.0795 29.711-15.525 0-0.23612 0.014661-1.3954 0.019531-2.459l-9.8867 0.95312-0.3418 4.8809c-0.04102 0.58833-0.50933 1.0574-1.0977 1.0996l-11.717 0.83594c-0.02857 0.0021-0.055724 0.003906-0.083984 0.003906-0.58225 0-1.0859-0.42704-1.1719-1.0117l-0.67188-4.5566h-9.5586l-0.67188 4.5566c-0.09025 0.61325-0.63836 1.0531-1.2559 1.0078l-11.717-0.83594c-0.58833-0.04224-1.0566-0.51128-1.0977-1.0996l-0.3418-4.8809-9.8906-0.95312z" fill="#478cbf"/> +<path d="m18.299 29.246c-3.6594 0-6.6289 2.9669-6.6289 6.627 0 3.6625 2.9695 6.6289 6.6289 6.6289 3.6613 0 6.627-2.9664 6.627-6.6289 0-3.66-2.9657-6.627-6.627-6.627zm31.186 0c-3.6619 0-6.6289 2.9669-6.6289 6.627 0 3.6625 2.967 6.6289 6.6289 6.6289 3.6591 0 6.627-2.9664 6.627-6.6289 0-3.66-2.9678-6.627-6.627-6.627zm-15.594 3.8789c-1.1785 0-2.1348 0.86781-2.1348 1.9375v6.1035c0 1.0706 0.95628 1.9395 2.1348 1.9395s2.1348-0.86885 2.1348-1.9395v-6.1035c0-1.0697-0.95628-1.9375-2.1348-1.9375z" fill="#f6f6f6"/> +<path d="m18.932 31.865c-2.4299 0-4.4004 1.9711-4.4004 4.4004s1.9705 4.3984 4.4004 4.3984c2.4311 0 4.4004-1.9691 4.4004-4.3984s-1.9693-4.4004-4.4004-4.4004zm29.916 0c-2.4293 0-4.3984 1.9711-4.3984 4.4004s1.9691 4.3984 4.3984 4.3984c2.4317 0 4.4004-1.9691 4.4004-4.3984s-1.9687-4.4004-4.4004-4.4004z" fill="#414042"/> +</svg> diff --git a/editor/project_export.cpp b/editor/project_export.cpp index 7e81513a8b..f4318a670c 100644 --- a/editor/project_export.cpp +++ b/editor/project_export.cpp @@ -48,7 +48,7 @@ void ProjectExportDialog::_notification(int p_what) { switch (p_what) { case NOTIFICATION_READY: { - delete_preset->set_icon(get_icon("Del", "EditorIcons")); + delete_preset->set_icon(get_icon("Remove", "EditorIcons")); connect("confirmed", this, "_export_pck_zip"); custom_feature_display->get_parent_control()->add_style_override("panel", get_stylebox("bg", "Tree")); } break; @@ -193,7 +193,7 @@ void ProjectExportDialog::_edit_preset(int p_index) { patch->set_checked(0, true); patch->set_tooltip(0, patchlist[i]); patch->set_metadata(0, i); - patch->add_button(0, get_icon("Del", "EditorIcons"), 0); + patch->add_button(0, get_icon("Remove", "EditorIcons"), 0); patch->add_button(0, get_icon("folder", "FileDialog"), 1); } diff --git a/modules/visual_script/visual_script_editor.cpp b/modules/visual_script/visual_script_editor.cpp index dfec1eea60..d415618383 100644 --- a/modules/visual_script/visual_script_editor.cpp +++ b/modules/visual_script/visual_script_editor.cpp @@ -491,9 +491,8 @@ void VisualScriptEditor::_update_graph(int p_only_id) { gnode->set_overlay(GraphNode::OVERLAY_BREAKPOINT); } - if (EditorSettings::get_singleton()->has("editors/visual_script/color_" + node->get_category())) { - Color c = EditorSettings::get_singleton()->get("editors/visual_script/color_" + node->get_category()); - gnode->set_self_modulate(c); + if (node_styles.has(node->get_category())) { + gnode->add_style_override("frame", node_styles[node->get_category()]); } gnode->set_meta("__vnode", node); @@ -2743,6 +2742,27 @@ void VisualScriptEditor::_notification(int p_what) { node_filter->add_icon_override("right_icon", Control::get_icon("Search", "EditorIcons")); variable_editor->connect("changed", this, "_update_members"); signal_editor->connect("changed", this, "_update_members"); + + List<Pair<String, Color> > colors; + colors.push_back(Pair<String, Color>("functions", Color(1, 0.9, 0.9))); + colors.push_back(Pair<String, Color>("data", Color(0.9, 1.0, 0.9))); + colors.push_back(Pair<String, Color>("operators", Color(0.9, 0.9, 1.0))); + colors.push_back(Pair<String, Color>("flow_control", Color(1.0, 1.0, 1.0))); + colors.push_back(Pair<String, Color>("custom", Color(0.8, 1.0, 1.0))); + colors.push_back(Pair<String, Color>("constants", Color(1.0, 0.8, 1.0))); + + for (List<Pair<String, Color> >::Element *E = colors.front(); E; E = E->next()) { + print_line(E->get().first); + Ref<StyleBoxFlat> sb = EditorNode::get_singleton()->get_theme_base()->get_theme()->get_stylebox("frame", "GraphNode"); + if (sb != NULL) { + Ref<StyleBoxFlat> frame_style = sb->duplicate(); + Color c = sb->get_border_color(MARGIN_TOP); + Color cn = E->get().second; + cn.a = c.a; + frame_style->set_border_color_all(cn); + node_styles[E->get().first] = frame_style; + } + } } if (p_what == NOTIFICATION_VISIBILITY_CHANGED) { left_vsplit->set_visible(is_visible_in_tree()); @@ -2974,7 +2994,7 @@ void VisualScriptEditor::_member_rmb_selected(const Vector2 &p_pos) { TreeItem *root = members->get_root(); - Ref<Texture> del_icon = Control::get_icon("Del", "EditorIcons"); + Ref<Texture> del_icon = Control::get_icon("Remove", "EditorIcons"); Ref<Texture> edit_icon = Control::get_icon("Edit", "EditorIcons"); @@ -3366,12 +3386,6 @@ void VisualScriptEditor::free_clipboard() { static void register_editor_callback() { ScriptEditor::register_create_script_editor_function(create_editor); - EditorSettings::get_singleton()->set("editors/visual_script/color_functions", Color(1, 0.9, 0.9)); - EditorSettings::get_singleton()->set("editors/visual_script/color_data", Color(0.9, 1.0, 0.9)); - EditorSettings::get_singleton()->set("editors/visual_script/color_operators", Color(0.9, 0.9, 1.0)); - EditorSettings::get_singleton()->set("editors/visual_script/color_flow_control", Color(1.0, 1.0, 1.0)); - EditorSettings::get_singleton()->set("editors/visual_script/color_custom", Color(0.8, 1.0, 1.0)); - EditorSettings::get_singleton()->set("editors/visual_script/color_constants", Color(1.0, 0.8, 1.0)); ED_SHORTCUT("visual_script_editor/delete_selected", TTR("Delete Selected")); ED_SHORTCUT("visual_script_editor/toggle_breakpoint", TTR("Toggle Breakpoint"), KEY_F9); diff --git a/modules/visual_script/visual_script_editor.h b/modules/visual_script/visual_script_editor.h index 5b8c3ea74e..db54d10300 100644 --- a/modules/visual_script/visual_script_editor.h +++ b/modules/visual_script/visual_script_editor.h @@ -136,6 +136,7 @@ class VisualScriptEditor : public ScriptEditorBase { Vector<Pair<Variant::Type, String> > args; }; + HashMap<StringName, Ref<StyleBox>, StringNameHasher> node_styles; StringName edited_func; void _update_graph_connections(); diff --git a/scene/gui/dialogs.cpp b/scene/gui/dialogs.cpp index 140d002387..d4912339da 100644 --- a/scene/gui/dialogs.cpp +++ b/scene/gui/dialogs.cpp @@ -195,7 +195,7 @@ void WindowDialog::_notification(int p_what) { RID canvas = get_canvas_item(); // Draw the background. - Ref<StyleBox> panel = get_stylebox("panel", "WindowDialog"); + Ref<StyleBox> panel = get_stylebox("panel"); Size2 size = get_size(); panel->draw(canvas, Rect2(0, 0, size.x, size.y)); |