From 6fa3aaf7c00538c508578295f37801a49edbeb77 Mon Sep 17 00:00:00 2001 From: James Fulop Date: Sun, 16 Oct 2016 12:21:38 -0400 Subject: [PATCH 01/11] outdated dragging API mentioned in demo text Looks like you changed the API on dragging, but did not update the description text for it. https://github.com/ocornut/imgui/issues/167 --- imgui_demo.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/imgui_demo.cpp b/imgui_demo.cpp index e2ede9bde..544d6230f 100644 --- a/imgui_demo.cpp +++ b/imgui_demo.cpp @@ -1542,7 +1542,7 @@ void ImGui::ShowTestWindow(bool* p_open) if (ImGui::TreeNode("Dragging")) { - ImGui::TextWrapped("You can use ImGui::GetItemActiveDragDelta() to query for the dragged amount on any widget."); + ImGui::TextWrapped("You can use ImGui::GetMouseDragDelta(0) to query for the dragged amount on any widget."); ImGui::Button("Drag Me"); if (ImGui::IsItemActive()) { From ddf08ec2e846659a298351b6f9d91cf5d641b991 Mon Sep 17 00:00:00 2001 From: ocornut Date: Sun, 6 Nov 2016 15:12:45 +0100 Subject: [PATCH 02/11] BeginChild(const char*) applies stack id to provided label (#894, #713) --- imgui.cpp | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/imgui.cpp b/imgui.cpp index 07466840b..c143d0b08 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -150,6 +150,7 @@ Here is a change-log of API breaking changes, if you are using one of the functions listed, expect to have to fix some code. Also read releases logs https://github.com/ocornut/imgui/releases for more details. + - 2016/11/06 (1.50) - BeginChild(const char*) now applies the stack id to the provided label, consistently with other functions as it should always have been. It shouldn't affect you unless (extremely unlikely) you were appending multiple times to a same child from different locations of the stack id. If that's the case, generate an id with GetId() and use it instead of passing string to BeginChild(). - 2016/10/15 (1.50) - avoid 'void* user_data' parameter to io.SetClipboardTextFn/io.GetClipboardTextFn pointers. We pass io.ClipboardUserData to it. - 2016/09/25 (1.50) - style.WindowTitleAlign is now a ImVec2 (ImGuiAlign enum was removed). set to (0.5f,0.5f) for horizontal+vertical centering, (0.0f,0.0f) for upper-left, etc. - 2016/07/30 (1.50) - SameLine(x) with x>0.0f is now relative to left of column/group if any, and not always to left of window. This was sort of always the intent and hopefully breakage should be minimal. @@ -3581,12 +3582,12 @@ bool ImGui::BeginPopupContextVoid(const char* str_id, int mouse_button) return BeginPopup(str_id); } -bool ImGui::BeginChild(const char* str_id, const ImVec2& size_arg, bool border, ImGuiWindowFlags extra_flags) +static bool BeginChildEx(const char* name, ImGuiID id, const ImVec2& size_arg, bool border, ImGuiWindowFlags extra_flags) { - ImGuiWindow* window = GetCurrentWindow(); + ImGuiWindow* window = ImGui::GetCurrentWindow(); ImGuiWindowFlags flags = ImGuiWindowFlags_NoTitleBar|ImGuiWindowFlags_NoResize|ImGuiWindowFlags_NoSavedSettings|ImGuiWindowFlags_ChildWindow; - const ImVec2 content_avail = GetContentRegionAvail(); + const ImVec2 content_avail = ImGui::GetContentRegionAvail(); ImVec2 size = ImFloor(size_arg); if (size.x <= 0.0f) { @@ -3605,22 +3606,28 @@ bool ImGui::BeginChild(const char* str_id, const ImVec2& size_arg, bool border, flags |= extra_flags; char title[256]; - ImFormatString(title, IM_ARRAYSIZE(title), "%s.%s", window->Name, str_id); + if (name) + ImFormatString(title, IM_ARRAYSIZE(title), "%s.%s.%08X", window->Name, name, id); + else + ImFormatString(title, IM_ARRAYSIZE(title), "%s.%08X", window->Name, id); bool ret = ImGui::Begin(title, NULL, size, -1.0f, flags); if (!(window->Flags & ImGuiWindowFlags_ShowBorders)) - GetCurrentWindow()->Flags &= ~ImGuiWindowFlags_ShowBorders; + ImGui::GetCurrentWindow()->Flags &= ~ImGuiWindowFlags_ShowBorders; return ret; } -bool ImGui::BeginChild(ImGuiID id, const ImVec2& size, bool border, ImGuiWindowFlags extra_flags) +bool ImGui::BeginChild(const char* str_id, const ImVec2& size_arg, bool border, ImGuiWindowFlags extra_flags) { - char str_id[32]; - ImFormatString(str_id, IM_ARRAYSIZE(str_id), "child_%08x", id); - bool ret = ImGui::BeginChild(str_id, size, border, extra_flags); - return ret; + ImGuiWindow* window = GetCurrentWindow(); + return BeginChildEx(str_id, window->GetID(str_id), size_arg, border, extra_flags); +} + +bool ImGui::BeginChild(ImGuiID id, const ImVec2& size_arg, bool border, ImGuiWindowFlags extra_flags) +{ + return BeginChildEx(NULL, id, size_arg, border, extra_flags); } void ImGui::EndChild() From 907dd2ed2026c2b093dafcf593e66031675e592c Mon Sep 17 00:00:00 2001 From: ocornut Date: Sun, 6 Nov 2016 15:25:28 +0100 Subject: [PATCH 03/11] Comments (#896) --- imgui_draw.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/imgui_draw.cpp b/imgui_draw.cpp index ade417771..7bdb94c7b 100644 --- a/imgui_draw.cpp +++ b/imgui_draw.cpp @@ -1942,7 +1942,7 @@ ImVec2 ImFont::CalcTextSizeA(float size, float max_width, float wrap_width, cons else { s += ImTextCharFromUtf8(&c, s, text_end); - if (c == 0) + if (c == 0) // Malformed UTF-8? break; } @@ -2000,7 +2000,7 @@ void ImFont::RenderChar(ImDrawList* draw_list, float size, ImVec2 pos, ImU32 col void ImFont::RenderText(ImDrawList* draw_list, float size, ImVec2 pos, ImU32 col, const ImVec4& clip_rect, const char* text_begin, const char* text_end, float wrap_width, bool cpu_fine_clip) const { if (!text_end) - text_end = text_begin + strlen(text_begin); + text_end = text_begin + strlen(text_begin); // ImGui functions generally already provides a valid text_end, so this is merely to handle direct calls. // Align to be pixel perfect pos.x = (float)(int)pos.x + DisplayOffset.x; @@ -2068,7 +2068,7 @@ void ImFont::RenderText(ImDrawList* draw_list, float size, ImVec2 pos, ImU32 col else { s += ImTextCharFromUtf8(&c, s, text_end); - if (c == 0) + if (c == 0) // Malformed UTF-8? break; } From 357167f917c3f92bf3fbeb11bf29a304caa50593 Mon Sep 17 00:00:00 2001 From: ocornut Date: Sun, 6 Nov 2016 18:13:14 +0100 Subject: [PATCH 04/11] Demo: Custom Rendering: Tweak so end of line can be dropped outside of canvas, more pleasing. --- imgui_demo.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/imgui_demo.cpp b/imgui_demo.cpp index 544d6230f..4ad5e6472 100644 --- a/imgui_demo.cpp +++ b/imgui_demo.cpp @@ -2041,21 +2041,21 @@ static void ShowExampleAppCustomRendering(bool* p_open) bool adding_preview = false; ImGui::InvisibleButton("canvas", canvas_size); + ImVec2 mouse_pos_in_canvas = ImVec2(ImGui::GetIO().MousePos.x - canvas_pos.x, ImGui::GetIO().MousePos.y - canvas_pos.y); + if (adding_line) + { + adding_preview = true; + points.push_back(mouse_pos_in_canvas); + if (!ImGui::GetIO().MouseDown[0]) + adding_line = adding_preview = false; + } if (ImGui::IsItemHovered()) { - ImVec2 mouse_pos_in_canvas = ImVec2(ImGui::GetIO().MousePos.x - canvas_pos.x, ImGui::GetIO().MousePos.y - canvas_pos.y); if (!adding_line && ImGui::IsMouseClicked(0)) { points.push_back(mouse_pos_in_canvas); adding_line = true; } - if (adding_line) - { - adding_preview = true; - points.push_back(mouse_pos_in_canvas); - if (!ImGui::GetIO().MouseDown[0]) - adding_line = adding_preview = false; - } if (ImGui::IsMouseClicked(1) && !points.empty()) { adding_line = adding_preview = false; From b376b683263aabc69fa8a6983b93a0238458232f Mon Sep 17 00:00:00 2001 From: ocornut Date: Sun, 6 Nov 2016 21:50:18 +0100 Subject: [PATCH 05/11] Font: Added io.FontDefault in ImGuiIO structure to make it easier to change default font from third-party or demo code --- imgui.cpp | 15 ++++++++++++--- imgui.h | 1 + imgui_demo.cpp | 5 +++-- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/imgui.cpp b/imgui.cpp index c143d0b08..e7984b9bc 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -658,6 +658,7 @@ static float GetDraggedColumnOffset(int column_index); static bool IsKeyPressedMap(ImGuiKey key, bool repeat = true); +static ImFont* GetDefaultFont(); static void SetCurrentFont(ImFont* font); static void SetCurrentWindow(ImGuiWindow* window); static void SetWindowScrollY(ImGuiWindow* window, float new_scroll_y); @@ -809,6 +810,7 @@ ImGuiIO::ImGuiIO() LogFilename = "imgui_log.txt"; Fonts = &GImDefaultFontAtlas; FontGlobalScale = 1.0f; + FontDefault = NULL; DisplayFramebufferScale = ImVec2(1.0f, 1.0f); MousePos = ImVec2(-1,-1); MousePosPrev = ImVec2(-1,-1); @@ -2106,7 +2108,8 @@ void ImGui::NewFrame() g.Initialized = true; } - SetCurrentFont(g.IO.Fonts->Fonts[0]); + SetCurrentFont(GetDefaultFont()); + IM_ASSERT(g.Font->IsLoaded()); g.Time += g.IO.DeltaTime; g.FrameCount += 1; @@ -4586,6 +4589,12 @@ float ImGui::CalcItemWidth() return w; } +static ImFont* GetDefaultFont() +{ + ImGuiContext& g = *GImGui; + return g.IO.FontDefault ? g.IO.FontDefault : g.IO.Fonts->Fonts[0]; +} + static void SetCurrentFont(ImFont* font) { ImGuiContext& g = *GImGui; @@ -4601,7 +4610,7 @@ void ImGui::PushFont(ImFont* font) { ImGuiContext& g = *GImGui; if (!font) - font = g.IO.Fonts->Fonts[0]; + font = GetDefaultFont(); SetCurrentFont(font); g.FontStack.push_back(font); g.CurrentWindow->DrawList->PushTextureID(font->ContainerAtlas->TexID); @@ -4612,7 +4621,7 @@ void ImGui::PopFont() ImGuiContext& g = *GImGui; g.CurrentWindow->DrawList->PopTextureID(); g.FontStack.pop_back(); - SetCurrentFont(g.FontStack.empty() ? g.IO.Fonts->Fonts[0] : g.FontStack.back()); + SetCurrentFont(g.FontStack.empty() ? GetDefaultFont() : g.FontStack.back()); } void ImGui::PushAllowKeyboardFocus(bool allow_keyboard_focus) diff --git a/imgui.h b/imgui.h index edb1d68d5..776b4d5ce 100644 --- a/imgui.h +++ b/imgui.h @@ -739,6 +739,7 @@ struct ImGuiIO ImFontAtlas* Fonts; // // Load and assemble one or more fonts into a single tightly packed texture. Output to Fonts array. float FontGlobalScale; // = 1.0f // Global scale all fonts bool FontAllowUserScaling; // = false // Allow user scaling text of individual window with CTRL+Wheel. + ImFont* FontDefault; // = NULL // Font to use on NewFrame(). Use NULL to uses Fonts->Fonts[0]. ImVec2 DisplayFramebufferScale; // = (1.0f,1.0f) // For retina display or other situations where window coordinates are different from framebuffer coordinates. User storage only, presently not used by ImGui. ImVec2 DisplayVisibleMin; // (0.0f,0.0f) // If you use DisplaySize as a virtual space larger than your screen, set DisplayVisibleMin/Max to the visible area. ImVec2 DisplayVisibleMax; // (0.0f,0.0f) // If the values are the same, we defaults to Min=(0.0f) and Max=DisplaySize diff --git a/imgui_demo.cpp b/imgui_demo.cpp index 4ad5e6472..e52151411 100644 --- a/imgui_demo.cpp +++ b/imgui_demo.cpp @@ -1721,7 +1721,8 @@ void ImGui::ShowStyleEditor(ImGuiStyle* ref) if (ImGui::TreeNode("Fonts", "Fonts (%d)", ImGui::GetIO().Fonts->Fonts.Size)) { ImGui::SameLine(); ShowHelpMarker("Tip: Load fonts with io.Fonts->AddFontFromFileTTF()\nbefore calling io.Fonts->GetTex* functions."); - ImFontAtlas* atlas = ImGui::GetIO().Fonts; + ImGuiIO& io = ImGui::GetIO(); + ImFontAtlas* atlas = io.Fonts; if (ImGui::TreeNode("Atlas texture", "Atlas texture (%dx%d pixels)", atlas->TexWidth, atlas->TexHeight)) { ImGui::Image(atlas->TexID, ImVec2((float)atlas->TexWidth, (float)atlas->TexHeight), ImVec2(0,0), ImVec2(1,1), ImColor(255,255,255,255), ImColor(255,255,255,128)); @@ -1733,7 +1734,7 @@ void ImGui::ShowStyleEditor(ImGuiStyle* ref) ImFont* font = atlas->Fonts[i]; ImGui::BulletText("Font %d: \'%s\', %.2f px, %d glyphs", i, font->ConfigData ? font->ConfigData[0].Name : "", font->FontSize, font->Glyphs.Size); ImGui::TreePush((void*)(intptr_t)i); - if (i > 0) { ImGui::SameLine(); if (ImGui::SmallButton("Set as default")) { atlas->Fonts[i] = atlas->Fonts[0]; atlas->Fonts[0] = font; } } + ImGui::SameLine(); if (ImGui::SmallButton("Set as default")) io.FontDefault = font; ImGui::PushFont(font); ImGui::Text("The quick brown fox jumps over the lazy dog"); ImGui::PopFont(); From b2f0ea6c0de9869ecc704b659f2805f3d55ee844 Mon Sep 17 00:00:00 2001 From: ocornut Date: Sun, 6 Nov 2016 21:51:20 +0100 Subject: [PATCH 06/11] Font: Default font given explicit name "ProggyClean.ttf" --- imgui_demo.cpp | 5 ++--- imgui_draw.cpp | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/imgui_demo.cpp b/imgui_demo.cpp index e52151411..ffc66a933 100644 --- a/imgui_demo.cpp +++ b/imgui_demo.cpp @@ -1721,8 +1721,7 @@ void ImGui::ShowStyleEditor(ImGuiStyle* ref) if (ImGui::TreeNode("Fonts", "Fonts (%d)", ImGui::GetIO().Fonts->Fonts.Size)) { ImGui::SameLine(); ShowHelpMarker("Tip: Load fonts with io.Fonts->AddFontFromFileTTF()\nbefore calling io.Fonts->GetTex* functions."); - ImGuiIO& io = ImGui::GetIO(); - ImFontAtlas* atlas = io.Fonts; + ImFontAtlas* atlas = ImGui::GetIO().Fonts; if (ImGui::TreeNode("Atlas texture", "Atlas texture (%dx%d pixels)", atlas->TexWidth, atlas->TexHeight)) { ImGui::Image(atlas->TexID, ImVec2((float)atlas->TexWidth, (float)atlas->TexHeight), ImVec2(0,0), ImVec2(1,1), ImColor(255,255,255,255), ImColor(255,255,255,128)); @@ -1734,7 +1733,7 @@ void ImGui::ShowStyleEditor(ImGuiStyle* ref) ImFont* font = atlas->Fonts[i]; ImGui::BulletText("Font %d: \'%s\', %.2f px, %d glyphs", i, font->ConfigData ? font->ConfigData[0].Name : "", font->FontSize, font->Glyphs.Size); ImGui::TreePush((void*)(intptr_t)i); - ImGui::SameLine(); if (ImGui::SmallButton("Set as default")) io.FontDefault = font; + ImGui::SameLine(); if (ImGui::SmallButton("Set as default")) ImGui::GetIO().FontDefault = font; ImGui::PushFont(font); ImGui::Text("The quick brown fox jumps over the lazy dog"); ImGui::PopFont(); diff --git a/imgui_draw.cpp b/imgui_draw.cpp index 7bdb94c7b..b8b4d9ee3 100644 --- a/imgui_draw.cpp +++ b/imgui_draw.cpp @@ -1184,7 +1184,7 @@ ImFont* ImFontAtlas::AddFontDefault(const ImFontConfig* font_cfg_template) font_cfg.OversampleH = font_cfg.OversampleV = 1; font_cfg.PixelSnapH = true; } - if (font_cfg.Name[0] == '\0') strcpy(font_cfg.Name, ""); + if (font_cfg.Name[0] == '\0') strcpy(font_cfg.Name, "ProggyClean.ttf"); const char* ttf_compressed_base85 = GetDefaultCompressedFontDataTTFBase85(); ImFont* font = AddFontFromMemoryCompressedBase85TTF(ttf_compressed_base85, 13.0f, &font_cfg, GetGlyphRangesDefault()); From 84f480a6387b2aa4ed12ae1d65b8ce04c4bb2b72 Mon Sep 17 00:00:00 2001 From: ocornut Date: Sun, 6 Nov 2016 22:21:10 +0100 Subject: [PATCH 07/11] Font: Added Roboto-Medium + tweaked readme --- extra_fonts/README.txt | 13 +++++++++++-- extra_fonts/Roboto-Medium.ttf | Bin 0 -> 162588 bytes 2 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 extra_fonts/Roboto-Medium.ttf diff --git a/extra_fonts/README.txt b/extra_fonts/README.txt index 1e9bc13ce..7ba7b33a9 100644 --- a/extra_fonts/README.txt +++ b/extra_fonts/README.txt @@ -94,9 +94,16 @@ FONT FILES INCLUDED IN THIS FOLDER --------------------------------- + Roboto-Medium.ttf + Apache License 2.0 + by Christian Robertson + https://fonts.google.com/specimen/Roboto + Cousine-Regular.ttf + by Steve Matteson Digitized data copyright (c) 2010 Google Corporation. - Licensed under the SIL Open Font License, Version 1.1 + Licensed under the SIL Open Font License, Version 1.1 + https://fonts.google.com/specimen/Cousine DroidSans.ttf Copyright (c) Steve Matteson @@ -107,13 +114,15 @@ Copyright (c) 2004, 2005 Tristan Grimmer MIT License recommended loading setting in ImGui: Size = 13.0, DisplayOffset.Y = +1 + http://www.proggyfonts.net/ ProggyTiny.ttf Copyright (c) 2004, 2005 Tristan Grimmer MIT License recommended loading setting in ImGui: Size = 10.0, DisplayOffset.Y = +1 + http://www.proggyfonts.net/ - Karla-Regular + Karla-Regular.ttf Copyright (c) 2012, Jonathan Pinhorn SIL OPEN FONT LICENSE Version 1.1 diff --git a/extra_fonts/Roboto-Medium.ttf b/extra_fonts/Roboto-Medium.ttf new file mode 100644 index 0000000000000000000000000000000000000000..39c63d7461796094c0b8889ee8fe2706d344a99a GIT binary patch literal 162588 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 z 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 GERq0N(MvP{ literal 0 HcmV?d00001 From 620497e466cae0b5f3dc849a7fbff559ac0ad2cf Mon Sep 17 00:00:00 2001 From: ocornut Date: Sun, 6 Nov 2016 22:21:21 +0100 Subject: [PATCH 08/11] Font: Font name include size --- imgui_draw.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/imgui_draw.cpp b/imgui_draw.cpp index b8b4d9ee3..a60748016 100644 --- a/imgui_draw.cpp +++ b/imgui_draw.cpp @@ -1184,7 +1184,7 @@ ImFont* ImFontAtlas::AddFontDefault(const ImFontConfig* font_cfg_template) font_cfg.OversampleH = font_cfg.OversampleV = 1; font_cfg.PixelSnapH = true; } - if (font_cfg.Name[0] == '\0') strcpy(font_cfg.Name, "ProggyClean.ttf"); + if (font_cfg.Name[0] == '\0') strcpy(font_cfg.Name, "ProggyClean.ttf, 13px"); const char* ttf_compressed_base85 = GetDefaultCompressedFontDataTTFBase85(); ImFont* font = AddFontFromMemoryCompressedBase85TTF(ttf_compressed_base85, 13.0f, &font_cfg, GetGlyphRangesDefault()); @@ -1206,7 +1206,7 @@ ImFont* ImFontAtlas::AddFontFromFileTTF(const char* filename, float size_pixels, // Store a short copy of filename into into the font name for convenience const char* p; for (p = filename + strlen(filename); p > filename && p[-1] != '/' && p[-1] != '\\'; p--) {} - snprintf(font_cfg.Name, IM_ARRAYSIZE(font_cfg.Name), "%s", p); + snprintf(font_cfg.Name, IM_ARRAYSIZE(font_cfg.Name), "%s, %.0fpx", p, size_pixels); } return AddFontFromMemoryTTF(data, data_size, size_pixels, &font_cfg, glyph_ranges); } From da9feba539f1a45ceaa0140b2d6aa1cbe5625554 Mon Sep 17 00:00:00 2001 From: ocornut Date: Sun, 6 Nov 2016 22:40:47 +0100 Subject: [PATCH 09/11] Fixed missing frame padding on title bar text when Collapse triangle is disabled --- imgui.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/imgui.cpp b/imgui.cpp index e7984b9bc..2d417efa7 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -4327,8 +4327,8 @@ bool ImGui::Begin(const char* name, bool* p_open, const ImVec2& size_on_first_us ImVec2 text_max = window->Pos + ImVec2(window->Size.x, style.FramePadding.y*2 + text_size.y); ImRect clip_rect; clip_rect.Max = ImVec2(window->Pos.x + window->Size.x - (p_open ? title_bar_rect.GetHeight() - 3 : style.FramePadding.x), text_max.y); // Match the size of CloseWindowButton() - float pad_left = (flags & ImGuiWindowFlags_NoCollapse) == 0 ? (style.FramePadding.x + g.FontSize + style.ItemInnerSpacing.x) : 0.0f; - float pad_right = (p_open != NULL) ? (style.FramePadding.x + g.FontSize + style.ItemInnerSpacing.x) : 0.0f; + float pad_left = (flags & ImGuiWindowFlags_NoCollapse) == 0 ? (style.FramePadding.x + g.FontSize + style.ItemInnerSpacing.x) : style.FramePadding.x; + float pad_right = (p_open != NULL) ? (style.FramePadding.x + g.FontSize + style.ItemInnerSpacing.x) : style.FramePadding.x; if (style.WindowTitleAlign.x > 0.0f) pad_right = ImLerp(pad_right, pad_left, style.WindowTitleAlign.x); text_min.x += pad_left; text_max.x -= pad_right; From 3689efb7265fd43b55f37f1e58163a2d98f740c8 Mon Sep 17 00:00:00 2001 From: ocornut Date: Sun, 6 Nov 2016 22:53:36 +0100 Subject: [PATCH 10/11] Font: Readme about icons --- README.md | 1 + extra_fonts/README.txt | 25 ++++++++++++++++++++----- imgui.cpp | 11 ++++++++--- 3 files changed, 29 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 88b9baeb3..ab61f747a 100644 --- a/README.md +++ b/README.md @@ -103,6 +103,7 @@ The library started its life and is best known as "ImGui" only due to the fact t
How can I have multiple widgets with the same label? Can I have widget without a label? (Yes). A primer on the purpose of labels/IDs.
How can I tell when ImGui wants my mouse/keyboard inputs and when I can pass them to my application?
How can I load a different font than the default? +
How can I easily use icons in my application?
How can I load multiple fonts?
How can I display and input non-latin characters such as Chinese, Japanese, Korean, Cyrillic?
How can I use the drawing facilities without an ImGui window? (using ImDrawList API) diff --git a/extra_fonts/README.txt b/extra_fonts/README.txt index 7ba7b33a9..60d33e2e6 100644 --- a/extra_fonts/README.txt +++ b/extra_fonts/README.txt @@ -4,12 +4,27 @@ Fonts are rasterized in a single texture at the time of calling either of io.Fonts.GetTexDataAsAlpha8()/GetTexDataAsRGBA32()/Build(). - If you want to use icons in ImGui, a good idea is to merge an icon font within your main font, and refer to icons directly in your strings. - You can use headers files with definitions for popular icon fonts codepoints, by Juliette Foucaut, at https://github.com/juliettef/IconFontCppHeaders +--------------------------------- + USING ICONS +--------------------------------- + Using an icon font (such as FontAwesome: http://fontawesome.io) is an easy and practical way to use icons in your ImGui application. + A common pattern is to merge the icon font within your main font, so you can refer to the icons directly from your strings without having to change fonts back and forth. + To refer to the icon from your C++ code, you can use headers files created by Juliette Foucaut, at https://github.com/juliettef/IconFontCppHeaders + + // Merge icons into default tool font + #include "IconsFontAwesome.h" + ImGuiIO& io = ImGui::GetIO(); + io.Fonts->AddFontDefault(); + ImFontConfig config; + config.MergeMode = true; + const ImWchar icon_ranges[] = { ICON_MIN_FA, ICON_MAX_FA, 0 }; + io.Fonts->AddFontFromFileTTF("fonts/fontawesome-webfont.ttf", 13.0f, &config, icon_ranges); + // Usage, e.g. + ImGui::Text("%s Search", ICON_FA_SEARCH); --------------------------------- - LOADING INSTRUCTIONS + FONTS LOADING INSTRUCTIONS --------------------------------- Load default font with: @@ -69,7 +84,7 @@ --------------------------------- - REMAP CODEPOINTS + REMAPPING CODEPOINTS --------------------------------- All your strings needs to use UTF-8 encoding. Specifying literal in your source code using a local code page (such as CP-923 for Japanese CP-1251 for Cyrillic) will not work. @@ -78,7 +93,7 @@ --------------------------------- - EMBED A FONT IN SOURCE CODE + EMBEDDING FONT IN SOURCE CODE --------------------------------- Compile and use 'binary_to_compressed_c.cpp' to create a compressed C style array. Then load the font with: diff --git a/imgui.cpp b/imgui.cpp index 2d417efa7..bb9623064 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -25,6 +25,7 @@ - How can I have multiple widgets with the same label? Can I have widget without a label? (Yes). A primer on the purpose of labels/IDs. - How can I tell when ImGui wants my mouse/keyboard inputs and when I can pass them to my application? - How can I load a different font than the default? + - How can I easily use icons in my application? - How can I load multiple fonts? - How can I display and input non-latin characters such as Chinese, Japanese, Korean, Cyrillic? - How can I use the drawing facilities without an ImGui window? (using ImDrawList API) @@ -406,6 +407,10 @@ io.Fonts->AddFontFromFileTTF("myfontfile.ttf", size_in_pixels); io.Fonts->GetTexDataAsRGBA32() or GetTexDataAsAlpha8() + Q: How can I easily use icons in my application? + A: The most convenient and practical way is to merge an icon font such as FontAwesome inside you main font. Then you can refer to icons within your strings. + Read 'How can I load multiple fonts?' and the file 'extra_fonts/README.txt' for instructions. + Q: How can I load multiple fonts? A: Use the font atlas to pack them into a single texture: (Read extra_fonts/README.txt and the code in ImFontAtlas for more details.) @@ -425,13 +430,13 @@ config.GlyphExtraSpacing.x = 1.0f; io.Fonts->LoadFromFileTTF("myfontfile.ttf", size_pixels, &config); - // Combine multiple fonts into one + // Combine multiple fonts into one (e.g. for icon fonts) ImWchar ranges[] = { 0xf000, 0xf3ff, 0 }; ImFontConfig config; config.MergeMode = true; io.Fonts->AddFontDefault(); - io.Fonts->LoadFromFileTTF("fontawesome-webfont.ttf", 16.0f, &config, ranges); - io.Fonts->LoadFromFileTTF("myfontfile.ttf", size_pixels, NULL, &config, io.Fonts->GetGlyphRangesJapanese()); + io.Fonts->LoadFromFileTTF("fontawesome-webfont.ttf", 16.0f, &config, ranges); // Merge icon font + io.Fonts->LoadFromFileTTF("myfontfile.ttf", size_pixels, NULL, &config, io.Fonts->GetGlyphRangesJapanese()); // Merge japanese glyphs Q: How can I display and input non-Latin characters such as Chinese, Japanese, Korean, Cyrillic? A: When loading a font, pass custom Unicode ranges to specify the glyphs to load. From faafcf418d88a5e2730e98d2efc5948e2e90fce1 Mon Sep 17 00:00:00 2001 From: ocornut Date: Mon, 7 Nov 2016 17:33:46 +0100 Subject: [PATCH 11/11] Demo: Comments, even though nobody appears to read the comments. --- imgui_demo.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/imgui_demo.cpp b/imgui_demo.cpp index ffc66a933..9263673cc 100644 --- a/imgui_demo.cpp +++ b/imgui_demo.cpp @@ -1804,6 +1804,7 @@ void ImGui::ShowStyleEditor(ImGuiStyle* ref) ImGui::PopItemWidth(); } +// Demonstrate creating a fullscreen menu bar and populating it. static void ShowExampleAppMainMenuBar() { if (ImGui::BeginMainMenuBar()) @@ -1882,6 +1883,7 @@ static void ShowExampleMenuFile() if (ImGui::MenuItem("Quit", "Alt+F4")) {} } +// Demonstrate creating a window which gets auto-resized according to its content. static void ShowExampleAppAutoResize(bool* p_open) { if (!ImGui::Begin("Example: Auto-resizing window", p_open, ImGuiWindowFlags_AlwaysAutoResize)) @@ -1898,6 +1900,7 @@ static void ShowExampleAppAutoResize(bool* p_open) ImGui::End(); } +// Demonstrate creating a window with custom resize constraints. static void ShowExampleAppConstrainedResize(bool* p_open) { struct CustomConstraints // Helper functions to demonstrate programmatic constraints @@ -1935,6 +1938,7 @@ static void ShowExampleAppConstrainedResize(bool* p_open) ImGui::End(); } +// Demonstrate creating a simple static window with no decoration. static void ShowExampleAppFixedOverlay(bool* p_open) { ImGui::SetNextWindowPos(ImVec2(10,10)); @@ -1949,10 +1953,12 @@ static void ShowExampleAppFixedOverlay(bool* p_open) ImGui::End(); } +// Demonstrate using "##" and "###" in identifiers to manipulate ID generation. +// Read section "How can I have multiple widgets with the same label? Can I have widget without a label? (Yes). A primer on the purpose of labels/IDs." about ID. static void ShowExampleAppManipulatingWindowTitle(bool*) { // By default, Windows are uniquely identified by their title. - // You can use the "##" and "###" markers to manipulate the display/ID. Read FAQ at the top of this file! + // You can use the "##" and "###" markers to manipulate the display/ID. // Using "##" to display same title but have unique identifier. ImGui::SetNextWindowPos(ImVec2(100,100), ImGuiSetCond_FirstUseEver); @@ -1974,6 +1980,7 @@ static void ShowExampleAppManipulatingWindowTitle(bool*) ImGui::End(); } +// Demonstrate using the low-level ImDrawList to draw custom shapes. static void ShowExampleAppCustomRendering(bool* p_open) { ImGui::SetNextWindowSize(ImVec2(350,560), ImGuiSetCond_FirstUseEver); @@ -2073,6 +2080,7 @@ static void ShowExampleAppCustomRendering(bool* p_open) ImGui::End(); } +// Demonstrating creating a simple console window, with scrolling, filtering, completion and history. // For the console example, here we are using a more C++ like approach of declaring a class to hold the data and the functions. struct ExampleAppConsole { @@ -2422,6 +2430,7 @@ struct ExampleAppLog } }; +// Demonstrate creating a simple log window with basic filtering. static void ShowExampleAppLog(bool* p_open) { static ExampleAppLog log; @@ -2439,6 +2448,7 @@ static void ShowExampleAppLog(bool* p_open) log.Draw("Example: Log", p_open); } +// Demonstrate create a window with multiple child windows. static void ShowExampleAppLayout(bool* p_open) { ImGui::SetNextWindowSize(ImVec2(500, 440), ImGuiSetCond_FirstUseEver); @@ -2484,6 +2494,7 @@ static void ShowExampleAppLayout(bool* p_open) ImGui::End(); } +// Demonstrate create a simple property editor. static void ShowExampleAppPropertyEditor(bool* p_open) { ImGui::SetNextWindowSize(ImVec2(430,450), ImGuiSetCond_FirstUseEver); @@ -2556,6 +2567,7 @@ static void ShowExampleAppPropertyEditor(bool* p_open) ImGui::End(); } +// Demonstrate/test rendering huge amount of text, and the incidence of clipping. static void ShowExampleAppLongText(bool* p_open) { ImGui::SetNextWindowSize(ImVec2(520,600), ImGuiSetCond_FirstUseEver);