8bcb0cda73
Add text alignment support, fix wrapping behavior
...
This refactors the semantics of Font::CalcWordWrapA - it had several subtle issues that rendered the line_width unsuitable for external use.
Now returns the location of the first line break, and the length of the line including any leading whitespace.
This PR refactors the implementation of and implements RenderText and CalcTextSize wrapping in terms of CalcWordWrapPositionA.
2024-02-25 12:30:46 +01:00
d07649b7b4
Add Push/PopTextAlignment function
2024-02-25 12:30:46 +01:00
fef3389157
Version 1.89.9
2023-09-04 14:30:32 +02:00
7b5fb33296
Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
2023-09-04 12:14:41 +02:00
e8a5c9e1b8
Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
2023-09-04 11:23:54 +02:00
f93d0befaf
Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. ( #6758 )
...
Amend fdc526e8f
2023-08-29 12:19:15 +02:00
33ea1e8b78
ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. ( #6722 )
2023-08-28 10:38:13 +02:00
ba1fa904a9
IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). ( #6719 , #2278 )
...
Amend 13f718337
2023-08-17 13:12:21 +02:00
1362fc0c56
Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
2023-08-09 11:14:44 +02:00
bc3c0ce772
Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. ( #1079 , #1131 )
...
Added a stack for this purpose which other features might build on (e.g. #2920 ). However this is currently gated by many tests and not a performance concern, but making stack happen all the time may be undesirable.
2023-08-08 14:07:00 +02:00
cf3726bcbc
Internals: rename bg/fg drawlist holders in structs to reduce confusion.
2023-08-06 19:46:27 +02:00
d6d94d90bf
Version 1.89.9 WIP
...
+ Minor typo fixes
2023-08-03 19:19:21 +02:00
f7eea63872
Version v1.89.8
2023-08-01 12:53:57 +02:00
52125a54a5
Tables: added TableGetHoveredRow() in imgui_internal.h. ( #6250 , #6347 , #6588 , #3740 )
...
Works with one-frame delay inconsistent with other functions, may be too bug-prone.
2023-07-13 19:23:48 +02:00
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
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
cc4c37dbac
Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
...
This is mostly expected for range-select.
+ Rename ImGuiNavMoveFlags_Tabbing -> ImGuiNavMoveFlags_IsTabbing
2023-07-11 16:49:26 +02:00
3fe4319314
Version 1.89.8 WIP
2023-07-05 14:17:46 +02:00
cb9015e254
Version 1.89.7
2023-07-04 14:56:09 +02:00
1029f57b8a
Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. ( #1485 )
2023-07-03 12:17:46 +02:00
4dee919bc0
(Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
...
This also allow moving AllowOverlap logic from ButtonBehavior() to ItemHoverable(), allowing other widgets to honor it. (#6512 , #3909 , #517 )
2023-06-28 14:42:14 +02:00
8439a73645
Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. ( #6512 , #3909 , #517 )
...
# Conflicts:
# imgui.cpp
# imgui_widgets.cpp
2023-06-28 14:40:47 +02:00
a9a5cbf431
Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). ( #6512 , #3909 )
2023-06-28 14:40:47 +02:00
51f564eea6
(Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). ( #6512 , #3909 , #517 )
...
+ Internals: Renamed 'ImGuiButtonFlags_AllowItemOverlap' to 'ImGuiButtonFlags_AllowOverlap' without redirection.
2023-06-28 14:37:05 +02:00
9214c28aad
IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
2023-06-20 15:04:15 +02:00
e7a4327eb8
IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
2023-06-20 15:04:14 +02:00
b3b8cbd001
IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. ( #1485 )
...
Update demo accordingly.
2023-06-20 15:04:14 +02:00
d96bbf0aae
TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. ( #6517 )
...
+ Minor tweak comment/layout in ImGuiIO
2023-06-19 14:33:23 +02:00
194916135a
Internals: renamed HoverDelay fields.
2023-06-16 16:56:33 +02:00
15d74bad1d
Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
2023-06-16 16:55:51 +02:00
eec344cc1e
Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). ( #1485 )
...
+ Tweaked default value of io.HoverDelayNormal from 0.30 to 0.35.
2023-06-14 18:29:49 +02:00
6cabad6e7a
Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
2023-06-14 16:18:40 +02:00
956a1a17fb
Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
...
(amend 31f11cf
which broke raage-select)
2023-06-01 15:50:14 +02:00
31f11cf304
Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
2023-06-01 15:35:01 +02:00
61ebb37843
Version 1.89.7 WIP
2023-06-01 11:22:43 +02:00
5319d1cffa
Version 1.89.6
2023-05-31 14:47:32 +02:00
47579f8a40
Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
...
# Conflicts:
# imgui_internal.h
2023-05-23 16:28:53 +02:00
45c8c3b611
Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
...
+ Added default parameter to SeparatorEx() amend 2c558d5
2023-05-22 10:09:20 +02:00
df8667b18b
Comments/typos tweaks
2023-05-20 18:07:31 +02:00
2c558d5741
Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
2023-05-20 16:25:14 +02:00
e489e40a85
Clipper: Amend ecb0aaa
( #6424 , #3841 )
2023-05-15 14:06:16 +02:00
bcfc1ad8f6
Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
...
Amend 6656553
2023-05-10 15:22:17 +02:00
6656553fa4
Nav: Record/restore preferred position on each given axis.
...
Tagging #6344 #6003 #2694 #1688 as it relates to scoring, however this doesn't technically fix any of them fully yet.
But e.g. once we restore axial path for #2694 this commit will allow going back and forth to initial location.
2023-05-09 17:26:27 +02:00
eed7b0e9c5
Nav: remove other-axis clamping, now that columns themselves are clamped. ( #2221 )
...
Amend 00d3f92
+ older f2d14724
, 0cc20fca8
+ Add ImGuiNavMoveFlags_WrapMask_ for good measure.
2023-04-24 20:04:05 +02:00
01ca196530
Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. ( #6357 )
...
# Conflicts:
# imgui.cpp
2023-04-21 19:07:08 +02:00
30eceaf95f
Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). ( #6357 , #4317 )
2023-04-21 19:06:11 +02:00
f0fe1957a8
Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
2023-04-21 19:05:58 +02:00
00d3f9295e
Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. ( #2221 )
2023-04-20 16:42:52 +02:00
8d9e50c807
Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
2023-04-20 16:04:05 +02:00
064153fca4
Version 1.89.6 WIP
2023-04-17 14:40:00 +02:00