mirror of
https://github.com/ocornut/imgui.git
synced 2026-01-11 00:04:24 +00:00
(Breaking) Fonts: obsoleting SetWindowFontScale().
+ Comments # Conflicts: # imgui.cpp
This commit is contained in:
parent
59a11363a5
commit
80c08f2286
3 changed files with 18 additions and 10 deletions
17
imgui.cpp
17
imgui.cpp
|
|
@ -8445,6 +8445,7 @@ ImFontBaked* ImGui::GetFontBaked()
|
||||||
return GImGui->FontBaked;
|
return GImGui->FontBaked;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Get current font size (= height in pixels) of current font, with external scale factors applied. Use ImGui::GetStyle().FontSizeBase to get value before external scale factors.
|
||||||
float ImGui::GetFontSize()
|
float ImGui::GetFontSize()
|
||||||
{
|
{
|
||||||
return GImGui->FontSize;
|
return GImGui->FontSize;
|
||||||
|
|
@ -8455,6 +8456,8 @@ ImVec2 ImGui::GetFontTexUvWhitePixel()
|
||||||
return GImGui->DrawListSharedData.TexUvWhitePixel;
|
return GImGui->DrawListSharedData.TexUvWhitePixel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Prefer using PushFontSize(style.FontSize * factor), or use io.FontGlobalScale to scale all windows.
|
||||||
|
#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
|
||||||
void ImGui::SetWindowFontScale(float scale)
|
void ImGui::SetWindowFontScale(float scale)
|
||||||
{
|
{
|
||||||
IM_ASSERT(scale > 0.0f);
|
IM_ASSERT(scale > 0.0f);
|
||||||
|
|
@ -8462,6 +8465,7 @@ void ImGui::SetWindowFontScale(float scale)
|
||||||
window->FontWindowScale = scale;
|
window->FontWindowScale = scale;
|
||||||
UpdateCurrentFontSize(0.0f);
|
UpdateCurrentFontSize(0.0f);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void ImGui::PushFocusScope(ImGuiID id)
|
void ImGui::PushFocusScope(ImGuiID id)
|
||||||
{
|
{
|
||||||
|
|
@ -8737,13 +8741,16 @@ void ImGui::UpdateCurrentFontSize(float restore_font_size_after_scaling)
|
||||||
float final_size = (restore_font_size_after_scaling > 0.0f) ? restore_font_size_after_scaling : 0.0f;
|
float final_size = (restore_font_size_after_scaling > 0.0f) ? restore_font_size_after_scaling : 0.0f;
|
||||||
if (final_size == 0.0f)
|
if (final_size == 0.0f)
|
||||||
{
|
{
|
||||||
final_size = g.FontSizeBeforeScaling * g.IO.FontGlobalScale;
|
final_size = g.FontSizeBeforeScaling;
|
||||||
#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
|
|
||||||
if (g.Font != NULL)
|
// External scale factors
|
||||||
final_size *= g.Font->Scale;
|
final_size *= g.IO.FontGlobalScale;
|
||||||
#endif
|
|
||||||
if (window != NULL)
|
if (window != NULL)
|
||||||
final_size *= window->FontWindowScale;
|
final_size *= window->FontWindowScale;
|
||||||
|
#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
|
||||||
|
if (g.Font != NULL)
|
||||||
|
final_size *= g.Font->Scale;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
// Round font size
|
// Round font size
|
||||||
|
|
|
||||||
5
imgui.h
5
imgui.h
|
|
@ -474,7 +474,6 @@ namespace ImGui
|
||||||
IMGUI_API void SetWindowSize(const ImVec2& size, ImGuiCond cond = 0); // (not recommended) set current window size - call within Begin()/End(). set to ImVec2(0, 0) to force an auto-fit. prefer using SetNextWindowSize(), as this may incur tearing and minor side-effects.
|
IMGUI_API void SetWindowSize(const ImVec2& size, ImGuiCond cond = 0); // (not recommended) set current window size - call within Begin()/End(). set to ImVec2(0, 0) to force an auto-fit. prefer using SetNextWindowSize(), as this may incur tearing and minor side-effects.
|
||||||
IMGUI_API void SetWindowCollapsed(bool collapsed, ImGuiCond cond = 0); // (not recommended) set current window collapsed state. prefer using SetNextWindowCollapsed().
|
IMGUI_API void SetWindowCollapsed(bool collapsed, ImGuiCond cond = 0); // (not recommended) set current window collapsed state. prefer using SetNextWindowCollapsed().
|
||||||
IMGUI_API void SetWindowFocus(); // (not recommended) set current window to be focused / top-most. prefer using SetNextWindowFocus().
|
IMGUI_API void SetWindowFocus(); // (not recommended) set current window to be focused / top-most. prefer using SetNextWindowFocus().
|
||||||
IMGUI_API void SetWindowFontScale(float scale); // [OBSOLETE] set font scale. Adjust IO.FontGlobalScale if you want to scale all windows. This is an old API! For correct scaling, prefer to reload font + rebuild ImFontAtlas + call style.ScaleAllSizes().
|
|
||||||
IMGUI_API void SetWindowPos(const char* name, const ImVec2& pos, ImGuiCond cond = 0); // set named window position.
|
IMGUI_API void SetWindowPos(const char* name, const ImVec2& pos, ImGuiCond cond = 0); // set named window position.
|
||||||
IMGUI_API void SetWindowSize(const char* name, const ImVec2& size, ImGuiCond cond = 0); // set named window size. set axis to 0.0f to force an auto-fit on this axis.
|
IMGUI_API void SetWindowSize(const char* name, const ImVec2& size, ImGuiCond cond = 0); // set named window size. set axis to 0.0f to force an auto-fit on this axis.
|
||||||
IMGUI_API void SetWindowCollapsed(const char* name, bool collapsed, ImGuiCond cond = 0); // set named window collapsed state
|
IMGUI_API void SetWindowCollapsed(const char* name, bool collapsed, ImGuiCond cond = 0); // set named window collapsed state
|
||||||
|
|
@ -532,7 +531,7 @@ namespace ImGui
|
||||||
// Style read access
|
// Style read access
|
||||||
// - Use the ShowStyleEditor() function to interactively see/edit the colors.
|
// - Use the ShowStyleEditor() function to interactively see/edit the colors.
|
||||||
IMGUI_API ImFont* GetFont(); // get current font
|
IMGUI_API ImFont* GetFont(); // get current font
|
||||||
IMGUI_API float GetFontSize(); // get current font size (= height in pixels) of current font with current scale applied
|
IMGUI_API float GetFontSize(); // get current font size (= height in pixels) of current font with external scale factors applied. Use ImGui::GetStyle().FontSizeBase to get value before external scale factors.
|
||||||
IMGUI_API ImVec2 GetFontTexUvWhitePixel(); // get UV coordinate for a white pixel, useful to draw custom shapes via the ImDrawList API
|
IMGUI_API ImVec2 GetFontTexUvWhitePixel(); // get UV coordinate for a white pixel, useful to draw custom shapes via the ImDrawList API
|
||||||
IMGUI_API ImFontBaked* GetFontBaked(); // get current font bound at current size // == GetFont()->GetFontBaked(GetFontSize())
|
IMGUI_API ImFontBaked* GetFontBaked(); // get current font bound at current size // == GetFont()->GetFontBaked(GetFontSize())
|
||||||
IMGUI_API ImU32 GetColorU32(ImGuiCol idx, float alpha_mul = 1.0f); // retrieve given style color with style alpha applied and optional extra alpha multiplier, packed as a 32-bit value suitable for ImDrawList
|
IMGUI_API ImU32 GetColorU32(ImGuiCol idx, float alpha_mul = 1.0f); // retrieve given style color with style alpha applied and optional extra alpha multiplier, packed as a 32-bit value suitable for ImDrawList
|
||||||
|
|
@ -3943,6 +3942,8 @@ struct ImGuiPlatformImeData
|
||||||
#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
|
#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
|
||||||
namespace ImGui
|
namespace ImGui
|
||||||
{
|
{
|
||||||
|
// OBSOLETED in 1.92.0 (from June 2025)
|
||||||
|
IMGUI_API void SetWindowFontScale(float scale); // Set font scale factor for current window. Prefer using PushFontSize(style.FontSize * factor) or use io.FontGlobalScale to scale all windows.
|
||||||
// OBSOLETED in 1.91.9 (from February 2025)
|
// OBSOLETED in 1.91.9 (from February 2025)
|
||||||
IMGUI_API void Image(ImTextureRef tex_ref, const ImVec2& image_size, const ImVec2& uv0, const ImVec2& uv1, const ImVec4& tint_col, const ImVec4& border_col); // <-- 'border_col' was removed in favor of ImGuiCol_ImageBorder. If you use 'tint_col', use ImageWithBg() instead.
|
IMGUI_API void Image(ImTextureRef tex_ref, const ImVec2& image_size, const ImVec2& uv0, const ImVec2& uv1, const ImVec4& tint_col, const ImVec4& border_col); // <-- 'border_col' was removed in favor of ImGuiCol_ImageBorder. If you use 'tint_col', use ImageWithBg() instead.
|
||||||
// OBSOLETED in 1.91.0 (from July 2024)
|
// OBSOLETED in 1.91.0 (from July 2024)
|
||||||
|
|
|
||||||
|
|
@ -8485,11 +8485,11 @@ void ImGui::ShowStyleEditor(ImGuiStyle* ref)
|
||||||
"However, the _correct_ way of scaling your UI is currently to reload your font at the designed size, "
|
"However, the _correct_ way of scaling your UI is currently to reload your font at the designed size, "
|
||||||
"rebuild the font atlas, and call style.ScaleAllSizes() on a reference ImGuiStyle structure.\n"
|
"rebuild the font atlas, and call style.ScaleAllSizes() on a reference ImGuiStyle structure.\n"
|
||||||
"Using those settings here will give you poor quality results.");
|
"Using those settings here will give you poor quality results.");
|
||||||
static float window_scale = 1.0f;
|
|
||||||
PushItemWidth(GetFontSize() * 8);
|
PushItemWidth(GetFontSize() * 8);
|
||||||
if (DragFloat("window scale", &window_scale, 0.005f, MIN_SCALE, MAX_SCALE, "%.2f", ImGuiSliderFlags_AlwaysClamp)) // Scale only this window
|
|
||||||
SetWindowFontScale(window_scale);
|
|
||||||
DragFloat("global scale", &io.FontGlobalScale, 0.005f, MIN_SCALE, MAX_SCALE, "%.2f", ImGuiSliderFlags_AlwaysClamp); // Scale everything
|
DragFloat("global scale", &io.FontGlobalScale, 0.005f, MIN_SCALE, MAX_SCALE, "%.2f", ImGuiSliderFlags_AlwaysClamp); // Scale everything
|
||||||
|
//static float window_scale = 1.0f;
|
||||||
|
//if (DragFloat("window scale", &window_scale, 0.005f, MIN_SCALE, MAX_SCALE, "%.2f", ImGuiSliderFlags_AlwaysClamp)) // Scale only this window
|
||||||
|
// SetWindowFontScale(window_scale);
|
||||||
PopItemWidth();
|
PopItemWidth();
|
||||||
|
|
||||||
EndTabItem();
|
EndTabItem();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue