From 0e2a167bdb8f494179c6c5ab8df5768fb3440017 Mon Sep 17 00:00:00 2001 From: ocornut Date: Thu, 1 Dec 2022 20:08:43 +0100 Subject: [PATCH] Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases. + fixed mislocated Changelog entries added recently. --- docs/CHANGELOG.txt | 6 ++++-- imgui.h | 5 +++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/docs/CHANGELOG.txt b/docs/CHANGELOG.txt index 0ed0a53b..ac6a1726 100644 --- a/docs/CHANGELOG.txt +++ b/docs/CHANGELOG.txt @@ -48,6 +48,10 @@ Other changes: We expect this behavior to be further improved/tweaked. (#3795, #4559) [@ocornut, @folays] - Text: fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919) +- Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by + applications using multiple font atlases. +- Demo: simplified "Inputs" section, moved contents to Metrics->Inputs. +- Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency. - Misc: fixed parameters to IMGUI_DEBUG_LOG() not being dead-stripped when building with IMGUI_DISABLE_DEBUG_TOOLS is used. (#5901) [@Teselka] - Misc: fixed compile-time detection of SSE features on MSVC 32-bits builds. (#5943) [@TheMostDiligent] @@ -79,8 +83,6 @@ Other changes: - Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value if a drag source is active but a payload hasn't been submitted yet. This is convenient to detect new payload from within a drag source handler. (#5910, #143) -- Demo: simplified "Inputs" section, moved contents to Metrics->Inputs. -- Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency. - Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908) - Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914) [@kdchambers] diff --git a/imgui.h b/imgui.h index de13e113..8d8fdc5c 100644 --- a/imgui.h +++ b/imgui.h @@ -23,7 +23,7 @@ // Library Version // (Integer encoded as XYYZZ for use in #if preprocessor conditionals, e.g. '#if IMGUI_VERSION_NUM > 12345') #define IMGUI_VERSION "1.89.2 WIP" -#define IMGUI_VERSION_NUM 18913 +#define IMGUI_VERSION_NUM 18914 #define IMGUI_HAS_TABLE /* @@ -1911,7 +1911,7 @@ struct ImGuiIO float KeyRepeatRate; // = 0.050f // When holding a key/button, rate at which it repeats, in seconds. float HoverDelayNormal; // = 0.30 sec // Delay on hovering before IsItemHovered(ImGuiHoveredFlags_DelayNormal) returns true. float HoverDelayShort; // = 0.10 sec // Delay on hovering before IsItemHovered(ImGuiHoveredFlags_DelayShort) returns true. - void* UserData; // = NULL // Store your own data for retrieval by callbacks. + void* UserData; // = NULL // Store your own data. ImFontAtlas*Fonts; // // Font atlas: load, rasterize and pack one or more fonts into a single texture. float FontGlobalScale; // = 1.0f // Global scale all fonts @@ -2808,6 +2808,7 @@ struct ImFontAtlas int TexDesiredWidth; // Texture width desired by user before Build(). Must be a power-of-two. If have many glyphs your graphics API have texture size restrictions you may want to increase texture width to decrease height. int TexGlyphPadding; // Padding between glyphs within texture in pixels. Defaults to 1. If your rendering method doesn't rely on bilinear filtering you may set this to 0 (will also need to set AntiAliasedLinesUseTex = false). bool Locked; // Marked as Locked by ImGui::NewFrame() so attempt to modify the atlas will assert. + void* UserData; // Store your own atlas related user-data (if e.g. you have multiple font atlas). // [Internal] // NB: Access texture data via GetTexData*() calls! Which will setup a default font for you.