ocornut
391f714c37
RenderArrow doesn't need 64-bits rounding. Added ImRoundPositive() for consistency.
2026-10-30 19:54:08 +01:00
ocornut
048d7e10b5
Style: made default arrow stroked. Added SymbolArrowSizeFactor, SymbolArrowThicknessFactor to style arrow. ( #5233 , #2431 , #2235 , #6730 , #8243 )
...
Internal function takes a angle: #5812 .
This doesn't cover generic rendering override for symbols: #8243 , #2431 (arrows, somehow less needed now), #3351 (checkmarks), #6730 (tree nodes)
2026-10-27 14:09:35 +01:00
ocornut
726399ff76
Internals: RenderArrow: apply scale to horizontal offset. ( #3895 )
...
In the absence of a better standardized symbol/icon design this seem more consistent.
2026-10-27 13:56:16 +01:00
ocornut
4326411672
Internals: removed RenderArrowPointingAt(), moved to ColorPicker4 color.
2026-10-27 13:56:16 +01:00
ocornut
717f68fefe
Style: StyleColorsDark(): tweaked WindowBg to be darker than in 1.93.0.
2026-10-27 13:56:15 +01:00
ocornut
9d9a621f33
Fonts: expose ImFontBaked_BuildLoadGlyphAdvanceX() in imgui_internal.h.
2026-10-15 19:42:22 +02:00
ocornut
4c9c888fc5
Build: warning fixes for VS2015 and <v141.
2026-10-15 15:39:58 +02:00
ocornut
cbe3d5fb88
Version 1.93.1 WIP
2026-10-15 14:34:31 +02:00
ocornut
c1aaac65e8
Version 1.93.0
2026-10-14 17:55:08 +02:00
ocornut
a6fad9bbda
Style: update StyleColorsDark() for 1.93: greyer WindowBg, dark FrameBg.
2026-10-14 16:45:24 +02:00
Mikko Mononen
6aa6626f29
DrawList: improved handling of very small circles.
...
See testbed case 354.
2026-10-12 15:31:16 +02:00
ocornut
b2ade5f3ad
DrawList: AddRectFilled: add support for ImDrawFlags_StrokeLegacy to handle inverted coordinates + non-AA path.
...
Fix cases 207 and 251 in testbed.
+ add braces near an IM_APPEND_TRI() to silence PVS-Studio reasonable warning "V640 The code's operational logic does not correspond with its formatting"
2026-10-07 19:07:18 +02:00
ocornut
75ac1ab2c3
DrawList: AddCircle: fixed issue not clearing path in unlikely case where Path.Size<3.
2026-10-07 18:53:55 +02:00
Mikko Mononen
9e5e0bf9b2
DrawList: added explanation for IM_POLYLINE_CONVEX_POLY_MAX_BEVELS.
2026-10-07 18:53:55 +02:00
ocornut
f84d77c424
DrawList: changed _GetStrokePos() to a macro.
2026-10-07 18:53:55 +02:00
ocornut
cb66fcdaac
DrawList: rename ImDrawFlags_MiterOnly->ImDrawFlags_JoinMiter, ImDrawFlags_SquareCap->ImDrawFlags_CapSquare.
2026-10-07 18:53:55 +02:00
ocornut
7bccc3bc1e
DrawList: AddCircle, AddCircleFilled: fixed large circles being under-tessellated (when above ~140 with default CircleTessellationMaxError).
2026-10-07 18:53:55 +02:00
ocornut
475b793baa
Docs: reworked Changelog, comments.
2026-10-07 18:53:55 +02:00
ocornut
0e756a649d
(Breaking) DrawList: renamed ImDrawFlags_RoundCornersXXX to ImDrawFlags_RoundXXX. ( #9504 )
2026-10-07 18:53:55 +02:00
ocornut
c52f84c719
DrawList: rework _SelectFringeTexture() for use by third-party extensions + rename to _SelectLineTexture().
2026-10-07 18:53:55 +02:00
ocornut
7415edbad1
DrawList: fixed ImFontAtlasBuildUpdateTexDataCorners() packing vs render to match.
2026-10-07 18:53:55 +02:00
ocornut
dee0e34504
DrawList: amend PushDrawFlag() to report reaching capacity.
2026-10-07 18:53:55 +02:00
ocornut
230cd6feb0
DrawList: simplify ImFontAtlasBuildUpdateTexDataCorners() by merging fill/strokes loops.
2026-10-07 18:53:54 +02:00
Mikko Mononen
3dbb849acf
DrawList: fixed PathArcTo to not emit small segments.
...
- Changed PathArcTo to select start/end sample in quatized multiples of arc fast sample count
- This is done in order to avoid small segments at the start and end of the path, which causes issues with line AA ends
- Renamed CalcArcStepAndCount to CalcCornerArcStepAndCount to make it more clear that it returns the values for 90 degree arc
2026-10-07 18:53:54 +02:00
Mikko Mononen
c6c352f77d
DrawList: fixed too many detailed line textures being created.
...
Fixed issue where were creating detailed line textures up to detailed witdh + 1
Changed IM_DRAWLIST_TEX_LINES_DETAILED_WIDTH_MAX to IM_DRAWLIST_TEX_LINES_DETAILED_WIDTH_COUNT which no accounts for all the detailed line textures.
2026-10-07 18:53:54 +02:00
Mikko Mononen
91dc4f456a
DrawList: fixed rendering issues on small and degenerate shapes.
...
The "does stroke cover the whole shape" used to be overly pessimistic to stroking artifacts. This was due to the fringe, where the geometry would mess up before visually closing the shape.
Fixed the issue by adding max inner offest for the AddPolyline(), which limits the inner offset and also adjusts the texture coords.
Second part of the fix was to calculate the pass the max inner offset from the common shapes (circle, ngon, ellipse, rect).
While this does not fix all the ellipse rendering issues, it limits the issue a lot.
e.g. AddRect() w/ size=5, thickness=2 used to trigger AddRectFilled() fallback because threshold was pessimistic to prevent the AddPolyline() issues.
2026-10-07 18:53:54 +02:00
Mikko Mononen
475660f53c
DrawList: fixed overdraw issue for filled baked corner rendering.
...
Require all corners to fit inside the rect to avoid overdraw (or fallback to path rendering).
eg. AddRectFilled() w/ size=10, rounding=8 or 10 would break.
2026-10-07 18:53:54 +02:00
thedmd
640e931284
DrawList: fixed passing large thickness value (e.g. 1e20f) to thickness crashing the code.
2026-10-07 18:53:54 +02:00
ocornut
a547deed9b
DrawList: fixed AddRectFilled() path for minimum dimension.
2026-10-07 18:53:54 +02:00
ocornut
059017188d
DrawList: baking half-texel in TexUvLines[] now that AddPolylineLegacy() was removed.
2026-10-07 18:53:54 +02:00
ocornut
deb9c70ace
DrawList: ImDrawFlags_AALineEnds also requires ImDrawFlags_AALine, which makes it easier for widgets to opt-in AAEnds.
2026-10-07 18:53:54 +02:00
ocornut
20f17eeb6f
DrawList: fixed using ImDrawFlags_UseTexForRoundCorners when ImFontAtlasFlags_NoBakedRoundCorners has also been set.
2026-10-07 18:53:54 +02:00
ocornut
a597beaf95
DrawList: fixed dropping prim flags in some paths (most for ImDrawFlags_AAXXX flags).
2026-10-07 18:53:54 +02:00
Mikko Mononen
ba918bc45c
DrawList: fixed filled rect baked AA.
...
Always add 1px to the fill side of the rounded corner to prevent the corner AA to bleed into the rectangle edges.
2026-10-07 18:53:54 +02:00
ocornut
7a510274ce
DrawList: Comments. Atlas's NoBakedLines automatically disable AA at Style level. Fix passing non-Legacy stroke mask to PushDrawFlag(). Demo: Custom Rendering: use LiveEdit everywhere.
2026-10-07 18:53:54 +02:00
ocornut
b220bffdbb
Checkbox, Menus: check marks use anti-aliased ends.
...
Currently not a satisfying resolution.
2026-10-07 18:53:54 +02:00
ocornut
46e4c26095
DrawList: removed AddPolylineLegacy(), AddConvexPolyFilledLegacy().
2026-10-07 18:53:53 +02:00
ocornut
5181e95a46
DrawList: removed g_LEGACY_STROKES.
2026-10-07 18:53:53 +02:00
ocornut
67bcd9d545
DrawList: moved no-AA handling into _SelectFringeTexture().
2026-10-07 18:53:53 +02:00
ocornut
f511ce18f9
DrawList: tweak _SelectFringeTexture(). move more-unlikely screen_thickness tests within already-unlikely block. re-add removed asserts.
2026-10-07 18:53:53 +02:00
ocornut
2fdcf895c8
DrawList: moved _GetStrokePos() to a local inline function.
2026-10-07 18:53:53 +02:00
ocornut
f2cd901be6
DrawList: added PushDrawFlag(), PopDrawFlag(), ImSmallStack_<>. ( #9504 )
2026-10-07 18:53:53 +02:00
ocornut
7e87cb984d
DrawList: consistently support scope flags (ImDrawFlags::Flags) + primitive flags.
...
ImDrawFlags_AAEnds and ImDrawFlags_StrokeLegacy ok. (the most important ones).
ImDrawFlags_UseTexForRoundCorners ok.
ImDrawFlags_AAFill, ImDrawFlags_AAStrokes: for primitives: only for selected ones taking flags params. Haven't added the flag to all functions because it feels like a fringe use case.
ImDrawFlags_TextNoPixelSnap supported in RenderText(), per-prim (9417)
2026-10-07 18:53:53 +02:00
ocornut
02adb46a9f
(Breaking) DrawList: removed ImDrawListFlags_in favor of using ImDrawFlags.
...
# Conflicts:
# imgui.cpp
2026-10-07 18:53:53 +02:00
ocornut
cf85b48e55
DrawList: new ImDrawFlags API (yet unused in this commit)
2026-10-07 18:53:52 +02:00
ocornut
eb75c8056e
DrawList: inverted ImDrawFlags_NoAAEnds into ImDrawFlags_AAEnds.
2026-10-07 18:53:52 +02:00
ocornut
9b608ba079
DrawList: fixed warnings, added macro to facilitate visualizing rounded corner texture usage.
2026-10-07 18:53:52 +02:00
Mikko Mononen
10aa5d92e6
DrawList: Optimize AddNgon()
...
- test overestimate before testing more expensive details when testing if stroked ngon is actualy filled
- Note: not a common function, but the test harness is using this to draw a triangle, which makes it show up in profiling
2026-10-07 18:53:52 +02:00
Mikko Mononen
145b838818
DrawList: Optimize AddRectFilled()
...
- detect and draw non-rounded non-AA rect with less branches and calculations
- improves new AddRectFilled() overhead from 30% to 5-10%
2026-10-07 18:53:52 +02:00
Mikko Mononen
c5c76dcda5
DrawList: Optimize _SelectFringeTexture()
...
- store inverse line thickness in the spare texture uv component (same v was stord twice) to avoid division in _SelectFringeTexture
2026-10-07 18:53:52 +02:00