Skip to content

Commit 993fa34

Browse files
committed
Version 1.91.6
1 parent 2ca83f0 commit 993fa34

9 files changed

+31
-33
lines changed

docs/CHANGELOG.txt

+7-7
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ HOW TO UPDATE?
3636
- Please report any issue!
3737

3838
-----------------------------------------------------------------------
39-
VERSION 1.91.6 WIP (In Progress)
39+
VERSION 1.91.6 (Released 2024-12-11)
4040
-----------------------------------------------------------------------
4141

4242
Breaking changes:
@@ -48,18 +48,18 @@ Breaking changes:
4848
- We provide convenience legacy fields to pass a single descriptor,
4949
matching the old API, but upcoming features will want multiple.
5050
- Legacy ImGui_ImplDX12_Init() signature is still supported (will obsolete).
51-
- Misc: changed CRC32 table from CRC32-adler to CRC32c polynomial in order to
51+
- Misc: changed CRC32 table from CRC32-adler to CRC32c polynomial in order to
5252
be compatible with the result of SSE 4.2 instructions. (#8169, #4933) [@Teselka]
5353
- As a result, some .ini data may be partially lost when storing checksums
54-
(docking and tables information particularly).
55-
- Because some users have crafted and storing .ini data as a way to workaround
54+
(docking and tables information particularly).
55+
- Because some users have crafted and storing .ini data as a way to workaround
5656
limitations of the docking API, we are providing a '#define IMGUI_USE_LEGACY_CRC32_ADLER'
5757
compile-time option to keep using old CRC32 tables if you cannot afford invalidating
5858
old .ini data.
5959

6060
Other changes:
6161

62-
- Error Handling: fixed cases where recoverable error handling would crash when
62+
- Error Handling: fixed cases where recoverable error handling would crash when
6363
processing errors outside of the NewFrame()..EndFrame() scope. (#1651)
6464
- Tables: fixed SetNextWindowScroll() value being ignored by BeginTable() during
6565
the first frame or when scrolling flags have changed. (#8196)
@@ -71,13 +71,13 @@ Other changes:
7171
- Misc: changed embedded ProggyClean encoding to save a bit of binary space (~12kb to 9.5kb).
7272
- Misc: added IMGUI_DISABLE_DEFAULT_FONT to strip embedded font from binary. (#8161)
7373
[@demonese]
74-
- Tools: binary_to_compressed_c: added -u8/-u32/-base85 export options.
7574
- Demo: example tree used by Property Editor & Selection demos properly freed
7675
on application closure. (#8158) [@Legulysse]
7776
- Fonts: fixed AddCustomRect() not being packed with TexGlyphPadding + not accounted
7877
for surface area used to determine best-guess texture size. (#8107) [@YarikTH, @ocornut]
7978
- Misc: use SSE 4.2 crc32 instructions when available. (#8169, #4933) [@Teselka]
80-
- Backends: DirectX12: Let user specifies the DepthStencilView format by setting
79+
- Tools: binary_to_compressed_c: added -u8/-u32/-base85 export options.
80+
- Backends: DirectX12: Let user specifies the DepthStencilView format by setting
8181
ImGui_ImplDX12_InitInfo::DSVFormat. (#8217) [@bmarques1995]
8282
- Backends: Vulkan: Make user-provided descriptor pool optional. As a convenience,
8383
when setting init_info->DescriptorPoolSize then the backend will create and manage

docs/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ Reading the changelogs is a good way to keep up to date with the things Dear ImG
110110
Calling the `ImGui::ShowDemoWindow()` function will create a demo window showcasing a variety of features and examples. The code is always available for reference in `imgui_demo.cpp`. [Here's how the demo looks](https://raw.githubusercontent.com/wiki/ocornut/imgui/web/v167/v167-misc.png).
111111

112112
You should be able to build the examples from sources. If you don't, let us know! If you want to have a quick look at some Dear ImGui features, you can download Windows binaries of the demo app here:
113-
- [imgui-demo-binaries-20240105.zip](https://www.dearimgui.com/binaries/imgui-demo-binaries-20240105.zip) (Windows, 1.90.1 WIP, built 2024/01/05, master) or [older binaries](https://www.dearimgui.com/binaries).
113+
- [imgui-demo-binaries-20241211.zip](https://www.dearimgui.com/binaries/imgui-demo-binaries-20241211.zip) (Windows, 1.91.6, built 2024/11/11, master) or [older binaries](https://www.dearimgui.com/binaries).
114114

115115
The demo applications are not DPI aware so expect some blurriness on a 4K screen. For DPI awareness in your application, you can load/reload your font at a different scale and scale your style with `style.ScaleAllSizes()` (see [FAQ](https://www.dearimgui.com/faq)).
116116

imgui.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// dear imgui, v1.91.6 WIP
1+
// dear imgui, v1.91.6
22
// (main code and documentation)
33

44
// Help:
@@ -4748,15 +4748,15 @@ void ImGui::DebugAllocHook(ImGuiDebugAllocInfo* info, int frame_count, void* ptr
47484748
}
47494749
if (size != (size_t)-1)
47504750
{
4751+
//printf("[%05d] MemAlloc(%d) -> 0x%p\n", frame_count, (int)size, ptr);
47514752
entry->AllocCount++;
47524753
info->TotalAllocCount++;
4753-
//printf("[%05d] MemAlloc(%d) -> 0x%p\n", frame_count, size, ptr);
47544754
}
47554755
else
47564756
{
4757+
//printf("[%05d] MemFree(0x%p)\n", frame_count, ptr);
47574758
entry->FreeCount++;
47584759
info->TotalFreeCount++;
4759-
//printf("[%05d] MemFree(0x%p)\n", frame_count, ptr);
47604760
}
47614761
}
47624762

imgui.h

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// dear imgui, v1.91.6 WIP
1+
// dear imgui, v1.91.6
22
// (headers)
33

44
// Help:
@@ -28,8 +28,8 @@
2828

2929
// Library Version
3030
// (Integer encoded as XYYZZ for use in #if preprocessor conditionals, e.g. '#if IMGUI_VERSION_NUM >= 12345')
31-
#define IMGUI_VERSION "1.91.6 WIP"
32-
#define IMGUI_VERSION_NUM 19154
31+
#define IMGUI_VERSION "1.91.6"
32+
#define IMGUI_VERSION_NUM 19160
3333
#define IMGUI_HAS_TABLE
3434

3535
/*
@@ -3429,24 +3429,24 @@ struct ImFontAtlas
34293429
// ImFontAtlas automatically loads a default embedded font for you when you call GetTexDataAsAlpha8() or GetTexDataAsRGBA32().
34303430
struct ImFont
34313431
{
3432-
// Members: Hot ~20/24 bytes (for CalcTextSize)
3432+
// [Internal] Members: Hot ~20/24 bytes (for CalcTextSize)
34333433
ImVector<float> IndexAdvanceX; // 12-16 // out // // Sparse. Glyphs->AdvanceX in a directly indexable way (cache-friendly for CalcTextSize functions which only this info, and are often bottleneck in large UI).
34343434
float FallbackAdvanceX; // 4 // out // = FallbackGlyph->AdvanceX
34353435
float FontSize; // 4 // in // // Height of characters/line, set during loading (don't change after loading)
34363436

3437-
// Members: Hot ~28/40 bytes (for CalcTextSize + render loop)
3437+
// [Internal] Members: Hot ~28/40 bytes (for RenderText loop)
34383438
ImVector<ImWchar> IndexLookup; // 12-16 // out // // Sparse. Index glyphs by Unicode code-point.
34393439
ImVector<ImFontGlyph> Glyphs; // 12-16 // out // // All glyphs.
34403440
const ImFontGlyph* FallbackGlyph; // 4-8 // out // = FindGlyph(FontFallbackChar)
34413441

3442-
// Members: Cold ~32/40 bytes
3442+
// [Internal] Members: Cold ~32/40 bytes
34433443
// Conceptually ConfigData[] is the list of font sources merged to create this font.
34443444
ImFontAtlas* ContainerAtlas; // 4-8 // out // // What we has been loaded into
34453445
const ImFontConfig* ConfigData; // 4-8 // in // // Pointer within ContainerAtlas->ConfigData to ConfigDataCount instances
34463446
short ConfigDataCount; // 2 // in // ~ 1 // Number of ImFontConfig involved in creating this font. Bigger than 1 when merging multiple font sources into one ImFont.
3447-
ImWchar FallbackChar; // 2 // out // = FFFD/'?' // Character used if a glyph isn't found.
3448-
ImWchar EllipsisChar; // 2 // out // = '...'/'.'// Character used for ellipsis rendering.
34493447
short EllipsisCharCount; // 1 // out // 1 or 3
3448+
ImWchar EllipsisChar; // 2-4 // out // = '...'/'.'// Character used for ellipsis rendering.
3449+
ImWchar FallbackChar; // 2-4 // out // = FFFD/'?' // Character used if a glyph isn't found.
34503450
float EllipsisWidth; // 4 // out // Width
34513451
float EllipsisCharStep; // 4 // out // Step between characters when EllipsisCount > 0
34523452
bool DirtyLookupTables; // 1 // out //

imgui_demo.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// dear imgui, v1.91.6 WIP
1+
// dear imgui, v1.91.6
22
// (demo code)
33

44
// Help:

imgui_draw.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// dear imgui, v1.91.6 WIP
1+
// dear imgui, v1.91.6
22
// (drawing and font code)
33

44
/*
@@ -396,7 +396,7 @@ void ImDrawListSharedData::SetCircleTessellationMaxError(float max_error)
396396

397397
ImDrawList::ImDrawList(ImDrawListSharedData* shared_data)
398398
{
399-
memset(this, 0, sizeof(*this));
399+
memset(this, 0, sizeof(*this));
400400
_Data = shared_data;
401401
}
402402

imgui_internal.h

+4-6
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// dear imgui, v1.91.6 WIP
1+
// dear imgui, v1.91.6
22
// (internal structures/api)
33

44
// You may use this file to debug, understand or extend Dear ImGui features but we don't provide any guarantee of forward compatibility.
@@ -778,11 +778,9 @@ struct IMGUI_API ImDrawListSharedData
778778
float CircleSegmentMaxError; // Number of circle segments to use per pixel of radius for AddCircle() etc
779779
ImVec4 ClipRectFullscreen; // Value for PushClipRectFullscreen()
780780
ImDrawListFlags InitialFlags; // Initial flags at the beginning of the frame (it is possible to alter flags on a per-drawlist basis afterwards)
781+
ImVector<ImVec2> TempBuffer; // Temporary write buffer
781782

782-
// [Internal] Temp write buffer
783-
ImVector<ImVec2> TempBuffer;
784-
785-
// [Internal] Lookup tables
783+
// Lookup tables
786784
ImVec2 ArcFastVtx[IM_DRAWLIST_ARCFAST_TABLE_SIZE]; // Sample points on the quarter of the circle.
787785
float ArcFastRadiusCutoff; // Cutoff radius after which arc drawing will fallback to slower PathArcTo()
788786
ImU8 CircleSegmentCounts[64]; // Precomputed segment count for given radius before we calculate it dynamically (to avoid calculation overhead)
@@ -3392,7 +3390,7 @@ namespace ImGui
33923390
IMGUI_API void TextEx(const char* text, const char* text_end = NULL, ImGuiTextFlags flags = 0);
33933391
IMGUI_API bool ButtonEx(const char* label, const ImVec2& size_arg = ImVec2(0, 0), ImGuiButtonFlags flags = 0);
33943392
IMGUI_API bool ArrowButtonEx(const char* str_id, ImGuiDir dir, ImVec2 size_arg, ImGuiButtonFlags flags = 0);
3395-
IMGUI_API bool ImageButtonEx(ImGuiID id, ImTextureID texture_id, const ImVec2& image_size, const ImVec2& uv0, const ImVec2& uv1, const ImVec4& bg_col, const ImVec4& tint_col, ImGuiButtonFlags flags = 0);
3393+
IMGUI_API bool ImageButtonEx(ImGuiID id, ImTextureID user_texture_id, const ImVec2& image_size, const ImVec2& uv0, const ImVec2& uv1, const ImVec4& bg_col, const ImVec4& tint_col, ImGuiButtonFlags flags = 0);
33963394
IMGUI_API void SeparatorEx(ImGuiSeparatorFlags flags, float thickness = 1.0f);
33973395
IMGUI_API void SeparatorTextEx(ImGuiID id, const char* label, const char* label_end, float extra_width);
33983396
IMGUI_API bool CheckboxFlags(const char* label, ImS64* flags, ImS64 flags_value);

imgui_tables.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// dear imgui, v1.91.6 WIP
1+
// dear imgui, v1.91.6
22
// (tables and columns code)
33

44
/*

imgui_widgets.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// dear imgui, v1.91.6 WIP
1+
// dear imgui, v1.91.6
22
// (widgets code)
33

44
/*
@@ -1073,7 +1073,7 @@ void ImGui::Image(ImTextureID user_texture_id, const ImVec2& image_size, const I
10731073
window->DrawList->AddImage(user_texture_id, bb.Min + padding, bb.Max - padding, uv0, uv1, GetColorU32(tint_col));
10741074
}
10751075

1076-
bool ImGui::ImageButtonEx(ImGuiID id, ImTextureID texture_id, const ImVec2& image_size, const ImVec2& uv0, const ImVec2& uv1, const ImVec4& bg_col, const ImVec4& tint_col, ImGuiButtonFlags flags)
1076+
bool ImGui::ImageButtonEx(ImGuiID id, ImTextureID user_texture_id, const ImVec2& image_size, const ImVec2& uv0, const ImVec2& uv1, const ImVec4& bg_col, const ImVec4& tint_col, ImGuiButtonFlags flags)
10771077
{
10781078
ImGuiContext& g = *GImGui;
10791079
ImGuiWindow* window = GetCurrentWindow();
@@ -1095,7 +1095,7 @@ bool ImGui::ImageButtonEx(ImGuiID id, ImTextureID texture_id, const ImVec2& imag
10951095
RenderFrame(bb.Min, bb.Max, col, true, ImClamp((float)ImMin(padding.x, padding.y), 0.0f, g.Style.FrameRounding));
10961096
if (bg_col.w > 0.0f)
10971097
window->DrawList->AddRectFilled(bb.Min + padding, bb.Max - padding, GetColorU32(bg_col));
1098-
window->DrawList->AddImage(texture_id, bb.Min + padding, bb.Max - padding, uv0, uv1, GetColorU32(tint_col));
1098+
window->DrawList->AddImage(user_texture_id, bb.Min + padding, bb.Max - padding, uv0, uv1, GetColorU32(tint_col));
10991099

11001100
return pressed;
11011101
}
@@ -1114,7 +1114,7 @@ bool ImGui::ImageButton(const char* str_id, ImTextureID user_texture_id, const I
11141114

11151115
#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
11161116
// Legacy API obsoleted in 1.89. Two differences with new ImageButton()
1117-
// - old ImageButton() used ImTextureId as item id (created issue with multiple buttons with same image, transient texture id values, opaque computation of ID)
1117+
// - old ImageButton() used ImTextureID as item id (created issue with multiple buttons with same image, transient texture id values, opaque computation of ID)
11181118
// - new ImageButton() requires an explicit 'const char* str_id'
11191119
// - old ImageButton() had frame_padding' override argument.
11201120
// - new ImageButton() always use style.FramePadding.

0 commit comments

Comments
 (0)