mirror of
https://github.com/ocornut/imgui.git
synced 2024-11-24 15:50:25 +01:00
Mde it optional to new() io.Font - however it stills needs to be loaded.
This commit is contained in:
parent
51df5874a6
commit
241e8086fa
@ -465,7 +465,6 @@ void InitImGui()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Load font
|
// Load font
|
||||||
io.Font = new ImFont();
|
|
||||||
io.Font->LoadDefault();
|
io.Font->LoadDefault();
|
||||||
//io.Font->LoadFromFileTTF("myfont.ttf", font_size_px, ImFont::GetGlyphRangesDefault());
|
//io.Font->LoadFromFileTTF("myfont.ttf", font_size_px, ImFont::GetGlyphRangesDefault());
|
||||||
//io.Font->DisplayOffset.y += 0.0f;
|
//io.Font->DisplayOffset.y += 0.0f;
|
||||||
|
@ -238,7 +238,6 @@ void InitImGui()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Load font
|
// Load font
|
||||||
io.Font = new ImFont();
|
|
||||||
io.Font->LoadDefault();
|
io.Font->LoadDefault();
|
||||||
//io.Font->LoadFromFileTTF("myfont.ttf", font_size_px, ImFont::GetGlyphRangesDefault());
|
//io.Font->LoadFromFileTTF("myfont.ttf", font_size_px, ImFont::GetGlyphRangesDefault());
|
||||||
//io.Font->DisplayOffset.y += 0.0f;
|
//io.Font->DisplayOffset.y += 0.0f;
|
||||||
|
@ -278,7 +278,6 @@ void InitImGui()
|
|||||||
io.GetClipboardTextFn = ImImpl_GetClipboardTextFn;
|
io.GetClipboardTextFn = ImImpl_GetClipboardTextFn;
|
||||||
|
|
||||||
// Load font
|
// Load font
|
||||||
io.Font = new ImFont();
|
|
||||||
io.Font->LoadDefault();
|
io.Font->LoadDefault();
|
||||||
//io.Font->LoadFromFileTTF("myfont.ttf", font_size_px, ImFont::GetGlyphRangesDefault());
|
//io.Font->LoadFromFileTTF("myfont.ttf", font_size_px, ImFont::GetGlyphRangesDefault());
|
||||||
//io.Font->DisplayOffset.y += 0.0f;
|
//io.Font->DisplayOffset.y += 0.0f;
|
||||||
|
@ -187,7 +187,6 @@ void InitImGui()
|
|||||||
io.GetClipboardTextFn = ImImpl_GetClipboardTextFn;
|
io.GetClipboardTextFn = ImImpl_GetClipboardTextFn;
|
||||||
|
|
||||||
// Load font
|
// Load font
|
||||||
io.Font = new ImFont();
|
|
||||||
io.Font->LoadDefault();
|
io.Font->LoadDefault();
|
||||||
//io.Font->LoadFromFileTTF("myfont.ttf", font_size_px, ImFont::GetGlyphRangesDefault());
|
//io.Font->LoadFromFileTTF("myfont.ttf", font_size_px, ImFont::GetGlyphRangesDefault());
|
||||||
//io.Font->DisplayOffset.y += 0.0f;
|
//io.Font->DisplayOffset.y += 0.0f;
|
||||||
|
25
imgui.cpp
25
imgui.cpp
@ -417,6 +417,12 @@ ImGuiStyle::ImGuiStyle()
|
|||||||
Colors[ImGuiCol_TooltipBg] = ImVec4(0.05f, 0.05f, 0.10f, 0.90f);
|
Colors[ImGuiCol_TooltipBg] = ImVec4(0.05f, 0.05f, 0.10f, 0.90f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// We statically allocate a default font storage for the user.
|
||||||
|
// This allows the user to avoid newing the default font, while keeping IO.Font a pointer which is easy to swap if needed.
|
||||||
|
// We cannot new() the font because user may override MemAllocFn after the ImGuiIO() constructor is called.
|
||||||
|
// For the same reason we cannot call LoadDefault() on the font.
|
||||||
|
static ImFont GDefaultStaticFont;
|
||||||
|
|
||||||
ImGuiIO::ImGuiIO()
|
ImGuiIO::ImGuiIO()
|
||||||
{
|
{
|
||||||
memset(this, 0, sizeof(*this));
|
memset(this, 0, sizeof(*this));
|
||||||
@ -425,7 +431,7 @@ ImGuiIO::ImGuiIO()
|
|||||||
IniSavingRate = 5.0f;
|
IniSavingRate = 5.0f;
|
||||||
IniFilename = "imgui.ini";
|
IniFilename = "imgui.ini";
|
||||||
LogFilename = "imgui_log.txt";
|
LogFilename = "imgui_log.txt";
|
||||||
Font = NULL;
|
Font = &GDefaultStaticFont;
|
||||||
FontGlobalScale = 1.0f;
|
FontGlobalScale = 1.0f;
|
||||||
FontAllowUserScaling = false;
|
FontAllowUserScaling = false;
|
||||||
PixelCenterOffset = 0.0f;
|
PixelCenterOffset = 0.0f;
|
||||||
@ -1663,8 +1669,11 @@ void ImGui::Shutdown()
|
|||||||
}
|
}
|
||||||
if (g.IO.Font)
|
if (g.IO.Font)
|
||||||
{
|
{
|
||||||
g.IO.Font->~ImFont();
|
if (g.IO.Font != &GDefaultStaticFont)
|
||||||
ImGui::MemFree(g.IO.Font);
|
{
|
||||||
|
g.IO.Font->~ImFont();
|
||||||
|
ImGui::MemFree(g.IO.Font);
|
||||||
|
}
|
||||||
g.IO.Font = NULL;
|
g.IO.Font = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -6146,9 +6155,9 @@ void ImDrawList::AddText(ImFont* font, float font_size, const ImVec2& pos, ImU32
|
|||||||
if (text_end == NULL)
|
if (text_end == NULL)
|
||||||
text_end = text_begin + strlen(text_begin);
|
text_end = text_begin + strlen(text_begin);
|
||||||
|
|
||||||
const bool push_texture_id = font->TexID != texture_id_stack.back();
|
const bool push_texture_id = font->TexID != texture_id_stack.back();
|
||||||
if (push_texture_id)
|
if (push_texture_id)
|
||||||
PushTextureID(font->TexID);
|
PushTextureID(font->TexID);
|
||||||
|
|
||||||
// reserve vertices for worse case
|
// reserve vertices for worse case
|
||||||
const unsigned int char_count = (unsigned int)(text_end - text_begin);
|
const unsigned int char_count = (unsigned int)(text_end - text_begin);
|
||||||
@ -6164,8 +6173,8 @@ void ImDrawList::AddText(ImFont* font, float font_size, const ImVec2& pos, ImU32
|
|||||||
commands.back().vtx_count -= (unsigned int)(vtx_count_max - vtx_count);
|
commands.back().vtx_count -= (unsigned int)(vtx_count_max - vtx_count);
|
||||||
vtx_write -= (vtx_count_max - vtx_count);
|
vtx_write -= (vtx_count_max - vtx_count);
|
||||||
|
|
||||||
if (push_texture_id)
|
if (push_texture_id)
|
||||||
PopTextureID();
|
PopTextureID();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ImDrawList::AddImage(ImTextureID user_texture_id, const ImVec2& a, const ImVec2& b, const ImVec2& uv0, const ImVec2& uv1, ImU32 col)
|
void ImDrawList::AddImage(ImTextureID user_texture_id, const ImVec2& a, const ImVec2& b, const ImVec2& uv0, const ImVec2& uv1, ImU32 col)
|
||||||
|
7
imgui.h
7
imgui.h
@ -746,14 +746,15 @@ struct ImFont
|
|||||||
float Scale; // = 1.0f // Base font scale, multiplied by the per-window font scale which you can adjust with SetFontScale()
|
float Scale; // = 1.0f // Base font scale, multiplied by the per-window font scale which you can adjust with SetFontScale()
|
||||||
ImVec2 DisplayOffset; // = (0.0f,0.0f) // Offset font rendering by xx pixels
|
ImVec2 DisplayOffset; // = (0.0f,0.0f) // Offset font rendering by xx pixels
|
||||||
ImWchar FallbackChar; // = '?' // Replacement glyph if one isn't found.
|
ImWchar FallbackChar; // = '?' // Replacement glyph if one isn't found.
|
||||||
ImTextureID TexID; // = NULL // User reference to texture used by the font (ignore if you aren't using multiple fonts/textures)
|
|
||||||
|
|
||||||
// Texture data
|
// Texture data: user is in charge of copying the pixels into a GPU texture.
|
||||||
// User is in charge of copying the pixels into a GPU texture.
|
|
||||||
// You can set 'TexID' to uniquely identify your texture. TexId is copied to the ImDrawCmd structure which you receive during rendering.
|
// You can set 'TexID' to uniquely identify your texture. TexId is copied to the ImDrawCmd structure which you receive during rendering.
|
||||||
|
ImTextureID TexID; // User reference to texture used by the font (ignore if you aren't using multiple fonts/textures)
|
||||||
unsigned char* TexPixels; // 1 byte, 1 component per pixel. Total byte size of TexWidth * TexHeight
|
unsigned char* TexPixels; // 1 byte, 1 component per pixel. Total byte size of TexWidth * TexHeight
|
||||||
int TexWidth;
|
int TexWidth;
|
||||||
int TexHeight;
|
int TexHeight;
|
||||||
|
|
||||||
|
// [Internal]
|
||||||
ImVec2 TexExtraDataPos; // Position of our rectangle where we draw non-font graphics
|
ImVec2 TexExtraDataPos; // Position of our rectangle where we draw non-font graphics
|
||||||
ImVec2 TexUvWhitePixel; // Texture coordinates to a white pixel (part of the TexExtraData block)
|
ImVec2 TexUvWhitePixel; // Texture coordinates to a white pixel (part of the TexExtraData block)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user