Version 1.93.0

This commit is contained in:
ocornut 2026-10-14 16:46:54 +02:00
parent a6fad9bbda
commit c1aaac65e8
8 changed files with 62 additions and 63 deletions

View File

@ -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).

View File

@ -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:

View File

@ -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.

View File

@ -1,4 +1,4 @@
// dear imgui, v1.93.0 WIP // dear imgui, v1.93.0
// (demo code) // (demo code)
// Help: // Help:

View File

@ -1,4 +1,4 @@
// dear imgui, v1.93.0 WIP // dear imgui, v1.93.0
// (drawing and font code) // (drawing and font code)
/* /*

View File

@ -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.

View File

@ -1,4 +1,4 @@
// dear imgui, v1.93.0 WIP // dear imgui, v1.93.0
// (tables and columns code) // (tables and columns code)
/* /*

View File

@ -1,4 +1,4 @@
// dear imgui, v1.93.0 WIP // dear imgui, v1.93.0
// (widgets code) // (widgets code)
/* /*