@ -2,6 +2,7 @@
// (drawing and font code)
// Contains implementation for
// - Default styles
// - ImDrawList
// - ImDrawData
// - ImFontAtlas
@ -116,6 +117,109 @@ namespace IMGUI_STB_NAMESPACE
using namespace IMGUI_STB_NAMESPACE ;
# endif
//-----------------------------------------------------------------------------
// Style functions
//-----------------------------------------------------------------------------
void ImGui : : StyleColorsClassic ( ImGuiStyle * dst )
{
ImGuiStyle * style = dst ? dst : & ImGui : : GetStyle ( ) ;
ImVec4 * colors = style - > Colors ;
colors [ ImGuiCol_Text ] = ImVec4 ( 0.90f , 0.90f , 0.90f , 1.00f ) ;
colors [ ImGuiCol_TextDisabled ] = ImVec4 ( 0.60f , 0.60f , 0.60f , 1.00f ) ;
colors [ ImGuiCol_WindowBg ] = ImVec4 ( 0.00f , 0.00f , 0.00f , 0.70f ) ;
colors [ ImGuiCol_ChildWindowBg ] = ImVec4 ( 0.00f , 0.00f , 0.00f , 0.00f ) ;
colors [ ImGuiCol_PopupBg ] = ImVec4 ( 0.05f , 0.05f , 0.10f , 0.90f ) ;
colors [ ImGuiCol_Border ] = ImVec4 ( 0.70f , 0.70f , 0.70f , 0.40f ) ;
colors [ ImGuiCol_BorderShadow ] = ImVec4 ( 0.00f , 0.00f , 0.00f , 0.00f ) ;
colors [ ImGuiCol_FrameBg ] = ImVec4 ( 0.80f , 0.80f , 0.80f , 0.30f ) ; // Background of checkbox, radio button, plot, slider, text input
colors [ ImGuiCol_FrameBgHovered ] = ImVec4 ( 0.90f , 0.80f , 0.80f , 0.40f ) ;
colors [ ImGuiCol_FrameBgActive ] = ImVec4 ( 0.90f , 0.65f , 0.65f , 0.45f ) ;
colors [ ImGuiCol_TitleBg ] = ImVec4 ( 0.27f , 0.27f , 0.54f , 0.83f ) ;
colors [ ImGuiCol_TitleBgCollapsed ] = ImVec4 ( 0.40f , 0.40f , 0.80f , 0.20f ) ;
colors [ ImGuiCol_TitleBgActive ] = ImVec4 ( 0.32f , 0.32f , 0.63f , 0.87f ) ;
colors [ ImGuiCol_MenuBarBg ] = ImVec4 ( 0.40f , 0.40f , 0.55f , 0.80f ) ;
colors [ ImGuiCol_ScrollbarBg ] = ImVec4 ( 0.20f , 0.25f , 0.30f , 0.60f ) ;
colors [ ImGuiCol_ScrollbarGrab ] = ImVec4 ( 0.40f , 0.40f , 0.80f , 0.30f ) ;
colors [ ImGuiCol_ScrollbarGrabHovered ] = ImVec4 ( 0.40f , 0.40f , 0.80f , 0.40f ) ;
colors [ ImGuiCol_ScrollbarGrabActive ] = ImVec4 ( 0.80f , 0.50f , 0.50f , 0.40f ) ;
colors [ ImGuiCol_ComboBg ] = ImVec4 ( 0.20f , 0.20f , 0.20f , 0.99f ) ;
colors [ ImGuiCol_CheckMark ] = ImVec4 ( 0.90f , 0.90f , 0.90f , 0.50f ) ;
colors [ ImGuiCol_SliderGrab ] = ImVec4 ( 1.00f , 1.00f , 1.00f , 0.30f ) ;
colors [ ImGuiCol_SliderGrabActive ] = ImVec4 ( 0.80f , 0.50f , 0.50f , 1.00f ) ;
colors [ ImGuiCol_Button ] = ImVec4 ( 0.67f , 0.40f , 0.40f , 0.60f ) ;
colors [ ImGuiCol_ButtonHovered ] = ImVec4 ( 0.67f , 0.40f , 0.40f , 1.00f ) ;
colors [ ImGuiCol_ButtonActive ] = ImVec4 ( 0.80f , 0.50f , 0.50f , 1.00f ) ;
colors [ ImGuiCol_Header ] = ImVec4 ( 0.40f , 0.40f , 0.90f , 0.45f ) ;
colors [ ImGuiCol_HeaderHovered ] = ImVec4 ( 0.45f , 0.45f , 0.90f , 0.80f ) ;
colors [ ImGuiCol_HeaderActive ] = ImVec4 ( 0.53f , 0.53f , 0.87f , 0.80f ) ;
colors [ ImGuiCol_Separator ] = ImVec4 ( 0.50f , 0.50f , 0.50f , 1.00f ) ;
colors [ ImGuiCol_SeparatorHovered ] = ImVec4 ( 0.60f , 0.60f , 0.70f , 1.00f ) ;
colors [ ImGuiCol_SeparatorActive ] = ImVec4 ( 0.70f , 0.70f , 0.90f , 1.00f ) ;
colors [ ImGuiCol_ResizeGrip ] = ImVec4 ( 1.00f , 1.00f , 1.00f , 0.30f ) ;
colors [ ImGuiCol_ResizeGripHovered ] = ImVec4 ( 1.00f , 1.00f , 1.00f , 0.60f ) ;
colors [ ImGuiCol_ResizeGripActive ] = ImVec4 ( 1.00f , 1.00f , 1.00f , 0.90f ) ;
colors [ ImGuiCol_CloseButton ] = ImVec4 ( 0.50f , 0.50f , 0.90f , 0.50f ) ;
colors [ ImGuiCol_CloseButtonHovered ] = ImVec4 ( 0.70f , 0.70f , 0.90f , 0.60f ) ;
colors [ ImGuiCol_CloseButtonActive ] = ImVec4 ( 0.70f , 0.70f , 0.70f , 1.00f ) ;
colors [ ImGuiCol_PlotLines ] = ImVec4 ( 1.00f , 1.00f , 1.00f , 1.00f ) ;
colors [ ImGuiCol_PlotLinesHovered ] = ImVec4 ( 0.90f , 0.70f , 0.00f , 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.00f , 0.00f , 1.00f , 0.35f ) ;
colors [ ImGuiCol_ModalWindowDarkening ] = ImVec4 ( 0.20f , 0.20f , 0.20f , 0.35f ) ;
}
void ImGui : : StyleColorsDark ( ImGuiStyle * dst )
{
ImGuiStyle * style = dst ? dst : & ImGui : : GetStyle ( ) ;
ImVec4 * colors = style - > 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 ] ; //ImVec4(0.61f, 0.61f, 0.61f, 1.00f);
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 ) ;
}
//-----------------------------------------------------------------------------
// ImDrawList
//-----------------------------------------------------------------------------