1
0
mirror of https://github.com/ocornut/imgui.git synced 2024-11-24 07:40:22 +01:00
Commit Graph

930 Commits

Author SHA1 Message Date
ocornut
6ccc561a2a Version 1.90.6 2024-05-08 15:38:33 +02:00
ocornut
d4495446d5 Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
currently: ImGui::SetNextWindowRefreshPolicy(ImGuiWindowRefreshFlags_TryToAvoidRefresh);
- This is NOT meant to replace frame-wide/app-wide idle mode.
- This is another tool: the idea that a given window could avoid refresh and reuse last frame contents.
- I think it needs to be backed by a careful and smart design overall (refresh policy, load balancing, making it easy and obvious to user).
- It's not there yet, this is currently a toy for experimenting.
My other issues with this:
- It appears to be very simple, but skipping most of Begin() logic will inevitably lead to tricky/confusing bugs. Let's see how it goes.
- I don't like very much that this opens a door to varying inconsistencies
- I don't like very much that it can lead us to situation where the lazy refresh gets disabled in bulk due to some reason (e.g. resizing a dock space) and we get sucked in the temptation to update for idle rather than update for dynamism.
2024-05-07 11:44:43 +02:00
ocornut
4cb0fe3c7d Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_sdl3.cpp
#	backends/imgui_impl_sdl3.h
#	docs/CHANGELOG.txt
#	imgui_internal.h
2024-04-16 14:24:13 +02:00
GamingMinds-DanielC
b475309fa1 Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404) 2024-04-15 15:31:39 +02:00
ocornut
daecfffefb Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720) 2024-04-15 12:52:45 +02:00
ocornut
3caa79c8a5 Version 1.90.6 WIP 2024-04-15 11:27:07 +02:00
ocornut
f790d51665 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal! 2024-04-12 16:55:32 +02:00
ocornut
1db579d458 Merge branch 'master' into docking 2024-04-11 16:21:56 +02:00
ocornut
231cbee0fc Version 1.90.5 2024-04-11 15:54:39 +02:00
ocornut
37b37fc2a3 DrawList: Allow AddText() to accept null ranges. (#3615, 7391) 2024-03-27 10:51:42 +09:00
ocornut
085781f5ca Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
2024-03-18 22:52:40 -07:00
cfillion
868facff9d ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417) 2024-03-18 22:50:47 -07:00
ocornut
fd75685fb0 Merge branch 'master' into docking 2024-03-05 18:12:11 +01:00
ocornut
fbf45ad149 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
- Simplify and compact some code. Shallow tweaks.
- Add comments.
- Add concave shape demo.
- Remove coarse culling.
- Remove nested types to match coding style and for consistent type nams when translated to other languages.
- Merged ClassifyNode() and ReclassifyNode().
- Extracted ImTriangleIsClockwise().
- Hold copy of points inside nodes instead of pointing to them.
2024-03-01 21:08:18 +01:00
thedmd
1ff90c52d5 ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
Extracted from 2023/12/29 post.
WIP add PathFillConcave(), AddConcavePolyFilled()
* remove use of 'auto'
* IsConvex -> ImPathIsConvex
* Triangulator -> ImTriangulator
* ImTriangulator: split declaration from definition, ImTriangulator can be put in the header if necessary
* ImTriangulator: Add node list flip to reverse winding order and handle degenerate cases
* ImTriangulator: Remove _HeapStorage, always require scratch buffer to be provided
* ImTriangulator: Use ImTriangleContainsPoint
* AddConcavePolyFilled: Clone AddConvexPolyFilled and use triangulator
* AddConcavePolyFilled: Remove ImDrawListEx_AddPolyFilled_xxx
* AddConcavePolyFilled: Use _Data->TempBuffer in triangulator
* AddConcavePolyFilled:
2024-03-01 21:06:00 +01:00
ocornut
1a487165b1 Merge branch 'master' into docking 2024-02-27 18:44:51 +01:00
ocornut
e46d1e69ac Version 1.90.5 WIP 2024-02-26 13:31:10 +01:00
ocornut
c6aa051629 Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
2024-02-22 20:01:46 +01:00
ocornut
277ae93c41 Version 1.90.4 2024-02-22 19:56:39 +01:00
ocornut
3b6d924acd ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
Incidentally, the auto-tesselation path of PathArcTo() wasn't much tested.
2024-02-20 16:02:04 +01:00
ocornut
2b662b1ab9 Merge branch 'master' into docking
# Conflicts:
#	docs/CHANGELOG.txt
#	imgui.cpp
2024-02-20 15:33:20 +01:00
ocornut
8a14b71f22 Version 1.90.4 WIP 2024-02-15 16:51:57 +01:00
ocornut
d79514c407 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_dx9.cpp
#	backends/imgui_impl_sdl2.cpp
#	backends/imgui_impl_sdl3.cpp
#	backends/imgui_impl_vulkan.cpp
#	imgui.cpp
2024-02-14 14:32:17 +01:00
ocornut
5b6f03213d Version 1.90.3 2024-02-14 13:58:19 +01:00
ocornut
915c6393ad Version 1.90.3 WIP 2024-02-12 14:54:48 +01:00
ocornut
71bcf350bd Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
2024-02-09 17:26:45 +01:00
ocornut
536090303a Version 1.90.2 2024-02-09 16:59:31 +01:00
ocornut
82eeafc196 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_glfw.cpp
2024-02-07 22:10:33 +01:00
Bruce Mitchener
f50ddc431e
Fixed some typos. (#7282) 2024-02-01 18:30:00 +01:00
ocornut
a27f22f0e9 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_vulkan.cpp
#	imgui.cpp
#	imgui_internal.h
2024-01-16 11:43:36 +01:00
ocornut
29809d7220 Version 1.90.2 WIP 2024-01-11 14:37:13 +01:00
ocornut
2dc85e6e43 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_opengl3.cpp
#	imgui.cpp
#	imgui_internal.h
2024-01-10 18:34:23 +01:00
ocornut
d6cb3c923d Version 1.90.1 2024-01-10 18:00:57 +01:00
ocornut
ebcfcd8da3 Merge branch 'master' into docking 2024-01-09 22:39:06 +01:00
ocornut
f1ae47c4b9 Docs: update links to Proggy Fonts. (#7211) 2024-01-09 12:06:58 +01:00
ocornut
f6253b87d0 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_sdl3.cpp
#	imgui.cpp
2023-11-28 14:39:46 +01:00
ocornut
3d083dbe1a Version 1.90.1 WIP 2023-11-15 23:53:58 +01:00
ocornut
ce0d0ac829 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_sdl3.cpp
#	backends/imgui_impl_vulkan.cpp
#	imgui.cpp
2023-11-15 16:08:53 +01:00
ocornut
b81bd7ed98 Version 1.90.0
w/ Changelog tweaks.
2023-11-15 15:56:05 +01:00
ocornut
46843b683b Fonts: minor/shallow amends (#6925) 2023-11-13 19:00:29 +01:00
thedmd
ed29ff08ba Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925) 2023-11-13 19:00:28 +01:00
thedmd
abfb9269b5 Fonts: added RasterizerDensity to ImFontConfig. (#6925) 2023-11-13 19:00:28 +01:00
ocornut
450f1d7e7b Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_opengl3.cpp
#	backends/imgui_impl_vulkan.cpp
#	imgui.cpp
2023-11-10 14:56:10 +01:00
ocornut
ab522dd18c Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537) 2023-11-09 16:44:39 +01:00
ocornut
f7fc186408 Merge branch 'master' into docking
+ 2 comments
# Conflicts:
#	backends/imgui_impl_glfw.cpp
#	backends/imgui_impl_osx.mm
#	backends/imgui_impl_sdl2.cpp
#	backends/imgui_impl_sdl3.cpp
#	backends/imgui_impl_win32.cpp
2023-10-12 19:22:36 +02:00
ocornut
32228d8add Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957) 2023-10-12 19:21:02 +02:00
ocornut
bb2fb74645 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_win32.cpp
#	imgui.cpp
2023-09-26 11:42:49 +02:00
ocornut
94da5842ef Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861) 2023-09-26 11:18:29 +02:00
ocornut
7e246a7bb9 Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
2023-09-16 13:51:51 +02:00
ocornut
6addf28c4b Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825) 2023-09-16 13:40:35 +02:00
ocornut
32171a8b0c Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822) 2023-09-14 14:40:28 +02:00
ocornut
bd63a9f056 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
Note that using io.FontGlobalScale or SetWindowFontScale(), with are legacy-ish, partially supported features, can still lead to unrounded sizes and same issues.
2023-09-11 10:04:44 +02:00
ocornut
72dbe45adc Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_win32.cpp
#	imgui.cpp
2023-09-08 18:02:06 +02:00
ocornut
44a6b493ee Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
Amend 5185329, 3f5b2a3, c2d6d26, 39432bf, 033dfd9
2023-09-08 12:14:11 +02:00
Leonardo Serrano
e3d9b875c9 ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
Rebased with mods by ocornut: defaults to num_segments==0, supports for auto-tesselation, tweak demo.
2023-09-07 12:12:21 +02:00
ocornut
fb9b006865 Version 1.90 WIP 2023-09-05 16:46:52 +02:00
ocornut
a1b60fc1f5 Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
#	imgui_demo.cpp
2023-09-04 14:59:59 +02:00
ocornut
fef3389157 Version 1.89.9 2023-09-04 14:30:32 +02:00
ocornut
3816d478df ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
# Conflicts:
#	imgui_widgets.cpp
2023-09-01 15:25:47 +02:00
ocornut
82d177ccbd Using range-based for where it makes sense. (#4537) 2023-08-28 12:21:44 +02:00
ocornut
63b6300c39 Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
#	imgui.h
#	imgui_internal.h
2023-08-08 14:16:13 +02:00
EggsyCRO
52587c28d6 ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317) 2023-08-06 17:22:40 +02:00
ocornut
d6d94d90bf Version 1.89.9 WIP
+ Minor typo fixes
2023-08-03 19:19:21 +02:00
ocornut
f8704cd085 Merge branch 'master' into docking 2023-08-01 13:11:26 +02:00
ocornut
f7eea63872 Version v1.89.8 2023-08-01 12:53:57 +02:00
ocornut
30594c37d0 Merge branch 'master' into docking 2023-08-01 10:22:21 +02:00
ocornut
dc2b0a2823 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird). 2023-07-29 17:37:32 +02:00
ocornut
eefc9035f0 Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3. 2023-07-29 16:22:30 +02:00
ocornut
023e59a5f2 ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
Amend/fix dbeeeae for docking.
+ Build fix when using IMGUI_DISABLE_DEBUG_TOOLS
2023-07-12 18:40:04 +02:00
ocornut
6888e6cdff ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
Amend/fix dbeeeae for docking.
+ Build fix when using IMGUI_DISABLE_DEBUG_TOOLS
2023-07-12 18:39:48 +02:00
ocornut
0110f4c8cc Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
#	imgui.h
#	imgui_internal.h
2023-07-12 18:19:24 +02:00
ocornut
dbeeeae593 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
2023-07-12 18:11:42 +02:00
ocornut
1a9ddd2396 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878) 2023-07-12 18:11:42 +02:00
ocornut
c649aca20a ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
+ Metrics: avoid misleadingly iterating all layers of DrawDataBuilder as everything is flattened into Layers[0] at this point.

# Conflicts:
#	imgui.cpp
#	imgui_internal.h
2023-07-12 18:11:42 +02:00
ocornut
f6feddd1ee Merge branch 'master' into docking
# Conflicts:
#	docs/CHANGELOG.txt
2023-07-11 12:44:15 +02:00
ocornut
3fe4319314 Version 1.89.8 WIP 2023-07-05 14:17:46 +02:00
ocornut
677c7b2258 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_vulkan.cpp
#	docs/CHANGELOG.txt
#	docs/TODO.txt
2023-07-04 14:58:03 +02:00
ocornut
cb9015e254 Version 1.89.7 2023-07-04 14:56:09 +02:00
ocornut
0664877998 Merge branch 'master' into docking 2023-06-09 14:02:19 +02:00
ocornut
61ebb37843 Version 1.89.7 WIP 2023-06-01 11:22:43 +02:00
ocornut
823a1385a2 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_sdlrenderer.h
#	docs/CHANGELOG.txt
#	imgui.cpp
2023-05-31 14:51:56 +02:00
ocornut
5319d1cffa Version 1.89.6 2023-05-31 14:47:32 +02:00
ocornut
075b975fed Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480) 2023-05-31 14:44:29 +02:00
ocornut
08145bc45c Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446) 2023-05-23 10:56:41 +02:00
ocornut
530134d125 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_metal.mm
#	backends/imgui_impl_opengl3.cpp
#	backends/imgui_impl_osx.mm
#	backends/imgui_impl_sdl3.cpp
#	imgui.cpp
2023-05-10 12:57:37 +02:00
cfillion
085fa42b7d Adedd workaround for GCC erroneous/zealous warning (#5343) 2023-04-27 19:16:00 +02:00
ocornut
4f692ba840 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_metal.mm
#	backends/imgui_impl_opengl3.cpp
#	backends/imgui_impl_osx.mm
#	backends/imgui_impl_win32.cpp
#	docs/CHANGELOG.txt
2023-04-19 16:35:50 +02:00
ocornut
064153fca4 Version 1.89.6 WIP 2023-04-17 14:40:00 +02:00
ocornut
0ea3b87bd6 Merge branch 'master' into docking
# Conflicts:
#	docs/CHANGELOG.txt
#	imgui_internal.h
2023-04-13 16:24:09 +02:00
ocornut
1ebb913827 Version 1.89.5 2023-04-13 16:17:49 +02:00
ocornut
4fdafef54f Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_opengl2.cpp
#	backends/imgui_impl_opengl3.cpp
#	backends/imgui_impl_sdl2.cpp
#	backends/imgui_impl_sdl3.cpp
#	docs/CHANGELOG.txt
#	imgui_widgets.cpp
2023-03-29 18:41:41 +02:00
ocornut
c98bad042d ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles. 2023-03-21 17:48:09 +01:00
ocornut
6b3435a2db Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_glfw.cpp
#	backends/imgui_impl_opengl3.cpp
#	docs/CHANGELOG.txt
2023-03-16 12:01:13 +01:00
ocornut
24a44b9abe Version 1.89.5 WIP 2023-03-15 12:25:20 +01:00
ocornut
9e30fb0ec1 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_glfw.cpp
#	docs/CHANGELOG.txt
#	imgui.cpp
2023-03-14 16:38:22 +01:00
ocornut
f3f6295d53 Version 1.89.4
Commented out obsolete enums/functions names: ImGuiSliderFlags_ClampOnInput, ImGuiInputTextFlags_AlwaysInsertMode, ImDrawList::AddBezierCurve(), ImDrawList::PathBezierCurveTo()()
2023-03-14 16:36:19 +01:00
ocornut
4078abe14c Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_opengl3.cpp
#	backends/imgui_impl_sdl2.cpp
#	backends/imgui_impl_sdl3.cpp
#	imgui.cpp
#	imgui.h
2023-03-06 17:03:55 +01:00
ocornut
a1b8457cb5 Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832) 2023-02-15 19:23:12 +01:00
ocornut
e25e4526cd Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_win32.cpp
#	docs/CHANGELOG.txt
2023-02-15 18:18:47 +01:00
ocornut
204cb4d226 Version 1.89.4 WIP 2023-02-15 15:35:56 +01:00