mirror of
https://github.com/ocornut/imgui.git
synced 2026-11-06 06:25:54 +01:00
Version 1.93.0
This commit is contained in:
parent
a6fad9bbda
commit
c1aaac65e8
@ -36,9 +36,11 @@ HOW TO UPDATE?
|
|||||||
- Please report any issue!
|
- Please report any issue!
|
||||||
|
|
||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
VERSION 1.93.0 WIP (In Progress)
|
VERSION 1.93.0 (Released 2026-10-14)
|
||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
|
|
||||||
|
Decorated log and release notes: https://github.com/ocornut/imgui/releases/tag/v1.93.0
|
||||||
|
|
||||||
In 1.93.0, the `ImDrawList` rendering API has been improved to be more robust and
|
In 1.93.0, the `ImDrawList` rendering API has been improved to be more robust and
|
||||||
more consistent over the whole range of shapes. The rendering now matches much closer
|
more consistent over the whole range of shapes. The rendering now matches much closer
|
||||||
to common vector drawing APIs, like html canvas. Improvements, like anti-aliased line
|
to common vector drawing APIs, like html canvas. Improvements, like anti-aliased line
|
||||||
@ -55,10 +57,10 @@ The rendering of common shapes was optimized when the shapes fall on integer coo
|
|||||||
using textures instead of tessellated geometry to draw round corners.
|
using textures instead of tessellated geometry to draw round corners.
|
||||||
The varying code-paths are designed to look indistinguishable from each others.
|
The varying code-paths are designed to look indistinguishable from each others.
|
||||||
|
|
||||||
New rendering code fixes some inconsistencies between graphics APIs (e.g. DirectX vs OpenGL)
|
New rendering code fixes some inconsistencies between graphics APIs
|
||||||
which are using different diamond exits rules.
|
(e.g. DirectX vs OpenGL) which are using different diamond exits rules.
|
||||||
New code should work precisely the same regardless of graphics API.
|
New code should work precisely the same regardless of which graphics API is used
|
||||||
(note that using _StrokeLegacy mode can lead to similar inconsistencies)
|
(note that using _StrokeLegacy mode can lead to the same old inconsistencies).
|
||||||
|
|
||||||
New rendering code also deals better with animating thickness and rounding
|
New rendering code also deals better with animating thickness and rounding
|
||||||
(integer values are recommended).
|
(integer values are recommended).
|
||||||
@ -73,31 +75,29 @@ Use `ImDrawFlags_StrokeLegacy` mode to emulate old rendering:
|
|||||||
- Globally: ImGui::Checkbox("DefaultsToStrokeLegacy", &io.ConfigDebugDrawListDefaultsToStrokeLegacy); // Map to a checkbox
|
- Globally: ImGui::Checkbox("DefaultsToStrokeLegacy", &io.ConfigDebugDrawListDefaultsToStrokeLegacy); // Map to a checkbox
|
||||||
- Globally: io.ConfigDebugDrawListDefaultsToStrokeLegacy = io.KeyShift; // Map on Shift
|
- Globally: io.ConfigDebugDrawListDefaultsToStrokeLegacy = io.KeyShift; // Map on Shift
|
||||||
|
|
||||||
Don't panic! Many applications will not notice any difference! You will more likely
|
Don't panic!
|
||||||
see differences if you used lots of direct `ImDrawList` calls for custom rendering.
|
Many applications will not notice any difference! You will more likely see
|
||||||
|
differences if you used lots of direct `ImDrawList` calls for custom rendering.
|
||||||
|
|
||||||
Main work courtesy of @memononen.
|
Credits for ImDrawList changes in 1.93.0:
|
||||||
Additional work/reviewing/guidance by @ocornut.
|
- main work courtesy of @memononen.
|
||||||
With legacy bits from @thedmd, @potocpav.
|
- additional work/reviewing/guidance by @ocornut.
|
||||||
|
- with legacy bits from @thedmd, @potocpav.
|
||||||
|
Other credits marked below, or @ocornut when omitted.
|
||||||
|
|
||||||
Refer to our guides:
|
Refer to our guides:
|
||||||
|
|
||||||
- ImDrawList Vector Rendering Reference
|
- ImDrawList Vector Rendering Reference
|
||||||
https://github.com/ocornut/imgui/wiki/Draw-List
|
https://github.com/ocornut/imgui/wiki/Draw-List
|
||||||
(includes a precise list of differences between 1.92.9 and 1.93.0).
|
(includes a precise list of differences between 1.92.9 and 1.93.0).
|
||||||
|
|
||||||
- ImDrawList 1.92.9 vs 1.93.0 Interactive Testbed
|
- ImDrawList 1.92.9 vs 1.93.0 Interactive Testbed
|
||||||
https://www.dearimgui.com/docs/drawlist_v193
|
https://www.dearimgui.com/docs/drawlist_v193
|
||||||
(interactively discuss and compare differences between 1.92.9 and 1.93.0)
|
(interactively compare differences between 1.92.9 and 1.93.0 + commentary)
|
||||||
(downloadable HTML file, may be used offline)
|
(downloadable HTML file, may be used offline)
|
||||||
|
|
||||||
- Pixel Perfect Anti-aliased Rendering
|
- Pixel Perfect Anti-aliased Rendering
|
||||||
https://github.com/ocornut/imgui/wiki/Pixel-Perfect-Rendering
|
https://github.com/ocornut/imgui/wiki/Pixel-Perfect-Rendering
|
||||||
|
|
||||||
- How Anti-aliased Polyline Rendering is Implemented
|
- How Anti-aliased Polyline Rendering is Implemented
|
||||||
https://github.com/ocornut/imgui/wiki/Polyline-Rendering
|
https://github.com/ocornut/imgui/wiki/Polyline-Rendering
|
||||||
|
- Discussion topic:
|
||||||
- Main topic:
|
|
||||||
https://github.com/ocornut/imgui/issues/9504
|
https://github.com/ocornut/imgui/issues/9504
|
||||||
(if you have a problem to discuss, please open a new issue)
|
(if you have a problem to discuss, please open a new issue)
|
||||||
|
|
||||||
@ -124,8 +124,8 @@ Breaking Changes:
|
|||||||
- Your lines will appear offset by -0.5f pixels on each axis.
|
- Your lines will appear offset by -0.5f pixels on each axis.
|
||||||
Being anti-aliased diagonal lines, they won't look particularly better or worse, just slightly offset.
|
Being anti-aliased diagonal lines, they won't look particularly better or worse, just slightly offset.
|
||||||
It'll likely only be noticeable if you carefully combined them with other primitives for a pixel-perfect result.
|
It'll likely only be noticeable if you carefully combined them with other primitives for a pixel-perfect result.
|
||||||
- Old `AddLine({x1, y1}, {x2, y2}, col)` --> `AddLine({x1 + 0.5f, y1 + 0.5f}, {x2+ 0.5f, y2 + 0.5f}, col);` // Same
|
- Old `AddLine({x1, y1}, {x2, y2}, col)` --> `AddLine({x1 + 0.5f, y1 + 0.5f}, {x2+ 0.5f, y2 + 0.5f}, col);` // Same
|
||||||
or use `ImDrawFlags_StrokeLegacy` --> `AddLine({x1, y1}, {x2, y2}, col, thickness, ImDrawFlags_StrokeLegacy); // Offset by +0.5f + disable AA ends.
|
or use `ImDrawFlags_StrokeLegacy` --> `AddLine({x1, y1}, {x2, y2}, col, thickness, ImDrawFlags_StrokeLegacy);` // Offset by +0.5f + disable AA ends.
|
||||||
This reapplies the old offset, and should get you exactly the same result you previously
|
This reapplies the old offset, and should get you exactly the same result you previously
|
||||||
got for thickness=1.0f lines. But said result were previously sometimes ambiguous and
|
got for thickness=1.0f lines. But said result were previously sometimes ambiguous and
|
||||||
renderer-dependent. (#3116, #3258, #2441)
|
renderer-dependent. (#3116, #3258, #2441)
|
||||||
@ -144,7 +144,7 @@ Breaking Changes:
|
|||||||
Previously, non-integer coordinates rendered with aliased edges snapped by the
|
Previously, non-integer coordinates rendered with aliased edges snapped by the
|
||||||
rasterizer. (#6971)
|
rasterizer. (#6971)
|
||||||
- AddRect(), AddRectFilled(): rectangles with inverted coordinates won't be visible
|
- AddRect(), AddRectFilled(): rectangles with inverted coordinates won't be visible
|
||||||
unless using ImDrawFlags_StrokeLegacy mode. With inverted coordinates (min > max):
|
unless using `ImDrawFlags_StrokeLegacy` mode. With inverted coordinates (min > max):
|
||||||
- Legacy `AddRect()` rounding off -> visible but incorrect outer size.
|
- Legacy `AddRect()` rounding off -> visible but incorrect outer size.
|
||||||
- Legacy `AddRect()` rounding on -> visible but very glitchy.
|
- Legacy `AddRect()` rounding on -> visible but very glitchy.
|
||||||
- Legacy `AddRectFilled()` rounding off -> visible and correct.
|
- Legacy `AddRectFilled()` rounding off -> visible and correct.
|
||||||
@ -188,8 +188,7 @@ Breaking Changes:
|
|||||||
for `ImGuiBackendFlags_RendererHasTextures`. Use the new signature! (#9487)
|
for `ImGuiBackendFlags_RendererHasTextures`. Use the new signature! (#9487)
|
||||||
- OpenGL3: Does not attempt to read `GL_CLIP_ORIGIN` by default as the detection is
|
- OpenGL3: Does not attempt to read `GL_CLIP_ORIGIN` by default as the detection is
|
||||||
sub-optimal and not reliable on some setup. Use `ImGui_ImplOpenGL3_SetClipOrigin(0)`
|
sub-optimal and not reliable on some setup. Use `ImGui_ImplOpenGL3_SetClipOrigin(0)`
|
||||||
to enable auto-detection, or e.g. `ImGui_ImplOpenGL3_SetClipOrigin(GL_UPPER_LEFT)`.
|
to enable auto-detection, or e.g. `ImGui_ImplOpenGL3_SetClipOrigin(GL_UPPER_LEFT)`.
|
||||||
|
|
||||||
|
|
||||||
Other Changes:
|
Other Changes:
|
||||||
|
|
||||||
@ -200,7 +199,7 @@ Other Changes:
|
|||||||
- Tweak TextDisabled, TableHeaderBg, TableBorders to match altered WindowBg.
|
- Tweak TextDisabled, TableHeaderBg, TableBorders to match altered WindowBg.
|
||||||
- StyleColorsLight(): inverted `ImGuiCol_TitleBgXXX` colors so that the selected
|
- StyleColorsLight(): inverted `ImGuiCol_TitleBgXXX` colors so that the selected
|
||||||
window title bar appears brighter.
|
window title bar appears brighter.
|
||||||
- DrawList:
|
- ImDrawList:
|
||||||
- Added flags to specify stroke position in all `ImDrawList` stroking functions: (#9504) [@memononen]
|
- Added flags to specify stroke position in all `ImDrawList` stroking functions: (#9504) [@memononen]
|
||||||
- `ImDrawFlags_StrokeInside` (default for Rect, Circle/Ellipse, Triangle, Quad, Ngon + AddLineH, AddLineV)
|
- `ImDrawFlags_StrokeInside` (default for Rect, Circle/Ellipse, Triangle, Quad, Ngon + AddLineH, AddLineV)
|
||||||
- `ImDrawFlags_StrokeCenter` (default for Line, Polyline, Beziers, Paths function)
|
- `ImDrawFlags_StrokeCenter` (default for Line, Polyline, Beziers, Paths function)
|
||||||
@ -267,25 +266,25 @@ Other Changes:
|
|||||||
- AddConvexPolyFilled()/PathFillConvex(): improved to handle input geometry more robustly.
|
- AddConvexPolyFilled()/PathFillConvex(): improved to handle input geometry more robustly.
|
||||||
The rendering of sharp corners was improved. Earlier there were issues with sharp corners
|
The rendering of sharp corners was improved. Earlier there were issues with sharp corners
|
||||||
either creating long spikes, or messing up the adjacent edge's anti-aliasing. Now the
|
either creating long spikes, or messing up the adjacent edge's anti-aliasing. Now the
|
||||||
anti-aliasing fringe calculation is more consistent, and sharp corners get bevelled to
|
anti-aliasing fringe calculation is more consistent, and sharp corners get beveled to
|
||||||
avoid spikes. There might still be issues when the smallest extent of a long thin polygon
|
avoid spikes. There might still be issues when the smallest extent of a long thin polygon
|
||||||
is less than a pixel. Also supports `ImDrawFlags_JoinMiter`, to facilitate matching
|
is less than a pixel. Also supports `ImDrawFlags_JoinMiter`, to facilitate matching
|
||||||
a stroke using the same flag.
|
a stroke using the same flag.
|
||||||
- AddRect(), AddRectFilled(): various optimizations for rounded rectangles. (#1962, #9504)
|
- `AddRect()`, `AddRectFilled()`: various optimizations for rounded rectangles. (#1962, #9504)
|
||||||
- Integer-aligned coordinates and thicknesses will automatically use baked textures,
|
- Integer-aligned coordinates and thicknesses will automatically use baked textures,
|
||||||
saving on both CPU and vertex/index data.
|
saving on both CPU and vertex/index data.
|
||||||
- Enabled by default. Use `ImFontAtlasFlags_NoBakedRoundCorners` to disable baking
|
- Enabled by default. Use `ImFontAtlasFlags_NoBakedRoundCorners` to disable baking
|
||||||
round corners in font atlas.
|
round corners in font atlas.
|
||||||
- Added `ImDrawFlags_UseTexForRoundCorners` flag to enable in scope or per-shape.
|
- Added `ImDrawFlags_UseTexForRoundCorners` flag to enable in scope or per-shape.
|
||||||
Added for consistency and debugging, not really needed in practice.
|
Added for consistency and debugging, not really needed in practice.
|
||||||
- AddCircle, AddCircleFilled: fixed large circles being under-tessellated
|
- `AddCircle()`, `AddCircleFilled()`: fixed large circles being under-tessellated
|
||||||
(when above ~140 with default CircleTessellationMaxError).
|
(when above ~140 with default CircleTessellationMaxError).
|
||||||
- Improved debug-build performance in various locations.
|
- Improved debug-build performance in various locations.
|
||||||
- Improved minor mismatches when overlapping strokes and filled shapes.
|
- Improved minor mismatches when overlapping strokes and filled shapes.
|
||||||
For example, when using inside strokes,
|
For example, when using inside strokes,
|
||||||
- `AddRect()` and `AddRectFilled()` with rounding now overlap better. (#3656)
|
- `AddRect()` and `AddRectFilled()` with rounding now overlap better. (#3656)
|
||||||
- `AddCircle()` and `AddCircleFilled()` now overlap better.
|
- `AddCircle()` and `AddCircleFilled()` now overlap better.
|
||||||
- Added ImDrawList::PushDrawFlag()/PopDrawFlag() to alter certain flags for a
|
- Added `ImDrawList::PushDrawFlag()`/`PopDrawFlag()` to alter certain flags for a
|
||||||
scope and a given `ImDrawList`. (#9489)
|
scope and a given `ImDrawList`. (#9489)
|
||||||
- e.g. `PushDrawFlag(ImDrawFlags_StrokeLegacy, true);` enforce legacy tweaks.
|
- e.g. `PushDrawFlag(ImDrawFlags_StrokeLegacy, true);` enforce legacy tweaks.
|
||||||
- About `ImDrawFlags_StrokeLegacy`:
|
- About `ImDrawFlags_StrokeLegacy`:
|
||||||
@ -308,21 +307,25 @@ Other Changes:
|
|||||||
- Many thick shapes had broken corners with old no-AA code, and the old no-AA code
|
- Many thick shapes had broken corners with old no-AA code, and the old no-AA code
|
||||||
was wildly different from the AA code. Not the case any more. (#288)
|
was wildly different from the AA code. Not the case any more. (#288)
|
||||||
- Per-viewport FramebufferScale for Apple/Retina screen is applied to draw lists:
|
- Per-viewport FramebufferScale for Apple/Retina screen is applied to draw lists:
|
||||||
- AA Fringe is scaled accordingly.
|
- AA Fringe is scaled accordingly. (#9577)
|
||||||
- Circle and Curves tessellation error are scaled accordingly.
|
- Circle and Curves tessellation error are scaled accordingly.
|
||||||
- Reworked assert in PushTexture() to allow convenience grace period of using a
|
- Reworked assert in `PushTexture()` to allow convenience grace period of using a
|
||||||
texture that was queue for destroy during the frame. Make it safe to stick to
|
texture that was queue for destroy during the frame. Make it safe to stick to
|
||||||
an existing texture during the frame. (#9528, #8465)
|
an existing texture during the frame. (#9528, #8465)
|
||||||
- Added optional `platform_io.DrawCallback_SetSamplerFromTex` standard backend-agnostic
|
- Added optional `platform_io.DrawCallback_SetSamplerFromTex` standard backend-agnostic
|
||||||
draw callback for requesting to use the sampler associated already associated to a texture.
|
draw callback for requesting to use the sampler associated already associated to a texture.
|
||||||
Currently only supported by the OpenGL2/3 and SDLRenderer3 backend. (#9378)
|
Currently only supported by the OpenGL2/3 and SDLRenderer3 backend. (#9378)
|
||||||
- Fixed dangling ImDrawList::_OwnerName when using animated label. (#9552) [@ubi-dcastonguay]
|
- Fixed dangling `ImDrawList::_OwnerName` when using animated label. (#9552) [@ubi-dcastonguay]
|
||||||
|
- Mixed Values:
|
||||||
|
- Added `ImGuiItemFlags_MixedValue` flag for representing mixed/indeterminate values.
|
||||||
|
Supported by: Checkbox(), RadioButton(), DragXXX(), SliderXXX(), InputXXX(), ColorXXX()
|
||||||
|
and Combo() functions.
|
||||||
|
The scoped flag is designed for usage by advanced property editors. (#5518, #5677, #6865)
|
||||||
- Drags, Sliders:
|
- Drags, Sliders:
|
||||||
- Fixed an overflow using `ImGuiSliderFlags_Logarithmic` with S32/S64 types which
|
|
||||||
leads to clamped interactions. (#9526, #3361, #1823, #1316, #642) [@lailoken]
|
|
||||||
- Ongoing drags may be cancelled using Right-Click, Escape or Gamepad Triangle.
|
- Ongoing drags may be cancelled using Right-Click, Escape or Gamepad Triangle.
|
||||||
Cancelling reverts to the initial value. (#8564, #9534)
|
Cancelling reverts to the initial value. (#8564, #9534)
|
||||||
|
- Fixed an overflow using `ImGuiSliderFlags_Logarithmic` with S32/S64 types which
|
||||||
|
leads to clamped interactions. (#9526, #3361, #1823, #1316, #642) [@lailoken]
|
||||||
- TreeNode:
|
- TreeNode:
|
||||||
- Fixed issues/asserts with 32+ deep trees when using ImGuiTreeNodeFlags_DrawLinesXXX
|
- Fixed issues/asserts with 32+ deep trees when using ImGuiTreeNodeFlags_DrawLinesXXX
|
||||||
features or other features requiring stack storage. (#9509) [@lasrod]
|
features or other features requiring stack storage. (#9509) [@lasrod]
|
||||||
@ -331,14 +334,14 @@ Other Changes:
|
|||||||
section width.
|
section width.
|
||||||
- Using <> scrolling buttons while the selected Tab is at either end of the
|
- Using <> scrolling buttons while the selected Tab is at either end of the
|
||||||
section mid-section but not fully visible always makes it fully visible
|
section mid-section but not fully visible always makes it fully visible
|
||||||
(before eventually selecting a Tab in the leading/trailing section)
|
(before eventually selecting a Tab in the leading/trailing section).
|
||||||
- Tables:
|
- Tables:
|
||||||
- Fixed a bug restoring correct .ini columns order when table use is Sortable
|
- Fixed a bug restoring correct .ini columns order when table use is Sortable
|
||||||
but had no user changes. (regression from 1.92.9). (#9519, #9108)
|
but had no user changes. (regression from 1.92.9). (#9519, #9108)
|
||||||
- Fixed a bug tracking topology changes (insert new columns in the middle)
|
- Fixed a bug tracking topology changes (insert new columns in the middle)
|
||||||
when the table is not _Reorderable: new columns would be ordered incorrectly.
|
when the table is not _Reorderable: new columns would be ordered incorrectly.
|
||||||
(#9570, #9108, #9572) [@lailoken]
|
(#9570, #9108, #9572) [@lailoken]
|
||||||
- InpuText:
|
- InputText:
|
||||||
- Fixed a crash in some cases when using Home key in a WordWrap+ReadOnly field. (#9561)
|
- Fixed a crash in some cases when using Home key in a WordWrap+ReadOnly field. (#9561)
|
||||||
- Selectable:
|
- Selectable:
|
||||||
- Fixed `ImGuiSelectableFlags_SelectOnNav` triggering during NavInit.
|
- Fixed `ImGuiSelectableFlags_SelectOnNav` triggering during NavInit.
|
||||||
@ -346,9 +349,9 @@ Other Changes:
|
|||||||
- Reworked `AddFontDefault()` to use `io.DisplayFrameBufferScale` as part of the heuristic
|
- Reworked `AddFontDefault()` to use `io.DisplayFrameBufferScale` as part of the heuristic
|
||||||
to select `AddFontDefaultVector()` by default, effectively using ProggyForever instead of
|
to select `AddFontDefaultVector()` by default, effectively using ProggyForever instead of
|
||||||
ProggyClean on most Apple/Retina setups by default.
|
ProggyClean on most Apple/Retina setups by default.
|
||||||
- Added ImFont::AddRemapCodepointToGlyphIndex() allowing to access glyphs that are not
|
- Added `ImFont::AddRemapCodepointToGlyphIndex()` allowing to access glyphs that are not
|
||||||
mapped to codepoints. (#9559, #5647, #609, #5748, #8466)
|
mapped to codepoints. (#9559, #5647, #609, #5748, #8466)
|
||||||
- imgui_freetype: Fixed blurryness rendering `AddFontDefaultVector()`. Caused by a
|
- imgui_freetype: Fixed blurriness rendering `AddFontDefaultVector()`. Caused by a
|
||||||
non-pixel aligned offset caused by `ExtraSizeScale`. (#9348, #9233) [@redpartizan, @RDMCz]
|
non-pixel aligned offset caused by `ExtraSizeScale`. (#9348, #9233) [@redpartizan, @RDMCz]
|
||||||
- (Internal) ImFontLoader: reworked `FontSrcContainsGlyph`, `FontBakedLoadGlyph` signatures
|
- (Internal) ImFontLoader: reworked `FontSrcContainsGlyph`, `FontBakedLoadGlyph` signatures
|
||||||
to take raw glyph index instead of codepoint. Added `FontSrcGetGlyphIndexFromCodepoint`.
|
to take raw glyph index instead of codepoint. Added `FontSrcGetGlyphIndexFromCodepoint`.
|
||||||
@ -356,7 +359,7 @@ Other Changes:
|
|||||||
- Added `IMGUI_DISABLE_STB_TRUETYPE` to completely omit the stb_truetype loader
|
- Added `IMGUI_DISABLE_STB_TRUETYPE` to completely omit the stb_truetype loader
|
||||||
code + stb_truetype.h code. (#9573)
|
code + stb_truetype.h code. (#9573)
|
||||||
- ColorEdit:
|
- ColorEdit:
|
||||||
- ColorButton, ColorEdit, ColorPicker: cancel-out alpha caused by BeginDisabled() so
|
- ColorButton, ColorEdit, ColorPicker: cancel-out alpha caused by `BeginDisabled()` so
|
||||||
disabled color buttons have the same color as non-disabled oness. (#9511)
|
disabled color buttons have the same color as non-disabled oness. (#9511)
|
||||||
- ColorButton: fixed issues/inconsistencies with checkerboard rendering when combining
|
- ColorButton: fixed issues/inconsistencies with checkerboard rendering when combining
|
||||||
color alpha and global style alpha. (#9511) [@enjmiah, @ocornut]
|
color alpha and global style alpha. (#9511) [@enjmiah, @ocornut]
|
||||||
@ -375,13 +378,17 @@ Other Changes:
|
|||||||
match always filters out. (#2435) [@kudaba, @ocornut]
|
match always filters out. (#2435) [@kudaba, @ocornut]
|
||||||
- Added `DrawWithHint()` function. (#6206, #6395, #6447)
|
- Added `DrawWithHint()` function. (#6206, #6395, #6447)
|
||||||
- Added a "incl -excl" hint by default when the search field is empty. (#6206, #6395, #6447)
|
- Added a "incl -excl" hint by default when the search field is empty. (#6206, #6395, #6447)
|
||||||
|
- Widgets:
|
||||||
|
- Checkbox, Menus: check marks use anti-aliased ends.
|
||||||
|
- Tweaked rendering in various locations to avoid blurriness:
|
||||||
|
- Windows: title-bar and menu-bar border (when thickness>1.0f).
|
||||||
|
- SeparatorText: border (when thickness>1.0f).
|
||||||
|
- Tree: hierarchy lines (when thickness>1.0f).
|
||||||
|
- InputText: input caret (when thickness>1.0f).
|
||||||
|
- TabBar: selected overline border (when thickness>1.0f).
|
||||||
- Misc:
|
- Misc:
|
||||||
- Added `ImGuiItemFlags_MixedValue` flag for representing mixed/indeterminate values.
|
|
||||||
Supported by: Checkbox(), RadioButton(), DragXXX(), SliderXXX(), InputXXX(), ColorXXX()
|
|
||||||
and Combo() functions.
|
|
||||||
The scoped flag is designed for usage by advanced property editors. (#5518, #5677, #6865)
|
|
||||||
- Fixed `GetBackgroundDrawList()`/`GetForegroundDrawList()` not being properly reset
|
- Fixed `GetBackgroundDrawList()`/`GetForegroundDrawList()` not being properly reset
|
||||||
every frame when cumulated session time is very large (e.g. a few days). [@lailoken]
|
every frame when accumulated session time is very large (e.g. a few days). [@lailoken]
|
||||||
- Added `IM_NODEBUGSTEP` helper to tag functions with `__declspec(non_user_code)` (MSVC)
|
- Added `IM_NODEBUGSTEP` helper to tag functions with `__declspec(non_user_code)` (MSVC)
|
||||||
or `[[gnu::artificial]]` (Clang/GCC) in order to provide a hint to debuggers to skip
|
or `[[gnu::artificial]]` (Clang/GCC) in order to provide a hint to debuggers to skip
|
||||||
trivial functions when stepping into.
|
trivial functions when stepping into.
|
||||||
@ -390,16 +397,8 @@ Other Changes:
|
|||||||
- Fixed strict aliasing violation in `ImHashData()` affecting Clang 23 + SSE 4.2 + -flto.
|
- Fixed strict aliasing violation in `ImHashData()` affecting Clang 23 + SSE 4.2 + -flto.
|
||||||
Could manifest as `ImFontAtlasBakedGetId()` computation omitting font size from
|
Could manifest as `ImFontAtlasBakedGetId()` computation omitting font size from
|
||||||
the hashed data. (#9557, #9560) [@sthalik]
|
the hashed data. (#9557, #9560) [@sthalik]
|
||||||
- IO: restore default clipboard/ime/shell platform handlers on ClearPlatformHandlers(), fixing
|
- IO: restore default clipboard/ime/shell platform handlers on `ClearPlatformHandlers()`, fixing
|
||||||
issues switching backends mid-session to one relying on default. (#9537, #8945, #2769) [@lstalmir]
|
issues switching backends mid-session to one relying on default. (#9537, #8945, #2769) [@lstalmir]
|
||||||
- Widgets:
|
|
||||||
- Checkbox, Menus: check marks use anti-aliased ends.
|
|
||||||
- Tweaked rendering in various locations to avoid blurryness:
|
|
||||||
- Windows: title-bar and menu-bar border (when thickness>1.0f).
|
|
||||||
- SeparatorText: border (when thickness>1.0f).
|
|
||||||
- Tree: hierarchy lines (when thickness>1.0f).
|
|
||||||
- InputText: input caret (when thickness>1.0f).
|
|
||||||
- TabBar: selected overline border (when thickness>1.0f).
|
|
||||||
- Demo:
|
- Demo:
|
||||||
- Added `Widgets->Mixed Values` section. (#5518, #5677, #6865)
|
- Added `Widgets->Mixed Values` section. (#5518, #5677, #6865)
|
||||||
- Custom Rendering section: exposed new flags; showcasing overlapping strokes
|
- Custom Rendering section: exposed new flags; showcasing overlapping strokes
|
||||||
@ -413,7 +412,7 @@ Other Changes:
|
|||||||
and leave the other ones untouched. (#9574) [@tqjxlm]
|
and leave the other ones untouched. (#9574) [@tqjxlm]
|
||||||
- OpenGL2, OpenGL3: added support for `platform_io.DrawCallback_SetSamplerFromTex` draw
|
- OpenGL2, OpenGL3: added support for `platform_io.DrawCallback_SetSamplerFromTex` draw
|
||||||
callback to request using the sampler associated already associated to a texture. (#9378)
|
callback to request using the sampler associated already associated to a texture. (#9378)
|
||||||
- OpenGL2, OpenGL3: fixed `DrawCallback_ResetRenderState` handler not reseting all states
|
- OpenGL2, OpenGL3: fixed `DrawCallback_ResetRenderState` handler not resetting all states
|
||||||
in the glTexParameter() path. (#9378)
|
in the glTexParameter() path. (#9378)
|
||||||
- OpenGL3: added `ImGui_ImplOpenGL3_SetClipOrigin()` to specify origin between
|
- OpenGL3: added `ImGui_ImplOpenGL3_SetClipOrigin()` to specify origin between
|
||||||
`GL_LOWER_LEFT` (new default), `GL_UPPER_LEFT` and `0` (autodetect, old default).
|
`GL_LOWER_LEFT` (new default), `GL_UPPER_LEFT` and `0` (autodetect, old default).
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
// dear imgui, v1.93.0 WIP
|
// dear imgui, v1.93.0
|
||||||
// (main code and documentation)
|
// (main code and documentation)
|
||||||
|
|
||||||
// Help:
|
// Help:
|
||||||
|
|||||||
8
imgui.h
8
imgui.h
@ -1,4 +1,4 @@
|
|||||||
// dear imgui, v1.93.0 WIP
|
// dear imgui, v1.93.0
|
||||||
// (headers)
|
// (headers)
|
||||||
|
|
||||||
// Help:
|
// Help:
|
||||||
@ -29,8 +29,8 @@
|
|||||||
|
|
||||||
// Library Version
|
// Library Version
|
||||||
// (Integer encoded as XYYZZ for use in #if preprocessor conditionals, e.g. '#if IMGUI_VERSION_NUM >= 12345')
|
// (Integer encoded as XYYZZ for use in #if preprocessor conditionals, e.g. '#if IMGUI_VERSION_NUM >= 12345')
|
||||||
#define IMGUI_VERSION "1.93.0 WIP"
|
#define IMGUI_VERSION "1.93.0"
|
||||||
#define IMGUI_VERSION_NUM 19298
|
#define IMGUI_VERSION_NUM 19300
|
||||||
#define IMGUI_HAS_TABLE // Added BeginTable() - from IMGUI_VERSION_NUM >= 18000
|
#define IMGUI_HAS_TABLE // Added BeginTable() - from IMGUI_VERSION_NUM >= 18000
|
||||||
#define IMGUI_HAS_TEXTURES // Added ImGuiBackendFlags_RendererHasTextures - from IMGUI_VERSION_NUM >= 19198
|
#define IMGUI_HAS_TEXTURES // Added ImGuiBackendFlags_RendererHasTextures - from IMGUI_VERSION_NUM >= 19198
|
||||||
|
|
||||||
@ -992,7 +992,7 @@ namespace ImGui
|
|||||||
IMGUI_API void EndDragDropTarget(); // only call EndDragDropTarget() if BeginDragDropTarget() returns true!
|
IMGUI_API void EndDragDropTarget(); // only call EndDragDropTarget() if BeginDragDropTarget() returns true!
|
||||||
IMGUI_API const ImGuiPayload* GetDragDropPayload(); // peek directly into the current payload from anywhere. returns NULL when drag and drop is finished or inactive. use ImGuiPayload::IsDataType() to test for the payload type.
|
IMGUI_API const ImGuiPayload* GetDragDropPayload(); // peek directly into the current payload from anywhere. returns NULL when drag and drop is finished or inactive. use ImGuiPayload::IsDataType() to test for the payload type.
|
||||||
|
|
||||||
// Disabling [BETA API]
|
// Disabling
|
||||||
// - Disable all user interactions and dim items visuals (applying style.DisabledAlpha over current colors)
|
// - Disable all user interactions and dim items visuals (applying style.DisabledAlpha over current colors)
|
||||||
// - Those can be nested but it cannot be used to enable an already disabled section (a single BeginDisabled(true) in the stack is enough to keep everything disabled)
|
// - Those can be nested but it cannot be used to enable an already disabled section (a single BeginDisabled(true) in the stack is enough to keep everything disabled)
|
||||||
// - Tooltips windows are automatically opted out of disabling. Note that IsItemHovered() by default returns false on disabled items, unless using ImGuiHoveredFlags_AllowWhenDisabled.
|
// - Tooltips windows are automatically opted out of disabling. Note that IsItemHovered() by default returns false on disabled items, unless using ImGuiHoveredFlags_AllowWhenDisabled.
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
// dear imgui, v1.93.0 WIP
|
// dear imgui, v1.93.0
|
||||||
// (demo code)
|
// (demo code)
|
||||||
|
|
||||||
// Help:
|
// Help:
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
// dear imgui, v1.93.0 WIP
|
// dear imgui, v1.93.0
|
||||||
// (drawing and font code)
|
// (drawing and font code)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
// dear imgui, v1.93.0 WIP
|
// dear imgui, v1.93.0
|
||||||
// (internal structures/api)
|
// (internal structures/api)
|
||||||
|
|
||||||
// You may use this file to debug, understand or extend Dear ImGui features but we don't provide any guarantee of forward compatibility.
|
// You may use this file to debug, understand or extend Dear ImGui features but we don't provide any guarantee of forward compatibility.
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
// dear imgui, v1.93.0 WIP
|
// dear imgui, v1.93.0
|
||||||
// (tables and columns code)
|
// (tables and columns code)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
// dear imgui, v1.93.0 WIP
|
// dear imgui, v1.93.0
|
||||||
// (widgets code)
|
// (widgets code)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user