ocornut
3b99fc4883
ColorButton: small rendering tweak/optimization for the alpha checkerboard.
...
Inverting the pattern means that for our typical 3x3 grid we don't need to draw 1+4 rounded rectangles, only 1.
This also fix the slightly rounding mismatch when switching from a=255 to a<255 paths.
2026-06-01 14:23:29 +02:00
ocornut
cac16b0d16
DrawList: rename ImDrawListFlags_NoTextPixelSnap -> ImDrawListFlags_TextNoPixelSnap. ( #3437 , #9417 , #2291 )
...
Amend 1d33ea9
2026-05-29 18:39:17 +02:00
ocornut
1d33ea939f
DrawList: added ImDrawListFlags_NoTextPixelSnap to disable snapping of AddText() coordinates for a given scope. ( #3437 , #9417 , #2291 )
...
This may evolve into a per-call ImDrawFlags option as well.
+ clip_rect.Max.y early out may be applied before truncation.
2026-05-29 18:12:11 +02:00
ocornut
12b7977555
Tweak CalcTextSize() awkward width rounding/ceiling code to reduce floating-point imprecisions altering the result by 1 even at relatively small width. ( #791 ) + apply same fudge factor to less important roundings.
...
ceilf() is still measurable e.g. ballpark +0.5 for 200k calls.
2026-05-28 19:19:11 +02:00
ocornut
33bb693b4c
DrawList: skip PathLineTo/PathStroke calls for common AddLine(), AddLineH(), AddLineV() functions. ( #4091 )
2026-05-28 15:37:29 +02:00
ocornut
783eba926f
Docs: retroactively amend 1.92.8 changelog about ImDrawFlags_Closed value.
...
Amend 6df50a0
2026-05-28 11:37:37 +02:00
qwer
ac07da2b5b
Fonts: Added macros to disable ProggyClean/ProggyVector separately. ( #9407 )
2026-05-27 16:50:53 +02:00
ocornut
fbcf95193f
ImFontAtlas: moved common TexData calls into a same helper functions, so adding new ones is easier.
2026-05-22 20:03:30 +02:00
ocornut
068e055510
Textures: extract ImTextureDataUpdateNewFrame() out of ImFontAtlasUpdateNewFrame(). ( #8465 )
2026-05-15 16:38:45 +02:00
ocornut
c7767926ce
Version 1.92.9 WIP
2026-05-15 13:28:32 +02:00
ocornut
e0f5f9a14c
Amend AddRect(), AddPolyline() error detection to safely return an trigger error handling mechanism.
...
Amend 6df50a0667
2026-05-12 17:40:28 +02:00
ocornut
8936b58fe2
Version 1.92.8
...
Include minor bits: adjust activeid logging, tweak comments.
2026-05-12 16:30:30 +02:00
ocornut
73afb6b6e6
Fonts: clarify that ClearFonts() be useful over calling Clear().
2026-05-11 17:45:59 +02:00
ocornut
b8f6c51af7
Fonts: move ClearFonts(), ClearInputData(), ClearTexData() implementation (no other changes)
2026-05-11 17:42:08 +02:00
ocornut
eb453f2be6
Checkbox, Style: added ImGuiCol_CheckboxSelectedBg. ( #9392 )
2026-05-11 14:30:34 +02:00
ocornut
6df50a0667
(Breaking) DrawList: swapped the last two arguments of AddRect(), AddPolyline(), PathStroke(). thickness<>flags.
...
Added inline redirection functions when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is off.
Marked the old functions are =delete when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is on, to allow for better type-checking.
The aim is to be able to use/add flags to more ImDrawList functions, and making existing functions consistents was deemed very desirable.
2026-05-07 16:37:57 +02:00
ocornut
976c5c0f3a
Textures: extract ImTextureDataQueueUpload() out of ImFontAtlasTextureBlockQueueUpload() ( #8465 )
...
Not atlas specific, in support of texture system.
2026-05-06 16:19:39 +02:00
Mikko Mononen
691b89baae
ImDrawList: added AddLineH(), AddLineV() helpers. ( #9360 )
...
This commit is aimed to be a lossless transform. Further layout fixes in subsequent commits.
2026-04-28 17:04:54 +02:00
ocornut
82f46a73f8
(Breaking) Moved ImDrawCallback_ResetRenderState -> ImGui::GetPlatformIO().DrawCallback_ResetRenderState + added room in ImGuiPlatformIO for more standard backend-agnostic draw callbacks. ( #9378 )
2026-04-23 21:50:41 +02:00
ocornut
3cd8683061
Fonts: assert when using MergeMode with an explicit size over a target font with an implicit size, as scale factor are likely erroneous. ( #9361 )
2026-04-13 16:45:18 +02:00
ocornut
f83a378d62
TabBar: changed edge's TabItem ClipRect to not pass an inverted PushClipRect().
...
While not currently a problem, it would be if ImRect::Overlaps() is changed to use <= instead of < (cc: #3976 which deal with Contains but sort of similar topic).
Changing ImDrawList::PushClipRect()'s intersect_with_current_clip_rect path to use ClipRectFull() would also fix this, but it may ambiguous there which behavior would be correct.
Amend 1ec464eb9 .
2026-04-13 14:11:19 +02:00
ocornut
5da7eb0a84
DrawList: remove/strip old FixRectCornerFlags() code.
...
Amend 44a6b493e
2026-04-10 17:42:13 +02:00
ocornut
4a61188322
Version 1.92.8 WIP
2026-04-03 16:15:46 +02:00
ocornut
dac07199cf
Version 1.92.7
2026-04-02 19:22:53 +02:00
ocornut
65ebca8157
Fonts: fixed an issue introduced in 1.92.6 where style.FontBaseSize would be cleared during the first frame if no fonts was explicitely added before.
...
Amend 3aba95060e
2026-04-02 18:35:24 +02:00
thedmd
bd3c925680
DrawList: PathArcTo(): fixed erroneous segment count for small arcs on large circles. ( #9331 , #9313 )
2026-03-30 12:04:22 +02:00
Brenton Bostick
6f8bdb7bf7
Docs: fixed misc typos ( #9267 )
2026-03-09 14:51:06 +01:00
ocornut
b8a1f74fd9
Version 1.92.7 WIP
...
+ minor demo tweaks.
2026-02-18 16:05:51 +01:00
ocornut
e118ea06e0
Version 1.92.6
2026-02-17 17:45:07 +01:00
Laurenz Altenmüller
fbe973a8d0
Cast this to (void*) in zero-clearing memset calls to fix -Wnontrivial-memcall ( #9247 , #8295 , #8129 , #8135 )
...
Clang 20+ warns on memset(this, ...) for non-trivially copyable types via -Wnontrivial-memcall.
Should separately investigate -Wnonontrivial-memaccess vs -Wnonontrivial-memcall.
2026-02-16 16:29:00 +01:00
ocornut
041cdddf35
Fonts: add new ProggyForever font!
...
Amend f006400
2026-02-12 20:06:33 +01:00
ocornut
a8bf659143
Fonts: AddFontDefaultBitmap() doesn't need to explicitely set OversampleH/OversampleV to 1 as this is automatic.
2026-02-12 19:35:41 +01:00
ocornut
42f28ba305
Fonts: avoid baking ExtraSizeScale twice into Ascent/Descent. (re)
...
Reapply 1bcc23e + offset for our current internal font using it.
2026-02-11 20:26:14 +01:00
ocornut
c71b2a1fe6
Revert "Fonts: avoid baking ExtraSizeScale twice into Ascent/Descent."
...
This reverts commit 1bcc23ef12 .
2026-02-10 17:56:37 +01:00
tanksdude
5fe48b6a0e
Docs: fixed some typos ( #9217 )
2026-02-10 16:40:52 +01:00
ocornut
1bcc23ef12
Fonts: avoid baking ExtraSizeScale twice into Ascent/Descent.
...
Amend 55ad3b4
With extreme values of ExtraSizeScale offset would be noticeable in Descent - TextLink() function - or Ascent - TableAngledHeadersRow() function.
2026-02-05 16:52:04 +01:00
ocornut
5166bec5d8
Scrollbar: rounding corners selected based on a generic helper.
...
CalcRoundingFlagsForRectInRect() is backported and used multiple times by docking.
2026-01-29 17:23:28 +01:00
Tom Seddon
ab6c9d9b12
Ignore -Wsign-conversion warnings when building with gcc. ( #9192 )
...
Co-authored-by: Tom Seddon <tom@trlinux>
2026-01-26 11:51:22 +01:00
ocornut
7250fbde2e
Fixed warning compiling stb_truetype with MSVC, C++20 with /w15262 ( #9189 )
2026-01-23 14:29:20 +01:00
ocornut
3aba95060e
Fonts: adding new fonts after removing all fonts mid-frame properly updates current state.
2026-01-21 19:53:55 +01:00
ocornut
f64c7c37ef
Fonts: fixed a crash when trying to use AddFont() with MergeMode=true on a font that has already been rendered. ( #9162 )
2026-01-12 18:17:38 +01:00
ocornut
960921f03a
Happy new year!
2026-01-03 01:07:58 +01:00
ocornut
05581da183
AddFontDefault() now automatically selects an embedded font between AddFontDefaultVector() and AddFontDefaultBitmap).
2025-12-23 18:16:33 +01:00
ocornut
f006400f05
Fonts: added AddFontDefaultVector() with embedded ProggyVector data.
2025-12-23 18:16:33 +01:00
ocornut
73dd0e869d
(Breaking) Fonts: remove ImFontConfig::PixelSnapV. Post-rescale GlyphOffset is always rounded.
...
Amend 99f6b305c , 99bca397d8 .
2025-12-23 18:16:33 +01:00
ocornut
55ad3b4abd
Fonts: added ExtraSizeScale feature (undocumented).
2025-12-23 18:16:32 +01:00
ocornut
d1de937c31
Fonts: ImFontAtlasFontRebuildOutput() helper.
2025-12-23 18:16:32 +01:00
ocornut
9055c9ed22
imgui_freetype: fixed overwriting ImFontConfig::PixelSnapH when hinting is enabled.
...
Fix/amend 99f6b305c1 .
2025-12-22 17:52:32 +01:00
ocornut
d87650dffb
Text: fixed unused variable warning on builds without asserts.
2025-12-21 18:22:48 +01:00
ocornut
a5dffbec38
Text: word-wrapping use a small lookup table. ( #8990 , #3237 , #8503 , #8139 , #8439 , #9094 , #3002 , #9066 , #8838 )
2025-12-21 18:04:01 +01:00