From 66737f4eecddd95952c000aee19057d3b1fb19ee Mon Sep 17 00:00:00 2001 From: Arnau Alier Torres Date: Tue, 22 Apr 2025 17:42:47 +0200 Subject: [PATCH] Improving looks --- Deer/src/Deer/Scene/Enviroment.cpp | 2 +- DeerStudio/src/DeerStudio/DeerStudio.cpp | 10 +- DeerStudio/src/DeerStudio/Editor/Fonts.cpp | 22 ++ DeerStudio/src/DeerStudio/Editor/Fonts.h | 9 + .../DeerStudio/Editor/PropertiesPannel.cpp | 40 ++- .../Editor/Terrain/TerrainEditor.cpp | 4 + .../src/DeerStudio/Editor/TreePannel.cpp | 15 +- DeerStudio/src/DeerStudio/Style.h | 256 ++++++++++-------- roe/imgui.ini | 34 +-- 9 files changed, 220 insertions(+), 172 deletions(-) create mode 100644 DeerStudio/src/DeerStudio/Editor/Fonts.cpp create mode 100644 DeerStudio/src/DeerStudio/Editor/Fonts.h diff --git a/Deer/src/Deer/Scene/Enviroment.cpp b/Deer/src/Deer/Scene/Enviroment.cpp index 500a00a..8a65518 100755 --- a/Deer/src/Deer/Scene/Enviroment.cpp +++ b/Deer/src/Deer/Scene/Enviroment.cpp @@ -102,7 +102,7 @@ namespace Deer { void Environment::destroyEntity(uint16_t entityID) { DEER_CORE_ASSERT(entityExists(entityID), "Entity id {0} does not exist", entityID); - DEER_CORE_ASSERT(entityID == 0, "Can not destroy root"); + DEER_CORE_ASSERT(entityID != 0, "Can not destroy root"); Entity& entity = (*entities)[entityID]; entity.getParent().getComponent().removeChildren( diff --git a/DeerStudio/src/DeerStudio/DeerStudio.cpp b/DeerStudio/src/DeerStudio/DeerStudio.cpp index 3cfa33a..8daf2b7 100755 --- a/DeerStudio/src/DeerStudio/DeerStudio.cpp +++ b/DeerStudio/src/DeerStudio/DeerStudio.cpp @@ -7,6 +7,7 @@ #include "Deer/ScriptEngine.h" #include "Deer/Voxel.h" #include "Deer/VoxelWorld.h" +#include "DeerStudio/Editor/Fonts.h" #include "DeerStudio/Editor/GamePannel.h" #include "DeerStudio/Editor/Icons.h" #include "DeerStudio/Editor/PropertiesPannel.h" @@ -40,20 +41,17 @@ namespace Deer { // IMGUI STYLE ImGuiIO& io = ImGui::GetIO(); - io.Fonts->Clear(); std::string fLoc = (DataStore::rootPath / "imgui.ini").generic_string(); char* filenameFLoc = new char[fLoc.size() + 1](); strcpy(filenameFLoc, fLoc.c_str()); io.IniFilename = filenameFLoc; - ImFontConfig cnfg; - // cnfg.SizePixels = 26 - Path rfPath = DataStore::rootPath / "editor/fonts/Roboto-Regular.ttf"; - io.Fonts->AddFontFromFileTTF(rfPath.generic_string().c_str(), 18); - // io.Fonts->AddFontDefault(&cnfg); + initializeFonts(); setNatureStyle(); + ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding, ImVec2(20, 20)); + auto m_gamePannel = Ref(new GamePannel()); pannels.push_back(m_gamePannel); diff --git a/DeerStudio/src/DeerStudio/Editor/Fonts.cpp b/DeerStudio/src/DeerStudio/Editor/Fonts.cpp new file mode 100644 index 0000000..a376c2e --- /dev/null +++ b/DeerStudio/src/DeerStudio/Editor/Fonts.cpp @@ -0,0 +1,22 @@ +#include "Fonts.h" + +#include "Deer/DataStore.h" + +namespace Deer { + ImFont* normalText; + ImFont* titleText; + + void initializeFonts() { + ImGuiIO& io = ImGui::GetIO(); + io.Fonts->Clear(); + + ImFontConfig cnfg; + // cnfg.SizePixels = 26 + Path rfPath = DataStore::rootPath / "editor/fonts/Roboto-Regular.ttf"; + normalText = + io.Fonts->AddFontFromFileTTF(rfPath.generic_string().c_str(), 18); + titleText = + io.Fonts->AddFontFromFileTTF(rfPath.generic_string().c_str(), 27); + // io.Fonts->AddFontDefault(&cnfg); + } +} // namespace Deer diff --git a/DeerStudio/src/DeerStudio/Editor/Fonts.h b/DeerStudio/src/DeerStudio/Editor/Fonts.h new file mode 100644 index 0000000..530e13c --- /dev/null +++ b/DeerStudio/src/DeerStudio/Editor/Fonts.h @@ -0,0 +1,9 @@ +#pragma once +#include "imgui.h" + +namespace Deer { + extern ImFont* normalText; + extern ImFont* titleText; + + void initializeFonts(); +} // namespace Deer \ No newline at end of file diff --git a/DeerStudio/src/DeerStudio/Editor/PropertiesPannel.cpp b/DeerStudio/src/DeerStudio/Editor/PropertiesPannel.cpp index 82f2f10..ea38b35 100755 --- a/DeerStudio/src/DeerStudio/Editor/PropertiesPannel.cpp +++ b/DeerStudio/src/DeerStudio/Editor/PropertiesPannel.cpp @@ -5,6 +5,7 @@ #include "DeerRender/Input.h" #include "DeerRender/KeyCodes.h" #include "DeerRender/Render/Texture.h" +#include "DeerStudio/Editor/Fonts.h" #include "DeerStudio/Project.h" #include "imgui.h" @@ -38,16 +39,17 @@ namespace Deer { } void PropertiesPannel::propertiesPannel_onImgui() { - ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding, ImVec2(20, 20)); ImGui::Begin("Properties"); if (ActiveEntity::count() == 0) { + ImGui::TextColored(ImVec4(0.5f, 0.5f, 0.5f, 1), + "No entity selected"); ImGui::End(); - ImGui::PopStyleVar(); return; } Entity& activeEntity = ActiveEntity::getEntity(0); + ImGui::PushFont(titleText); auto& tag = activeEntity.getComponent(); if (tag.tag == "") @@ -55,8 +57,16 @@ namespace Deer { else ImGui::Text("%s", tag.tag.c_str()); - ImGui::SameLine(); - ImGui::Text("id : %u", tag.entityUID); + ImGui::PopFont(); + ImGui::Separator(); + + ImGui::TextColored(ImVec4(0.5f, 0.5f, 0.5f, 1), "Id : %u", + tag.entityUID); + + if (activeEntity.isRoot()) { + ImGui::End(); + return; + } ImGui::SameLine(); addComponentContext(); @@ -65,8 +75,6 @@ namespace Deer { if (collapsingComponentHeader("Transform Component", false)) { auto& transform = activeEntity.getComponent(); - ImGui::Dummy(ImVec2(0.0f, 10.0f)); - ImGui::Indent(); drawMagicSlider3f("Position", &transform.position.x, 0); glm::vec3 rotation = transform.getEulerAngles(); @@ -76,15 +84,10 @@ namespace Deer { drawMagicSlider3f("Scale", &transform.scale.x, 1); if (rotation != lastRotation) transform.setEulerAngles(rotation); - - ImGui::Unindent(); - ImGui::Dummy(ImVec2(0.0f, 10.0f)); + ImGui::Dummy(ImVec2(0.0f, 5.0f)); } if (collapsingComponentHeader("Script Component")) { - ImGui::Dummy(ImVec2(0.0f, 10.0f)); - ImGui::Indent(); - auto& script = activeEntity.getComponent(); // ------ MESH ----- @@ -98,15 +101,11 @@ namespace Deer { ImGui::SameLine(); ImGui::Button(scriptName.c_str()); - ImGui::Unindent(); - ImGui::Dummy(ImVec2(0.0f, 10.0f)); + ImGui::Dummy(ImVec2(0.0f, 5.0f)); } if (collapsingComponentHeader( "Mesh Render Component")) { - ImGui::Dummy(ImVec2(0.0f, 10.0f)); - ImGui::Indent(); - auto& mesh = activeEntity.getComponent(); // ------ MESH ----- @@ -153,15 +152,11 @@ namespace Deer { ImGui::EndDragDropTarget(); } - ImGui::Unindent(); - ImGui::Dummy(ImVec2(0.0f, 10.0f)); + ImGui::Dummy(ImVec2(0.0f, 5.0f)); } if (collapsingComponentHeader( "Texture Binding Component")) { - ImGui::Dummy(ImVec2(0.0f, 10.0f)); - ImGui::Indent(); - TextureBindingComponent& textureBinding = activeEntity.getComponent(); @@ -266,7 +261,6 @@ namespace Deer { } ImGui::End(); - ImGui::PopStyleVar(); } void PropertiesPannel::drawMagicSlider(const std::string& text, diff --git a/DeerStudio/src/DeerStudio/Editor/Terrain/TerrainEditor.cpp b/DeerStudio/src/DeerStudio/Editor/Terrain/TerrainEditor.cpp index 3cc060f..5b8bc59 100755 --- a/DeerStudio/src/DeerStudio/Editor/Terrain/TerrainEditor.cpp +++ b/DeerStudio/src/DeerStudio/Editor/Terrain/TerrainEditor.cpp @@ -25,6 +25,10 @@ namespace Deer { ImGui::Begin("Terrain Editor"); if (!Project::m_scene.isVoxelWorldInitialized()) { + ImGui::TextColored(ImVec4(0.5f, 0.5f, 0.5f, 1), + "No voxel world created"); + ImGui::Separator(); + ImGui::Spacing(); if (ImGui::Button("Create Voxel World")) { ImGui::OpenPopup(TERRAIN_EDITOR_CREATE_VOXEL_WORLD_POPUP_NAME); } diff --git a/DeerStudio/src/DeerStudio/Editor/TreePannel.cpp b/DeerStudio/src/DeerStudio/Editor/TreePannel.cpp index 4b10df7..129295b 100755 --- a/DeerStudio/src/DeerStudio/Editor/TreePannel.cpp +++ b/DeerStudio/src/DeerStudio/Editor/TreePannel.cpp @@ -53,12 +53,13 @@ namespace Deer { Project::m_scene.getMainEnviroment() .getRoot() .getComponent(); - for (int i = 0; i < relation.childCount; i++) { - Entity& childEntity = - Project::m_scene.getMainEnviroment().getEntity( - relation.getChildrenId(i)); - updateEntity(childEntity); - } + + updateEntity(Project::m_scene.getMainEnviroment().getRoot()); + // for (int i = 0; i < relation.childCount; i++) { + // Entity& childEntity = + // Project::m_scene.getMainEnviroment().getEntity( + // relation.getChildrenId(i)); + // } ImGui::PopStyleVar(); updateContextMenu(); @@ -95,7 +96,7 @@ namespace Deer { ImGui::Spacing(); // End of the tree - if (relationship.childCount == 0) { + if (relationship.childCount == 0 && !entity.isRoot()) { ImGuiTreeNodeFlags flags = ImGuiTreeNodeFlags_Leaf | ImGuiTreeNodeFlags_NoTreePushOnOpen | ImGuiTreeNodeFlags_SpanFullWidth; diff --git a/DeerStudio/src/DeerStudio/Style.h b/DeerStudio/src/DeerStudio/Style.h index c2a5b56..2f98a4a 100755 --- a/DeerStudio/src/DeerStudio/Style.h +++ b/DeerStudio/src/DeerStudio/Style.h @@ -1,130 +1,150 @@ #pragma once #include "imgui.h" -void SetupVSCodeStyle(); +void SetupModernStyle(); void geminiStyle(); void setNatureStyle() { - //geminiStyle(); - SetupVSCodeStyle(); + // geminiStyle(); + SetupModernStyle(); +} +void SetupModernStyle() { + ImGuiStyle& style = ImGui::GetStyle(); + ImVec4* colors = style.Colors; + + // Round everything slightly more for modern softness + style.WindowRounding = 6.0f; + style.FrameRounding = 4.0f; + style.ScrollbarRounding = 6.0f; + style.GrabRounding = 4.0f; + style.TabRounding = 4.0f; + + style.WindowBorderSize = 0.0f; + style.FrameBorderSize = 0.0f; + + // Core background colors + colors[ImGuiCol_WindowBg] = + ImVec4(0.11f, 0.11f, 0.13f, 1.00f); // Slightly lighter than pure black + colors[ImGuiCol_ChildBg] = ImVec4(0.13f, 0.13f, 0.15f, 1.00f); + colors[ImGuiCol_PopupBg] = ImVec4(0.15f, 0.15f, 0.18f, 1.00f); + + // Text + colors[ImGuiCol_Text] = ImVec4(0.95f, 0.96f, 0.98f, 1.00f); // Almost white + colors[ImGuiCol_TextDisabled] = ImVec4(0.50f, 0.55f, 0.60f, 1.00f); + + // Borders + colors[ImGuiCol_Border] = ImVec4(0.20f, 0.20f, 0.22f, 1.00f); + colors[ImGuiCol_BorderShadow] = ImVec4(0.00f, 0.00f, 0.00f, 0.00f); + + // Frames + colors[ImGuiCol_FrameBg] = ImVec4(0.18f, 0.18f, 0.20f, 1.00f); + colors[ImGuiCol_FrameBgHovered] = ImVec4(0.22f, 0.22f, 0.25f, 1.00f); + colors[ImGuiCol_FrameBgActive] = ImVec4(0.25f, 0.25f, 0.28f, 1.00f); + + // Title bar + colors[ImGuiCol_TitleBg] = ImVec4(0.10f, 0.10f, 0.12f, 1.00f); + colors[ImGuiCol_TitleBgActive] = ImVec4(0.15f, 0.15f, 0.18f, 1.00f); + colors[ImGuiCol_TitleBgCollapsed] = ImVec4(0.10f, 0.10f, 0.12f, 1.00f); + + // Scrollbars + colors[ImGuiCol_ScrollbarBg] = ImVec4(0.10f, 0.10f, 0.12f, 1.00f); + colors[ImGuiCol_ScrollbarGrab] = ImVec4(0.30f, 0.30f, 0.35f, 1.00f); + colors[ImGuiCol_ScrollbarGrabHovered] = ImVec4(0.35f, 0.35f, 0.40f, 1.00f); + colors[ImGuiCol_ScrollbarGrabActive] = ImVec4(0.40f, 0.40f, 0.45f, 1.00f); + + // Checkboxes, sliders, etc. + colors[ImGuiCol_CheckMark] = + ImVec4(0.22f, 0.65f, 0.90f, 1.00f); // Vivid blue + colors[ImGuiCol_SliderGrab] = ImVec4(0.22f, 0.65f, 0.90f, 1.00f); + colors[ImGuiCol_SliderGrabActive] = ImVec4(0.30f, 0.70f, 0.95f, 1.00f); + + // Buttons + colors[ImGuiCol_Button] = ImVec4(0.18f, 0.18f, 0.22f, 1.00f); + colors[ImGuiCol_ButtonHovered] = ImVec4(0.22f, 0.22f, 0.27f, 1.00f); + colors[ImGuiCol_ButtonActive] = ImVec4(0.25f, 0.25f, 0.30f, 1.00f); + + // Headers + colors[ImGuiCol_Header] = ImVec4(0.18f, 0.18f, 0.22f, 1.00f); + colors[ImGuiCol_HeaderHovered] = ImVec4(0.22f, 0.22f, 0.27f, 1.00f); + colors[ImGuiCol_HeaderActive] = ImVec4(0.25f, 0.25f, 0.30f, 1.00f); + + // Tabs + colors[ImGuiCol_Tab] = ImVec4(0.12f, 0.12f, 0.15f, 1.00f); + colors[ImGuiCol_TabHovered] = ImVec4(0.22f, 0.65f, 0.90f, 1.00f); + colors[ImGuiCol_TabActive] = ImVec4(0.18f, 0.50f, 0.75f, 1.00f); + colors[ImGuiCol_TabUnfocused] = ImVec4(0.12f, 0.12f, 0.15f, 1.00f); + colors[ImGuiCol_TabUnfocusedActive] = ImVec4(0.18f, 0.20f, 0.25f, 1.00f); + + // Resize grip + colors[ImGuiCol_ResizeGrip] = ImVec4(0.22f, 0.65f, 0.90f, 0.25f); + colors[ImGuiCol_ResizeGripHovered] = ImVec4(0.22f, 0.65f, 0.90f, 0.67f); + colors[ImGuiCol_ResizeGripActive] = ImVec4(0.22f, 0.65f, 0.90f, 0.95f); + + // Highlight + colors[ImGuiCol_TextSelectedBg] = ImVec4(0.22f, 0.65f, 0.90f, 0.35f); + colors[ImGuiCol_DragDropTarget] = ImVec4(0.22f, 0.65f, 0.90f, 0.90f); + colors[ImGuiCol_NavHighlight] = ImVec4(0.22f, 0.65f, 0.90f, 0.80f); + colors[ImGuiCol_SeparatorHovered] = ImVec4(0.22f, 0.65f, 0.90f, 0.78f); + colors[ImGuiCol_SeparatorActive] = ImVec4(0.22f, 0.65f, 0.90f, 1.00f); } -void SetupVSCodeStyle() { - ImVec4* colors = ImGui::GetStyle().Colors; - - ImGuiStyle& style = ImGui::GetStyle(); - style.WindowRounding = 2.0f; - style.FrameRounding = 2.0f; - style.GrabRounding = 2.0f; - style.ScrollbarRounding = 2.0f; - - colors[ImGuiCol_Text] = ImVec4(0.86f, 0.86f, 0.86f, 1.00f); // #CCCCCC - colors[ImGuiCol_TextDisabled] = ImVec4(0.50f, 0.50f, 0.50f, 1.00f); // #808080 - colors[ImGuiCol_WindowBg] = ImVec4(0.12f, 0.12f, 0.12f, 1.00f); // #1E1E1E - colors[ImGuiCol_ChildBg] = ImVec4(0.16f, 0.16f, 0.16f, 1.00f); // #262626 - colors[ImGuiCol_PopupBg] = ImVec4(0.16f, 0.16f, 0.16f, 1.00f); // #262626 - colors[ImGuiCol_Border] = ImVec4(0.23f, 0.23f, 0.23f, 1.00f); // #3C3C3C - colors[ImGuiCol_BorderShadow] = ImVec4(0.00f, 0.00f, 0.00f, 0.00f); // Transparent - colors[ImGuiCol_FrameBg] = ImVec4(0.24f, 0.24f, 0.24f, 1.00f); // #3C3C3C - colors[ImGuiCol_FrameBgHovered] = ImVec4(0.30f, 0.30f, 0.30f, 1.00f); // #4D4D4D - colors[ImGuiCol_FrameBgActive] = ImVec4(0.35f, 0.35f, 0.35f, 1.00f); // #595959 - colors[ImGuiCol_TitleBg] = ImVec4(0.12f, 0.12f, 0.12f, 1.00f); // #1E1E1E - colors[ImGuiCol_TitleBgCollapsed] = ImVec4(0.12f, 0.12f, 0.12f, 1.00f); // #1E1E1E - colors[ImGuiCol_TitleBgActive] = ImVec4(0.16f, 0.16f, 0.16f, 1.00f); // #262626 - colors[ImGuiCol_MenuBarBg] = ImVec4(0.16f, 0.16f, 0.16f, 1.00f); // #262626 - colors[ImGuiCol_ScrollbarBg] = ImVec4(0.12f, 0.12f, 0.12f, 1.00f); // #1E1E1E - colors[ImGuiCol_ScrollbarGrab] = ImVec4(0.28f, 0.28f, 0.28f, 1.00f); // #474747 - colors[ImGuiCol_ScrollbarGrabHovered] = ImVec4(0.32f, 0.32f, 0.32f, 1.00f); // #525252 - colors[ImGuiCol_ScrollbarGrabActive] = ImVec4(0.36f, 0.36f, 0.36f, 1.00f); // #5C5C5C - colors[ImGuiCol_CheckMark] = ImVec4(0.10f, 0.55f, 0.85f, 1.00f); // Darker light blue - colors[ImGuiCol_SliderGrab] = ImVec4(0.10f, 0.55f, 0.85f, 1.00f); // Darker light blue - colors[ImGuiCol_SliderGrabActive] = ImVec4(0.08f, 0.47f, 0.75f, 1.00f); // Even darker light blue - colors[ImGuiCol_Button] = ImVec4(0.18f, 0.18f, 0.18f, 1.00f); // #2E2E2E - colors[ImGuiCol_ButtonHovered] = ImVec4(0.24f, 0.24f, 0.24f, 1.00f); // #3C3C3C - colors[ImGuiCol_ButtonActive] = ImVec4(0.32f, 0.32f, 0.32f, 1.00f); // #525252 - colors[ImGuiCol_Header] = ImVec4(0.18f, 0.18f, 0.18f, 1.00f); // #2E2E2E - colors[ImGuiCol_HeaderHovered] = ImVec4(0.24f, 0.24f, 0.24f, 1.00f); // #3C3C3C - colors[ImGuiCol_HeaderActive] = ImVec4(0.32f, 0.32f, 0.32f, 1.00f); // #525252 - colors[ImGuiCol_Separator] = ImVec4(0.23f, 0.23f, 0.23f, 1.00f); // #3C3C3C - colors[ImGuiCol_SeparatorHovered] = ImVec4(0.32f, 0.32f, 0.32f, 1.00f); // #525252 - colors[ImGuiCol_SeparatorActive] = ImVec4(0.36f, 0.36f, 0.36f, 1.00f); // #5C5C5C - colors[ImGuiCol_ResizeGrip] = ImVec4(0.10f, 0.55f, 0.85f, 1.00f); // Darker light blue - colors[ImGuiCol_ResizeGripHovered] = ImVec4(0.08f, 0.47f, 0.75f, 1.00f); // Even darker light blue - colors[ImGuiCol_ResizeGripActive] = ImVec4(0.06f, 0.40f, 0.65f, 1.00f); // Much darker light blue - colors[ImGuiCol_Tab] = ImVec4(0.12f, 0.12f, 0.12f, 1.00f); // #1E1E1E - colors[ImGuiCol_TabHovered] = ImVec4(0.10f, 0.55f, 0.85f, 1.00f); // Darker light blue - colors[ImGuiCol_TabActive] = ImVec4(0.10f, 0.55f, 0.85f, 1.00f); // Darker light blue - colors[ImGuiCol_TabUnfocused] = ImVec4(0.12f, 0.12f, 0.12f, 1.00f); // #1E1E1E - colors[ImGuiCol_TabUnfocusedActive] = ImVec4(0.16f, 0.16f, 0.16f, 1.00f); // #262626 - colors[ImGuiCol_PlotLines] = ImVec4(0.61f, 0.61f, 0.61f, 1.00f); // #9C9C9C - colors[ImGuiCol_PlotLinesHovered] = ImVec4(0.86f, 0.50f, 0.14f, 1.00f); // #DB8E3B - colors[ImGuiCol_PlotHistogram] = ImVec4(0.10f, 0.55f, 0.85f, 1.00f); // Darker light blue - colors[ImGuiCol_PlotHistogramHovered] = ImVec4(0.08f, 0.47f, 0.75f, 1.00f); // Even darker light blue - colors[ImGuiCol_TextSelectedBg] = ImVec4(0.10f, 0.55f, 0.85f, 0.35f); // Darker light blue with transparency - colors[ImGuiCol_DragDropTarget] = ImVec4(0.10f, 0.55f, 0.85f, 1.00f); // Darker light blue - colors[ImGuiCol_NavHighlight] = ImVec4(0.10f, 0.55f, 0.85f, 1.00f); // Darker light blue - colors[ImGuiCol_NavWindowingHighlight] = ImVec4(1.00f, 1.00f, 1.00f, 0.70f); // White with transparency - colors[ImGuiCol_NavWindowingDimBg] = ImVec4(0.80f, 0.80f, 0.80f, 0.20f); // Grey with transparency - colors[ImGuiCol_ModalWindowDimBg] = ImVec4(0.80f, 0.80f, 0.80f, 0.35f); // Grey with transparency - - - -} void geminiStyle() { - ImGuiStyle& style = ImGui::GetStyle(); - style.WindowRounding = 8.0f; - style.FrameRounding = 6.0f; - style.GrabRounding = 6.0f; - style.ScrollbarRounding = 6.0f; + ImGuiStyle& style = ImGui::GetStyle(); + style.WindowRounding = 8.0f; + style.FrameRounding = 6.0f; + style.GrabRounding = 6.0f; + style.ScrollbarRounding = 6.0f; - ImVec4* colors = ImGui::GetStyle().Colors; + ImVec4* colors = ImGui::GetStyle().Colors; - colors[ImGuiCol_Text] = ImVec4(0.95f, 0.95f, 0.95f, 1.00f); // Lighter text for better readability - colors[ImGuiCol_TextDisabled] = ImVec4(0.60f, 0.60f, 0.60f, 1.00f); - colors[ImGuiCol_WindowBg] = ImVec4(0.10f, 0.10f, 0.10f, 1.00f); // Slightly darker background - colors[ImGuiCol_ChildBg] = ImVec4(0.12f, 0.12f, 0.12f, 1.00f); - colors[ImGuiCol_PopupBg] = ImVec4(0.12f, 0.12f, 0.12f, 1.00f); - colors[ImGuiCol_Border] = ImVec4(0.20f, 0.20f, 0.20f, 1.00f); - colors[ImGuiCol_BorderShadow] = ImVec4(0.00f, 0.00f, 0.00f, 0.00f); - colors[ImGuiCol_FrameBg] = ImVec4(0.20f, 0.20f, 0.20f, 1.00f); - colors[ImGuiCol_FrameBgHovered] = ImVec4(0.30f, 0.30f, 0.30f, 1.00f); - colors[ImGuiCol_FrameBgActive] = ImVec4(0.40f, 0.40f, 0.40f, 1.00f); - colors[ImGuiCol_TitleBg] = ImVec4(0.12f, 0.12f, 0.12f, 1.00f); - colors[ImGuiCol_TitleBgCollapsed] = ImVec4(0.12f, 0.12f, 0.12f, 1.00f); - colors[ImGuiCol_TitleBgActive] = ImVec4(0.16f, 0.16f, 0.16f, 1.00f); - colors[ImGuiCol_MenuBarBg] = ImVec4(0.16f, 0.16f, 0.16f, 1.00f); - colors[ImGuiCol_ScrollbarBg] = ImVec4(0.12f, 0.12f, 0.12f, 1.00f); - colors[ImGuiCol_ScrollbarGrab] = ImVec4(0.40f, 0.40f, 0.40f, 1.00f); - colors[ImGuiCol_ScrollbarGrabHovered] = ImVec4(0.50f, 0.50f, 0.50f, 1.00f); - colors[ImGuiCol_ScrollbarGrabActive] = ImVec4(0.60f, 0.60f, 0.60f, 1.00f); - colors[ImGuiCol_CheckMark] = ImVec4(0.20f, 0.80f, 0.40f, 1.00f); - colors[ImGuiCol_SliderGrab] = ImVec4(0.20f, 0.80f, 0.40f, 1.00f); - colors[ImGuiCol_SliderGrabActive] = ImVec4(0.18f, 0.70f, 0.40f, 1.00f); - colors[ImGuiCol_Button] = ImVec4(0.20f, 0.20f, 0.20f, 1.00f); - colors[ImGuiCol_ButtonHovered] = ImVec4(0.30f, 0.30f, 0.30f, 1.00f); - colors[ImGuiCol_ButtonActive] = ImVec4(0.40f, 0.40f, 0.40f, 1.00f); - colors[ImGuiCol_Header] = ImVec4(0.18f, 0.18f, 0.18f, 1.00f); - colors[ImGuiCol_HeaderHovered] = ImVec4(0.24f, 0.24f, 0.24f, 1.00f); - colors[ImGuiCol_HeaderActive] = ImVec4(0.32f, 0.32f, 0.32f, 1.00f); - colors[ImGuiCol_Separator] = ImVec4(0.23f, 0.23f, 0.23f, 1.00f); - colors[ImGuiCol_SeparatorHovered] = ImVec4(0.32f, 0.32f, 0.32f, 1.00f); - colors[ImGuiCol_SeparatorActive] = ImVec4(0.36f, 0.36f, 0.36f, 1.00f); - colors[ImGuiCol_ResizeGrip] = ImVec4(0.20f, 0.80f, 0.40f, 1.00f); - colors[ImGuiCol_ResizeGripHovered] = ImVec4(0.18f, 0.70f, 0.40f, 1.00f); - colors[ImGuiCol_ResizeGripActive] = ImVec4(0.14f, 0.56f, 0.36f, 1.00f); - colors[ImGuiCol_Tab] = ImVec4(0.12f, 0.12f, 0.12f, 1.00f); - colors[ImGuiCol_TabHovered] = ImVec4(0.20f, 0.80f, 0.40f, 1.00f); - colors[ImGuiCol_TabActive] = ImVec4(0.20f, 0.80f, 0.40f, 1.00f); - colors[ImGuiCol_TabUnfocused] = ImVec4(0.12f, 0.12f, 0.12f, 1.00f); - colors[ImGuiCol_TabUnfocusedActive] = ImVec4(0.16f, 0.16f, 0.16f, 1.00f); - colors[ImGuiCol_PlotLines] = ImVec4(0.61f, 0.61f, 0.61f, 1.00f); - colors[ImGuiCol_PlotLinesHovered] = ImVec4(0.86f, 0.50f, 0.14f, 1.00f); - colors[ImGuiCol_PlotHistogram] = ImVec4(0.20f, 0.80f, 0.40f, 1.00f); - colors[ImGuiCol_PlotHistogramHovered] = ImVec4(0.18f, 0.70f, 0.40f, 1.00f); - colors[ImGuiCol_TextSelectedBg] = ImVec4(0.20f, 0.80f, 0.40f, 0.35f); - colors[ImGuiCol_DragDropTarget] = ImVec4(1.00f, 1.00f, 0.00f, 0.90f); - colors[ImGuiCol_NavHighlight] = ImVec4(0.20f, 0.80f, 0.40f, 1.00f); - colors[ImGuiCol_NavWindowingHighlight] = ImVec4(1.00f, 1.00f, 1.00f, 0.70f); - colors[ImGuiCol_NavWindowingDimBg] = ImVec4(0.80f, 0.80f, 0.80f, 0.20f); - colors[ImGuiCol_ModalWindowDimBg] = ImVec4(0.20f, 0.20f, 0.20f, 0.35f); + colors[ImGuiCol_Text] = ImVec4( + 0.95f, 0.95f, 0.95f, 1.00f); // Lighter text for better readability + colors[ImGuiCol_TextDisabled] = ImVec4(0.60f, 0.60f, 0.60f, 1.00f); + colors[ImGuiCol_WindowBg] = + ImVec4(0.10f, 0.10f, 0.10f, 1.00f); // Slightly darker background + colors[ImGuiCol_ChildBg] = ImVec4(0.12f, 0.12f, 0.12f, 1.00f); + colors[ImGuiCol_PopupBg] = ImVec4(0.12f, 0.12f, 0.12f, 1.00f); + colors[ImGuiCol_Border] = ImVec4(0.20f, 0.20f, 0.20f, 1.00f); + colors[ImGuiCol_BorderShadow] = ImVec4(0.00f, 0.00f, 0.00f, 0.00f); + colors[ImGuiCol_FrameBg] = ImVec4(0.20f, 0.20f, 0.20f, 1.00f); + colors[ImGuiCol_FrameBgHovered] = ImVec4(0.30f, 0.30f, 0.30f, 1.00f); + colors[ImGuiCol_FrameBgActive] = ImVec4(0.40f, 0.40f, 0.40f, 1.00f); + colors[ImGuiCol_TitleBg] = ImVec4(0.12f, 0.12f, 0.12f, 1.00f); + colors[ImGuiCol_TitleBgCollapsed] = ImVec4(0.12f, 0.12f, 0.12f, 1.00f); + colors[ImGuiCol_TitleBgActive] = ImVec4(0.16f, 0.16f, 0.16f, 1.00f); + colors[ImGuiCol_MenuBarBg] = ImVec4(0.16f, 0.16f, 0.16f, 1.00f); + colors[ImGuiCol_ScrollbarBg] = ImVec4(0.12f, 0.12f, 0.12f, 1.00f); + colors[ImGuiCol_ScrollbarGrab] = ImVec4(0.40f, 0.40f, 0.40f, 1.00f); + colors[ImGuiCol_ScrollbarGrabHovered] = ImVec4(0.50f, 0.50f, 0.50f, 1.00f); + colors[ImGuiCol_ScrollbarGrabActive] = ImVec4(0.60f, 0.60f, 0.60f, 1.00f); + colors[ImGuiCol_CheckMark] = ImVec4(0.20f, 0.80f, 0.40f, 1.00f); + colors[ImGuiCol_SliderGrab] = ImVec4(0.20f, 0.80f, 0.40f, 1.00f); + colors[ImGuiCol_SliderGrabActive] = ImVec4(0.18f, 0.70f, 0.40f, 1.00f); + colors[ImGuiCol_Button] = ImVec4(0.20f, 0.20f, 0.20f, 1.00f); + colors[ImGuiCol_ButtonHovered] = ImVec4(0.30f, 0.30f, 0.30f, 1.00f); + colors[ImGuiCol_ButtonActive] = ImVec4(0.40f, 0.40f, 0.40f, 1.00f); + colors[ImGuiCol_Header] = ImVec4(0.18f, 0.18f, 0.18f, 1.00f); + colors[ImGuiCol_HeaderHovered] = ImVec4(0.24f, 0.24f, 0.24f, 1.00f); + colors[ImGuiCol_HeaderActive] = ImVec4(0.32f, 0.32f, 0.32f, 1.00f); + colors[ImGuiCol_Separator] = ImVec4(0.23f, 0.23f, 0.23f, 1.00f); + colors[ImGuiCol_SeparatorHovered] = ImVec4(0.32f, 0.32f, 0.32f, 1.00f); + colors[ImGuiCol_SeparatorActive] = ImVec4(0.36f, 0.36f, 0.36f, 1.00f); + colors[ImGuiCol_ResizeGrip] = ImVec4(0.20f, 0.80f, 0.40f, 1.00f); + colors[ImGuiCol_ResizeGripHovered] = ImVec4(0.18f, 0.70f, 0.40f, 1.00f); + colors[ImGuiCol_ResizeGripActive] = ImVec4(0.14f, 0.56f, 0.36f, 1.00f); + colors[ImGuiCol_Tab] = ImVec4(0.12f, 0.12f, 0.12f, 1.00f); + colors[ImGuiCol_TabHovered] = ImVec4(0.20f, 0.80f, 0.40f, 1.00f); + colors[ImGuiCol_TabActive] = ImVec4(0.20f, 0.80f, 0.40f, 1.00f); + colors[ImGuiCol_TabUnfocused] = ImVec4(0.12f, 0.12f, 0.12f, 1.00f); + colors[ImGuiCol_TabUnfocusedActive] = ImVec4(0.16f, 0.16f, 0.16f, 1.00f); + colors[ImGuiCol_PlotLines] = ImVec4(0.61f, 0.61f, 0.61f, 1.00f); + colors[ImGuiCol_PlotLinesHovered] = ImVec4(0.86f, 0.50f, 0.14f, 1.00f); + colors[ImGuiCol_PlotHistogram] = ImVec4(0.20f, 0.80f, 0.40f, 1.00f); + colors[ImGuiCol_PlotHistogramHovered] = ImVec4(0.18f, 0.70f, 0.40f, 1.00f); + colors[ImGuiCol_TextSelectedBg] = ImVec4(0.20f, 0.80f, 0.40f, 0.35f); + colors[ImGuiCol_DragDropTarget] = ImVec4(1.00f, 1.00f, 0.00f, 0.90f); + colors[ImGuiCol_NavHighlight] = ImVec4(0.20f, 0.80f, 0.40f, 1.00f); + colors[ImGuiCol_NavWindowingHighlight] = ImVec4(1.00f, 1.00f, 1.00f, 0.70f); + colors[ImGuiCol_NavWindowingDimBg] = ImVec4(0.80f, 0.80f, 0.80f, 0.20f); + colors[ImGuiCol_ModalWindowDimBg] = ImVec4(0.20f, 0.20f, 0.20f, 0.35f); } \ No newline at end of file diff --git a/roe/imgui.ini b/roe/imgui.ini index ac194c2..bd907d0 100644 --- a/roe/imgui.ini +++ b/roe/imgui.ini @@ -1,6 +1,6 @@ [Window][DockSpace Demo] Pos=0,0 -Size=2560,1371 +Size=1628,720 Collapsed=0 [Window][Debug##Default] @@ -9,32 +9,32 @@ Size=400,400 Collapsed=0 [Window][Properties] -Pos=2152,24 -Size=408,1347 +Pos=1236,24 +Size=392,696 Collapsed=0 -DockId=0x00000004,1 +DockId=0x00000004,0 [Window][Game Window] -Pos=526,24 -Size=1624,1347 +Pos=368,24 +Size=866,696 Collapsed=0 DockId=0x00000006,1 [Window][Tree Pannel] Pos=0,24 -Size=524,1347 +Size=366,696 Collapsed=0 DockId=0x00000005,0 [Window][Terrain Editor] -Pos=2152,24 -Size=408,1347 +Pos=1236,24 +Size=392,696 Collapsed=0 -DockId=0x00000004,0 +DockId=0x00000004,1 [Window][Viewport] -Pos=526,24 -Size=1624,1347 +Pos=368,24 +Size=866,696 Collapsed=0 DockId=0x00000006,0 @@ -45,11 +45,11 @@ Collapsed=0 DockId=0x00000002,0 [Docking][Data] -DockSpace ID=0xA1672E74 Window=0x4647B76E Pos=0,24 Size=2560,1347 Split=Y +DockSpace ID=0xA1672E74 Window=0x4647B76E Pos=0,24 Size=1628,696 Split=Y DockNode ID=0x00000001 Parent=0xA1672E74 SizeRef=2560,903 Split=X Selected=0x13926F0B - DockNode ID=0x00000003 Parent=0x00000001 SizeRef=2150,779 Split=X Selected=0x13926F0B - DockNode ID=0x00000005 Parent=0x00000003 SizeRef=524,779 Selected=0xBD1B42A3 - DockNode ID=0x00000006 Parent=0x00000003 SizeRef=1624,779 CentralNode=1 Selected=0x13926F0B - DockNode ID=0x00000004 Parent=0x00000001 SizeRef=408,779 Selected=0x2A2C795E + DockNode ID=0x00000003 Parent=0x00000001 SizeRef=1234,779 Split=X Selected=0x13926F0B + DockNode ID=0x00000005 Parent=0x00000003 SizeRef=366,779 Selected=0xBD1B42A3 + DockNode ID=0x00000006 Parent=0x00000003 SizeRef=866,779 CentralNode=1 Selected=0x13926F0B + DockNode ID=0x00000004 Parent=0x00000001 SizeRef=392,779 Selected=0x199AB496 DockNode ID=0x00000002 Parent=0xA1672E74 SizeRef=2560,442 Selected=0xCF339702