Commit Graph

11866 Commits

Author SHA1 Message Date
ocornut
d0bf1f316c DrawList: fixed build/warnings + added pretty theorical support for _StrokeLegacy in AddLineV/AddLineH
(Squash) Various zealous warning fixes. deom draw
2026-08-05 21:24:50 +02:00
Mikko Mononen
19e80b58b0 DrawList: changed CenterPixelAligned growth to be smoother, added stroke pos to AddLine()
- changed vertical AddLine() to be consistent with AddLineV()
- changed CenterPixelAligned growth to be smoother
- added (temporary) specialized stroke pos support for AddLine()
2026-08-05 21:24:50 +02:00
ocornut
753cb8474d DrawList: added _GetStrokePos() helper indirection, made flags=0 select default at runtime. 2026-08-05 21:24:49 +02:00
ocornut
e3a5cb7278 DrawList: fixed is_truncated checks in AddRect() and AddRectFilled(). 2026-08-05 21:24:49 +02:00
ocornut
e2498814cc Demo: Custom Rendering: expose Stroke Position.
Demo: Custom Rendering: amend tests (to include legacy AddLine() for vertical/horizontal lines to compare.
2026-08-05 21:24:49 +02:00
Mikko Mononen
79473f30a6 DrawList: optimize non-AA non-rounded case of AddRect() 2026-08-05 21:24:49 +02:00
Mikko Mononen
3bfabe3163 DrawList: added ImDrawFlags_StrokeCenterPixelAligned
- added ImDrawFlags_StrokeCenterPixelAligned which center aligns stroke so that outside of the stroke is pixel aligned
- fixed AddRect() non-rounded pixel aligned case to use correnct min/max
- fixed AddRect() default case to not adjust rounding for non-rounded rects
- fixed lineV() centered offset
- renamed ImDrawFlags_StrokeCenterPixelAligned to ImDrawFlags_StrokeCenterAligned.
- reduced debug build indirections.
2026-08-05 21:24:49 +02:00
ocornut
04d215c604 DrawList: AddRect: avoid altering rounding on StrokeOutside when initial value if 0 + comments 2026-08-05 21:24:49 +02:00
ocornut
13ddadb688 DrawList: Textured Round Corners: use macros + rename locals. (1962)
Squashed: Rename macros to IM_APPEND_VTX(), IM_APPEND_TRI()
2026-08-05 21:24:49 +02:00
Mikko Mononen
927df56807 DrawList: Textured Round Corners: Added flags to disable textured rounded corners (1962)
- added ImFontAtlasFlags_NoBakedRoundCorners which controls if rounded corners should be baked to texture
- added ImDrawListFlags_RoundCornersUseTex which controls if we should try to use textured roudned corners
- fixed how _FringeScaleIsInteger is calculated (we want to detect integer pixel scale)
- fixed how _FringeScale is used with textured rounded corners
2026-08-05 21:24:49 +02:00
Mikko Mononen
456858d50f DrawList: Textured Round Corners: implemented faster render path for stroked rectangles. (1962)
- added check to render simpler geometry when (stroked) rectangle has integer coords
- render non.rounded with 4 non-AA rectangles
- added textures for corners of 1-3 thickness and 1-16 rounding
- use textured corners when possible, or fallback to generic one
2026-08-05 21:24:48 +02:00
Mikko Mononen
ba66bdab22 DrawList: Textured Round Corners: first version. (1962) 2026-08-05 21:24:48 +02:00
Mikko Mononen
0935ae6bba Fixed layout/pixel-perfect issues in various widgets (w/ g_LEGACY_STROKES toggle) 2026-08-05 21:24:48 +02:00
ocornut
9169879d80 DrawList: added ImDrawFlags_StrokeLegacy support to AddLine(). 2026-08-05 21:24:48 +02:00
Mikko Mononen
484da7ed55 DrawList: added StrokePos flags: ImDrawFlags_StrokeInside, ImDrawFlags_StrokeOutside, ImDrawFlags_StrokeCenter, ImDrawFlags_StrokeLegacy. 2026-08-05 21:24:48 +02:00
Mikko Mononen
76184b6308 (Breaking) DrawList: removed half pixel offset from ImDrawList::AddLine()
- removed half pixel offset from ImDrawList::AddLine()
- added ImDrawList::AddHorizontalLine() and ImDrawList::AddVerticalLine() which draw line to the side of the specified line
- Change uses of AddLine() which were obviously vertical and horizontal  to use the v and h lines
- Fixed layouting issues from above changes
- Changed primitives demo to use vline and hline
- Fixed angled header to match original
- Fixed separator line to match original
- Fixed caret to match original
- Fix separator vertical alignment
- Added stroke pos, which controls how stroke is draw relative to the shape
- Kept legacy mode which does 1/2px inset
- Added stroke pos support for Rect, Circle, Ngon, and Ellipse
- add stroke pos to hline and vline
- Added drawflag ImDrawFlags_TruncateCoords which allows to hint the renderer that the input is snapped to pixels (can disable AA in some cases)
- Implemented 9-slice renderer for rounded corners
- Remove ImDrawFlags_TruncateCoords flag in favor of detecting truncated coords.
- Renamed to AddLineH(), AddLineV()
- Removed ImDrawStrokePos, folded into ImDrawFlags
2026-08-05 21:24:48 +02:00
ocornut
94c05ba40b Viewports: removed unused code. Extra assert. (#9502) 2026-08-05 20:18:26 +02:00
ocornut
035c87ef84 Viewports: fixed viewport->FramebufferScale update for main viewport. Amend 98a66d8, 91b131e. (#9502) 2026-08-05 17:20:04 +02:00
ocornut
91b131e448 Viewports: fixed viewport->FramebufferScale being reset. Amend 98a66d8. (#9502) 2026-08-05 15:54:39 +02:00
ocornut
11bd4e7731 Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
2026-08-04 14:34:04 +02:00
ocornut
2de0a07cd4 Fixed PVS Studio false positive. 2026-08-04 14:33:31 +02:00
ocornut
7c9f0c148c Backends, Examples: QNX: amends. Moved ignore list to main file. Removed .use files. (#9492)
Moved functions in example_qnx_opengl3/main.cpp to match structure of other examples.
2026-08-04 14:20:12 +02:00
Mike Gorchak
40ec568762 Backends+Examples: QNX Screen: added initial QNX support to backends and examples. (#9492) 2026-08-04 14:10:19 +02:00
ocornut
98a66d8c88 Viewports: fixed viewport->Framebuffer not being state on platform on backend where Platform_GetWindowFramebufferScale (value was only applied to DrawData). 2026-08-04 14:02:53 +02:00
ocornut
5108603789 DrawList: apply current pixel density to DrawList's fringe scale. Added ImDrawList::_SetPixelDensity(). Reword FontRasterizerDensity as CurrentPixelDensity.
Amend 94a4322.

# Conflicts:
#	imgui.cpp
#	imgui.h
#	imgui_draw.cpp
#	imgui_internal.h
2026-08-04 13:15:05 +02:00
ocornut
fdc1152281 (Breaking) Style: obsoleted style.CurveTessellationTol in favor of style.CurveTesselationMaxError.
cc #3127, #3664, #3665
2026-08-03 17:05:44 +02:00
ocornut
b647af2100 Fonts: AddFontDefault() uses framebuffer scale.
If running before DisplaySize is set, assume a different default on Apple.
2026-08-03 15:01:23 +02:00
ocornut
ebd752a0ec Version 1.93.0 WIP 2026-08-03 14:42:56 +02:00
ocornut
9b7699f325 Backends: amend comments to state that bilinear filtering is required ahead of 1.93. 2026-07-31 22:07:01 +02:00
ocornut
b48d1afbe8 Merge branch 'master' into docking
# Conflicts:
#	docs/CHANGELOG.txt
v1.92.9b-docking
2026-07-31 16:25:00 +02:00
ocornut
f1cc2ae15e Version 1.92.9b v1.92.9b 2026-07-31 16:14:42 +02:00
ocornut
448ef2baa9 DragXXX, SliderXXX: fixed a regression in 1.92.9 where clicking a previously Ctrl+Clicked field would flick it to text edit mode for a frame. (#9476, #701) 2026-07-31 13:09:40 +02:00
thedmd
b9adace7b5 Tables: fixed X position of angled borders being off by half a pixel. 2026-07-30 22:03:40 +02:00
thedmd
ed252c55aa Tables: fixed Y position of lower horizontal border being off by one pixel when vertical ones are not also enabled.
Attributed to thedmd who reported this to me.
2026-07-30 21:40:26 +02:00
ocornut
ffbf21af6b Demo: Custom Rendering: enable LiveEdit. Tweaks. 2026-07-30 16:20:09 +02:00
ocornut
e47e6b0d9d Fonts: made GetDefaultCompressedFontDataProggyClean()/GetDefaultCompressedFontDataProggyForever() undocumented non-static. (#9493) 2026-07-30 16:03:42 +02:00
ocornut
81cfcb8c1f Docking: (very minor) Scaling of drop boxes padding, rounding, thickness. 2026-07-30 13:57:36 +02:00
ocornut
950d27137e Tweaks. 2026-07-29 15:51:15 +02:00
omar
8c131021b0 Update pull_request_template.md 2026-07-29 15:26:51 +02:00
ocornut
ff135cf5e5 Backends: DirectX11: removed obsolete comment that got left in this backend only. 2026-07-27 21:49:46 +02:00
ocornut
b334d19b66 ImDrawData: fixed a regression in 1.92.9 where legacy ImDrawData::CmdListsCount was always 0. 2026-07-26 15:46:38 +02:00
ocornut
a9e7a8c880 ImDrawData: fixed a regression in 1.92.9 where legacy ImDrawData::CmdListsCount was always 0. 2026-07-26 15:42:48 +02:00
ocornut
9b4eb24cee Merge branch 'master' into docking v1.92.9-docking 2026-07-25 13:45:27 +02:00
ocornut
01380c5797 Version 1.92.9 v1.92.9 2026-07-25 13:28:06 +02:00
ocornut
e722165561 Docs: rework FAQ index, added multi-threading and string-view details. 2026-07-25 12:41:02 +02:00
ocornut
d94d0f3649 Examples: SDL+WebGPU: removed stray glfw from cmakefiles. (#9387, #9428) 2026-07-23 18:56:53 +02:00
ocornut
f31f98f4cd ImDrawData: fixed late initialized field. (Amend 6f41d13)
Would effectively be initialized on use but best to clear on constructor.
2026-07-23 17:56:02 +02:00
ocornut
f594633b54 Popups: added bool return value to OpenPopup(), OpenPopupOnItemClick() functions. (#9429)
Following on 795cf6fcb5.
2026-07-23 17:49:39 +02:00
ocornut
ca49eff398 Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
2026-07-22 15:46:24 +02:00
ocornut
b335bf4328 Added ImTextureData::QueueUserData for staged-rendering texture queues e.g. imgui_threaded_rendering.h. (#8597, #9136) 2026-07-22 15:14:45 +02:00