Imgui: рдЕрдкрдиреЗ рд░рдВрдЧ рд╢реИрд▓рд┐рдпреЛрдВ / рд╡рд┐рд╖рдпреЛрдВ рдпрд╣рд╛рдБ рдкреЛрд╕реНрдЯ рдХрд░реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 19 рдЬреВрди 2016  ┬╖  43рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: ocornut/imgui

рдореИрдВрдиреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреИрдХреЗрдЬрд┐рдВрдЧ рдореЗрдВ рдХреБрдЫ рдмреЗрд╣рддрд░ рд░рдВрдЧ рд╡рд┐рд╖рдпреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИ, рд╢рд╛рдпрдж рдЕрдЧрд▓реЗ рд░рд┐рд▓реАрдЬ (1.50) рдХреЗ рд░реВрдк рдореЗрдВред

рддрд░реНрдХ рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рдРрд╕рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рдорд╛рди рд╣реБрдб рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЦреБрдж рдХреЛ рд╕реНрдЯрд╛рдЗрд▓ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдЧрдбрд╝рдмрдбрд╝ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЫреЛрдЯреЗ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд▓реЛрдЧреЛрдВ рдХрд╛ рд╕рдордп рд▓реЗ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдмрдбрд╝реЗ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдХреНрдпреЛрдВрдХрд┐ рдХрд╕реНрдЯрдо рдереАрдо рдХреЛ рддреЛрдбрд╝рдирд╛ рдФрд░ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдмрдирд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдЬрд╣рд╛рдВ рдореИрдВ рд╕реНрдЯрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕рддрд░реНрдХ рд╣реВрдВред рдЗрд╕рд▓рд┐рдП рдореИрдВ рдирд╛рдорд┐рдд рд╡рд┐рд╖рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдмреЗрд╣рддрд░ рдЖрдзрд╛рд░ рд░реЗрдЦрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬрд┐рд╕рд╕реЗ рд▓реЛрдЧ рдЦреБрд╢ рд╣реИрдВ, рдХрд┐ рд╣рдо рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реИрдВ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓реЛрдЧреЛрдВ рдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕реНрдХрд┐рдирд┐рдВрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдХрд┐ ImGui рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рди рд╣реЛред

1. рдПред
рдореИрдВ рдореМрдЬреВрджрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдереАрдо рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рд╕рдмрд╕реЗ рд╢рд╛рдпрдж, рдореБрдЦреНрдп рдмрдЯрди рд░рдВрдЧреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╡реЗ рдЕрдм рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рджрд┐рдЦ рд░рд╣реЗ рд╣реИрдВред рд╡рд░реНрддрдорд╛рди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдереАрдо рдХреЗ рд▓рд┐рдП рдорд╛рдореВрд▓реА рдмрджрд▓рд╛рд╡ рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд╛рдЬрд╝рд╛ рдХрджрдо рд╣реЛрдЧрд╛ред рдпрджрд┐ рдЖрдк рдПрдХ рд░рдЪрдирд╛рддреНрдордХ рдореВрдб рдореЗрдВ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдереАрдо рдХреЛ рдЯреНрд╡рд┐рдХ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ :)

1. рдмреАред
рдореИрдВ рдирдИ рдереАрдо рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдХреГрдкрдпрд╛ рдпрд╣рд╛рдВ рдЙрдкрдпреБрдХреНрдд рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ рдЬрдорд╛ рдХрд░реЗрдВ! рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рд╢рд╛рдпрдж рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмреНрд▓реИрдХ-рдИрд╢ рдереАрдо, рдПрдХ рд╡реНрд╣рд╛рдЗрдЯ-рдИрд╢ рдереАрдоред рд╢рд╛рдпрдж рдПрдХ рдпрд╛ рджреЛ рдФрд░ред рдЪрд░реНрдЪрд╛ рдХрд░рддреЗ рд╕рдордп рд╣рдореЗрдВ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдереЛрдбрд╝реА рдкрд╛рд░рджрд░реНрд╢реА рдЦрд┐рдбрд╝рдХрд┐рдпрд╛рдВ рдХрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИрдВ, рдЬреЛ рдЕрдкрдиреЗ рдЦреЗрд▓ / рд╕рд╛рдордЧреНрд░реА рдкрд░ рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХреЛ рдУрд╡рд░рд▓реЗ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдПрдХ рд╕реМрджрд╛ рддреЛрдбрд╝рдиреЗ рд╡рд╛рд▓рд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ рдЕрдЧрд░ рдПрдХ рд╡рд┐рд╖рдп рджреЛрдиреЛрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдкрд╛рд░рджрд░реНрд╢реА рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рд░рдВрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдереЛрдбрд╝рд╛ рдкрд╛рд░рджрд░реНрд╢реА рд░рдВрдЧ рд╣реЛрдВрдЧреЗред рдЖрдк рд╡рд┐рдЪрд╛рд░реЛрдВ / рд╕рдВрджрд░реНрднреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЗ рд╢реЙрдЯреНрд╕ рднреА рдкреНрд░рд╕реНрддреБрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдореИрдВ рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рд╕реАрдзреЗ рдЖрдиреЗ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

реиред
рдореИрдВ рднреА, рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ, рдЙрджрд╛рд╣рд░рдг / рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдирдП рднрд╡рди / рд╕рдВрдЧрддрддрд╛ рдореБрджреНрджреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдлрд╝реЙрдиреНрдЯ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рддрд░реАрдХрд╛ рдвреВрдВрдврдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдЯреВрд▓рд╕реЗрдЯ / рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╢реБрд░реБрдЖрддреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рд╣реЛ рд╕рдХрддреА рд╣реИ рдФрд░ рдмрд╛рд╣рд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рдФрд░ рдЕрдзрд┐рдХ рдХрд╛рдо рдХрд░ рд╕рдХрддреА рд╣реИ рдЬреИрд╕реЗ рдХрд┐ extra_fonts / рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред рд╡рд╣ рд╕реЙрд▓реНрд╡ рд╣реИред

рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рд╖рдп

438 рд╕рд░рд▓реАрдХреГрдд рдбрд┐рдЬрд╛рдЗрди

184 рдирдП рдбрд┐рдЬрд╛рдЗрди / рд░рдВрдЧ (рдЕрднреА рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ)ред

help wanted in progress style

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдПрдХ рдЪреЗрд░реА рд╡рд┐рд╖рдп: рдбреА

image

void CherryTheme() {
    // cherry colors, 3 intensities
    #define HI(v)   ImVec4(0.502f, 0.075f, 0.256f, v)
    #define MED(v)  ImVec4(0.455f, 0.198f, 0.301f, v)
    #define LOW(v)  ImVec4(0.232f, 0.201f, 0.271f, v)
    // backgrounds (<strong i="8">@todo</strong>: complete with BG_MED, BG_LOW)
    #define BG(v)   ImVec4(0.200f, 0.220f, 0.270f, v)
    // text
    #define TEXT(v) ImVec4(0.860f, 0.930f, 0.890f, v)

    auto &style = ImGui::GetStyle();
    style.Colors[ImGuiCol_Text]                  = TEXT(0.78f);
    style.Colors[ImGuiCol_TextDisabled]          = TEXT(0.28f);
    style.Colors[ImGuiCol_WindowBg]              = ImVec4(0.13f, 0.14f, 0.17f, 1.00f);
    style.Colors[ImGuiCol_ChildWindowBg]         = BG( 0.58f);
    style.Colors[ImGuiCol_PopupBg]               = BG( 0.9f);
    style.Colors[ImGuiCol_Border]                = ImVec4(0.31f, 0.31f, 1.00f, 0.00f);
    style.Colors[ImGuiCol_BorderShadow]          = ImVec4(0.00f, 0.00f, 0.00f, 0.00f);
    style.Colors[ImGuiCol_FrameBg]               = BG( 1.00f);
    style.Colors[ImGuiCol_FrameBgHovered]        = MED( 0.78f);
    style.Colors[ImGuiCol_FrameBgActive]         = MED( 1.00f);
    style.Colors[ImGuiCol_TitleBg]               = LOW( 1.00f);
    style.Colors[ImGuiCol_TitleBgActive]         = HI( 1.00f);
    style.Colors[ImGuiCol_TitleBgCollapsed]      = BG( 0.75f);
    style.Colors[ImGuiCol_MenuBarBg]             = BG( 0.47f);
    style.Colors[ImGuiCol_ScrollbarBg]           = BG( 1.00f);
    style.Colors[ImGuiCol_ScrollbarGrab]         = ImVec4(0.09f, 0.15f, 0.16f, 1.00f);
    style.Colors[ImGuiCol_ScrollbarGrabHovered]  = MED( 0.78f);
    style.Colors[ImGuiCol_ScrollbarGrabActive]   = MED( 1.00f);
    style.Colors[ImGuiCol_CheckMark]             = ImVec4(0.71f, 0.22f, 0.27f, 1.00f);
    style.Colors[ImGuiCol_SliderGrab]            = ImVec4(0.47f, 0.77f, 0.83f, 0.14f);
    style.Colors[ImGuiCol_SliderGrabActive]      = ImVec4(0.71f, 0.22f, 0.27f, 1.00f);
    style.Colors[ImGuiCol_Button]                = ImVec4(0.47f, 0.77f, 0.83f, 0.14f);
    style.Colors[ImGuiCol_ButtonHovered]         = MED( 0.86f);
    style.Colors[ImGuiCol_ButtonActive]          = MED( 1.00f);
    style.Colors[ImGuiCol_Header]                = MED( 0.76f);
    style.Colors[ImGuiCol_HeaderHovered]         = MED( 0.86f);
    style.Colors[ImGuiCol_HeaderActive]          = HI( 1.00f);
    style.Colors[ImGuiCol_Column]                = ImVec4(0.14f, 0.16f, 0.19f, 1.00f);
    style.Colors[ImGuiCol_ColumnHovered]         = MED( 0.78f);
    style.Colors[ImGuiCol_ColumnActive]          = MED( 1.00f);
    style.Colors[ImGuiCol_ResizeGrip]            = ImVec4(0.47f, 0.77f, 0.83f, 0.04f);
    style.Colors[ImGuiCol_ResizeGripHovered]     = MED( 0.78f);
    style.Colors[ImGuiCol_ResizeGripActive]      = MED( 1.00f);
    style.Colors[ImGuiCol_PlotLines]             = TEXT(0.63f);
    style.Colors[ImGuiCol_PlotLinesHovered]      = MED( 1.00f);
    style.Colors[ImGuiCol_PlotHistogram]         = TEXT(0.63f);
    style.Colors[ImGuiCol_PlotHistogramHovered]  = MED( 1.00f);
    style.Colors[ImGuiCol_TextSelectedBg]        = MED( 0.43f);
    // [...]
    style.Colors[ImGuiCol_ModalWindowDarkening]  = BG( 0.73f);

    style.WindowPadding            = ImVec2(6, 4);
    style.WindowRounding           = 0.0f;
    style.FramePadding             = ImVec2(5, 2);
    style.FrameRounding            = 3.0f;
    style.ItemSpacing              = ImVec2(7, 1);
    style.ItemInnerSpacing         = ImVec2(1, 1);
    style.TouchExtraPadding        = ImVec2(0, 0);
    style.IndentSpacing            = 6.0f;
    style.ScrollbarSize            = 12.0f;
    style.ScrollbarRounding        = 16.0f;
    style.GrabMinSize              = 20.0f;
    style.GrabRounding             = 2.0f;

    style.WindowTitleAlign.x = 0.50f;

    style.Colors[ImGuiCol_Border] = ImVec4(0.539f, 0.479f, 0.255f, 0.162f);
    style.FrameBorderSize = 0.0f;
    style.WindowBorderSize = 1.0f;
}

рд╕рднреА 43 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореИрдВ рдЬрд┐рд╕ рдереАрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рд╡рд╣ @ Gitamago рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдХрд╛рд╢ рд╢реИрд▓реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЗрд╕ Gist рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди

рдореИрдВрдиреЗ рдЕрд▓реНрдлрд╛ рдХреЗ рдЙрдкрдЪрд╛рд░ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛, рдФрд░ рдкреНрд░рдХрд╛рд╢ рдФрд░ рдЕрдВрдзреЗрд░реЗ рдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдФрд░ рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рдЕрд▓реНрдлрд╛ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдЬреЛрдбрд╝реЗред

рдореБрдЦреНрдп рдлрд╝реЙрдиреНрдЯ рдХреЗ рд▓рд┐рдП рдореИрдВ 18.0f рдЖрдХрд╛рд░ рдореЗрдВ Roboto-Regular.ttf рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ IconFontCppHeaders рд╕реЗ рдлреЙрдиреНрдЯрд╡реЙрдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ ред

Dark Style, no alpha. 2016-5-19_11-47-55_avoyd_3
Light Style, no alpha.  2016-5-19_11-47-48_avoyd_2
Dark Style, medium alpha. 2016-5-19_11-47-32_avoyd_0
Light Style, medium alpha. 2016-5-19_11-47-38_avoyd_1
Dark Style, low alpha.  2016-5-19_11-48-18_avoyd_4
Light Style, low alpha.  2016-5-19_11-48-34_avoyd_5

рд╣рд╛рдп @ocornut ,
рдпрд╣ рдореЗрд░рд╛ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рдЬрд▓реНрджреА рдХрд░реЗрдВ: рдмреНрд▓рд╢:, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрди рдереАрдо рдПрдиреНрд╣рд╛рдВрд╕рдореЗрдВрдЯ рдХреЗ рд╕рд╛рде 1.50 рдХреЗ рд░рд┐рд▓реАрдЬ рдХрд╛ рдЕрдиреБрдорд╛рдирд┐рдд рд╕рдордп рд╣реИ?

рдПрдХ рдФрд░ рдмрд╛рдд: рдЪреВрдВрдХрд┐ рдЗрдорд┐рдЧреБрдИ рд╕реЗ _emscripten_ рддрдХ рдХрдо рд╕реЗ рдХрдо _four_ рдЕрдиреМрдкрдЪрд╛рд░рд┐рдХ рдмрдВрджрд░рдЧрд╛рд╣ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдзрд╛рд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдЕрдВрджрд░ рдПрдХ рдЕрдзрд┐рдХрд╛рд░реА рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдкреНрд▓рд╕ рд╕рд╛рдЗрдб рдкрд░, рдПрдХ рдмрд╛рд░ рдореАред рдореАред рд╡реЗрдмрд╕реНрдХреНрд░рд┐рдкреНрд╕ рдЙрди рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдореБрдлреНрдд рдмреЛрдирд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдПрдВрдЧреЗред

рдореЗрд░реА рд╢реБрднрдХрд╛рдордирд╛рдПрдБ,

- рдЖрд░ рдПрдо

рдореБрдЭреЗ рдЦреЗрдж рд╣реИ рдХрд┐ рдореИрдВ рд░реЙрдмрд░реНрдЯреЛ рдХреЛ рдИрдЯреАрдП рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ред рдордзреНрдп рдорд╣реАрдиреЗ рд╕реЗ рдореИрдВ рдиреМрд╡рд╣рди рдирд┐рдпрдВрддреНрд░рдг рдкрд░ рдХрд╛рдо рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░реВрдВрдЧрд╛ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд░рдВрдЧреЛрдВ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдореИрдВ рдХрд┐рд╕реА рднреА рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдирд╣реАрдВ рд▓реЗ рдЬрд╛ рд╕рдХрддрд╛ рдФрд░ рдХреБрдЫ рднреА emscripten рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рдмрд╛рдд рд╣реЛрдЧреАред рдореИрдВ рдИрдореНрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдФрд░ рд╕реВрдЪрд┐рдд рдирд┐рд░реНрдгрдп рдирд╣реАрдВ рд▓реЗ рд╕рдХрддрд╛ред рдЕрдЧрд░ рдЙрди рдЪрд╛рд░ рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рд╕рдореБрджрд╛рдп рдХреЛ рджреЗрдиреЗ рдФрд░ рдХреБрдЫ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЧрдВрднреАрд░ рд╣реИ, рддреЛ рд╡реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдЦреБрдж рд╕реЗ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдФрд░ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░реЗрдкреЛ рдореЗрдВ рдХреБрдЫ рдЬрдорд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рд╣реИрдВ рдпрджрд┐ рдЙрдиреНрд╣реЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рд╡рд┐рд╡рд░рдгреЛрдВ рдореЗрдВ рдбреЗрд╡рд┐рд▓ рдФрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХрд╛рдо рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рдЙрдирдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдореИрдВ рдпрд╛ рддреЛ рдЗрд╕реЗ рдордЬрдмреВрд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдФрд░ рди рд╣реА рдХрд┐рд╕реА рдХреЛ рд╕реБрдЭрд╛рд╡ рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдпреЛрдЧрджрд╛рди рдПрдХ-рд╢реЙрдЯ рд╣реИрдВ рдФрд░ рдореБрдЭреЗ рдЕрдзрд┐рдХ рдХрд╛рдо рдЬреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВред рдмрд┐рдирд╛ рдкреВрдЫреЗ рдпреЛрдЧрджрд╛рди рджреЗрдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд░рдЦрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ :)

рд╣рд╛рдп рдЙрдорд░ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж,
рдореИрдВ рдЖрдкрдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдореЗрд░реЗ рд▓рд┐рдП рд╕рдордп рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЖрдЬ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреБрд░реНрд▓рдн рд╕рдВрд╕рд╛рдзрди рд╣реИред
рдореИрдВрдиреЗ рдПрдХ рдмрдВрджрд░рдЧрд╛рд╣> 1.5 рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдПрдореНрд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯреАрди рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рдХрд╣рд╛рдВ рд░рдЦрд╛ рд╣реИред
рдЗрд╕ рд╕рдордп рдореИрдВ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ imgui рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЬреНрдпрд╛рджрд╛рддрд░ рд╡реЗрдм-рдЖрдзрд╛рд░рд┐рдд рд╣реИрдВ рдФрд░ рдореИрдВ рдЙрди рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдорд╛рдирдХ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП webassembly рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдпрджрд┐ рдФрд░ рдЬрдм рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рдЗрд╕реЗ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдФрд░ рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА (рдФрд░ рд╕рднреА CSS / рдмреНрд░рд╛рдЙрдЬрд╝рд░ / JS рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рдХреЛ рдПрдХ рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░ рдЙрддреНрдкрд░рд┐рд╡рд░реНрддреА рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдкрд╛рдЧрд▓рдкрди рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП)ред

рдиреЗрд╡рд┐рдЧреЗрд╢рдирд▓ рдирд┐рдпрдВрддреНрд░рдг? рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдбреЙрдХ рдкреИрдирд▓ (рд▓рдЧрднрдЧ 3 рджреЗрдЦрд╛), рдЯреИрдм рдкреНрд░рдмрдВрдзрди рдЬреИрд╕реА рдЕрдзрд┐рдХ рдирд┐рдлреНрдЯреА рдЪреАрдЬреЗрдВ рд╣реИрдВ? (рдХрд╛рд╢: рдореБрд╕реНрдХрд╛рди:)

рдХреЛрдб рдХреЗ рдЕрдЪреНрдЫреЗ рдЯреБрдХрдбрд╝реЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЗрд╕реЗ рдЫреЛрдЯрд╛ рдФрд░ рд╕рд░рд▓ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

- рд░реЙрдмрд░реНрдЯреЛ

рдХреГрдкрдпрд╛ рдЕрдкрдиреА рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдпрд╣рд╛рдБ рдкреЛрд╕реНрдЯ рдХрд░реЗрдВ!
1.50 рдХреЗ рд▓рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ рдЬреЛ рдореИрдВ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдФрд░ рдЙрди рдирдП рд░рдВрдЧ рд╡рд┐рд╖рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝реВрдВрдЧрд╛ :)

рдореИрдВ рдЕрдкрдирд╛ рд╡рд┐рд╖рдп рдпрд╣рд╛рдБ рдкреЛрд╕реНрдЯ рдХрд░реВрдБрдЧрд╛ рдЬрдм рдореИрдВ рдЕрдкрдирд╛ рдХрд╛рдо рдкреВрд░рд╛ рдХрд░реВрдБрдЧрд╛ред
btw, рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдмрд╣реБрдд рдХреБрд╢рд▓ рдХрд▓рд╛рдХрд╛рд░ рдорд┐рддреНрд░ (рдмреЗрдиреНрдлрд┐рдХреЗрдЯ) рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдЗрд╕рдХреЗ рд╕рд╛рде рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣ рд░рд╣рд╛ рдореЗрд░рд╛
imgui

ImGuiStyle& style = ImGui::GetStyle();
style.WindowRounding = 5.3f;
style.FrameRounding = 2.3f;
style.ScrollbarRounding = 0;

style.Colors[ImGuiCol_Text]                  = ImVec4(0.90f, 0.90f, 0.90f, 0.90f);
style.Colors[ImGuiCol_TextDisabled]          = ImVec4(0.60f, 0.60f, 0.60f, 1.00f);
style.Colors[ImGuiCol_WindowBg]              = ImVec4(0.09f, 0.09f, 0.15f, 1.00f);
style.Colors[ImGuiCol_ChildWindowBg]         = ImVec4(0.00f, 0.00f, 0.00f, 0.00f);
style.Colors[ImGuiCol_PopupBg]               = ImVec4(0.05f, 0.05f, 0.10f, 0.85f);
style.Colors[ImGuiCol_Border]                = ImVec4(0.70f, 0.70f, 0.70f, 0.65f);
style.Colors[ImGuiCol_BorderShadow]          = ImVec4(0.00f, 0.00f, 0.00f, 0.00f);
style.Colors[ImGuiCol_FrameBg]               = ImVec4(0.00f, 0.00f, 0.01f, 1.00f);
style.Colors[ImGuiCol_FrameBgHovered]        = ImVec4(0.90f, 0.80f, 0.80f, 0.40f);
style.Colors[ImGuiCol_FrameBgActive]         = ImVec4(0.90f, 0.65f, 0.65f, 0.45f);
style.Colors[ImGuiCol_TitleBg]               = ImVec4(0.00f, 0.00f, 0.00f, 0.83f);
style.Colors[ImGuiCol_TitleBgCollapsed]      = ImVec4(0.40f, 0.40f, 0.80f, 0.20f);
style.Colors[ImGuiCol_TitleBgActive]         = ImVec4(0.00f, 0.00f, 0.00f, 0.87f);
style.Colors[ImGuiCol_MenuBarBg]             = ImVec4(0.01f, 0.01f, 0.02f, 0.80f);
style.Colors[ImGuiCol_ScrollbarBg]           = ImVec4(0.20f, 0.25f, 0.30f, 0.60f);
style.Colors[ImGuiCol_ScrollbarGrab]         = ImVec4(0.55f, 0.53f, 0.55f, 0.51f);
style.Colors[ImGuiCol_ScrollbarGrabHovered]  = ImVec4(0.56f, 0.56f, 0.56f, 1.00f);
style.Colors[ImGuiCol_ScrollbarGrabActive]   = ImVec4(0.56f, 0.56f, 0.56f, 0.91f);
style.Colors[ImGuiCol_ComboBg]               = ImVec4(0.1f, 0.1f, 0.1f, 0.99f);
style.Colors[ImGuiCol_CheckMark]             = ImVec4(0.90f, 0.90f, 0.90f, 0.83f);
style.Colors[ImGuiCol_SliderGrab]            = ImVec4(0.70f, 0.70f, 0.70f, 0.62f);
style.Colors[ImGuiCol_SliderGrabActive]      = ImVec4(0.30f, 0.30f, 0.30f, 0.84f);
style.Colors[ImGuiCol_Button]                = ImVec4(0.48f, 0.72f, 0.89f, 0.49f);
style.Colors[ImGuiCol_ButtonHovered]         = ImVec4(0.50f, 0.69f, 0.99f, 0.68f);
style.Colors[ImGuiCol_ButtonActive]          = ImVec4(0.80f, 0.50f, 0.50f, 1.00f);
style.Colors[ImGuiCol_Header]                = ImVec4(0.30f, 0.69f, 1.00f, 0.53f);
style.Colors[ImGuiCol_HeaderHovered]         = ImVec4(0.44f, 0.61f, 0.86f, 1.00f);
style.Colors[ImGuiCol_HeaderActive]          = ImVec4(0.38f, 0.62f, 0.83f, 1.00f);
style.Colors[ImGuiCol_Column]                = ImVec4(0.50f, 0.50f, 0.50f, 1.00f);
style.Colors[ImGuiCol_ColumnHovered]         = ImVec4(0.70f, 0.60f, 0.60f, 1.00f);
style.Colors[ImGuiCol_ColumnActive]          = ImVec4(0.90f, 0.70f, 0.70f, 1.00f);
style.Colors[ImGuiCol_ResizeGrip]            = ImVec4(1.00f, 1.00f, 1.00f, 0.85f);
style.Colors[ImGuiCol_ResizeGripHovered]     = ImVec4(1.00f, 1.00f, 1.00f, 0.60f);
style.Colors[ImGuiCol_ResizeGripActive]      = ImVec4(1.00f, 1.00f, 1.00f, 0.90f);
style.Colors[ImGuiCol_CloseButton]           = ImVec4(0.50f, 0.50f, 0.90f, 0.50f);
style.Colors[ImGuiCol_CloseButtonHovered]    = ImVec4(0.70f, 0.70f, 0.90f, 0.60f);
style.Colors[ImGuiCol_CloseButtonActive]     = ImVec4(0.70f, 0.70f, 0.70f, 1.00f);
style.Colors[ImGuiCol_PlotLines]             = ImVec4(1.00f, 1.00f, 1.00f, 1.00f);
style.Colors[ImGuiCol_PlotLinesHovered]      = ImVec4(0.90f, 0.70f, 0.00f, 1.00f);
style.Colors[ImGuiCol_PlotHistogram]         = ImVec4(0.90f, 0.70f, 0.00f, 1.00f);
style.Colors[ImGuiCol_PlotHistogramHovered]  = ImVec4(1.00f, 0.60f, 0.00f, 1.00f);
style.Colors[ImGuiCol_TextSelectedBg]        = ImVec4(0.00f, 0.00f, 1.00f, 0.35f);
style.Colors[ImGuiCol_ModalWindowDarkening]  = ImVec4(0.20f, 0.20f, 0.20f, 0.35f);

@ocornut: рдпрд╣рд╛рдБ ResetStyle () рд╡рд┐рдзрд┐ рджреЗрдЦреЗрдВ:: рдХреНрдпрд╛ рдЖрдк рдореЗрд░реА рдРрдб-рдСрди рд╢рд╛рдЦрд╛ рдореЗрдВ рд╢реИрд▓рд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдХреБрдЫ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ https://github.com/Flix01/imgui/blob/imgui_with_addons/addons/imguistyleserializer/imguistyleserializer.cpp

рдЙрдирдореЗрдВ рд╕реЗ рд╕рднреА рдЕрдЪреНрдЫреЗ рдирд╣реАрдВ рд▓рдЧрддреЗ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╣реА рдерд╛ рдЬреЛ рдореИрдВ рдХрд░ рд╕рдХрддрд╛ рдерд╛ред

рдкреБрдирд╢реНрдЪ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдореЗрд░реЗ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рд╣реИрдВ: рдореИрдВрдиреЗ рдЕрдиреНрдп рдкрджреЛрдВ рд╕реЗ рд╕рд┐рд░реНрдл (рдФрд░ рдХрднреА-рдХрднреА рдЕрдиреБрдХреВрд▓рд┐рдд) рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ред

PS рдЖрдк рдЙрдиреНрд╣реЗрдВ рдпрд╣рд╛рдВ рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВ: https://rawgit.com/Flix01/imgui/imgui_with_addons/examples/addons_examples/html/main.html (рд╕рдВрд▓реЗрдЦрди рдПрдЯреНрд░рд┐рдмреНрдпреВрд╢рди рдХреЙрдореНрдмреЛ рдЯреВрд▓рдЯрд┐рдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд┐рд╖рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдореИрдВрдиреЗ рдирд╣реАрдВ рдмрдирд╛рдпрд╛)ред

[рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ] рдХреНрдпрд╛ рдЖрдк ShowBorder рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЛ _ImGuiWindow_ рд╕реЗ _ImStyle_ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ?

рд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рджреЛрдиреЛрдВред
@ Codz01 рдмреЗрди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ ux рдбрд┐рдЬрд╛рдЗрдирд░ рдирд╣реАрдВ рд╣реИ, рдЙрд╕рдиреЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреА рдЕрдирджреЗрдЦреА рдХрд░рддреЗ рд╣реБрдП рдХреБрдЫ рдмрдирд╛рдпрд╛ рд╣реИред
@ Flix01 рдзрдиреНрдпрд╡рд╛рдж! рд╣рд╛рдБ, рдореБрдЭреЗ рдпрд╣ рдХрд╣рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЖрдк рд╕рд╣реА рд╣реИрдВ .. рдореБрдЭреЗ рд╢рд╛рдпрдж 1.50 рдореЗрдВ рдЙрд╕ рдмрджрд▓рд╛рд╡ рдХрд╛ рд▓рдХреНрд╖реНрдп рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореБрдЭреЗ рдпрд╣ рднреА рдпрд╛рдж рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдкрд╣рд▓реА рдЬрдЧрд╣ рдореЗрдВ рдХреИрд╕реЗ рд╕рдорд╛рдкреНрдд рд╣реБрдЖ, рд╢рд╛рдпрдж рдореИрдВрдиреЗ рдЬрд▓реНрджрдмрд╛рдЬреА рдореЗрдВ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдЪреБрдирд╛ рдерд╛ рдЬреЛ рдореИрдВрдиреЗ 1.00 рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдерд╛ред

рдореБрдЭреЗ рд╢рд╛рдпрдж рез.релреж рдореЗрдВ рдЙрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рд▓рдХреНрд╖реНрдп рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП

@ocornut : рд╣рд╛рдБ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╣реА рд░рд┐рд▓реАрдЬ рдореЗрдВ рд╕рднреА рд╢реИрд▓реА-рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рдЫреВрдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИред

рд╣рд╛рдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╣реА рд░рд┐рд▓реАрдЬ рдореЗрдВ рд╕рднреА рд╢реИрд▓реА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рдЫреВрдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИред

"рд╕рднреА" рдереЛрдбрд╝рд╛ рдЖрд╢рд╛рд╡рд╛рджреА рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рд┐рд░реНрдл рд╕реАрдорд╛ рдХреА рдЪреАрдЬ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╛рдЗрди рдХреА рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рдирдХрд▓, https://github.com/procedural/gpulib/ рд╕реЗ
(https://github.com/procedural/gpulib/blob/e0bda0cd486d720a90857df9f7797722265e9312/examples/04%20Dear%20mmui/main.c)

рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЙрд╕ рдлреНрд░реАрдЯ рд▓реЛрдбрд░ рдХреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд▓реБрднрд╛ рд░рд╣рд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЫреЛрдЯреЗ рдЖрдХрд╛рд░ рдореЗрдВ рдпрд╣ рдЕрдЪреНрдЫрд╛ рджрд┐рдЦрдиреЗ рд╡рд╛рд▓рд╛ рдПрдВрдЯреА-рдЕрд▓рд┐рдпрд╛рд╕ рдлреЛрдВрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдХрдард┐рди рд╣реИред

рдПрдХ рдФрд░ рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдХрдИ рд╢реИрд▓рд┐рдпреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ / рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рдпрд╛ рдХрд┐рд╕реА рдЬреНрдЮрд╛рдд рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рджрд┐рдЦрддреЗ рд╣реИрдВ рдпрд╛ рддреЛ рдЙрди рдкреИрд░рд╛рдореАрдЯрд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред

68747470733a2f2f692e696d6775722e636f6d2f6f444c593572592e706e67

theme

// From https://github.com/procedural/gpulib/blob/master/gpulib_imgui.h
struct ImVec3 { float x, y, z; ImVec3(float _x = 0.0f, float _y = 0.0f, float _z = 0.0f) { x = _x; y = _y; z = _z; } };

void imgui_easy_theming(ImVec3 color_for_text, ImVec3 color_for_head, ImVec3 color_for_area, ImVec3 color_for_body, ImVec3 color_for_pops)
{
    ImGuiStyle& style = ImGui::GetStyle();

    style.Colors[ImGuiCol_Text] = ImVec4( color_for_text.x, color_for_text.y, color_for_text.z, 1.00f );
    style.Colors[ImGuiCol_TextDisabled] = ImVec4( color_for_text.x, color_for_text.y, color_for_text.z, 0.58f );
    style.Colors[ImGuiCol_WindowBg] = ImVec4( color_for_body.x, color_for_body.y, color_for_body.z, 0.95f );
    style.Colors[ImGuiCol_ChildWindowBg] = ImVec4( color_for_area.x, color_for_area.y, color_for_area.z, 0.58f );
    style.Colors[ImGuiCol_Border] = ImVec4( color_for_body.x, color_for_body.y, color_for_body.z, 0.00f );
    style.Colors[ImGuiCol_BorderShadow] = ImVec4( color_for_body.x, color_for_body.y, color_for_body.z, 0.00f );
    style.Colors[ImGuiCol_FrameBg] = ImVec4( color_for_area.x, color_for_area.y, color_for_area.z, 1.00f );
    style.Colors[ImGuiCol_FrameBgHovered] = ImVec4( color_for_head.x, color_for_head.y, color_for_head.z, 0.78f );
    style.Colors[ImGuiCol_FrameBgActive] = ImVec4( color_for_head.x, color_for_head.y, color_for_head.z, 1.00f );
    style.Colors[ImGuiCol_TitleBg] = ImVec4( color_for_area.x, color_for_area.y, color_for_area.z, 1.00f );
    style.Colors[ImGuiCol_TitleBgCollapsed] = ImVec4( color_for_area.x, color_for_area.y, color_for_area.z, 0.75f );
    style.Colors[ImGuiCol_TitleBgActive] = ImVec4( color_for_head.x, color_for_head.y, color_for_head.z, 1.00f );
    style.Colors[ImGuiCol_MenuBarBg] = ImVec4( color_for_area.x, color_for_area.y, color_for_area.z, 0.47f );
    style.Colors[ImGuiCol_ScrollbarBg] = ImVec4( color_for_area.x, color_for_area.y, color_for_area.z, 1.00f );
    style.Colors[ImGuiCol_ScrollbarGrab] = ImVec4( color_for_head.x, color_for_head.y, color_for_head.z, 0.21f );
    style.Colors[ImGuiCol_ScrollbarGrabHovered] = ImVec4( color_for_head.x, color_for_head.y, color_for_head.z, 0.78f );
    style.Colors[ImGuiCol_ScrollbarGrabActive] = ImVec4( color_for_head.x, color_for_head.y, color_for_head.z, 1.00f );
    style.Colors[ImGuiCol_ComboBg] = ImVec4( color_for_area.x, color_for_area.y, color_for_area.z, 1.00f );
    style.Colors[ImGuiCol_CheckMark] = ImVec4( color_for_head.x, color_for_head.y, color_for_head.z, 0.80f );
    style.Colors[ImGuiCol_SliderGrab] = ImVec4( color_for_head.x, color_for_head.y, color_for_head.z, 0.50f );
    style.Colors[ImGuiCol_SliderGrabActive] = ImVec4( color_for_head.x, color_for_head.y, color_for_head.z, 1.00f );
    style.Colors[ImGuiCol_Button] = ImVec4( color_for_head.x, color_for_head.y, color_for_head.z, 0.50f );
    style.Colors[ImGuiCol_ButtonHovered] = ImVec4( color_for_head.x, color_for_head.y, color_for_head.z, 0.86f );
    style.Colors[ImGuiCol_ButtonActive] = ImVec4( color_for_head.x, color_for_head.y, color_for_head.z, 1.00f );
    style.Colors[ImGuiCol_Header] = ImVec4( color_for_head.x, color_for_head.y, color_for_head.z, 0.76f );
    style.Colors[ImGuiCol_HeaderHovered] = ImVec4( color_for_head.x, color_for_head.y, color_for_head.z, 0.86f );
    style.Colors[ImGuiCol_HeaderActive] = ImVec4( color_for_head.x, color_for_head.y, color_for_head.z, 1.00f );
    style.Colors[ImGuiCol_Column] = ImVec4( color_for_head.x, color_for_head.y, color_for_head.z, 0.32f );
    style.Colors[ImGuiCol_ColumnHovered] = ImVec4( color_for_head.x, color_for_head.y, color_for_head.z, 0.78f );
    style.Colors[ImGuiCol_ColumnActive] = ImVec4( color_for_head.x, color_for_head.y, color_for_head.z, 1.00f );
    style.Colors[ImGuiCol_ResizeGrip] = ImVec4( color_for_head.x, color_for_head.y, color_for_head.z, 0.15f );
    style.Colors[ImGuiCol_ResizeGripHovered] = ImVec4( color_for_head.x, color_for_head.y, color_for_head.z, 0.78f );
    style.Colors[ImGuiCol_ResizeGripActive] = ImVec4( color_for_head.x, color_for_head.y, color_for_head.z, 1.00f );
    style.Colors[ImGuiCol_CloseButton] = ImVec4( color_for_text.x, color_for_text.y, color_for_text.z, 0.16f );
    style.Colors[ImGuiCol_CloseButtonHovered] = ImVec4( color_for_text.x, color_for_text.y, color_for_text.z, 0.39f );
    style.Colors[ImGuiCol_CloseButtonActive] = ImVec4( color_for_text.x, color_for_text.y, color_for_text.z, 1.00f );
    style.Colors[ImGuiCol_PlotLines] = ImVec4( color_for_text.x, color_for_text.y, color_for_text.z, 0.63f );
    style.Colors[ImGuiCol_PlotLinesHovered] = ImVec4( color_for_head.x, color_for_head.y, color_for_head.z, 1.00f );
    style.Colors[ImGuiCol_PlotHistogram] = ImVec4( color_for_text.x, color_for_text.y, color_for_text.z, 0.63f );
    style.Colors[ImGuiCol_PlotHistogramHovered] = ImVec4( color_for_head.x, color_for_head.y, color_for_head.z, 1.00f );
    style.Colors[ImGuiCol_TextSelectedBg] = ImVec4( color_for_head.x, color_for_head.y, color_for_head.z, 0.43f );
    style.Colors[ImGuiCol_PopupBg] = ImVec4( color_for_pops.x, color_for_pops.y, color_for_pops.z, 0.92f );
    style.Colors[ImGuiCol_ModalWindowDarkening] = ImVec4( color_for_area.x, color_for_area.y, color_for_area.z, 0.73f );
}

void ImGuiEx::SetupImGuiStyle2()
{
    static ImVec3 color_for_text = ImVec3(236.f / 255.f, 240.f / 255.f, 241.f / 255.f);
    static ImVec3 color_for_head = ImVec3(41.f / 255.f, 128.f / 255.f, 185.f / 255.f);
    static ImVec3 color_for_area = ImVec3(57.f / 255.f, 79.f / 255.f, 105.f / 255.f);
    static ImVec3 color_for_body = ImVec3(44.f / 255.f, 62.f / 255.f, 80.f / 255.f);
    static ImVec3 color_for_pops = ImVec3(33.f / 255.f, 46.f / 255.f, 60.f / 255.f);
    imgui_easy_theming(color_for_text, color_for_head, color_for_area, color_for_body, color_for_pops);
}

рдПрдХ рдкреБрд░рд╛рдиреЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕реЗ рдПрдХ рдФрд░ рдПрдХ (рддрд╛рд░реАрдЦ рддрдХ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)

@Pagghiu рдереАрдо рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ

mc2001

childwindows

// Setup style
ImGuiStyle& style = ImGui::GetStyle();
style.Colors[ImGuiCol_Text] = ImVec4(0.31f, 0.25f, 0.24f, 1.00f);
style.Colors[ImGuiCol_WindowBg] = ImVec4(0.94f, 0.94f, 0.94f, 1.00f);
style.Colors[ImGuiCol_MenuBarBg] = ImVec4(0.74f, 0.74f, 0.94f, 1.00f);
style.Colors[ImGuiCol_ChildWindowBg] = ImVec4(0.68f, 0.68f, 0.68f, 0.00f);
style.Colors[ImGuiCol_Border] = ImVec4(0.50f, 0.50f, 0.50f, 0.60f);
style.Colors[ImGuiCol_BorderShadow] = ImVec4(0.00f, 0.00f, 0.00f, 0.00f);
style.Colors[ImGuiCol_FrameBg] = ImVec4(0.62f, 0.70f, 0.72f, 0.56f);
style.Colors[ImGuiCol_FrameBgHovered] = ImVec4(0.95f, 0.33f, 0.14f, 0.47f);
style.Colors[ImGuiCol_FrameBgActive] = ImVec4(0.97f, 0.31f, 0.13f, 0.81f);
style.Colors[ImGuiCol_TitleBg] = ImVec4(0.42f, 0.75f, 1.00f, 0.53f);
style.Colors[ImGuiCol_TitleBgCollapsed] = ImVec4(0.40f, 0.65f, 0.80f, 0.20f);
style.Colors[ImGuiCol_ScrollbarBg] = ImVec4(0.40f, 0.62f, 0.80f, 0.15f);
style.Colors[ImGuiCol_ScrollbarGrab] = ImVec4(0.39f, 0.64f, 0.80f, 0.30f);
style.Colors[ImGuiCol_ScrollbarGrabHovered] = ImVec4(0.28f, 0.67f, 0.80f, 0.59f);
style.Colors[ImGuiCol_ScrollbarGrabActive] = ImVec4(0.25f, 0.48f, 0.53f, 0.67f);
style.Colors[ImGuiCol_ComboBg] = ImVec4(0.89f, 0.98f, 1.00f, 0.99f);
style.Colors[ImGuiCol_CheckMark] = ImVec4(0.48f, 0.47f, 0.47f, 0.71f);
style.Colors[ImGuiCol_SliderGrabActive] = ImVec4(0.31f, 0.47f, 0.99f, 1.00f);
style.Colors[ImGuiCol_Button] = ImVec4(1.00f, 0.79f, 0.18f, 0.78f);
style.Colors[ImGuiCol_ButtonHovered] = ImVec4(0.42f, 0.82f, 1.00f, 0.81f);
style.Colors[ImGuiCol_ButtonActive] = ImVec4(0.72f, 1.00f, 1.00f, 0.86f);
style.Colors[ImGuiCol_Header] = ImVec4(0.65f, 0.78f, 0.84f, 0.80f);
style.Colors[ImGuiCol_HeaderHovered] = ImVec4(0.75f, 0.88f, 0.94f, 0.80f);
style.Colors[ImGuiCol_HeaderActive] = ImVec4(0.55f, 0.68f, 0.74f, 0.80f);//ImVec4(0.46f, 0.84f, 0.90f, 1.00f);
style.Colors[ImGuiCol_ResizeGrip] = ImVec4(0.60f, 0.60f, 0.80f, 0.30f);
style.Colors[ImGuiCol_ResizeGripHovered] = ImVec4(1.00f, 1.00f, 1.00f, 0.60f);
style.Colors[ImGuiCol_ResizeGripActive] = ImVec4(1.00f, 1.00f, 1.00f, 0.90f);
style.Colors[ImGuiCol_CloseButton] = ImVec4(0.41f, 0.75f, 0.98f, 0.50f);
style.Colors[ImGuiCol_CloseButtonHovered] = ImVec4(1.00f, 0.47f, 0.41f, 0.60f);
style.Colors[ImGuiCol_CloseButtonActive] = ImVec4(1.00f, 0.16f, 0.00f, 1.00f);
style.Colors[ImGuiCol_TextSelectedBg] = ImVec4(1.00f, 0.99f, 0.54f, 0.43f);
style.Colors[ImGuiCol_TooltipBg] = ImVec4(0.82f, 0.92f, 1.00f, 0.90f);
style.Alpha = 1.0f;
style.WindowFillAlphaDefault = 1.0f;
style.FrameRounding = 4;
style.IndentSpacing = 12.0f;

рдКрдкрд░ рдбреМрдЧ рдХреА рдереАрдо рдкрд░ рдХреБрдЫ рдирд╛рдмрд╛рд▓рд┐рдЧ рдЬреБрдбрд╝рд╡рд╛рдБ рдмрдЪреНрдЪреЗ рд╣реИрдВ

// Dark
ImVec4* colors = ImGui::GetStyle().Colors;
colors[ImGuiCol_Text]                   = ImVec4(1.00f, 1.00f, 1.00f, 1.00f);
colors[ImGuiCol_TextDisabled]           = ImVec4(0.40f, 0.40f, 0.40f, 1.00f);
colors[ImGuiCol_WindowBg]               = ImVec4(0.06f, 0.06f, 0.06f, 0.94f);
colors[ImGuiCol_Border]                 = ImVec4(1.00f, 1.00f, 1.00f, 0.19f);
colors[ImGuiCol_ChildWindowBg]          = ImVec4(1.00f, 1.00f, 1.00f, 0.00f);
colors[ImGuiCol_PopupBg]                = ImVec4(0.00f, 0.00f, 0.00f, 0.94f);
colors[ImGuiCol_FrameBg]                = ImVec4(0.16f, 0.29f, 0.48f, 0.54f);
colors[ImGuiCol_FrameBgHovered]         = ImVec4(0.26f, 0.59f, 0.98f, 0.40f);
colors[ImGuiCol_FrameBgActive]          = ImVec4(0.26f, 0.59f, 0.98f, 0.67f);
colors[ImGuiCol_TitleBg]                = ImVec4(0.04f, 0.04f, 0.04f, 1.00f);
colors[ImGuiCol_TitleBgCollapsed]       = ImVec4(0.00f, 0.00f, 0.00f, 0.51f);
colors[ImGuiCol_TitleBgActive]          = ImVec4(0.18f, 0.18f, 0.18f, 1.00f);
colors[ImGuiCol_MenuBarBg]              = ImVec4(0.14f, 0.14f, 0.14f, 1.00f);
colors[ImGuiCol_ScrollbarBg]            = ImVec4(0.02f, 0.02f, 0.02f, 0.53f);
colors[ImGuiCol_ScrollbarGrab]          = ImVec4(0.31f, 0.31f, 0.31f, 1.00f);
colors[ImGuiCol_ScrollbarGrabHovered]   = ImVec4(0.41f, 0.41f, 0.41f, 1.00f);
colors[ImGuiCol_ScrollbarGrabActive]    = ImVec4(0.51f, 0.51f, 0.51f, 1.00f);
colors[ImGuiCol_ComboBg]                = ImVec4(0.14f, 0.14f, 0.14f, 0.99f);
colors[ImGuiCol_CheckMark]              = ImVec4(0.26f, 0.59f, 0.98f, 1.00f);
colors[ImGuiCol_SliderGrab]             = ImVec4(0.24f, 0.52f, 0.88f, 1.00f);
colors[ImGuiCol_SliderGrabActive]       = ImVec4(0.26f, 0.59f, 0.98f, 1.00f);
colors[ImGuiCol_Button]                 = ImVec4(0.26f, 0.59f, 0.98f, 0.40f);
colors[ImGuiCol_ButtonHovered]          = ImVec4(0.26f, 0.59f, 0.98f, 1.00f);
colors[ImGuiCol_ButtonActive]           = ImVec4(0.06f, 0.53f, 0.98f, 1.00f);
colors[ImGuiCol_Header]                 = ImVec4(0.26f, 0.59f, 0.98f, 0.31f);
colors[ImGuiCol_HeaderHovered]          = ImVec4(0.26f, 0.59f, 0.98f, 0.80f);
colors[ImGuiCol_HeaderActive]           = ImVec4(0.26f, 0.59f, 0.98f, 1.00f);
colors[ImGuiCol_Separator]              = colors[ImGuiCol_Border];
colors[ImGuiCol_SeparatorHovered]       = ImVec4(0.26f, 0.59f, 0.98f, 0.78f);
colors[ImGuiCol_SeparatorActive]        = ImVec4(0.26f, 0.59f, 0.98f, 1.00f);
colors[ImGuiCol_ResizeGrip]             = ImVec4(0.26f, 0.59f, 0.98f, 0.25f);
colors[ImGuiCol_ResizeGripHovered]      = ImVec4(0.26f, 0.59f, 0.98f, 0.67f);
colors[ImGuiCol_ResizeGripActive]       = ImVec4(0.26f, 0.59f, 0.98f, 0.95f);
colors[ImGuiCol_CloseButton]            = ImVec4(0.41f, 0.41f, 0.41f, 0.50f);
colors[ImGuiCol_CloseButtonHovered]     = ImVec4(0.98f, 0.39f, 0.36f, 1.00f);
colors[ImGuiCol_CloseButtonActive]      = ImVec4(0.98f, 0.39f, 0.36f, 1.00f);
colors[ImGuiCol_PlotLines]              = ImVec4(0.61f, 0.61f, 0.61f, 1.00f);
colors[ImGuiCol_PlotLinesHovered]       = ImVec4(1.00f, 0.43f, 0.35f, 1.00f);
colors[ImGuiCol_PlotHistogram]          = ImVec4(0.90f, 0.70f, 0.00f, 1.00f);
colors[ImGuiCol_PlotHistogramHovered]   = ImVec4(1.00f, 0.60f, 0.00f, 1.00f);
colors[ImGuiCol_TextSelectedBg]         = ImVec4(0.26f, 0.59f, 0.98f, 0.35f);
colors[ImGuiCol_ModalWindowDarkening]   = ImVec4(0.80f, 0.80f, 0.80f, 0.35f);
#ifdef IMGUI_HAS_NAV
colors[ImGuiCol_NavHighlight]           = ImVec4(0.26f, 0.59f, 0.98f, 1.00f);
colors[ImGuiCol_NavWindowingHighlight]  = ImVec4(1.00f, 1.00f, 1.00f, 0.12f);
#endif

рд╕реНрдЯрд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ рдХрд┐ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдмрд╣реБрдд рдкреНрд░рдЧрддрд┐ рдирд╣реАрдВ рд╣реБрдИ рд╣реИ, рдирд╡рдВрдмрд░ рдореЗрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗред

рдореИрдВрдиреЗ рдХреБрдЫ рдмрджрд▓рд╛рд╡ рдХрд┐рдП:

  1. рдХреНрд▓рд╛рд╕рд┐рдХ рдереАрдо рдХреЛ рдереЛрдбрд╝рд╛ рдирдпрд╛ рд░реВрдк рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдореИрдВрдиреЗ рд▓рд╛рд▓-рдЧреБрд▓рд╛рдмреА рдХреЗ рдмрдЬрд╛рдп рд░рдВрдЧреЛрдВ рдХреЗ рд░рдВрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдЯрди рдмрджрд▓ рджрд┐рдП рд╣реИрдВред

image

  1. рддреАрди рдХрд╛рд░реНрдп рдЬреЛрдбрд╝реЗ рдЧрдП рд╣реИрдВ:
    StyleColorsClassic() , StyleColorsDark() , StyleColorsLight() ред
    рдЙрди рд╡рд┐рд╖рдпреЛрдВ рдХреЛ рднрд╡рд┐рд╖реНрдп рдХреЗ рдЕрдкрдбреЗрдЯ рдФрд░ рд╢рд╛рдЦрд╛рдУрдВ рдореЗрдВ рдмрдирд╛рдП рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛ (рдФрд░ рдмреЗрд╣рддрд░)ред

image

image

рдореИрдВ рдЬрд▓реНрдж рд╣реА рдПрдХ рдлрд╝реЙрдиреНрдЯ рдЪрдпрди рдХреЙрдореНрдмреЛ рдЬреЛрдбрд╝реВрдВрдЧрд╛ - рд▓реЛрдб рдХрд┐рдП рдЧрдП рдлреЛрдВрдЯ рдХреЗ рдмреАрдЪ, рдпрджрд┐ рдХреЗрд╡рд▓ рдпрд╣ рд╕реБрдЭрд╛рд╡ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдлреЛрдВрдЯ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред (рдЦреИрд░, рдЬреИрд╕реЗ рд╣реА рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЖрдВрддрд░рд┐рдХ BeginCombo рдПрдкреАрдЖрдИ рдХреЗ 3 рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред)

  1. ImGuiWindowFlags_ShowBorders рд╡рд┐рдВрдбреЛ рдлреНрд▓реИрдЧ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдорд╛рд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
    рдпрд╣ рдПрдХ рд╕рд┐рд░рджрд░реНрдж рд╕реЗ рдХрдо рд╕реАрдорд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
    рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдирдП рдореВрд▓реНрдп style.WindowBorderSize , style.FrameBorderSize , style.PopupBorderSize , рдЖрджрд┐ рдорд╛рди 0.0 рдФрд░ 1.0 рдХреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдЕрддрд┐рд╡реНрдпрд╛рдкреА рдХрд╛рд░рдгреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЛрдЯрд╛ рд╣реЛрдирд╛ рд╕рдВрднрд╡ рд╣реИред рд╕реАрдорд╛рдУрдВ (рдЕрд▓реНрдлрд╛ рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдпрд╣ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ)ред
    рд╕реАрдорд╛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рднреА рд╕рдорд╛рди рд░рдВрдЧ рд╣реИрдВ, рдореИрдВ рдЕрдзрд┐рдХ / рдмреЗрд╣рддрд░ рд╡рд┐рдХрд▓реНрдк рдкреЗрд╢ рдХрд░реВрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рд╕реНрдЯрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдлрд┐рд░ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдХреБрдЫ рдорд╣реАрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ (# 1223 рдореЗрдВ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рджреЗрдЦреЗрдВ)ред

  2. рд╢реИрд▓реА рд╕рдВрдкрд╛рджрдХ рдЕрдм a) рдЙрди рддреАрди рд╕реНрдЯреЙрдХ рдереАрдореЛрдВ рдореЗрдВ рд╕реЗ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддрд╛ рд╣реИ, b) рд╣реИрдВрдбрд▓ рд╕реЗрд╡рд┐рдВрдЧ / рд░рд┐рд╡рд░реНрдЯ рдереЛрдбрд╝рд╛ рдмреЗрд╣рддрд░ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдХрд╕реНрдЯрдо рдереАрдо рд╕реЗ рдЯреНрд╡рд┐рдЯ рдХрд░рддреЗ рд╕рдордп рд░рд┐рд╡рд░реНрдЯ рдмрдЯрди рджреЗрдЦ рд╕рдХреЗрдВ (рдмрдЬрд╛рдп рд╣рдореЗрд╢рд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдереАрдо рдХреА рддреБрд▓рдирд╛ рдореЗрдВ), c) рд╢реАрд░реНрд╖ рдкрд░ FrameRounding рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдмреЙрд░реНрдбрд░ рдЖрдХрд╛рд░реЛрдВ рдХреЛ рдлреНрд▓реЛрдЯ рдХреЗ рдмрдЬрд╛рдп рдЪреЗрдХрдмреЙрдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ "рд╕рд░рд▓реАрдХреГрдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕" рджрд┐рдЦрд╛рддрд╛ рд╣реИред

(рдкрд╛рд░реНрдЯреА рдХреЗ рд▓рд┐рдП рджреЗрд░ рд╕реЗ, рд▓реЗрдХрд┐рди ...)

рдпрд╣рд╛рдБ рдореЗрд░рд╛ рд╡рд┐рд╖рдп рд╣реИ, рдЬреЛ (рдЕрдзрд┐рдХ рдпрд╛ рдХрдо) Microsoft рдбрд┐рдЬрд╛рдЗрди рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреА рдирдХрд▓ рдХрд░рддрд╛ рд╣реИ (https://design.microsoft.com/):

image

ImGuiIO& io = ImGui::GetIO();
io.Fonts->Clear();
ImFont* font = io.Fonts->AddFontFromFileTTF("C:\\Windows\\Fonts\\segoeui.ttf", 18.0f);
if (font != NULL) {
    io.FontDefault = font;
} else {
    io.Fonts->AddFontDefault();
}
io.Fonts->Build();

ImGuiStyle* style = &ImGui::GetStyle();
int hspacing = 8;
int vspacing = 6;
style->DisplaySafeAreaPadding = ImVec2(0, 0);
style->WindowPadding = ImVec2(hspacing/2, vspacing);
style->FramePadding = ImVec2(hspacing, vspacing);
style->ItemSpacing = ImVec2(hspacing, vspacing);
style->ItemInnerSpacing = ImVec2(hspacing, vspacing);
style->IndentSpacing = 20.0f;

style->WindowRounding = 0.0f;
style->FrameRounding = 0.0f;

style->WindowBorderSize = 0.0f;
style->FrameBorderSize = 1.0f;
style->PopupBorderSize = 1.0f;

style->ScrollbarSize = 20.0f;
style->ScrollbarRounding = 0.0f;
style->GrabMinSize = 5.0f;
style->GrabRounding = 0.0f;

ImVec4 white = ImVec4(1.00f, 1.00f, 1.00f, 1.00f);
ImVec4 transparent = ImVec4(0.00f, 0.00f, 0.00f, 0.00f);
ImVec4 dark = ImVec4(0.00f, 0.00f, 0.00f, 0.20f);
ImVec4 darker = ImVec4(0.00f, 0.00f, 0.00f, 0.50f);

ImVec4 background = ImVec4(0.95f, 0.95f, 0.95f, 1.00f);
ImVec4 text = ImVec4(0.10f, 0.10f, 0.10f, 1.00f);
ImVec4 border = ImVec4(0.60f, 0.60f, 0.60f, 1.00f);
ImVec4 grab = ImVec4(0.69f, 0.69f, 0.69f, 1.00f);
ImVec4 header = ImVec4(0.86f, 0.86f, 0.86f, 1.00f);
ImVec4 active = ImVec4(0.00f, 0.47f, 0.84f, 1.00f);
ImVec4 hover = ImVec4(0.00f, 0.47f, 0.84f, 0.20f);

style->Colors[ImGuiCol_Text] = text;
style->Colors[ImGuiCol_WindowBg] = background;
style->Colors[ImGuiCol_ChildBg] = background;
style->Colors[ImGuiCol_PopupBg] = white;

style->Colors[ImGuiCol_Border] = border;
style->Colors[ImGuiCol_BorderShadow] = transparent;

style->Colors[ImGuiCol_Button] = header;
style->Colors[ImGuiCol_ButtonHovered] = hover;
style->Colors[ImGuiCol_ButtonActive] = active;

style->Colors[ImGuiCol_FrameBg] = white;
style->Colors[ImGuiCol_FrameBgHovered] = hover;
style->Colors[ImGuiCol_FrameBgActive] = active;

style->Colors[ImGuiCol_MenuBarBg] = header;
style->Colors[ImGuiCol_Header] = header;
style->Colors[ImGuiCol_HeaderHovered] = hover;
style->Colors[ImGuiCol_HeaderActive] = active;

style->Colors[ImGuiCol_CheckMark] = text;
style->Colors[ImGuiCol_SliderGrab] = grab;
style->Colors[ImGuiCol_SliderGrabActive] = darker;

style->Colors[ImGuiCol_CloseButton] = transparent;
style->Colors[ImGuiCol_CloseButtonHovered] = transparent;
style->Colors[ImGuiCol_CloseButtonActive] = transparent;

style->Colors[ImGuiCol_ScrollbarBg] = header;
style->Colors[ImGuiCol_ScrollbarGrab] = grab;
style->Colors[ImGuiCol_ScrollbarGrabHovered] = dark;
style->Colors[ImGuiCol_ScrollbarGrabActive] = darker;

рдпрд╣рд╛рдБ рдореЗрд░рд╛ рд╡рд┐рд╖рдп рд╣реИ, рдЬреЛ (рдЕрдзрд┐рдХ рдпрд╛ рдХрдо) Microsoft рдбрд┐рдЬрд╛рдЗрди рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреА рдирдХрд▓ рдХрд░рддрд╛ рд╣реИ (https://design.microsoft.com/):

рдзрдиреНрдпрд╡рд╛рдж! рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд▓рд┐рдВрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг # 438 рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИрдВред

рд╢реИрд▓реА рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдЬреЛ рдЪреАрдЬреЗрдВ рдЧрд╛рдпрдм рд╣реИрдВ, рдЙрдирдореЗрдВ рд╕реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рд╢реИрд▓реА рдореЗрдВ рд╕реБрдзрд╛рд░ рдХреА рд╕реАрдорд╛рдУрдВ рд╕реЗ рд▓рд╛рдн рд╣реЛрдЧрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП # 447 рджреЗрдЦреЗрдВ)ред рдЙрди рдФрд░ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рд░рдВрдЧ / рд╢реИрд▓реА рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде, рдЖрдк рдПрдХ Microsoft рдЪреАрдЬрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдкрд╛рд╕ рд╣реЛрдВрдЧреЗред

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдкрдХрд╛ рдлрд╝реЙрдиреНрдЯ рдмрд╣реБрдд рдХрдо рд╣реИ, рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдХ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рд╕рдВрд░реЗрдЦрдг рдореБрджреНрджрд╛ рд╣реИ рдЬреЛ рдХреБрдЫ рдлрд╝реЙрдиреНрдЯ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ:
рдЖрдк рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ:

ImFont* font = io.Fonts->AddFontFromFileTTF("C:\\Windows\\Fonts\\segoeui.ttf", 18.0f);
font->DisplayOffset.y -= 1;

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдкрдХрд╛ рдлрд╝реЙрдиреНрдЯ рдмрд╣реБрдд рдХрдо рд╣реИ, рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдХ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рд╕рдВрд░реЗрдЦрдг рдореБрджреНрджрд╛ рд╣реИ рдЬреЛ рдХреБрдЫ рдлрд╝реЙрдиреНрдЯ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ:
рдЖрдк рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ:

рд╣рд╛рдБ, рдЕрдм рдмреЗрд╣рддрд░ рд▓рдЧ рд░рд╣рд╛ рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж! рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд▓рд┐рдВрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг # 438 рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИрдВред

рд╕реАрдзреЗ рд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП, рдпрд╣ рднреА рдЖрдЬрд╝рдорд╛рдПрдБ: https://docs.microsoft.com/en-us/windows/uwp/design/basics/commanding-basics

FYI рдХрд░реЗрдВ, рдХреБрдЫ рджрд┐рдиреЛрдВ рдкрд╣рд▓реЗ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдмрджрд▓рд╛рд╡ рдХреЛ рдзрдХреНрдХрд╛ рджрд┐рдпрд╛ рдЬрд┐рд╕рд╕реЗ рдХрд┐ рдмрджрдирд╛рдо рд╕рд░реНрдХрд▓ рдХреЗ рдмрдЬрд╛рдп рдХреНрд▓реЛрдЬрд┐рдВрдЧ рдмрдЯрди рдореЗрдВ рдХреНрд░реЙрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ:

image
image

рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдлрд┐рд▓ (рдЬреЛ рдЧреЛрд▓ рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧреЛрд▓рд╛рдХрд╛рд░ рд╣реИ) рдмрдЯрди рдкреГрд╖реНрдарднреВрдорд┐ рд░рдВрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП ImGuiCol_CloseButton , ImGuiCol_CloseButtonActive , ImGuiCol_CloseButtonHovered рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдпрд╣ рдПрдХ рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рд╣реИ ), рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВред

рдореБрдЭреЗ рдЙрдиреНрд╣реЗрдВ "usernameiwantedwasalreadytaken" рдкрд╕рдВрдж рдЖрдпрд╛ (рдЖрдкрдХрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо :-) рд▓рд┐рдЦрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ

рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо (рдЬреАрдд, рдореИрдХ, рдПрдВрдбреНрд░реЙрдЗрдб) рдХреЗ рд▓рд┐рдП рдЕрдВрдзреЗрд░реЗ рдФрд░ рд╣рд▓реНрдХреЗ рд╡рд┐рд╖рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрднрд╛рд░реА рд╣реЛрдВрдЧреЗ, рдЬреЛ рдРрд╕реЗ рд▓реЛрдЧреЛрдВ рдХреА рдорджрдж рдХрд░реЗрдЧрд╛ рдЬреЛ рдРрдк рдХреЛ рдХреНрд░реЙрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдФрд░ рдореВрд▓ рдирд┐рд╡рд╛рд╕реА рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдИ рдереАрдо рдкрд╕рдВрдж рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЦрд┐рдбрд╝рдХреА рдореВрд▓ рдУрдПрд╕ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реИред

рдЗрд╕ рдкреНрд░рдпрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЖрдк рд╕рднреА рдХреЛ рдзрдиреНрдпрд╡рд╛рдж, imgui рдПрдХ рдорд╣рд╛рди рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ

@ рдХреЛрдХреЛрдирдЯ , рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ ImGui рд╡рд┐рд╖рдпреЛрдВ рдХреЛ рдбрд┐рд╕реНрдХ рд╕реЗ рдкрдардиреАрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдФрд░ рдпрд╣ рдХрд┐ рдореБрдЯреНрдареА рднрд░ рд╡рд┐рд╖рдп рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдореЗрдВ рдорд┐рд╕ / рдереАрдо рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдЖрд╕рд╛рдиреА рд╕реЗ рдереАрдо рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд▓реЛрдЧ рдирдИ рдереАрдо рдмрдирд╛рдирд╛ рдФрд░ рдареАрдХ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдХреНрдпрд╛ рдЖрдк рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВрдЧреЗ? рдпрджрд┐ рд╣рд╛рдБ, рдореИрдВ рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рдХреЗ рдЕрдВрдд рдореЗрдВ рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рднреЗрдЬ рд╕рдХрддрд╛ рд╣реВрдБред :)

@forrestthewoods IMHO рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рд╕рдордп рдЕрд╡рд╛рдВрдЫрдиреАрдп рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╢реИрд▓реА рдкреНрд░рдгрд╛рд▓реА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрджрд┐рдо рд╣реИ рдФрд░ рдЗрд╕ рд╡рд░реНрд╖ рдмрд╣реБрдд рдХреБрдЫ рдмрджрд▓ рдЬрд╛рдПрдЧреАред рдХреЗрд╡рд▓ рдПрдХ рд╕рдВрдХрд▓рди-рд╕рдордп рдПрдиреБрдо рд╕реЗ рдЦрд░рд╛рдм рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдЪреАрдЬрд╝ рдХреЛ рдмрджрд▓рд╛ / рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдбрд┐рд╕реНрдХ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рдЬрдЧрд╣ рдкрд░ рд░рдЦрддрд╛ рд╣реИ рдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдЯреНрд░реИрдХ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдПрдХ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЕрдкреНрд░рдЪрд▓рд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдбреЗрдЯрд╛ рджреГрдврд╝рддрд╛ рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдХреА рдПрдХ рдФрд░ рдкрд░рдд рд╣реИ, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмреЗрд╣рддрд░ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕ рд╕рдордп рдкреНрд░реЛрдЧреНрд░рд╛рдорд░-рд╕рд╛рдЗрдб рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░реЗрдВред

рдлрд┐рд▓рд╣рд╛рд▓ рдореИрдВ рд▓реЛрдЧреЛрдВ рдХреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдХ рдЖрджрд┐рдо рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдордЧреБрдИ рдХреЗ рдЗрд▓рд╛рдЬ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рддреНрд╡рдЪрд╛ рдХреА рддреНрд╡рдЪрд╛ рдХреИрд╕реЗ рдЖрджрд┐рдо рдФрд░ рд╕рдВрдХреАрд░реНрдг рд╣реИред рдЬрдм imgui рдЕрдзрд┐рдХ рдкрд░рд┐рдкрдХреНрд╡ / рд╕реНрдерд┐рд░ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╕реНрдЯрд╛рдЗрд▓рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рддрд┐-рд╡рд┐рдЬреЗрдЯ-рдкреНрд░рдХрд╛рд░ рдХреЗ рдУрд╡рд░рд░рд╛рдЗрдб, рдЧреНрд░реЗрдбрд┐рдПрдВрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рд╣рдордиреЗ nailed рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ SRGB-рд╕рд╣реА рд╕рдореНрдорд┐рд╢реНрд░рдг рдЖрджрд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╢реИрд▓реА рдХреЛ рдХреИрд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП рддреЛ рд╣рдо рдПрдХ рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░ рдкреНрд░рд╛рд░реВрдк рдХреЛ рдбрд┐рдЬрд╛рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

(рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдк рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЖрдк рдЕрдкрдиреЗ рд╕рдорд╛рдзрд╛рди рдХреЛ рдПрдХ рджрд░реНрдЬрди рд▓рд╛рдЗрдиреЛрдВ рдХреА рдХреЛрдб рдореЗрдВ рд░реЛрд▓ рдХрд░рддреЗ рд╣реИрдВред)

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рд╣рдорддрд┐ рд╣реИ рдХрд┐ _some_ рдмрд┐рдВрджреБ рдкрд░ рдПрдХ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рд╢реИрд▓реА / рдереАрдо рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рд░реВрдк рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдмред рдореИрдВ рдЗрд╕рд╕реЗ рдмрд╣реБрдд рдЦреБрд╢ рд╣реВрдВ рдФрд░ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░ рдЖ рд░рд╣реА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЬрд╛рдирдХрд░ рдЪрд▓ рд╕рдХрддрд╛ рд╣реВрдВред рдФрд░ рдЗрд╕ рд╡рд░реНрд╖ рдЖрдиреЗ рд╡рд╛рд▓реА рдкреНрд░рдореБрдЦ рд╢реИрд▓реА рдкрд░рд┐рд╡рд░реНрддрди рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдЪрд┐рдд рддрд░реНрдХ рд╣реИ! рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рд░реВрдк рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд▓реЗрдирд╛ рдПрдХ рдмреЗрд╣рддрд░ рдХрд╛рд░рдг рд╣реИред

рдореИрдВ рдХреБрдЫ рдХрд╛рд░рдгреЛрдВ рдХреЛ рдПрдХ рдкрд▓ рдХреЗ рд▓рд┐рдП рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдмрд╛рдж рдореЗрдВ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЗрд╕реЗ рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрднреА рдЬрд░реВрд░реА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрд▓реНрдж рд╣реАред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдЧреЛрдж рд▓реЗрдиреЗ рдХреЛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЕрднреА рдЖрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдРрд╕рд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЬрд┐рд╕реЗ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдБред рдпрд╣ рдЪрд┐рдХрди рдФрд░ рдЕрдВрдбреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╕реНрд╡рд░реВрдк рдЕрдкрдирд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкрд╣рд▓реЗ рд╢реИрд▓реА рдкреНрд░рдгрд╛рд▓реА рдЗрд╕рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ рд╣реЛрдЧрд╛ред рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдЯрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рддрдм рддрдХ рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛, рдЬрдм рддрдХ рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ред рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рддрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рдЗрд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЖрд╕рд╛рди рди рд╣реЛред рдХреЛрдИ рднреА рдпреБрджреНрдз рдпреЛрдЬрдирд╛ рджреБрд╢реНрдорди рдХреЗ рд╕рд╛рде рдкрд╣рд▓реЗ рд╕рдВрдкрд░реНрдХ рд╕реЗ рдирд╣реАрдВ рдмрдЪрддреА рд╣реИ; рди рд╣реА рдХреЛрдИ рдлрд╛рдЗрд▓ рдлреЙрд░реНрдореЗрдЯред :)

рджреВрд╕рд░рд╛, рд╢реИрд▓реА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди / рд╡рд┐рд╕реНрддрд╛рд░ рд╣рдореЗрд╢рд╛ рдЯреВрдЯрдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВред Enum рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рдХрд╛рд░рдг рдпрд╛ рддреЛ рдЪреАрдЬреЗрдВ рд╕рдВрдХрд▓рди рдХреЗ рд╕рдордп рдЯреВрдЯ рдЬрд╛рддреА рд╣реИрдВред рдпрд╛ рдЪреАрдЬреЗрдВ рд░рди-рдЯрд╛рдЗрдо рдкрд░ "рдмреНрд░реЗрдХ" рдХрд░рддреА рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реНрдЯрд╛рдЗрд▓ рд╣реИ; рдпрд╛ рддреЛ рдПрдХ рдирдИ рд╢реИрд▓реА рдореВрд▓реНрдп рдЬреЛ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдПрдХ рдкреБрд░рд╛рдиреА рд╢реИрд▓реА рдорд╛рди рд╣реИ рдЬреЛ рдмрджрд▓ рдЧрдпрд╛ рд╣реИред рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рд╕реНрдЯрд╛рдЗрд▓рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХрд┐рддрдирд╛ рдкрд░рд┐рдкрдХреНрд╡ рд╣реИ, рдпрд╣ рдЯреВрдЯрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред

рддреАрд╕рд░рд╛, рд╢реИрд▓реА рдкреНрд░рдгрд╛рд▓реА рдЖрджрд┐рдо рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдлреА рдордЬрдмреВрдд рд╣реИ рдХрд┐ рдПрдХ рдЕрдЪреНрдЫреЗ рд░рдВрдЧ рд╡рд┐рд╖рдп рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдПрдХ рдмрдбрд╝рд╛ рд╕реБрдзрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╡рд┐рд╖рдп рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рд╣реЛрддреЗ рд╣реИрдВ рддреЛ рд╣рдо рдЗрд╕ рдкрд░ рдФрд░ рдЕрдзрд┐рдХ рдкреБрдирд░рд╛рд╡реГрддрд┐ рджреЗрдЦреЗрдВрдЧреЗред

рдореЗрд░рд╛ рдХрд╛рд░реНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдПрдХ рд╕рд░рд▓ рдХреБрдВрдЬреА / рдорд╛рди рдлрд╝рд╛рдЗрд▓ рд╕реНрд╡рд░реВрдк рд╣реИред рдпрд╣ рдПрдХ рддрд░рд╣ рд╕реЗ ini рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рд░реВрдк рд╕реЗ рд╡реНрдпреБрддреНрдкрдиреНрди sscanf рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдмрд╣реБрдд рдЖрд╕рд╛рдиред рдпрджрд┐ рд╢реИрд▓реА рдкреНрд░рд╛рд░реВрдк рдмрджрд▓рддрд╛ рд╣реИ рдпрд╛ рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╢реИрд▓реА рдорд╛рди рдЙрдирдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд┐рд░реНрдорд╛рдг рдорд╛рди рд╡рд╛рд▓реЗ рд╣реЛрдВрдЧреЗред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╢реИрд▓реА рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рд╕реБрдзрд╛рд░ рдХреЗ рдкрд╣рд▓реЗ рдкреНрд░рдореБрдЦ рд╕реЗрдЯ рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдмреБрджреНрдзрд┐рдорд╛рдиреА рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╛рдж рдореЗрдВ рдХреЗ рдмрдЬрд╛рдп рдЬрд▓реНрдж рд╣реА рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╡рд┐рд╖рдпреЛрдВ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдФрд░ рдореБрдЭреЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдереАрдо рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рд╕реЗ рд╕реНрдЯрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдХрд┐рдП рдЧрдП рдлреИрд╕рд▓реЛрдВ рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреАред

<рей

рдЗрдВрдЯреЗрд▓реАрдЬ рдХреА рдбрд╛рд░реНрдХреБрд▓рд╛ рдереАрдо рдкрд░ рдЦрд░рд╛рдм рдЕрдиреБрдХрд░рдг:

auto *style = (dst ? dst : &ImGui::GetStyle());
style->WindowRounding = 5.3f;
style->GrabRounding = style->FrameRounding = 2.3f;
style->ScrollbarRounding = 5.0f;
style->FrameBorderSize = 1.0f;
style->ItemSpacing.y = 6.5f;

style->Colors[ImGuiCol_Text]                  = {0.73333335f, 0.73333335f, 0.73333335f, 1.00f};
style->Colors[ImGuiCol_TextDisabled]          = {0.34509805f, 0.34509805f, 0.34509805f, 1.00f};
style->Colors[ImGuiCol_WindowBg]              = {0.23529413f, 0.24705884f, 0.25490198f, 0.94f};
style->Colors[ImGuiCol_ChildBg]               = {0.23529413f, 0.24705884f, 0.25490198f, 0.00f};
style->Colors[ImGuiCol_PopupBg]               = {0.23529413f, 0.24705884f, 0.25490198f, 0.94f};
style->Colors[ImGuiCol_Border]                = {0.33333334f, 0.33333334f, 0.33333334f, 0.50f};
style->Colors[ImGuiCol_BorderShadow]          = {0.15686275f, 0.15686275f, 0.15686275f, 0.00f};
style->Colors[ImGuiCol_FrameBg]               = {0.16862746f, 0.16862746f, 0.16862746f, 0.54f};
style->Colors[ImGuiCol_FrameBgHovered]        = {0.453125f, 0.67578125f, 0.99609375f, 0.67f};
style->Colors[ImGuiCol_FrameBgActive]         = {0.47058827f, 0.47058827f, 0.47058827f, 0.67f};
style->Colors[ImGuiCol_TitleBg]               = {0.04f, 0.04f, 0.04f, 1.00f};
style->Colors[ImGuiCol_TitleBgCollapsed]      = {0.16f, 0.29f, 0.48f, 1.00f};
style->Colors[ImGuiCol_TitleBgActive]         = {0.00f, 0.00f, 0.00f, 0.51f};
style->Colors[ImGuiCol_MenuBarBg]             = {0.27058825f, 0.28627452f, 0.2901961f, 0.80f};
style->Colors[ImGuiCol_ScrollbarBg]           = {0.27058825f, 0.28627452f, 0.2901961f, 0.60f};
style->Colors[ImGuiCol_ScrollbarGrab]         = {0.21960786f, 0.30980393f, 0.41960788f, 0.51f};
style->Colors[ImGuiCol_ScrollbarGrabHovered]  = {0.21960786f, 0.30980393f, 0.41960788f, 1.00f};
style->Colors[ImGuiCol_ScrollbarGrabActive]   = {0.13725491f, 0.19215688f, 0.2627451f, 0.91f};
// style->Colors[ImGuiCol_ComboBg]               = {0.1f, 0.1f, 0.1f, 0.99f};
style->Colors[ImGuiCol_CheckMark]             = {0.90f, 0.90f, 0.90f, 0.83f};
style->Colors[ImGuiCol_SliderGrab]            = {0.70f, 0.70f, 0.70f, 0.62f};
style->Colors[ImGuiCol_SliderGrabActive]      = {0.30f, 0.30f, 0.30f, 0.84f};
style->Colors[ImGuiCol_Button]                = {0.33333334f, 0.3529412f, 0.36078432f, 0.49f};
style->Colors[ImGuiCol_ButtonHovered]         = {0.21960786f, 0.30980393f, 0.41960788f, 1.00f};
style->Colors[ImGuiCol_ButtonActive]          = {0.13725491f, 0.19215688f, 0.2627451f, 1.00f};
style->Colors[ImGuiCol_Header]                = {0.33333334f, 0.3529412f, 0.36078432f, 0.53f};
style->Colors[ImGuiCol_HeaderHovered]         = {0.453125f, 0.67578125f, 0.99609375f, 0.67f};
style->Colors[ImGuiCol_HeaderActive]          = {0.47058827f, 0.47058827f, 0.47058827f, 0.67f};
style->Colors[ImGuiCol_Separator]             = {0.31640625f, 0.31640625f, 0.31640625f, 1.00f};
style->Colors[ImGuiCol_SeparatorHovered]      = {0.31640625f, 0.31640625f, 0.31640625f, 1.00f};
style->Colors[ImGuiCol_SeparatorActive]       = {0.31640625f, 0.31640625f, 0.31640625f, 1.00f};
style->Colors[ImGuiCol_ResizeGrip]            = {1.00f, 1.00f, 1.00f, 0.85f};
style->Colors[ImGuiCol_ResizeGripHovered]     = {1.00f, 1.00f, 1.00f, 0.60f};
style->Colors[ImGuiCol_ResizeGripActive]      = {1.00f, 1.00f, 1.00f, 0.90f};
style->Colors[ImGuiCol_PlotLines]             = {0.61f, 0.61f, 0.61f, 1.00f};
style->Colors[ImGuiCol_PlotLinesHovered]      = {1.00f, 0.43f, 0.35f, 1.00f};
style->Colors[ImGuiCol_PlotHistogram]         = {0.90f, 0.70f, 0.00f, 1.00f};
style->Colors[ImGuiCol_PlotHistogramHovered]  = {1.00f, 0.60f, 0.00f, 1.00f};
style->Colors[ImGuiCol_TextSelectedBg]        = {0.18431373f, 0.39607847f, 0.79215693f, 0.90f};

@ рдЖрдЗрд╕ 1000

рдЗрдВрдЯреЗрд▓реАрдЬ рдХреА рдбрд╛рд░реНрдХреБрд▓рд╛ рдереАрдо рдкрд░ рдЦрд░рд╛рдм рдЕрдиреБрдХрд░рдг:

рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ?

@ рдХреЛрдХреЛрдирдЯ

рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ?

image

  • рд╡рд╛рдо: рдбрд╛рд░реНрдХреБрд▓рд╛ рд╢реИрд▓реА рдХреЗ рд╕рд╛рде imgui
  • рд╕рд╣реА: рдЗрдВрдЯреЗрд▓реАрдЬ рдЖрдИрдбреАрдИрдП рдбрд╛рд░реНрдХреБрд▓рд╛ рд╢реИрд▓реА рдХреЗ рд╕рд╛рде

рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдПрдХ рдереАрдо рдкреНрд░рд╕реНрддрд╛рд╡ рдмрдирд╛рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рдпрд╣ рдПрдХ рдЧреНрд░реЗ / рдбрд╛рд░реНрдХ рдереАрдо рд╣реИред
рдореИрдВ UE4 рдХреЗ рд╕рдорд╛рди рдПрдХ рдереАрдо рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдореИрдВ рд▓реЗрдХрд░ рдЖрдпрд╛ рд╣реВрдВ:
capture

рдпрд╣рд╛рдБ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╣реИ:

ImVec4* colors = ImGui::GetStyle().Colors;
colors[ImGuiCol_Text]                   = ImVec4(1.00f, 1.00f, 1.00f, 1.00f);
colors[ImGuiCol_TextDisabled]           = ImVec4(0.50f, 0.50f, 0.50f, 1.00f);
colors[ImGuiCol_WindowBg]               = ImVec4(0.06f, 0.06f, 0.06f, 0.94f);
colors[ImGuiCol_ChildBg]                = ImVec4(1.00f, 1.00f, 1.00f, 0.00f);
colors[ImGuiCol_PopupBg]                = ImVec4(0.08f, 0.08f, 0.08f, 0.94f);
colors[ImGuiCol_Border]                 = ImVec4(0.43f, 0.43f, 0.50f, 0.50f);
colors[ImGuiCol_BorderShadow]           = ImVec4(0.00f, 0.00f, 0.00f, 0.00f);
colors[ImGuiCol_FrameBg]                = ImVec4(0.20f, 0.21f, 0.22f, 0.54f);
colors[ImGuiCol_FrameBgHovered]         = ImVec4(0.40f, 0.40f, 0.40f, 0.40f);
colors[ImGuiCol_FrameBgActive]          = ImVec4(0.18f, 0.18f, 0.18f, 0.67f);
colors[ImGuiCol_TitleBg]                = ImVec4(0.04f, 0.04f, 0.04f, 1.00f);
colors[ImGuiCol_TitleBgActive]          = ImVec4(0.29f, 0.29f, 0.29f, 1.00f);
colors[ImGuiCol_TitleBgCollapsed]       = ImVec4(0.00f, 0.00f, 0.00f, 0.51f);
colors[ImGuiCol_MenuBarBg]              = ImVec4(0.14f, 0.14f, 0.14f, 1.00f);
colors[ImGuiCol_ScrollbarBg]            = ImVec4(0.02f, 0.02f, 0.02f, 0.53f);
colors[ImGuiCol_ScrollbarGrab]          = ImVec4(0.31f, 0.31f, 0.31f, 1.00f);
colors[ImGuiCol_ScrollbarGrabHovered]   = ImVec4(0.41f, 0.41f, 0.41f, 1.00f);
colors[ImGuiCol_ScrollbarGrabActive]    = ImVec4(0.51f, 0.51f, 0.51f, 1.00f);
colors[ImGuiCol_CheckMark]              = ImVec4(0.94f, 0.94f, 0.94f, 1.00f);
colors[ImGuiCol_SliderGrab]             = ImVec4(0.51f, 0.51f, 0.51f, 1.00f);
colors[ImGuiCol_SliderGrabActive]       = ImVec4(0.86f, 0.86f, 0.86f, 1.00f);
colors[ImGuiCol_Button]                 = ImVec4(0.44f, 0.44f, 0.44f, 0.40f);
colors[ImGuiCol_ButtonHovered]          = ImVec4(0.46f, 0.47f, 0.48f, 1.00f);
colors[ImGuiCol_ButtonActive]           = ImVec4(0.42f, 0.42f, 0.42f, 1.00f);
colors[ImGuiCol_Header]                 = ImVec4(0.70f, 0.70f, 0.70f, 0.31f);
colors[ImGuiCol_HeaderHovered]          = ImVec4(0.70f, 0.70f, 0.70f, 0.80f);
colors[ImGuiCol_HeaderActive]           = ImVec4(0.48f, 0.50f, 0.52f, 1.00f);
colors[ImGuiCol_Separator]              = ImVec4(0.43f, 0.43f, 0.50f, 0.50f);
colors[ImGuiCol_SeparatorHovered]       = ImVec4(0.72f, 0.72f, 0.72f, 0.78f);
colors[ImGuiCol_SeparatorActive]        = ImVec4(0.51f, 0.51f, 0.51f, 1.00f);
colors[ImGuiCol_ResizeGrip]             = ImVec4(0.91f, 0.91f, 0.91f, 0.25f);
colors[ImGuiCol_ResizeGripHovered]      = ImVec4(0.81f, 0.81f, 0.81f, 0.67f);
colors[ImGuiCol_ResizeGripActive]       = ImVec4(0.46f, 0.46f, 0.46f, 0.95f);
colors[ImGuiCol_PlotLines]              = ImVec4(0.61f, 0.61f, 0.61f, 1.00f);
colors[ImGuiCol_PlotLinesHovered]       = ImVec4(1.00f, 0.43f, 0.35f, 1.00f);
colors[ImGuiCol_PlotHistogram]          = ImVec4(0.73f, 0.60f, 0.15f, 1.00f);
colors[ImGuiCol_PlotHistogramHovered]   = ImVec4(1.00f, 0.60f, 0.00f, 1.00f);
colors[ImGuiCol_TextSelectedBg]         = ImVec4(0.87f, 0.87f, 0.87f, 0.35f);
colors[ImGuiCol_ModalWindowDarkening]   = ImVec4(0.80f, 0.80f, 0.80f, 0.35f);
colors[ImGuiCol_DragDropTarget]         = ImVec4(1.00f, 1.00f, 0.00f, 0.90f);
colors[ImGuiCol_NavHighlight]           = ImVec4(0.60f, 0.60f, 0.60f, 1.00f);
colors[ImGuiCol_NavWindowingHighlight]  = ImVec4(1.00f, 1.00f, 1.00f, 0.70f);

рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЗрд╕реЗ ImGui рдореЗрдВ рдПрдХреАрдХреГрдд рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдПрдХ рдЪреЗрд░реА рд╡рд┐рд╖рдп: рдбреА

image

void CherryTheme() {
    // cherry colors, 3 intensities
    #define HI(v)   ImVec4(0.502f, 0.075f, 0.256f, v)
    #define MED(v)  ImVec4(0.455f, 0.198f, 0.301f, v)
    #define LOW(v)  ImVec4(0.232f, 0.201f, 0.271f, v)
    // backgrounds (<strong i="8">@todo</strong>: complete with BG_MED, BG_LOW)
    #define BG(v)   ImVec4(0.200f, 0.220f, 0.270f, v)
    // text
    #define TEXT(v) ImVec4(0.860f, 0.930f, 0.890f, v)

    auto &style = ImGui::GetStyle();
    style.Colors[ImGuiCol_Text]                  = TEXT(0.78f);
    style.Colors[ImGuiCol_TextDisabled]          = TEXT(0.28f);
    style.Colors[ImGuiCol_WindowBg]              = ImVec4(0.13f, 0.14f, 0.17f, 1.00f);
    style.Colors[ImGuiCol_ChildWindowBg]         = BG( 0.58f);
    style.Colors[ImGuiCol_PopupBg]               = BG( 0.9f);
    style.Colors[ImGuiCol_Border]                = ImVec4(0.31f, 0.31f, 1.00f, 0.00f);
    style.Colors[ImGuiCol_BorderShadow]          = ImVec4(0.00f, 0.00f, 0.00f, 0.00f);
    style.Colors[ImGuiCol_FrameBg]               = BG( 1.00f);
    style.Colors[ImGuiCol_FrameBgHovered]        = MED( 0.78f);
    style.Colors[ImGuiCol_FrameBgActive]         = MED( 1.00f);
    style.Colors[ImGuiCol_TitleBg]               = LOW( 1.00f);
    style.Colors[ImGuiCol_TitleBgActive]         = HI( 1.00f);
    style.Colors[ImGuiCol_TitleBgCollapsed]      = BG( 0.75f);
    style.Colors[ImGuiCol_MenuBarBg]             = BG( 0.47f);
    style.Colors[ImGuiCol_ScrollbarBg]           = BG( 1.00f);
    style.Colors[ImGuiCol_ScrollbarGrab]         = ImVec4(0.09f, 0.15f, 0.16f, 1.00f);
    style.Colors[ImGuiCol_ScrollbarGrabHovered]  = MED( 0.78f);
    style.Colors[ImGuiCol_ScrollbarGrabActive]   = MED( 1.00f);
    style.Colors[ImGuiCol_CheckMark]             = ImVec4(0.71f, 0.22f, 0.27f, 1.00f);
    style.Colors[ImGuiCol_SliderGrab]            = ImVec4(0.47f, 0.77f, 0.83f, 0.14f);
    style.Colors[ImGuiCol_SliderGrabActive]      = ImVec4(0.71f, 0.22f, 0.27f, 1.00f);
    style.Colors[ImGuiCol_Button]                = ImVec4(0.47f, 0.77f, 0.83f, 0.14f);
    style.Colors[ImGuiCol_ButtonHovered]         = MED( 0.86f);
    style.Colors[ImGuiCol_ButtonActive]          = MED( 1.00f);
    style.Colors[ImGuiCol_Header]                = MED( 0.76f);
    style.Colors[ImGuiCol_HeaderHovered]         = MED( 0.86f);
    style.Colors[ImGuiCol_HeaderActive]          = HI( 1.00f);
    style.Colors[ImGuiCol_Column]                = ImVec4(0.14f, 0.16f, 0.19f, 1.00f);
    style.Colors[ImGuiCol_ColumnHovered]         = MED( 0.78f);
    style.Colors[ImGuiCol_ColumnActive]          = MED( 1.00f);
    style.Colors[ImGuiCol_ResizeGrip]            = ImVec4(0.47f, 0.77f, 0.83f, 0.04f);
    style.Colors[ImGuiCol_ResizeGripHovered]     = MED( 0.78f);
    style.Colors[ImGuiCol_ResizeGripActive]      = MED( 1.00f);
    style.Colors[ImGuiCol_PlotLines]             = TEXT(0.63f);
    style.Colors[ImGuiCol_PlotLinesHovered]      = MED( 1.00f);
    style.Colors[ImGuiCol_PlotHistogram]         = TEXT(0.63f);
    style.Colors[ImGuiCol_PlotHistogramHovered]  = MED( 1.00f);
    style.Colors[ImGuiCol_TextSelectedBg]        = MED( 0.43f);
    // [...]
    style.Colors[ImGuiCol_ModalWindowDarkening]  = BG( 0.73f);

    style.WindowPadding            = ImVec2(6, 4);
    style.WindowRounding           = 0.0f;
    style.FramePadding             = ImVec2(5, 2);
    style.FrameRounding            = 3.0f;
    style.ItemSpacing              = ImVec2(7, 1);
    style.ItemInnerSpacing         = ImVec2(1, 1);
    style.TouchExtraPadding        = ImVec2(0, 0);
    style.IndentSpacing            = 6.0f;
    style.ScrollbarSize            = 12.0f;
    style.ScrollbarRounding        = 16.0f;
    style.GrabMinSize              = 20.0f;
    style.GrabRounding             = 2.0f;

    style.WindowTitleAlign.x = 0.50f;

    style.Colors[ImGuiCol_Border] = ImVec4(0.539f, 0.479f, 0.255f, 0.162f);
    style.FrameBorderSize = 0.0f;
    style.WindowBorderSize = 1.0f;
}

рдбрд╛рд░реНрдХ рдереАрдо
imgui

ImGuiStyle & st = ImGui :: GetStyle ();
st.FrameBorderSize = 1.0f;
st.FramePadding = ImVec2 (4.0f, 2.0f);
st.ItemSpacing = ImVec2 (8.0f, 2.0f);
st.WindowBorderSize = 1.0f;
st.TabBorderSize = 1.0f;
st.WindowRounding = 1.0f;
st.ChildRounding = 1.0f;
st.FrameRounding = 1.0f;
st.ScrollbarRounding = 1.0f;
st.GrabRounding = 1.0f;
st.TabRounding = 1.0f;

// рд╕реЗрдЯрдЕрдк рд╢реИрд▓реА
ImVec4 * рд░рдВрдЧ = ImGui :: GetStyle ()ред рд░рдВрдЧ;
рд░рдВрдЧ [ImGuiCol_Text] = ImVec4 (1.00f, 1.00f, 1.00f, 0.95f);
рд░рдВрдЧ [ImGuiCol_TextDisabled] = ImVec4 (0.50f, 0.50f, 0.50f, 1.00f);
рд░рдВрдЧ [ImGuiCol_WindowBg] = ImVec4 (0.13f, 0.12f, 0.12f, 1.00f);
рд░рдВрдЧ [ImGuiCol_ChildBg] = ImVec4 (1.00f, 1.00f, 1.00f, 0.00f);
рд░рдВрдЧ [ImGuiCol_PopupBg] = ImVec4 (0.05f, 0.05f, 0.05f, 0.94f);
рд░рдВрдЧ [ImGuiCol_Border] = ImVec4 (0.53f, 0.53f, 0.53f, 0.46f);
рд░рдВрдЧ [ImGuiCol_BorderShadow] = ImVec4 (0.00f, 0.00f, 0.00f, 0.00f);
рд░рдВрдЧ [ImGuiCol_FrameBg] = ImVec4 (0.00f, 0.00f, 0.00f, 0.855);
рд░рдВрдЧ [ImGuiCol_FrameBgHovered] = ImVec4 (0.22f, 0.22f, 0.22f, 0.40f);
рд░рдВрдЧ [ImGuiCol_FrameBgActive] = ImVec4 (0.16f, 0.16f, 0.16f, 0.53f);
рд░рдВрдЧ [ImGuiCol_TitleBg] = ImVec4 (0.00f, 0.00f, 0.00f, 1.00f);
рд░рдВрдЧ [ImGuiCol_TitleBgActive] = ImVec4 (0.00f, 0.00f, 0.00f, 1.00f);
рд░рдВрдЧ [ImGuiCol_TitleBgCollapsed] = ImVec4 (0.00f, 0.00f, 0.00f, 0.51f);
рд░рдВрдЧ [ImGuiCol_MenuBarBg] = ImVec4 (0.12f, 0.12f, 0.12f, 1.00f);
рд░рдВрдЧ [ImGuiCol_ScrollbarBg] = ImVec4 (0.02f, 0.02f, 0.02f, 0.53f);
рд░рдВрдЧ [ImGuiCol_ScrollbarGrab] = ImVec4 (0.31f, 0.31f, 0.31f, 1.00f);
рд░рдВрдЧ [ImGuiCol_ScrollbarGrabHovered] = ImVec4 (0.41f, 0.41f, 0.41f, 1.00f);
рд░рдВрдЧ [ImGuiCol_ScrollbarGrabActive] = ImVec4 (0.48f, 0.48f, 0.48f, 1.00f);
рд░рдВрдЧ [ImGuiCol_CheckMark] = ImVec4 (0.79f, 0.79f, 0.79f, 1.00f);
рд░рдВрдЧ [ImGuiCol_SliderGrab] = ImVec4 (0.48f, 0.47f, 0.47f, 0.91f);
рд░рдВрдЧ [ImGuiCol_SliderGrabActive] = ImVec4 (0.56f, 0.55f, 0.55f, 0.62f);
рд░рдВрдЧ [ImGuiCol_Button] = ImVec4 (0.50f, 0.50f, 0.50f, 0.63f);
рд░рдВрдЧ [ImGuiCol_ButtonHovered] = ImVec4 (0.67f, 0.67f, 0.68f, 0.63f);
рд░рдВрдЧ [ImGuiCol_ButtonActive] = ImVec4 (0.26f, 0.26f, 0.26f, 0.63f);
рд░рдВрдЧ [ImGuiCol_Header] = ImVec4 (0.54f, 0.54f, 0.54f, 0.58f);
рд░рдВрдЧ [ImGuiCol_HeaderHovered] = ImVec4 (0.64f, 0.65f, 0.65f, 0.80f);
рд░рдВрдЧ [ImGuiCol_HeaderActive] = ImVec4 (0.25f, 0.25f, 0.25f, 0.80f);
рд░рдВрдЧ [ImGuiCol_Separator] = ImVec4 (0.58f, 0.58f, 0.58f, 0.50f);
рд░рдВрдЧ [ImGuiCol_SeparatorHovered] = ImVec4 (0.81f, 0.81f, 0.81f, 0.64f);
рд░рдВрдЧ [ImGuiCol_SeparatorActive] = ImVec4 (0.81f, 0.81f, 0.81f, 0.64f);
рд░рдВрдЧ [ImGuiCol_ResizeGrip] = ImVec4 (0.87f, 0.87f, 0.87f, 0.53f);
рд░рдВрдЧ [ImGuiCol_ResizeGripHovered] = ImVec4 (0.87f, 0.87f, 0.87f, 0.74f);
рд░рдВрдЧ [ImGuiCol_ResizeGripActive] = ImVec4 (0.87f, 0.87f, 0.87f, 0.74f);
рд░рдВрдЧ [ImGuiCol_Tab] = ImVec4 (0.01f, 0.01f, 0.01f, 0.86f);
рд░рдВрдЧ [ImGuiCol_TabHovered] = ImVec4 (0.29f, 0.29f, 0.29f, 1.00f);
рд░рдВрдЧ [ImGuiCol_TabActive] = ImVec4 (0.31f, 0.31f, 0.31f, 1.00f);
рд░рдВрдЧ [ImGuiCol_TabUnfocused] = ImVec4 (0.02f, 0.02f, 0.02f, 1.00f);
рд░рдВрдЧ [ImGuiCol_TabUnfocusedActive] = ImVec4 (0.19f, 0.19f, 0.19f, 1.00f);
рд░рдВрдЧ [ImGuiCol_DockingPreview] = ImVec4 (0.38f, 0.48f, 0.60f, 1.00f);
рд░рдВрдЧ [ImGuiCol_DockingEmptyBg] = ImVec4 (0.20f, 0.20f, 0.20f, 1.00f);
рд░рдВрдЧ [ImGuiCol_PlotLines] = ImVec4 (0.61f, 0.61f, 0.61f, 1.00f);
рд░рдВрдЧ [ImGuiCol_PlotLinesHovered] = ImVec4 (0.68f, 0.68f, 0.68f, 1.00f);
рд░рдВрдЧ [ImGuiCol_PlotHistogram] = ImVec4 (0.90f, 0.77f, 0.33f, 1.00f);
рд░рдВрдЧ [ImGuiCol_PlotHistogramHovered] = ImVec4 (0.87f, 0.55f, 0.08f, 1.00f);
рдХрд▓рд░реНрд╕ [ImGuiCol_TextSelectedBg] = ImVec4 (0.47f, 0.60f, 0.76f, 0.47f);
рд░рдВрдЧ [ImGuiCol_DragDropTarget] = ImVec4 (0.58f, 0.58f, 0.58f, 0.90f);
рд░рдВрдЧ [ImGuiCol_NavHighlight] = ImVec4 (0.60f, 0.60f, 0.60f, 1.00f);
рд░рдВрдЧ [ImGuiCol_NavWindowingHighlight] = ImVec4 (1.00f, 1.00f, 1.00f, 0.70f);
рд░рдВрдЧ [ImGuiCol_NavWindowingDimBg] = ImVec4 (0.80f, 0.80f, 0.80f, 0.20f);
рд░рдВрдЧ [ImGuiCol_ModalWindowDimBg] = ImVec4 (0.80f, 0.80f, 0.80f, 0.35f);

@ r-lyeh рдЕрдЪреНрдЫрд╛ рд╡рд┐рд╖рдпред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдПрдХ рдмрдЯрди рдореЗрдВ рд╡рд░реНрдг рдареАрдХ рд╕реЗ рдХреЗрдВрджреНрд░рд┐рдд рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдереЛрдбрд╝рд╛ рджреВрд░ рд╣реИ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП InputInt рдореЗрдВред

рдореБрдЭреЗ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣реА рд╣реИ: рдбреА рдХреА рджреЗрдЦрднрд╛рд▓ рдорд┐рд╕рд▓рд┐рдЧреНрдиреНрдореЗрдВрдЯ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП? thx: рдбреА
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдареАрдХ рд╣реИ, thx! рдореИрдВрдиреЗ рдореВрд▓ рд╕реНрдирд┐рдкреЗрдЯ рддрдп рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред

unaligned

рдпрд╣ рдереЛрдбрд╝рд╛-рдПрдВрдЯреА-рдХрдордмрдЦреНрдд тАЩрд╣реИ рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ and -тАЩ рдФрд░ are + тАЩрдмрдЯрди рдХреЗ рдХреЗрдВрджреНрд░ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ

@Ebachard рд╕реЗ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдИ рдЬрд╛ рд░рд╣реА LightGreen рд╢реИрд▓реА # 1776 рдореЗрдВ рддреИрдирд╛рдд (рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЕрдм рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рд╡рд┐рд╖рдп рдХреЛ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред
capture du 2018-04-26 20-42-40

// generic miniDart theme
void ImGui::StyleColorsLightGreen(ImGuiStyle* dst)
{
    ImGuiStyle* style = dst ? dst : &ImGui::GetStyle();
    ImVec4* colors = style->Colors;

    style->WindowRounding    = 2.0f;             // Radius of window corners rounding. Set to 0.0f to have rectangular windows
    style->ScrollbarRounding = 3.0f;             // Radius of grab corners rounding for scrollbar
    style->GrabRounding      = 2.0f;             // Radius of grabs corners rounding. Set to 0.0f to have rectangular slider grabs.
    style->AntiAliasedLines  = true;
    style->AntiAliasedFill   = true;
    style->WindowRounding    = 2;
    style->ChildRounding     = 2;
    style->ScrollbarSize     = 16;
    style->ScrollbarRounding = 3;
    style->GrabRounding      = 2;
    style->ItemSpacing.x     = 10;
    style->ItemSpacing.y     = 4;
    style->IndentSpacing     = 22;
    style->FramePadding.x    = 6;
    style->FramePadding.y    = 4;
    style->Alpha             = 1.0f;
    style->FrameRounding     = 3.0f;

    colors[ImGuiCol_Text]                   = ImVec4(0.00f, 0.00f, 0.00f, 1.00f);
    colors[ImGuiCol_TextDisabled]          = ImVec4(0.60f, 0.60f, 0.60f, 1.00f);
    colors[ImGuiCol_WindowBg]              = ImVec4(0.86f, 0.86f, 0.86f, 1.00f);
    //colors[ImGuiCol_ChildWindowBg]         = ImVec4(0.00f, 0.00f, 0.00f, 0.00f);
    colors[ImGuiCol_ChildBg]                = ImVec4(0.00f, 0.00f, 0.00f, 0.00f);
    colors[ImGuiCol_PopupBg]                = ImVec4(0.93f, 0.93f, 0.93f, 0.98f);
    colors[ImGuiCol_Border]                = ImVec4(0.71f, 0.71f, 0.71f, 0.08f);
    colors[ImGuiCol_BorderShadow]          = ImVec4(0.00f, 0.00f, 0.00f, 0.04f);
    colors[ImGuiCol_FrameBg]               = ImVec4(0.71f, 0.71f, 0.71f, 0.55f);
    colors[ImGuiCol_FrameBgHovered]        = ImVec4(0.94f, 0.94f, 0.94f, 0.55f);
    colors[ImGuiCol_FrameBgActive]         = ImVec4(0.71f, 0.78f, 0.69f, 0.98f);
    colors[ImGuiCol_TitleBg]               = ImVec4(0.85f, 0.85f, 0.85f, 1.00f);
    colors[ImGuiCol_TitleBgCollapsed]      = ImVec4(0.82f, 0.78f, 0.78f, 0.51f);
    colors[ImGuiCol_TitleBgActive]         = ImVec4(0.78f, 0.78f, 0.78f, 1.00f);
    colors[ImGuiCol_MenuBarBg]             = ImVec4(0.86f, 0.86f, 0.86f, 1.00f);
    colors[ImGuiCol_ScrollbarBg]           = ImVec4(0.20f, 0.25f, 0.30f, 0.61f);
    colors[ImGuiCol_ScrollbarGrab]         = ImVec4(0.90f, 0.90f, 0.90f, 0.30f);
    colors[ImGuiCol_ScrollbarGrabHovered]  = ImVec4(0.92f, 0.92f, 0.92f, 0.78f);
    colors[ImGuiCol_ScrollbarGrabActive]   = ImVec4(1.00f, 1.00f, 1.00f, 1.00f);
    colors[ImGuiCol_CheckMark]             = ImVec4(0.184f, 0.407f, 0.193f, 1.00f);
    colors[ImGuiCol_SliderGrab]            = ImVec4(0.26f, 0.59f, 0.98f, 0.78f);
    colors[ImGuiCol_SliderGrabActive]      = ImVec4(0.26f, 0.59f, 0.98f, 1.00f);
    colors[ImGuiCol_Button]                = ImVec4(0.71f, 0.78f, 0.69f, 0.40f);
    colors[ImGuiCol_ButtonHovered]         = ImVec4(0.725f, 0.805f, 0.702f, 1.00f);
    colors[ImGuiCol_ButtonActive]          = ImVec4(0.793f, 0.900f, 0.836f, 1.00f);
    colors[ImGuiCol_Header]                = ImVec4(0.71f, 0.78f, 0.69f, 0.31f);
    colors[ImGuiCol_HeaderHovered]         = ImVec4(0.71f, 0.78f, 0.69f, 0.80f);
    colors[ImGuiCol_HeaderActive]          = ImVec4(0.71f, 0.78f, 0.69f, 1.00f);
    colors[ImGuiCol_Column]                = ImVec4(0.39f, 0.39f, 0.39f, 1.00f);
    colors[ImGuiCol_ColumnHovered]         = ImVec4(0.26f, 0.59f, 0.98f, 0.78f);
    colors[ImGuiCol_ColumnActive]          = ImVec4(0.26f, 0.59f, 0.98f, 1.00f);
    colors[ImGuiCol_Separator]              = ImVec4(0.39f, 0.39f, 0.39f, 1.00f);
    colors[ImGuiCol_SeparatorHovered]       = ImVec4(0.14f, 0.44f, 0.80f, 0.78f);
    colors[ImGuiCol_SeparatorActive]        = ImVec4(0.14f, 0.44f, 0.80f, 1.00f);
    colors[ImGuiCol_ResizeGrip]            = ImVec4(1.00f, 1.00f, 1.00f, 0.00f);
    colors[ImGuiCol_ResizeGripHovered]     = ImVec4(0.26f, 0.59f, 0.98f, 0.45f);
    colors[ImGuiCol_ResizeGripActive]      = ImVec4(0.26f, 0.59f, 0.98f, 0.78f);
    colors[ImGuiCol_PlotLines]             = ImVec4(0.39f, 0.39f, 0.39f, 1.00f);
    colors[ImGuiCol_PlotLinesHovered]      = ImVec4(1.00f, 0.43f, 0.35f, 1.00f);
    colors[ImGuiCol_PlotHistogram]         = ImVec4(0.90f, 0.70f, 0.00f, 1.00f);
    colors[ImGuiCol_PlotHistogramHovered]  = ImVec4(1.00f, 0.60f, 0.00f, 1.00f);
    colors[ImGuiCol_TextSelectedBg]        = ImVec4(0.26f, 0.59f, 0.98f, 0.35f);
    colors[ImGuiCol_ModalWindowDarkening]  = ImVec4(0.20f, 0.20f, 0.20f, 0.35f);
    colors[ImGuiCol_DragDropTarget]         = ImVec4(0.26f, 0.59f, 0.98f, 0.95f);
    colors[ImGuiCol_NavHighlight]           = colors[ImGuiCol_HeaderHovered];
    colors[ImGuiCol_NavWindowingHighlight]  = ImVec4(0.70f, 0.70f, 0.70f, 0.70f);
}

@ocornut : рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж! рдЬреЛ рдХреБрдЫ ImGui рд╡рд┐рд╖рдпреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрдирдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ (рдорд╛рдлреА рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдорд┐рдиреАрдПрдбрд╛рд░реНрдЯ рдХрд╛ рдПрдХ рдлреНрд░реЗрдВрдЪ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдореИрдВ рд╕рдорд░реНрдердХ рдирд╣реАрдВ рд╣реВрдВ, рдФрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреЗрд╡рд▓ 40% рдпреВрдЖрдИ рдЕрдиреБрд╡рд╛рджрд┐рдд рд╣реИ)ред

рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рд╣реИрдВ:

  • OpenGL рдбреНрд░рд╛рдЗрд╡рд░
  • рдПрдХ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╡реЗрдмрдХреЗрдо (Logitech рдкрд╕рдВрджреАрджрд╛, рдЬреИрд╕рд╛ рдХрд┐ рд░реЗрдкреЛ рдкрд░ рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ)

рдЙрдкрд▓рдмреНрдз рдереАрдо ("Pr├йf├йrences" рдЯреИрдм рджреЗрдЦреЗрдВ), рд╣реИрдВ:

  • рд╣рд▓реНрдХрд╛ рд╣рд░рд╛
  • рдЕрдВрдзреЗрд░рд╛
  • рдХреНрд▓рд╛рд╕рд┐рдХ
  • рд╣рд▓реНрдХрд╛ рдиреАрд▓рд╛
  • рд╡рд┐рдВрдбреЛрдЬ рдбрд┐рдлрд╝реЙрд▓реНрдЯ)

рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╡реЗрдмрдХреИрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА (рдореИрдВ рдЗрд╕реЗ рдмрд╣реБрдд рдЬрд▓реНрдж рдмрджрд▓ рджреВрдВрдЧрд╛)ред

рдХреГрдкрдпрд╛ рдХреЛрдорд▓ рд░рд╣реЗрдВ: рдореИрдВ рд╕рдорд░реНрдердХ рдирд╣реАрдВ рд╣реВрдВ ;-)

рд▓рд┐рдВрдХ: https://framagit.org/ericb/miniDart

рдореЗрд░рд╛ рд╡рд┐рд╖рдп рдлреЛрдЯреЛрд╢реЙрдк рдХреЗ рдпреВрдЖрдИ рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рдерд╛ред рдбрд╛рд░реНрдХ рдЪрд╛рд░рдХреЛрд▓ рд░рдВрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпреВрдЖрдИ рд╣рд░ рд╕рдордп рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рди рдЦреАрдВрдЪреЗ рдФрд░ рдореИрдВ рдпрд╣рд╛рдВ рдФрд░ рд╡рд╣рд╛рдВ рдСрд░реЗрдВрдЬ рд▓рд╣рдЬреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдЬрдм рдХреБрдЫ рдЪреАрдЬреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рд╡рд┐рдВрдбреЛ рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рдпрд╛ рд╣реИрдВрдбрд▓ рдХреЛ рдереЛрдбрд╝рд╛ рд░рдВрдЧ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рд░рд╛рд╕реНрддреЗ рд╕реЗ рдмрд╛рд╣рд░ рд░рд╣рддрд╛ рд╣реИ рдЬрдм рдЖрдк рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реЛрдВред

Image of Derydoca Engine

void DearImgui::ApplyDefaultStyle()
{
    ImGuiStyle* style = &ImGui::GetStyle();
    ImVec4* colors = style->Colors;

    colors[ImGuiCol_Text]                   = ImVec4(1.000f, 1.000f, 1.000f, 1.000f);
    colors[ImGuiCol_TextDisabled]           = ImVec4(0.500f, 0.500f, 0.500f, 1.000f);
    colors[ImGuiCol_WindowBg]               = ImVec4(0.180f, 0.180f, 0.180f, 1.000f);
    colors[ImGuiCol_ChildBg]                = ImVec4(0.280f, 0.280f, 0.280f, 0.000f);
    colors[ImGuiCol_PopupBg]                = ImVec4(0.313f, 0.313f, 0.313f, 1.000f);
    colors[ImGuiCol_Border]                 = ImVec4(0.266f, 0.266f, 0.266f, 1.000f);
    colors[ImGuiCol_BorderShadow]           = ImVec4(0.000f, 0.000f, 0.000f, 0.000f);
    colors[ImGuiCol_FrameBg]                = ImVec4(0.160f, 0.160f, 0.160f, 1.000f);
    colors[ImGuiCol_FrameBgHovered]         = ImVec4(0.200f, 0.200f, 0.200f, 1.000f);
    colors[ImGuiCol_FrameBgActive]          = ImVec4(0.280f, 0.280f, 0.280f, 1.000f);
    colors[ImGuiCol_TitleBg]                = ImVec4(0.148f, 0.148f, 0.148f, 1.000f);
    colors[ImGuiCol_TitleBgActive]          = ImVec4(0.148f, 0.148f, 0.148f, 1.000f);
    colors[ImGuiCol_TitleBgCollapsed]       = ImVec4(0.148f, 0.148f, 0.148f, 1.000f);
    colors[ImGuiCol_MenuBarBg]              = ImVec4(0.195f, 0.195f, 0.195f, 1.000f);
    colors[ImGuiCol_ScrollbarBg]            = ImVec4(0.160f, 0.160f, 0.160f, 1.000f);
    colors[ImGuiCol_ScrollbarGrab]          = ImVec4(0.277f, 0.277f, 0.277f, 1.000f);
    colors[ImGuiCol_ScrollbarGrabHovered]   = ImVec4(0.300f, 0.300f, 0.300f, 1.000f);
    colors[ImGuiCol_ScrollbarGrabActive]    = ImVec4(1.000f, 0.391f, 0.000f, 1.000f);
    colors[ImGuiCol_CheckMark]              = ImVec4(1.000f, 1.000f, 1.000f, 1.000f);
    colors[ImGuiCol_SliderGrab]             = ImVec4(0.391f, 0.391f, 0.391f, 1.000f);
    colors[ImGuiCol_SliderGrabActive]       = ImVec4(1.000f, 0.391f, 0.000f, 1.000f);
    colors[ImGuiCol_Button]                 = ImVec4(1.000f, 1.000f, 1.000f, 0.000f);
    colors[ImGuiCol_ButtonHovered]          = ImVec4(1.000f, 1.000f, 1.000f, 0.156f);
    colors[ImGuiCol_ButtonActive]           = ImVec4(1.000f, 1.000f, 1.000f, 0.391f);
    colors[ImGuiCol_Header]                 = ImVec4(0.313f, 0.313f, 0.313f, 1.000f);
    colors[ImGuiCol_HeaderHovered]          = ImVec4(0.469f, 0.469f, 0.469f, 1.000f);
    colors[ImGuiCol_HeaderActive]           = ImVec4(0.469f, 0.469f, 0.469f, 1.000f);
    colors[ImGuiCol_Separator]              = colors[ImGuiCol_Border];
    colors[ImGuiCol_SeparatorHovered]       = ImVec4(0.391f, 0.391f, 0.391f, 1.000f);
    colors[ImGuiCol_SeparatorActive]        = ImVec4(1.000f, 0.391f, 0.000f, 1.000f);
    colors[ImGuiCol_ResizeGrip]             = ImVec4(1.000f, 1.000f, 1.000f, 0.250f);
    colors[ImGuiCol_ResizeGripHovered]      = ImVec4(1.000f, 1.000f, 1.000f, 0.670f);
    colors[ImGuiCol_ResizeGripActive]       = ImVec4(1.000f, 0.391f, 0.000f, 1.000f);
    colors[ImGuiCol_Tab]                    = ImVec4(0.098f, 0.098f, 0.098f, 1.000f);
    colors[ImGuiCol_TabHovered]             = ImVec4(0.352f, 0.352f, 0.352f, 1.000f);
    colors[ImGuiCol_TabActive]              = ImVec4(0.195f, 0.195f, 0.195f, 1.000f);
    colors[ImGuiCol_TabUnfocused]           = ImVec4(0.098f, 0.098f, 0.098f, 1.000f);
    colors[ImGuiCol_TabUnfocusedActive]     = ImVec4(0.195f, 0.195f, 0.195f, 1.000f);
    colors[ImGuiCol_DockingPreview]         = ImVec4(1.000f, 0.391f, 0.000f, 0.781f);
    colors[ImGuiCol_DockingEmptyBg]         = ImVec4(0.180f, 0.180f, 0.180f, 1.000f);
    colors[ImGuiCol_PlotLines]              = ImVec4(0.469f, 0.469f, 0.469f, 1.000f);
    colors[ImGuiCol_PlotLinesHovered]       = ImVec4(1.000f, 0.391f, 0.000f, 1.000f);
    colors[ImGuiCol_PlotHistogram]          = ImVec4(0.586f, 0.586f, 0.586f, 1.000f);
    colors[ImGuiCol_PlotHistogramHovered]   = ImVec4(1.000f, 0.391f, 0.000f, 1.000f);
    colors[ImGuiCol_TextSelectedBg]         = ImVec4(1.000f, 1.000f, 1.000f, 0.156f);
    colors[ImGuiCol_DragDropTarget]         = ImVec4(1.000f, 0.391f, 0.000f, 1.000f);
    colors[ImGuiCol_NavHighlight]           = ImVec4(1.000f, 0.391f, 0.000f, 1.000f);
    colors[ImGuiCol_NavWindowingHighlight]  = ImVec4(1.000f, 0.391f, 0.000f, 1.000f);
    colors[ImGuiCol_NavWindowingDimBg]      = ImVec4(0.000f, 0.000f, 0.000f, 0.586f);
    colors[ImGuiCol_ModalWindowDimBg]       = ImVec4(0.000f, 0.000f, 0.000f, 0.586f);

    style->ChildRounding = 4.0f;
    style->FrameBorderSize = 1.0f;
    style->FrameRounding = 2.0f;
    style->GrabMinSize = 7.0f;
    style->PopupRounding = 2.0f;
    style->ScrollbarRounding = 12.0f;
    style->ScrollbarSize = 13.0f;
    style->TabBorderSize = 1.0f;
    style->TabRounding = 0.0f;
    style->WindowRounding = 4.0f;
}

рдореИрдВ рдереАрдо "рдХреЙрд░реНрдкреЛрд░реЗрдЯрдЧреНрд░реЗ" рдХрд╣рддрд╛ рд╣реВрдВред рд░рдВрдЧреЛрдВ рдФрд░ рд╕реНрдЯрд╛рдЗрд▓рд┐рдВрдЧ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдЖрдВрдЦреЛрдВ рдкрд░ рд╕рд╛рдл рдФрд░ рдЖрд╕рд╛рди рд╣реЛрдирд╛ рд╣реИ, рдФрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди / рд╕реВрдЯ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдмреЗрд╣рддрд░ рд╣реИред

greyflat
greyframed

inline void Style()
{
    ImGuiStyle & style = ImGui::GetStyle();
    ImVec4 * colors = style.Colors;

    /// 0 = FLAT APPEARENCE
    /// 1 = MORE "3D" LOOK
    int is3D = 0;

    colors[ImGuiCol_Text]                   = ImVec4(1.00f, 1.00f, 1.00f, 1.00f);
    colors[ImGuiCol_TextDisabled]           = ImVec4(0.40f, 0.40f, 0.40f, 1.00f);
    colors[ImGuiCol_ChildBg]                = ImVec4(0.25f, 0.25f, 0.25f, 1.00f);
    colors[ImGuiCol_WindowBg]               = ImVec4(0.25f, 0.25f, 0.25f, 1.00f);
    colors[ImGuiCol_PopupBg]                = ImVec4(0.25f, 0.25f, 0.25f, 1.00f);
    colors[ImGuiCol_Border]                 = ImVec4(0.12f, 0.12f, 0.12f, 0.71f);
    colors[ImGuiCol_BorderShadow]           = ImVec4(1.00f, 1.00f, 1.00f, 0.06f);
    colors[ImGuiCol_FrameBg]                = ImVec4(0.42f, 0.42f, 0.42f, 0.54f);
    colors[ImGuiCol_FrameBgHovered]         = ImVec4(0.42f, 0.42f, 0.42f, 0.40f);
    colors[ImGuiCol_FrameBgActive]          = ImVec4(0.56f, 0.56f, 0.56f, 0.67f);
    colors[ImGuiCol_TitleBg]                = ImVec4(0.19f, 0.19f, 0.19f, 1.00f);
    colors[ImGuiCol_TitleBgActive]          = ImVec4(0.22f, 0.22f, 0.22f, 1.00f);
    colors[ImGuiCol_TitleBgCollapsed]       = ImVec4(0.17f, 0.17f, 0.17f, 0.90f);
    colors[ImGuiCol_MenuBarBg]              = ImVec4(0.335f, 0.335f, 0.335f, 1.000f);
    colors[ImGuiCol_ScrollbarBg]            = ImVec4(0.24f, 0.24f, 0.24f, 0.53f);
    colors[ImGuiCol_ScrollbarGrab]          = ImVec4(0.41f, 0.41f, 0.41f, 1.00f);
    colors[ImGuiCol_ScrollbarGrabHovered]   = ImVec4(0.52f, 0.52f, 0.52f, 1.00f);
    colors[ImGuiCol_ScrollbarGrabActive]    = ImVec4(0.76f, 0.76f, 0.76f, 1.00f);
    colors[ImGuiCol_CheckMark]              = ImVec4(0.65f, 0.65f, 0.65f, 1.00f);
    colors[ImGuiCol_SliderGrab]             = ImVec4(0.52f, 0.52f, 0.52f, 1.00f);
    colors[ImGuiCol_SliderGrabActive]       = ImVec4(0.64f, 0.64f, 0.64f, 1.00f);
    colors[ImGuiCol_Button]                 = ImVec4(0.54f, 0.54f, 0.54f, 0.35f);
    colors[ImGuiCol_ButtonHovered]          = ImVec4(0.52f, 0.52f, 0.52f, 0.59f);
    colors[ImGuiCol_ButtonActive]           = ImVec4(0.76f, 0.76f, 0.76f, 1.00f);
    colors[ImGuiCol_Header]                 = ImVec4(0.38f, 0.38f, 0.38f, 1.00f);
    colors[ImGuiCol_HeaderHovered]          = ImVec4(0.47f, 0.47f, 0.47f, 1.00f);
    colors[ImGuiCol_HeaderActive]           = ImVec4(0.76f, 0.76f, 0.76f, 0.77f);
    colors[ImGuiCol_Separator]              = ImVec4(0.000f, 0.000f, 0.000f, 0.137f);
    colors[ImGuiCol_SeparatorHovered]       = ImVec4(0.700f, 0.671f, 0.600f, 0.290f);
    colors[ImGuiCol_SeparatorActive]        = ImVec4(0.702f, 0.671f, 0.600f, 0.674f);
    colors[ImGuiCol_ResizeGrip]             = ImVec4(0.26f, 0.59f, 0.98f, 0.25f);
    colors[ImGuiCol_ResizeGripHovered]      = ImVec4(0.26f, 0.59f, 0.98f, 0.67f);
    colors[ImGuiCol_ResizeGripActive]       = ImVec4(0.26f, 0.59f, 0.98f, 0.95f);
    colors[ImGuiCol_PlotLines]              = ImVec4(0.61f, 0.61f, 0.61f, 1.00f);
    colors[ImGuiCol_PlotLinesHovered]       = ImVec4(1.00f, 0.43f, 0.35f, 1.00f);
    colors[ImGuiCol_PlotHistogram]          = ImVec4(0.90f, 0.70f, 0.00f, 1.00f);
    colors[ImGuiCol_PlotHistogramHovered]   = ImVec4(1.00f, 0.60f, 0.00f, 1.00f);
    colors[ImGuiCol_TextSelectedBg]         = ImVec4(0.73f, 0.73f, 0.73f, 0.35f);
    colors[ImGuiCol_ModalWindowDimBg]       = ImVec4(0.80f, 0.80f, 0.80f, 0.35f);
    colors[ImGuiCol_DragDropTarget]         = ImVec4(1.00f, 1.00f, 0.00f, 0.90f);
    colors[ImGuiCol_NavHighlight]           = ImVec4(0.26f, 0.59f, 0.98f, 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);

    style.PopupRounding = 3;

    style.WindowPadding = ImVec2(4, 4);
    style.FramePadding  = ImVec2(6, 4);
    style.ItemSpacing   = ImVec2(6, 2);

    style.ScrollbarSize = 18;

    style.WindowBorderSize = 1;
    style.ChildBorderSize  = 1;
    style.PopupBorderSize  = 1;
    style.FrameBorderSize  = is3D; 

    style.WindowRounding    = 3;
    style.ChildRounding     = 3;
    style.FrameRounding     = 3;
    style.ScrollbarRounding = 2;
    style.GrabRounding      = 3;

    #ifdef IMGUI_HAS_DOCK 
        style.TabBorderSize = is3D; 
        style.TabRounding   = 3;

        colors[ImGuiCol_DockingEmptyBg]     = ImVec4(0.38f, 0.38f, 0.38f, 1.00f);
        colors[ImGuiCol_Tab]                = ImVec4(0.25f, 0.25f, 0.25f, 1.00f);
        colors[ImGuiCol_TabHovered]         = ImVec4(0.40f, 0.40f, 0.40f, 1.00f);
        colors[ImGuiCol_TabActive]          = ImVec4(0.33f, 0.33f, 0.33f, 1.00f);
        colors[ImGuiCol_TabUnfocused]       = ImVec4(0.25f, 0.25f, 0.25f, 1.00f);
        colors[ImGuiCol_TabUnfocusedActive] = ImVec4(0.33f, 0.33f, 0.33f, 1.00f);
        colors[ImGuiCol_DockingPreview]     = ImVec4(0.85f, 0.85f, 0.85f, 0.28f);

        if (ImGui::GetIO().ConfigFlags & ImGuiConfigFlags_ViewportsEnable)
        {
            style.WindowRounding = 0.0f;
            style.Colors[ImGuiCol_WindowBg].w = 1.0f;
        }
    #endif
}

рдПрдХ рдирд┐рдЬреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЖрдЬ ImGui рд░рдВрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдиреЗ рдореЗрдВ рдордЬрд╝рд╛ рдЖрдпрд╛ред
рдореИрдВрдиреЗ 5 рдореВрд▓ рд░рдВрдЧреЛрдВ рд╕реЗ рдПрдХ рдереАрдо рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯреА рдХрдХреНрд╖рд╛ рдмрдирд╛рдИ рдЬреЛ рдЖрдк рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рднреВрд▓ рдЧрдП рдХрд┐ рдпрд╣ imgui рдбреЙрдХрд┐рдВрдЧ рд╢рд╛рдЦрд╛ рдХреЗ рд▓рд┐рдП рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдореИрдВ рдЗрди рд░рдВрдЧреЛрдВ рдХреЛ рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ: https://coolors.co/252131-f4f1de-da115e-792359-c7ef00

EditorColorScheme::ApplyTheme(); рдХреЙрд▓ рдХрд░рдирд╛, рдореБрдЭреЗ рдорд┐рд▓рддрд╛ рд╣реИ:
Default

рдпрд╛ рдПрдХ рдЕрд▓рдЧ рд░рдВрдЧ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде
// From https://coolors.co/1f2421-725ac1-8d86c9-eca400-dce1de ; EditorColorScheme::SetColors(0x1F2421FF /* Background */, 0xDCE1DEFF /* Text */, 0x725AC1FF /* MainColor */, 0x8D86C9FF /* MainAccent */, 0xECA400FF /* Highlight */ );

рдореБрдЭреЗ рдорд┐рд▓рд╛ :
Dark Purple

рдпрд╛
// From : https://coolors.co/c7dfc5-dbdddb-bbddb8-373737-9b287b ; EditorColorScheme::SetColors(0xC7DFC5FF, 0x373737FF, 0x86A586FF, 0xBBDDB8FF, 0x9B287BFF);

Greenpastel

рдХреНрд▓рд╛рд╕ рдпрд╣рд╛рдБ рд╣реИ, рдЕрдЧрд░ рдХреЛрдИ рдЗрд╕рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ:
`
рдХреНрд▓рд╛рд╕ рдПрдбрд┐рдЯрд░рдХреЙрдиреНрд▓рд░рд╢реЗрдо
{{
// 0xRRGGBBAA
рдЗрдирд▓рд╛рдЗрди рд╕реНрдЯреИрдЯрд┐рдХ рдЗрдВрдЯ рдмреИрдХрдЧреИрдбрд░рдХреЛрд▓рд░ = 0x25213100;
рдЗрдирд▓рд╛рдЗрди рд╕реНрдереИрддрд┐рдХ int TextColor = 0xF4F1DE00;
рдЗрдирд▓рд╛рдЗрди рд╕реНрдЯреИрдЯрд┐рдХ рдЗрдиреНрдЯ рдореЗрди рдореЗрдирд░ = 0xDA115E00;
рдЗрдирд▓рд╛рдЗрди рд╕реНрдереИрддрд┐рдХ int MainAccentColor = 0x79235900;
рдЗрдирд▓рд╛рдЗрди рд╕реНрдЯреИрдЯрд┐рдХ рдЗрдВрдЯ рд╣рд╛рдЗрд▓рд╛рдЗрдЯрдХреЛрд▓рд░ = 0xC7EF0000;

    inline static int Black             = 0x00000000;
    inline static int White             = 0xFFFFFF00;

    inline static int AlphaTransparent  = 0x00;
    inline static int Alpha20           = 0x33;
    inline static int Alpha40           = 0x66;
    inline static int Alpha50           = 0x80;
    inline static int Alpha60           = 0x99;
    inline static int Alpha80           = 0xCC;
    inline static int Alpha90           = 0xE6;
    inline static int AlphaFull         = 0xFF;

    static float GetR(int colorCode) { return (float)((colorCode & 0xFF000000) >> 24 ) / (float)(0xFF); }
    static float GetG(int colorCode) { return (float)((colorCode & 0x00FF0000) >> 16 ) / (float)(0xFF); }
    static float GetB(int colorCode) { return (float)((colorCode & 0x0000FF00) >> 8  ) / (float)(0xFF); }
    static float GetA(int alphaCode) { return ((float)alphaCode / (float)0xFF); }

    static ImVec4 GetColor(int c, int a = Alpha80)  { return ImVec4(GetR(c), GetG(c), GetB(c), GetA(a)); }
    static ImVec4 Darken(ImVec4 c, float p)         { return ImVec4(fmax(0.f, c.x - 1.0f * p), fmax(0.f, c.y - 1.0f * p), fmax(0.f, c.z - 1.0f *p), c.w); }
    static ImVec4 Lighten(ImVec4 c, float p)        { return ImVec4(fmax(0.f, c.x + 1.0f * p), fmax(0.f, c.y + 1.0f * p), fmax(0.f, c.z + 1.0f *p), c.w); }

    static ImVec4 Disabled(ImVec4 c)    {   return Darken(c, 0.6f);     }       
    static ImVec4 Hovered(ImVec4 c)     {   return Lighten(c, 0.2f);    }
    static ImVec4 Active(ImVec4 c)      {   return Lighten(ImVec4(c.x, c.y, c.z, 1.0f),0.1f); }
    static ImVec4 Collapsed(ImVec4 c)   {   return Darken(c, 0.2f);     }

public:

    static void SetColors(int backGroundColor, int textColor, int mainColor, int mainAccentColor, int highlightColor)
    {
        BackGroundColor = backGroundColor;
        TextColor = textColor;
        MainColor = mainColor;
        MainAccentColor = mainAccentColor;
        HighlightColor = highlightColor;
    }

    static void ApplyTheme()
    {
        ImVec4* colors = ImGui::GetStyle().Colors;

        colors[ImGuiCol_Text]                   = GetColor(TextColor);
        colors[ImGuiCol_TextDisabled]           = Disabled(colors[ImGuiCol_Text]);
        colors[ImGuiCol_WindowBg]               = GetColor(BackGroundColor);
        colors[ImGuiCol_ChildBg]                = GetColor(Black, Alpha20);
        colors[ImGuiCol_PopupBg]                = GetColor(BackGroundColor, Alpha90);
        colors[ImGuiCol_Border]                 = Lighten(GetColor(BackGroundColor),0.4f);
        colors[ImGuiCol_BorderShadow]           = GetColor(Black);
        colors[ImGuiCol_FrameBg]                = GetColor(MainAccentColor, Alpha40);
        colors[ImGuiCol_FrameBgHovered]         = Hovered(colors[ImGuiCol_FrameBg]);
        colors[ImGuiCol_FrameBgActive]          = Active(colors[ImGuiCol_FrameBg]);
        colors[ImGuiCol_TitleBg]                = GetColor(BackGroundColor, Alpha80);
        colors[ImGuiCol_TitleBgActive]          = Active(colors[ImGuiCol_TitleBg]);
        colors[ImGuiCol_TitleBgCollapsed]       = Collapsed(colors[ImGuiCol_TitleBg]);
        colors[ImGuiCol_MenuBarBg]              = Darken(GetColor(BackGroundColor), 0.2f);
        colors[ImGuiCol_ScrollbarBg]            = Lighten(GetColor(BackGroundColor, Alpha50), 0.4f);
        colors[ImGuiCol_ScrollbarGrab]          = Lighten(GetColor(BackGroundColor), 0.3f);
        colors[ImGuiCol_ScrollbarGrabHovered]   = Hovered(colors[ImGuiCol_ScrollbarGrab]);
        colors[ImGuiCol_ScrollbarGrabActive]    = Active(colors[ImGuiCol_ScrollbarGrab]);
        colors[ImGuiCol_CheckMark]              = GetColor(HighlightColor);
        colors[ImGuiCol_SliderGrab]             = GetColor(HighlightColor);
        colors[ImGuiCol_SliderGrabActive]       = Active(colors[ImGuiCol_SliderGrab]);
        colors[ImGuiCol_Button]                 = GetColor(MainColor, Alpha80);
        colors[ImGuiCol_ButtonHovered]          = Hovered(colors[ImGuiCol_Button]);
        colors[ImGuiCol_ButtonActive]           = Active(colors[ImGuiCol_Button]);
        colors[ImGuiCol_Header]                 = GetColor(MainAccentColor, Alpha80);
        colors[ImGuiCol_HeaderHovered]          = Hovered(colors[ImGuiCol_Header]);
        colors[ImGuiCol_HeaderActive]           = Active(colors[ImGuiCol_Header]);
        colors[ImGuiCol_Separator]              = colors[ImGuiCol_Border];
        colors[ImGuiCol_SeparatorHovered]       = Hovered(colors[ImGuiCol_Separator]);
        colors[ImGuiCol_SeparatorActive]        = Active(colors[ImGuiCol_Separator]);
        colors[ImGuiCol_ResizeGrip]             = GetColor(MainColor, Alpha20);
        colors[ImGuiCol_ResizeGripHovered]      = Hovered(colors[ImGuiCol_ResizeGrip]);
        colors[ImGuiCol_ResizeGripActive]       = Active(colors[ImGuiCol_ResizeGrip]);
        colors[ImGuiCol_Tab]                    = GetColor(MainColor, Alpha60);
        colors[ImGuiCol_TabHovered]             = Hovered(colors[ImGuiCol_Tab]);
        colors[ImGuiCol_TabActive]              = Active(colors[ImGuiCol_Tab]);
        colors[ImGuiCol_TabUnfocused]           = colors[ImGuiCol_Tab];
        colors[ImGuiCol_TabUnfocusedActive]     = colors[ImGuiCol_TabActive];
        colors[ImGuiCol_DockingPreview]         = Darken(colors[ImGuiCol_HeaderActive], 0.2f);
        colors[ImGuiCol_DockingEmptyBg]         = Darken(colors[ImGuiCol_HeaderActive], 0.6f);
        colors[ImGuiCol_PlotLines]              = GetColor(HighlightColor);
        colors[ImGuiCol_PlotLinesHovered]       = Hovered(colors[ImGuiCol_PlotLines]);
        colors[ImGuiCol_PlotHistogram]          = GetColor(HighlightColor);
        colors[ImGuiCol_PlotHistogramHovered]   = Hovered(colors[ImGuiCol_PlotHistogram]);
        colors[ImGuiCol_TextSelectedBg]         = GetColor(HighlightColor, Alpha40);
        colors[ImGuiCol_DragDropTarget]         = GetColor(HighlightColor, Alpha80);;
        colors[ImGuiCol_NavHighlight]           = GetColor(White);
        colors[ImGuiCol_NavWindowingHighlight]  = GetColor(White, Alpha80);
        colors[ImGuiCol_NavWindowingDimBg]      = GetColor(White, Alpha20);
        colors[ImGuiCol_ModalWindowDimBg]       = GetColor(Black, Alpha60);

        ImGui::GetStyle().WindowMenuButtonPosition = ImGuiDir_Right;
    }
};`

рдЕрднреА рддрдХ рдПрдХ рдФрд░ рдЕрдВрдзреЗрд░реЗ рд╡рд┐рд╖рдп:
image

    imGuiIO.Fonts->AddFontFromFileTTF("../data/Fonts/Ruda-Bold.ttf", 15.0f, &config);
    ImGui::GetStyle().FrameRounding = 4.0f;
    ImGui::GetStyle().GrabRounding = 4.0f;

    ImVec4* colors = ImGui::GetStyle().Colors;
    colors[ImGuiCol_Text] = ImVec4(0.95f, 0.96f, 0.98f, 1.00f);
    colors[ImGuiCol_TextDisabled] = ImVec4(0.36f, 0.42f, 0.47f, 1.00f);
    colors[ImGuiCol_WindowBg] = ImVec4(0.11f, 0.15f, 0.17f, 1.00f);
    colors[ImGuiCol_ChildBg] = ImVec4(0.15f, 0.18f, 0.22f, 1.00f);
    colors[ImGuiCol_PopupBg] = ImVec4(0.08f, 0.08f, 0.08f, 0.94f);
    colors[ImGuiCol_Border] = ImVec4(0.08f, 0.10f, 0.12f, 1.00f);
    colors[ImGuiCol_BorderShadow] = ImVec4(0.00f, 0.00f, 0.00f, 0.00f);
    colors[ImGuiCol_FrameBg] = ImVec4(0.20f, 0.25f, 0.29f, 1.00f);
    colors[ImGuiCol_FrameBgHovered] = ImVec4(0.12f, 0.20f, 0.28f, 1.00f);
    colors[ImGuiCol_FrameBgActive] = ImVec4(0.09f, 0.12f, 0.14f, 1.00f);
    colors[ImGuiCol_TitleBg] = ImVec4(0.09f, 0.12f, 0.14f, 0.65f);
    colors[ImGuiCol_TitleBgActive] = ImVec4(0.08f, 0.10f, 0.12f, 1.00f);
    colors[ImGuiCol_TitleBgCollapsed] = ImVec4(0.00f, 0.00f, 0.00f, 0.51f);
    colors[ImGuiCol_MenuBarBg] = ImVec4(0.15f, 0.18f, 0.22f, 1.00f);
    colors[ImGuiCol_ScrollbarBg] = ImVec4(0.02f, 0.02f, 0.02f, 0.39f);
    colors[ImGuiCol_ScrollbarGrab] = ImVec4(0.20f, 0.25f, 0.29f, 1.00f);
    colors[ImGuiCol_ScrollbarGrabHovered] = ImVec4(0.18f, 0.22f, 0.25f, 1.00f);
    colors[ImGuiCol_ScrollbarGrabActive] = ImVec4(0.09f, 0.21f, 0.31f, 1.00f);
    colors[ImGuiCol_CheckMark] = ImVec4(0.28f, 0.56f, 1.00f, 1.00f);
    colors[ImGuiCol_SliderGrab] = ImVec4(0.28f, 0.56f, 1.00f, 1.00f);
    colors[ImGuiCol_SliderGrabActive] = ImVec4(0.37f, 0.61f, 1.00f, 1.00f);
    colors[ImGuiCol_Button] = ImVec4(0.20f, 0.25f, 0.29f, 1.00f);
    colors[ImGuiCol_ButtonHovered] = ImVec4(0.28f, 0.56f, 1.00f, 1.00f);
    colors[ImGuiCol_ButtonActive] = ImVec4(0.06f, 0.53f, 0.98f, 1.00f);
    colors[ImGuiCol_Header] = ImVec4(0.20f, 0.25f, 0.29f, 0.55f);
    colors[ImGuiCol_HeaderHovered] = ImVec4(0.26f, 0.59f, 0.98f, 0.80f);
    colors[ImGuiCol_HeaderActive] = ImVec4(0.26f, 0.59f, 0.98f, 1.00f);
    colors[ImGuiCol_Separator] = ImVec4(0.20f, 0.25f, 0.29f, 1.00f);
    colors[ImGuiCol_SeparatorHovered] = ImVec4(0.10f, 0.40f, 0.75f, 0.78f);
    colors[ImGuiCol_SeparatorActive] = ImVec4(0.10f, 0.40f, 0.75f, 1.00f);
    colors[ImGuiCol_ResizeGrip] = ImVec4(0.26f, 0.59f, 0.98f, 0.25f);
    colors[ImGuiCol_ResizeGripHovered] = ImVec4(0.26f, 0.59f, 0.98f, 0.67f);
    colors[ImGuiCol_ResizeGripActive] = ImVec4(0.26f, 0.59f, 0.98f, 0.95f);
    colors[ImGuiCol_Tab] = ImVec4(0.11f, 0.15f, 0.17f, 1.00f);
    colors[ImGuiCol_TabHovered] = ImVec4(0.26f, 0.59f, 0.98f, 0.80f);
    colors[ImGuiCol_TabActive] = ImVec4(0.20f, 0.25f, 0.29f, 1.00f);
    colors[ImGuiCol_TabUnfocused] = ImVec4(0.11f, 0.15f, 0.17f, 1.00f);
    colors[ImGuiCol_TabUnfocusedActive] = ImVec4(0.11f, 0.15f, 0.17f, 1.00f);
    colors[ImGuiCol_PlotLines] = ImVec4(0.61f, 0.61f, 0.61f, 1.00f);
    colors[ImGuiCol_PlotLinesHovered] = ImVec4(1.00f, 0.43f, 0.35f, 1.00f);
    colors[ImGuiCol_PlotHistogram] = ImVec4(0.90f, 0.70f, 0.00f, 1.00f);
    colors[ImGuiCol_PlotHistogramHovered] = ImVec4(1.00f, 0.60f, 0.00f, 1.00f);
    colors[ImGuiCol_TextSelectedBg] = ImVec4(0.26f, 0.59f, 0.98f, 0.35f);
    colors[ImGuiCol_DragDropTarget] = ImVec4(1.00f, 1.00f, 0.00f, 0.90f);
    colors[ImGuiCol_NavHighlight] = ImVec4(0.26f, 0.59f, 0.98f, 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.80f, 0.80f, 0.80f, 0.35f);

рдХреНрд▓рд╛рд╕рд┐рдХ рд╕реНрдЯреАрдо / рд╣рд╛рдл-рд▓рд╛рдЗрдл VGUI рдереАрдо

image

    ImVec4* colors = ImGui::GetStyle().Colors;
    colors[ImGuiCol_Text]                              = ImVec4(1.00f, 1.00f, 1.00f, 1.00f);
    colors[ImGuiCol_TextDisabled]              = ImVec4(0.50f, 0.50f, 0.50f, 1.00f);
    colors[ImGuiCol_WindowBg]                          = ImVec4(0.29f, 0.34f, 0.26f, 1.00f);
    colors[ImGuiCol_ChildBg]                                = ImVec4(0.29f, 0.34f, 0.26f, 1.00f);
    colors[ImGuiCol_PopupBg]                                = ImVec4(0.24f, 0.27f, 0.20f, 1.00f);
    colors[ImGuiCol_Border]                          = ImVec4(0.54f, 0.57f, 0.51f, 0.50f);
    colors[ImGuiCol_BorderShadow]              = ImVec4(0.14f, 0.16f, 0.11f, 0.52f);
    colors[ImGuiCol_FrameBg]                                = ImVec4(0.24f, 0.27f, 0.20f, 1.00f);
    colors[ImGuiCol_FrameBgHovered]          = ImVec4(0.27f, 0.30f, 0.23f, 1.00f);
    colors[ImGuiCol_FrameBgActive]            = ImVec4(0.30f, 0.34f, 0.26f, 1.00f);
    colors[ImGuiCol_TitleBg]                                = ImVec4(0.24f, 0.27f, 0.20f, 1.00f);
    colors[ImGuiCol_TitleBgActive]            = ImVec4(0.29f, 0.34f, 0.26f, 1.00f);
    colors[ImGuiCol_TitleBgCollapsed]          = ImVec4(0.00f, 0.00f, 0.00f, 0.51f);
    colors[ImGuiCol_MenuBarBg]                        = ImVec4(0.24f, 0.27f, 0.20f, 1.00f);
    colors[ImGuiCol_ScrollbarBg]                    = ImVec4(0.35f, 0.42f, 0.31f, 1.00f);
    colors[ImGuiCol_ScrollbarGrab]            = ImVec4(0.28f, 0.32f, 0.24f, 1.00f);
    colors[ImGuiCol_ScrollbarGrabHovered]   = ImVec4(0.25f, 0.30f, 0.22f, 1.00f);
    colors[ImGuiCol_ScrollbarGrabActive]    = ImVec4(0.23f, 0.27f, 0.21f, 1.00f);
    colors[ImGuiCol_CheckMark]                        = ImVec4(0.59f, 0.54f, 0.18f, 1.00f);
    colors[ImGuiCol_SliderGrab]                      = ImVec4(0.35f, 0.42f, 0.31f, 1.00f);
    colors[ImGuiCol_SliderGrabActive]          = ImVec4(0.54f, 0.57f, 0.51f, 0.50f);
    colors[ImGuiCol_Button]                          = ImVec4(0.29f, 0.34f, 0.26f, 0.40f);
    colors[ImGuiCol_ButtonHovered]            = ImVec4(0.35f, 0.42f, 0.31f, 1.00f);
    colors[ImGuiCol_ButtonActive]              = ImVec4(0.54f, 0.57f, 0.51f, 0.50f);
    colors[ImGuiCol_Header]                          = ImVec4(0.35f, 0.42f, 0.31f, 1.00f);
    colors[ImGuiCol_HeaderHovered]            = ImVec4(0.35f, 0.42f, 0.31f, 0.6f);
    colors[ImGuiCol_HeaderActive]              = ImVec4(0.54f, 0.57f, 0.51f, 0.50f);
    colors[ImGuiCol_Separator]                        = ImVec4(0.14f, 0.16f, 0.11f, 1.00f);
    colors[ImGuiCol_SeparatorHovered]          = ImVec4(0.54f, 0.57f, 0.51f, 1.00f);
    colors[ImGuiCol_SeparatorActive]                = ImVec4(0.59f, 0.54f, 0.18f, 1.00f);
    colors[ImGuiCol_ResizeGrip]                      = ImVec4(0.19f, 0.23f, 0.18f, 0.00f); // grip invis
    colors[ImGuiCol_ResizeGripHovered]        = ImVec4(0.54f, 0.57f, 0.51f, 1.00f);
    colors[ImGuiCol_ResizeGripActive]          = ImVec4(0.59f, 0.54f, 0.18f, 1.00f);
    colors[ImGuiCol_Tab]                                    = ImVec4(0.35f, 0.42f, 0.31f, 1.00f);
    colors[ImGuiCol_TabHovered]                      = ImVec4(0.54f, 0.57f, 0.51f, 0.78f);
    colors[ImGuiCol_TabActive]                        = ImVec4(0.59f, 0.54f, 0.18f, 1.00f);
    colors[ImGuiCol_TabUnfocused]              = ImVec4(0.24f, 0.27f, 0.20f, 1.00f);
    colors[ImGuiCol_TabUnfocusedActive]      = ImVec4(0.35f, 0.42f, 0.31f, 1.00f);
    colors[ImGuiCol_DockingPreview]          = ImVec4(0.59f, 0.54f, 0.18f, 1.00f);
    colors[ImGuiCol_DockingEmptyBg]          = ImVec4(0.20f, 0.20f, 0.20f, 1.00f);
    colors[ImGuiCol_PlotLines]                        = ImVec4(0.61f, 0.61f, 0.61f, 1.00f);
    colors[ImGuiCol_PlotLinesHovered]          = ImVec4(0.59f, 0.54f, 0.18f, 1.00f);
    colors[ImGuiCol_PlotHistogram]            = ImVec4(1.00f, 0.78f, 0.28f, 1.00f);
    colors[ImGuiCol_PlotHistogramHovered]   = ImVec4(1.00f, 0.60f, 0.00f, 1.00f);
    colors[ImGuiCol_TextSelectedBg]          = ImVec4(0.59f, 0.54f, 0.18f, 1.00f);
    colors[ImGuiCol_DragDropTarget]          = ImVec4(0.73f, 0.67f, 0.24f, 1.00f);
    colors[ImGuiCol_NavHighlight]              = ImVec4(0.59f, 0.54f, 0.18f, 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.80f, 0.80f, 0.80f, 0.35f);

    ImGuiStyle& style = ImGui::GetStyle();
    style.FrameBorderSize = 1.0f;
    style.WindowRounding = 0.0f;
    style.ChildRounding = 0.0f;
    style.FrameRounding = 0.0f;
    style.PopupRounding = 0.0f;
    style.ScrollbarRounding = 0.0f;
    style.GrabRounding = 0.0f;
    style.TabRounding = 0.0f;

рдЧреЛрд▓реНрдб рдПрдВрдб рдмреНрд▓реИрдХ рд╕реНрдЯрд╛рдЗрд▓ рдереАрдо, рдЬрд┐рд╕реЗ рдбреЗрд╕ рдкреВрд░реНрд╡: рдорд╛рдирд╡ рдХреНрд░рд╛рдВрддрд┐ рдХреА рдХрд▓рд╛ рд╢реИрд▓реА рдХреЗ рдЕрдиреБрд░реВрдк рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

image

    ImGuiStyle* style = &ImGui::GetStyle();
    ImVec4* colors = style->Colors;

    colors[ImGuiCol_Text]                   = ImVec4(0.92f, 0.92f, 0.92f, 1.00f);
    colors[ImGuiCol_TextDisabled]           = ImVec4(0.44f, 0.44f, 0.44f, 1.00f);
    colors[ImGuiCol_WindowBg]               = ImVec4(0.06f, 0.06f, 0.06f, 1.00f);
    colors[ImGuiCol_ChildBg]                = ImVec4(0.00f, 0.00f, 0.00f, 0.00f);
    colors[ImGuiCol_PopupBg]                = ImVec4(0.08f, 0.08f, 0.08f, 0.94f);
    colors[ImGuiCol_Border]                 = ImVec4(0.51f, 0.36f, 0.15f, 1.00f);
    colors[ImGuiCol_BorderShadow]           = ImVec4(0.00f, 0.00f, 0.00f, 0.00f);
    colors[ImGuiCol_FrameBg]                = ImVec4(0.11f, 0.11f, 0.11f, 1.00f);
    colors[ImGuiCol_FrameBgHovered]         = ImVec4(0.51f, 0.36f, 0.15f, 1.00f);
    colors[ImGuiCol_FrameBgActive]          = ImVec4(0.78f, 0.55f, 0.21f, 1.00f);
    colors[ImGuiCol_TitleBg]                = ImVec4(0.51f, 0.36f, 0.15f, 1.00f);
    colors[ImGuiCol_TitleBgActive]          = ImVec4(0.91f, 0.64f, 0.13f, 1.00f);
    colors[ImGuiCol_TitleBgCollapsed]       = ImVec4(0.00f, 0.00f, 0.00f, 0.51f);
    colors[ImGuiCol_MenuBarBg]              = ImVec4(0.11f, 0.11f, 0.11f, 1.00f);
    colors[ImGuiCol_ScrollbarBg]            = ImVec4(0.06f, 0.06f, 0.06f, 0.53f);
    colors[ImGuiCol_ScrollbarGrab]          = ImVec4(0.21f, 0.21f, 0.21f, 1.00f);
    colors[ImGuiCol_ScrollbarGrabHovered]   = ImVec4(0.47f, 0.47f, 0.47f, 1.00f);
    colors[ImGuiCol_ScrollbarGrabActive]    = ImVec4(0.81f, 0.83f, 0.81f, 1.00f);
    colors[ImGuiCol_CheckMark]              = ImVec4(0.78f, 0.55f, 0.21f, 1.00f);
    colors[ImGuiCol_SliderGrab]             = ImVec4(0.91f, 0.64f, 0.13f, 1.00f);
    colors[ImGuiCol_SliderGrabActive]       = ImVec4(0.91f, 0.64f, 0.13f, 1.00f);
    colors[ImGuiCol_Button]                 = ImVec4(0.51f, 0.36f, 0.15f, 1.00f);
    colors[ImGuiCol_ButtonHovered]          = ImVec4(0.91f, 0.64f, 0.13f, 1.00f);
    colors[ImGuiCol_ButtonActive]           = ImVec4(0.78f, 0.55f, 0.21f, 1.00f);
    colors[ImGuiCol_Header]                 = ImVec4(0.51f, 0.36f, 0.15f, 1.00f);
    colors[ImGuiCol_HeaderHovered]          = ImVec4(0.91f, 0.64f, 0.13f, 1.00f);
    colors[ImGuiCol_HeaderActive]           = ImVec4(0.93f, 0.65f, 0.14f, 1.00f);
    colors[ImGuiCol_Separator]              = ImVec4(0.21f, 0.21f, 0.21f, 1.00f);
    colors[ImGuiCol_SeparatorHovered]       = ImVec4(0.91f, 0.64f, 0.13f, 1.00f);
    colors[ImGuiCol_SeparatorActive]        = ImVec4(0.78f, 0.55f, 0.21f, 1.00f);
    colors[ImGuiCol_ResizeGrip]             = ImVec4(0.21f, 0.21f, 0.21f, 1.00f);
    colors[ImGuiCol_ResizeGripHovered]      = ImVec4(0.91f, 0.64f, 0.13f, 1.00f);
    colors[ImGuiCol_ResizeGripActive]       = ImVec4(0.78f, 0.55f, 0.21f, 1.00f);
    colors[ImGuiCol_Tab]                    = ImVec4(0.51f, 0.36f, 0.15f, 1.00f);
    colors[ImGuiCol_TabHovered]             = ImVec4(0.91f, 0.64f, 0.13f, 1.00f);
    colors[ImGuiCol_TabActive]              = ImVec4(0.78f, 0.55f, 0.21f, 1.00f);
    colors[ImGuiCol_TabUnfocused]           = ImVec4(0.07f, 0.10f, 0.15f, 0.97f);
    colors[ImGuiCol_TabUnfocusedActive]     = ImVec4(0.14f, 0.26f, 0.42f, 1.00f);
    colors[ImGuiCol_PlotLines]              = ImVec4(0.61f, 0.61f, 0.61f, 1.00f);
    colors[ImGuiCol_PlotLinesHovered]       = ImVec4(1.00f, 0.43f, 0.35f, 1.00f);
    colors[ImGuiCol_PlotHistogram]          = ImVec4(0.90f, 0.70f, 0.00f, 1.00f);
    colors[ImGuiCol_PlotHistogramHovered]   = ImVec4(1.00f, 0.60f, 0.00f, 1.00f);
    colors[ImGuiCol_TextSelectedBg]         = ImVec4(0.26f, 0.59f, 0.98f, 0.35f);
    colors[ImGuiCol_DragDropTarget]         = ImVec4(1.00f, 1.00f, 0.00f, 0.90f);
    colors[ImGuiCol_NavHighlight]           = ImVec4(0.26f, 0.59f, 0.98f, 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.80f, 0.80f, 0.80f, 0.35f);

    style->FramePadding = ImVec2(4, 2);
    style->ItemSpacing = ImVec2(10, 2);
    style->IndentSpacing = 12;
    style->ScrollbarSize = 10;

    style->WindowRounding = 4;
    style->FrameRounding = 4;
    style->PopupRounding = 4;
    style->ScrollbarRounding = 6;
    style->GrabRounding = 4;
    style->TabRounding = 4;

    style->WindowTitleAlign = ImVec2(1.0f, 0.5f);
    style->WindowMenuButtonPosition = ImGuiDir_Right;

    style->DisplaySafeAreaPadding = ImVec2(4, 4);

SonicRiders_Ahl9Mhw7S2

C # (DearImguiSharp / рдореЗрд░рд╛ рдЕрдкрдирд╛ рдЖрд╡рд░рдг)

var io = ImGui.GetIO();
var fontPath = Path.Combine(modFolder, "Assets/Fonts/Ruda-Bold.ttf");
var font = ImGui.ImFontAtlasAddFontFromFileTTF(io.Fonts, fontPath, 15.0f, null, ref Unsafe.AsRef<ushort>((void*)0x0));
if (font != null) 
    io.FontDefault = font;

var style = ImGui.GetStyle();
style.FrameRounding = 4.0f;
style.WindowBorderSize = 0.0f;
style.PopupBorderSize = 0.0f;
style.GrabRounding = 4.0f;

var colors = style.Colors;
colors[(int) ImGuiCol.ImGuiColText] = new Vector4(1.00f, 1.00f, 1.00f, 1.00f).ToImVec();
colors[(int) ImGuiCol.ImGuiColTextDisabled] = new Vector4(0.73f, 0.75f, 0.74f, 1.00f).ToImVec();
colors[(int) ImGuiCol.ImGuiColWindowBg] = new Vector4(0.09f, 0.09f, 0.09f, 0.94f).ToImVec();
colors[(int) ImGuiCol.ImGuiColChildBg] = new Vector4(0.00f, 0.00f, 0.00f, 0.00f).ToImVec();
colors[(int) ImGuiCol.ImGuiColPopupBg] = new Vector4(0.08f, 0.08f, 0.08f, 0.94f).ToImVec();
colors[(int) ImGuiCol.ImGuiColBorder] = new Vector4(0.20f, 0.20f, 0.20f, 0.50f).ToImVec();
colors[(int) ImGuiCol.ImGuiColBorderShadow] = new Vector4(0.00f, 0.00f, 0.00f, 0.00f).ToImVec();
colors[(int) ImGuiCol.ImGuiColFrameBg] = new Vector4(0.71f, 0.39f, 0.39f, 0.54f).ToImVec();
colors[(int) ImGuiCol.ImGuiColFrameBgHovered] = new Vector4(0.84f, 0.66f, 0.66f, 0.40f).ToImVec();
colors[(int) ImGuiCol.ImGuiColFrameBgActive] = new Vector4(0.84f, 0.66f, 0.66f, 0.67f).ToImVec();
colors[(int) ImGuiCol.ImGuiColTitleBg] = new Vector4(0.47f, 0.22f, 0.22f, 0.67f).ToImVec();
colors[(int) ImGuiCol.ImGuiColTitleBgActive] = new Vector4(0.47f, 0.22f, 0.22f, 1.00f).ToImVec();
colors[(int) ImGuiCol.ImGuiColTitleBgCollapsed] = new Vector4(0.47f, 0.22f, 0.22f, 0.67f).ToImVec();
colors[(int) ImGuiCol.ImGuiColMenuBarBg] = new Vector4(0.34f, 0.16f, 0.16f, 1.00f).ToImVec();
colors[(int) ImGuiCol.ImGuiColScrollbarBg] = new Vector4(0.02f, 0.02f, 0.02f, 0.53f).ToImVec();
colors[(int) ImGuiCol.ImGuiColScrollbarGrab] = new Vector4(0.31f, 0.31f, 0.31f, 1.00f).ToImVec();
colors[(int) ImGuiCol.ImGuiColScrollbarGrabHovered] = new Vector4(0.41f, 0.41f, 0.41f, 1.00f).ToImVec();
colors[(int) ImGuiCol.ImGuiColScrollbarGrabActive] = new Vector4(0.51f, 0.51f, 0.51f, 1.00f).ToImVec();
colors[(int) ImGuiCol.ImGuiColCheckMark] = new Vector4(1.00f, 1.00f, 1.00f, 1.00f).ToImVec();
colors[(int) ImGuiCol.ImGuiColSliderGrab] = new Vector4(0.71f, 0.39f, 0.39f, 1.00f).ToImVec();
colors[(int) ImGuiCol.ImGuiColSliderGrabActive] = new Vector4(0.84f, 0.66f, 0.66f, 1.00f).ToImVec();
colors[(int) ImGuiCol.ImGuiColButton] = new Vector4(0.47f, 0.22f, 0.22f, 0.65f).ToImVec();
colors[(int) ImGuiCol.ImGuiColButtonHovered] = new Vector4(0.71f, 0.39f, 0.39f, 0.65f).ToImVec();
colors[(int) ImGuiCol.ImGuiColButtonActive] = new Vector4(0.20f, 0.20f, 0.20f, 0.50f).ToImVec();
colors[(int) ImGuiCol.ImGuiColHeader] = new Vector4(0.71f, 0.39f, 0.39f, 0.54f).ToImVec();
colors[(int) ImGuiCol.ImGuiColHeaderHovered] = new Vector4(0.84f, 0.66f, 0.66f, 0.65f).ToImVec();
colors[(int) ImGuiCol.ImGuiColHeaderActive] = new Vector4(0.84f, 0.66f, 0.66f, 0.00f).ToImVec();
colors[(int) ImGuiCol.ImGuiColSeparator] = new Vector4(0.43f, 0.43f, 0.50f, 0.50f).ToImVec();
colors[(int) ImGuiCol.ImGuiColSeparatorHovered] = new Vector4(0.71f, 0.39f, 0.39f, 0.54f).ToImVec();
colors[(int) ImGuiCol.ImGuiColSeparatorActive] = new Vector4(0.71f, 0.39f, 0.39f, 0.54f).ToImVec();
colors[(int) ImGuiCol.ImGuiColResizeGrip] = new Vector4(0.71f, 0.39f, 0.39f, 0.54f).ToImVec();
colors[(int) ImGuiCol.ImGuiColResizeGripHovered] = new Vector4(0.84f, 0.66f, 0.66f, 0.66f).ToImVec();
colors[(int) ImGuiCol.ImGuiColResizeGripActive] = new Vector4(0.84f, 0.66f, 0.66f, 0.66f).ToImVec();
colors[(int) ImGuiCol.ImGuiColTab] = new Vector4(0.71f, 0.39f, 0.39f, 0.54f).ToImVec();
colors[(int) ImGuiCol.ImGuiColTabHovered] = new Vector4(0.84f, 0.66f, 0.66f, 0.66f).ToImVec();
colors[(int) ImGuiCol.ImGuiColTabActive] = new Vector4(0.84f, 0.66f, 0.66f, 0.66f).ToImVec();
colors[(int) ImGuiCol.ImGuiColTabUnfocused] = new Vector4(0.07f, 0.10f, 0.15f, 0.97f).ToImVec();
colors[(int) ImGuiCol.ImGuiColTabUnfocusedActive] = new Vector4(0.14f, 0.26f, 0.42f, 1.00f).ToImVec();
colors[(int) ImGuiCol.ImGuiColPlotLines] = new Vector4(0.61f, 0.61f, 0.61f, 1.00f).ToImVec();
colors[(int) ImGuiCol.ImGuiColPlotLinesHovered] = new Vector4(1.00f, 0.43f, 0.35f, 1.00f).ToImVec();
colors[(int) ImGuiCol.ImGuiColPlotHistogram] = new Vector4(0.90f, 0.70f, 0.00f, 1.00f).ToImVec();
colors[(int) ImGuiCol.ImGuiColPlotHistogramHovered] = new Vector4(1.00f, 0.60f, 0.00f, 1.00f).ToImVec();
colors[(int) ImGuiCol.ImGuiColTextSelectedBg] = new Vector4(0.26f, 0.59f, 0.98f, 0.35f).ToImVec();
colors[(int) ImGuiCol.ImGuiColDragDropTarget] = new Vector4(1.00f, 1.00f, 0.00f, 0.90f).ToImVec();
colors[(int) ImGuiCol.ImGuiColNavHighlight] = new Vector4(0.41f, 0.41f, 0.41f, 1.00f).ToImVec();
colors[(int) ImGuiCol.ImGuiColNavWindowingHighlight] = new Vector4(1.00f, 1.00f, 1.00f, 0.70f).ToImVec();
colors[(int) ImGuiCol.ImGuiColNavWindowingDimBg] = new Vector4(0.80f, 0.80f, 0.80f, 0.20f).ToImVec();
colors[(int) ImGuiCol.ImGuiColModalWindowDimBg] = new Vector4(0.80f, 0.80f, 0.80f, 0.35f).ToImVec();
style.Colors = colors;

рд╕реА ++

// Sorry if there's any errors here, I translated this back by hand.
auto& io = ImGui::GetIO();
io.Fonts->AddFontFromFileTTF("Assets/Fonts//Ruda-Bold.ttf", 15.0f, &config);

auto& style = ImGui::GetStyle();
style.FrameRounding = 4.0f;
style.WindowBorderSize = 0.0f;
style.PopupBorderSize = 0.0f;
style.GrabRounding = 4.0f;

ImVec4* colors = ImGui::GetStyle().Colors;
colors[ImGuiCol_Text]                   = ImVec4(1.00f, 1.00f, 1.00f, 1.00f);
colors[ImGuiCol_TextDisabled]           = ImVec4(0.73f, 0.75f, 0.74f, 1.00f);
colors[ImGuiCol_WindowBg]               = ImVec4(0.09f, 0.09f, 0.09f, 0.94f);
colors[ImGuiCol_ChildBg]                = ImVec4(0.00f, 0.00f, 0.00f, 0.00f);
colors[ImGuiCol_PopupBg]                = ImVec4(0.08f, 0.08f, 0.08f, 0.94f);
colors[ImGuiCol_Border]                 = ImVec4(0.20f, 0.20f, 0.20f, 0.50f);
colors[ImGuiCol_BorderShadow]           = ImVec4(0.00f, 0.00f, 0.00f, 0.00f);
colors[ImGuiCol_FrameBg]                = ImVec4(0.71f, 0.39f, 0.39f, 0.54f);
colors[ImGuiCol_FrameBgHovered]         = ImVec4(0.84f, 0.66f, 0.66f, 0.40f);
colors[ImGuiCol_FrameBgActive]          = ImVec4(0.84f, 0.66f, 0.66f, 0.67f);
colors[ImGuiCol_TitleBg]                = ImVec4(0.47f, 0.22f, 0.22f, 0.67f);
colors[ImGuiCol_TitleBgActive]          = ImVec4(0.47f, 0.22f, 0.22f, 1.00f);
colors[ImGuiCol_TitleBgCollapsed]       = ImVec4(0.47f, 0.22f, 0.22f, 0.67f);
colors[ImGuiCol_MenuBarBg]              = ImVec4(0.34f, 0.16f, 0.16f, 1.00f);
colors[ImGuiCol_ScrollbarBg]            = ImVec4(0.02f, 0.02f, 0.02f, 0.53f);
colors[ImGuiCol_ScrollbarGrab]          = ImVec4(0.31f, 0.31f, 0.31f, 1.00f);
colors[ImGuiCol_ScrollbarGrabHovered]   = ImVec4(0.41f, 0.41f, 0.41f, 1.00f);
colors[ImGuiCol_ScrollbarGrabActive]    = ImVec4(0.51f, 0.51f, 0.51f, 1.00f);
colors[ImGuiCol_CheckMark]              = ImVec4(1.00f, 1.00f, 1.00f, 1.00f);
colors[ImGuiCol_SliderGrab]             = ImVec4(0.71f, 0.39f, 0.39f, 1.00f);
colors[ImGuiCol_SliderGrabActive]       = ImVec4(0.84f, 0.66f, 0.66f, 1.00f);
colors[ImGuiCol_Button]                 = ImVec4(0.47f, 0.22f, 0.22f, 0.65f);
colors[ImGuiCol_ButtonHovered]          = ImVec4(0.71f, 0.39f, 0.39f, 0.65f);
colors[ImGuiCol_ButtonActive]           = ImVec4(0.20f, 0.20f, 0.20f, 0.50f);
colors[ImGuiCol_Header]                 = ImVec4(0.71f, 0.39f, 0.39f, 0.54f);
colors[ImGuiCol_HeaderHovered]          = ImVec4(0.84f, 0.66f, 0.66f, 0.65f);
colors[ImGuiCol_HeaderActive]           = ImVec4(0.84f, 0.66f, 0.66f, 0.00f);
colors[ImGuiCol_Separator]              = ImVec4(0.43f, 0.43f, 0.50f, 0.50f);
colors[ImGuiCol_SeparatorHovered]       = ImVec4(0.71f, 0.39f, 0.39f, 0.54f);
colors[ImGuiCol_SeparatorActive]        = ImVec4(0.71f, 0.39f, 0.39f, 0.54f);
colors[ImGuiCol_ResizeGrip]             = ImVec4(0.71f, 0.39f, 0.39f, 0.54f);
colors[ImGuiCol_ResizeGripHovered]      = ImVec4(0.84f, 0.66f, 0.66f, 0.66f);
colors[ImGuiCol_ResizeGripActive]       = ImVec4(0.84f, 0.66f, 0.66f, 0.66f);
colors[ImGuiCol_Tab]                    = ImVec4(0.71f, 0.39f, 0.39f, 0.54f);
colors[ImGuiCol_TabHovered]             = ImVec4(0.84f, 0.66f, 0.66f, 0.66f);
colors[ImGuiCol_TabActive]              = ImVec4(0.84f, 0.66f, 0.66f, 0.66f);
colors[ImGuiCol_TabUnfocused]           = ImVec4(0.07f, 0.10f, 0.15f, 0.97f);
colors[ImGuiCol_TabUnfocusedActive]     = ImVec4(0.14f, 0.26f, 0.42f, 1.00f);
colors[ImGuiCol_PlotLines]              = ImVec4(0.61f, 0.61f, 0.61f, 1.00f);
colors[ImGuiCol_PlotLinesHovered]       = ImVec4(1.00f, 0.43f, 0.35f, 1.00f);
colors[ImGuiCol_PlotHistogram]          = ImVec4(0.90f, 0.70f, 0.00f, 1.00f);
colors[ImGuiCol_PlotHistogramHovered]   = ImVec4(1.00f, 0.60f, 0.00f, 1.00f);
colors[ImGuiCol_TextSelectedBg]         = ImVec4(0.26f, 0.59f, 0.98f, 0.35f);
colors[ImGuiCol_DragDropTarget]         = ImVec4(1.00f, 1.00f, 0.00f, 0.90f);
colors[ImGuiCol_NavHighlight]           = ImVec4(0.41f, 0.41f, 0.41f, 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.80f, 0.80f, 0.80f, 0.35f);

рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдореЗрдВ рдЧреЗрдо 2006 рд╕реЗ рд╕реЛрдирд┐рдХ рд░рд╛рдЗрдбрд░реНрд╕ рд╣реИ, рдпрд╣ dear imgui рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдореЗрд░рд╛ рдкрд╣рд▓реА рдмрд╛рд░ рд╣реИ рдФрд░ рдореИрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛; рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдЕрдм рддрдХ рдкреНрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред

рдореЗрд░реЗ рдЧреЗрдо рдЗрдВрдЬрди рдХреЗ рд▓рд┐рдП рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдЬреИрд╕реА рдереАрдо рдмрдирд╛рдИред рдореИрдВ рдбреЙрдХрд┐рдВрдЧ рд╢рд╛рдЦрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдорд╛рд╕реНрдЯрд░ рдПрдХ рдкрд░ рд╣реИрдВ рддреЛ рдХреБрдЫ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
screenshot

constexpr auto ColorFromBytes = [](uint8_t r, uint8_t g, uint8_t b)
{
    return ImVec4((float)r / 255.0f, (float)g / 255.0f, (float)b / 255.0f, 1.0f);
};

auto& style = ImGui::GetStyle();
ImVec4* colors = style.Colors;

const ImVec4 bgColor           = ColorFromBytes(37, 37, 38);
const ImVec4 lightBgColor      = ColorFromBytes(82, 82, 85);
const ImVec4 veryLightBgColor  = ColorFromBytes(90, 90, 95);

const ImVec4 panelColor        = ColorFromBytes(51, 51, 55);
const ImVec4 panelHoverColor   = ColorFromBytes(29, 151, 236);
const ImVec4 panelActiveColor  = ColorFromBytes(0, 119, 200);

const ImVec4 textColor         = ColorFromBytes(255, 255, 255);
const ImVec4 textDisabledColor = ColorFromBytes(151, 151, 151);
const ImVec4 borderColor       = ColorFromBytes(78, 78, 78);

colors[ImGuiCol_Text]                 = textColor;
colors[ImGuiCol_TextDisabled]         = textDisabledColor;
colors[ImGuiCol_TextSelectedBg]       = panelActiveColor;
colors[ImGuiCol_WindowBg]             = bgColor;
colors[ImGuiCol_ChildBg]              = bgColor;
colors[ImGuiCol_PopupBg]              = bgColor;
colors[ImGuiCol_Border]               = borderColor;
colors[ImGuiCol_BorderShadow]         = borderColor;
colors[ImGuiCol_FrameBg]              = panelColor;
colors[ImGuiCol_FrameBgHovered]       = panelHoverColor;
colors[ImGuiCol_FrameBgActive]        = panelActiveColor;
colors[ImGuiCol_TitleBg]              = bgColor;
colors[ImGuiCol_TitleBgActive]        = bgColor;
colors[ImGuiCol_TitleBgCollapsed]     = bgColor;
colors[ImGuiCol_MenuBarBg]            = panelColor;
colors[ImGuiCol_ScrollbarBg]          = panelColor;
colors[ImGuiCol_ScrollbarGrab]        = lightBgColor;
colors[ImGuiCol_ScrollbarGrabHovered] = veryLightBgColor;
colors[ImGuiCol_ScrollbarGrabActive]  = veryLightBgColor;
colors[ImGuiCol_CheckMark]            = panelActiveColor;
colors[ImGuiCol_SliderGrab]           = panelHoverColor;
colors[ImGuiCol_SliderGrabActive]     = panelActiveColor;
colors[ImGuiCol_Button]               = panelColor;
colors[ImGuiCol_ButtonHovered]        = panelHoverColor;
colors[ImGuiCol_ButtonActive]         = panelHoverColor;
colors[ImGuiCol_Header]               = panelColor;
colors[ImGuiCol_HeaderHovered]        = panelHoverColor;
colors[ImGuiCol_HeaderActive]         = panelActiveColor;
colors[ImGuiCol_Separator]            = borderColor;
colors[ImGuiCol_SeparatorHovered]     = borderColor;
colors[ImGuiCol_SeparatorActive]      = borderColor;
colors[ImGuiCol_ResizeGrip]           = bgColor;
colors[ImGuiCol_ResizeGripHovered]    = panelColor;
colors[ImGuiCol_ResizeGripActive]     = lightBgColor;
colors[ImGuiCol_PlotLines]            = panelActiveColor;
colors[ImGuiCol_PlotLinesHovered]     = panelHoverColor;
colors[ImGuiCol_PlotHistogram]        = panelActiveColor;
colors[ImGuiCol_PlotHistogramHovered] = panelHoverColor;
colors[ImGuiCol_ModalWindowDarkening] = bgColor;
colors[ImGuiCol_DragDropTarget]       = bgColor;
colors[ImGuiCol_NavHighlight]         = bgColor;
colors[ImGuiCol_DockingPreview]       = panelActiveColor;
colors[ImGuiCol_Tab]                  = bgColor;
colors[ImGuiCol_TabActive]            = panelActiveColor;
colors[ImGuiCol_TabUnfocused]         = bgColor;
colors[ImGuiCol_TabUnfocusedActive]   = panelActiveColor;
colors[ImGuiCol_TabHovered]           = panelHoverColor;

style.WindowRounding    = 0.0f;
style.ChildRounding     = 0.0f;
style.FrameRounding     = 0.0f;
style.GrabRounding      = 0.0f;
style.PopupRounding     = 0.0f;
style.ScrollbarRounding = 0.0f;
style.TabRounding       = 0.0f;

рдореЗрд░реЗ рдЧреЗрдо рдЗрдВрдЬрди рдХрд╛ рдбрд╛рд░реНрдХ рдереАрдо:
ImguiTheme

ImGuiStyle& style = ImGui::GetStyle();
style.Colors[ImGuiCol_Text]                  = ImVec4(1.00f, 1.00f, 1.00f, 1.00f);
style.Colors[ImGuiCol_TextDisabled]          = ImVec4(0.50f, 0.50f, 0.50f, 1.00f);
style.Colors[ImGuiCol_WindowBg]              = ImVec4(0.13f, 0.14f, 0.15f, 1.00f);
style.Colors[ImGuiCol_ChildBg]               = ImVec4(0.13f, 0.14f, 0.15f, 1.00f);
style.Colors[ImGuiCol_PopupBg]               = ImVec4(0.13f, 0.14f, 0.15f, 1.00f);
style.Colors[ImGuiCol_Border]                = ImVec4(0.43f, 0.43f, 0.50f, 0.50f);
style.Colors[ImGuiCol_BorderShadow]          = ImVec4(0.00f, 0.00f, 0.00f, 0.00f);
style.Colors[ImGuiCol_FrameBg]               = ImVec4(0.25f, 0.25f, 0.25f, 1.00f);
style.Colors[ImGuiCol_FrameBgHovered]        = ImVec4(0.38f, 0.38f, 0.38f, 1.00f);
style.Colors[ImGuiCol_FrameBgActive]         = ImVec4(0.67f, 0.67f, 0.67f, 0.39f);
style.Colors[ImGuiCol_TitleBg]               = ImVec4(0.08f, 0.08f, 0.09f, 1.00f);
style.Colors[ImGuiCol_TitleBgActive]         = ImVec4(0.08f, 0.08f, 0.09f, 1.00f);
style.Colors[ImGuiCol_TitleBgCollapsed]      = ImVec4(0.00f, 0.00f, 0.00f, 0.51f);
style.Colors[ImGuiCol_MenuBarBg]             = ImVec4(0.14f, 0.14f, 0.14f, 1.00f);
style.Colors[ImGuiCol_ScrollbarBg]           = ImVec4(0.02f, 0.02f, 0.02f, 0.53f);
style.Colors[ImGuiCol_ScrollbarGrab]         = ImVec4(0.31f, 0.31f, 0.31f, 1.00f);
style.Colors[ImGuiCol_ScrollbarGrabHovered]  = ImVec4(0.41f, 0.41f, 0.41f, 1.00f);
style.Colors[ImGuiCol_ScrollbarGrabActive]   = ImVec4(0.51f, 0.51f, 0.51f, 1.00f);
style.Colors[ImGuiCol_CheckMark]             = ImVec4(0.11f, 0.64f, 0.92f, 1.00f);
style.Colors[ImGuiCol_SliderGrab]            = ImVec4(0.11f, 0.64f, 0.92f, 1.00f);
style.Colors[ImGuiCol_SliderGrabActive]      = ImVec4(0.08f, 0.50f, 0.72f, 1.00f);
style.Colors[ImGuiCol_Button]                = ImVec4(0.25f, 0.25f, 0.25f, 1.00f);
style.Colors[ImGuiCol_ButtonHovered]         = ImVec4(0.38f, 0.38f, 0.38f, 1.00f);
style.Colors[ImGuiCol_ButtonActive]          = ImVec4(0.67f, 0.67f, 0.67f, 0.39f);
style.Colors[ImGuiCol_Header]                = ImVec4(0.22f, 0.22f, 0.22f, 1.00f);
style.Colors[ImGuiCol_HeaderHovered]         = ImVec4(0.25f, 0.25f, 0.25f, 1.00f);
style.Colors[ImGuiCol_HeaderActive]          = ImVec4(0.67f, 0.67f, 0.67f, 0.39f);
style.Colors[ImGuiCol_Separator]             = style.Colors[ImGuiCol_Border];
style.Colors[ImGuiCol_SeparatorHovered]      = ImVec4(0.41f, 0.42f, 0.44f, 1.00f);
style.Colors[ImGuiCol_SeparatorActive]       = ImVec4(0.26f, 0.59f, 0.98f, 0.95f);
style.Colors[ImGuiCol_ResizeGrip]            = ImVec4(0.00f, 0.00f, 0.00f, 0.00f);
style.Colors[ImGuiCol_ResizeGripHovered]     = ImVec4(0.29f, 0.30f, 0.31f, 0.67f);
style.Colors[ImGuiCol_ResizeGripActive]      = ImVec4(0.26f, 0.59f, 0.98f, 0.95f);
style.Colors[ImGuiCol_Tab]                   = ImVec4(0.08f, 0.08f, 0.09f, 0.83f);
style.Colors[ImGuiCol_TabHovered]            = ImVec4(0.33f, 0.34f, 0.36f, 0.83f);
style.Colors[ImGuiCol_TabActive]             = ImVec4(0.23f, 0.23f, 0.24f, 1.00f);
style.Colors[ImGuiCol_TabUnfocused]          = ImVec4(0.08f, 0.08f, 0.09f, 1.00f);
style.Colors[ImGuiCol_TabUnfocusedActive]    = ImVec4(0.13f, 0.14f, 0.15f, 1.00f);
style.Colors[ImGuiCol_DockingPreview]        = ImVec4(0.26f, 0.59f, 0.98f, 0.70f);
style.Colors[ImGuiCol_DockingEmptyBg]        = ImVec4(0.20f, 0.20f, 0.20f, 1.00f);
style.Colors[ImGuiCol_PlotLines]             = ImVec4(0.61f, 0.61f, 0.61f, 1.00f);
style.Colors[ImGuiCol_PlotLinesHovered]      = ImVec4(1.00f, 0.43f, 0.35f, 1.00f);
style.Colors[ImGuiCol_PlotHistogram]         = ImVec4(0.90f, 0.70f, 0.00f, 1.00f);
style.Colors[ImGuiCol_PlotHistogramHovered]  = ImVec4(1.00f, 0.60f, 0.00f, 1.00f);
style.Colors[ImGuiCol_TextSelectedBg]        = ImVec4(0.26f, 0.59f, 0.98f, 0.35f);
style.Colors[ImGuiCol_DragDropTarget]        = ImVec4(0.11f, 0.64f, 0.92f, 1.00f);
style.Colors[ImGuiCol_NavHighlight]          = ImVec4(0.26f, 0.59f, 0.98f, 1.00f);
style.Colors[ImGuiCol_NavWindowingHighlight] = ImVec4(1.00f, 1.00f, 1.00f, 0.70f);
style.Colors[ImGuiCol_NavWindowingDimBg]     = ImVec4(0.80f, 0.80f, 0.80f, 0.20f);
style.Colors[ImGuiCol_ModalWindowDimBg]      = ImVec4(0.80f, 0.80f, 0.80f, 0.35f);
style.GrabRounding                           = style.FrameRounding = 2.3f;
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
5 / 5 - 1 рд░реЗрдЯрд┐рдВрдЧреНрд╕