Webster Sheets
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
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
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
ocornut
33ea1e8b78
ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. ( #6722 )
2023-08-28 10:38:13 +02:00
ocornut
4a81424492
CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. ( #6749 )
2023-08-25 14:14:34 +02:00
ocornut
b41811a68c
CollapseButton: handle clipping better + align circle like in docking branch.
...
Amend 6c3697f6
2023-08-25 14:11:33 +02:00
ocornut
ba1fa904a9
IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). ( #6719 , #2278 )
...
Amend 13f718337
2023-08-17 13:12:21 +02:00
ocornut
a1a7a1bc03
InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. ( #6719 , #2278 )
2023-08-17 13:02:56 +02:00
ocornut
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
Johannes Barthelmes
b7a7d673b9
Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX ( #6675 , #6679 )
2023-08-03 20:13:31 +02:00
ocornut
d6d94d90bf
Version 1.89.9 WIP
...
+ Minor typo fixes
2023-08-03 19:19:21 +02:00
ocornut
f7eea63872
Version v1.89.8
2023-08-01 12:53:57 +02:00
ocornut
79d6f4e211
Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. ( #6653 , #4791 )
2023-07-27 19:45:28 +02:00
ocornut
0e8eb8c48e
Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
...
Our codebase requires VS2012+ since a while.
2023-07-13 12:38:16 +02:00
ocornut
b7cdb5a31e
Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. ( #2522 )
...
Rework/revert intent of c1a61d25a
.
2023-07-11 15:01:25 +02:00
ocornut
b32ef809c3
InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
2023-07-06 19:32:28 +02:00
ocornut
3349296370
InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. ( #5688 , #2620 )
...
This makes is more obvious that value_change==true when apply_new_text != NULL.
2023-07-06 19:32:01 +02:00
ocornut
3fe4319314
Version 1.89.8 WIP
2023-07-05 14:17:46 +02:00
ocornut
d4ddc46e77
InputText: Fixed a crash on deactivating a ReadOnly buffer. ( #6570 , #6292 , #4714 )
...
This will be part of 1.89.7 Tagged relase.
2023-07-04 16:20:51 +02:00
ocornut
cb9015e254
Version 1.89.7
2023-07-04 14:56:09 +02:00
ocornut
64172685d6
InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. ( #6565 , #6566 , #3615 )
2023-07-03 11:58:17 +02:00
ocornut
a02315e1c4
Combo: Made simple/legacy Combo() function not returns true when picking already selected item. ( #1182 )
2023-06-28 15:47:10 +02:00
ocornut
6137443d24
Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. ( #6512 , #3909 , #517 )
...
This allows DragXXX, SliderXXX, PlotXXX etc to honor SetNextItemAllowOverlap().
2023-06-28 14:42:14 +02:00
ocornut
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
ocornut
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
ocornut
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
ocornut
07e24b4058
ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
2023-06-28 14:40:47 +02:00
ocornut
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
ocornut
06f5b46133
Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. ( #6512 , #3909 , #517 )
2023-06-27 15:46:35 +02:00
ocornut
d5d4d709c7
Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
...
Ensure DragXXX, SliderXXXX, InputText, PlotXXX follow same logic. Amend 251f178a6
, a33f0d1f7
2023-06-27 14:44:39 +02:00
ocornut
a2f6581171
Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c
)
2023-06-27 10:57:08 +02:00
ocornut
3ec128c5fd
Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. ( #6512 , #3909 )
...
Essentially we are going to remove calls to SetItemAllowOverlap() and standardize the fact that only 'HoveredId == id' test from it is performed.
# Conflicts:
# imgui_widgets.cpp
2023-06-26 19:08:10 +02:00
ocornut
0a53b45858
CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. ( #6549 )
2023-06-26 11:15:55 +02:00
ocornut
94c46d7486
InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. ( #5688 , #2620 )
2023-06-21 14:20:13 +02:00
Krzysztof Adamek
959a9c79bd
TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes ( #6517 , #6538 )
2023-06-20 15:30:40 +02:00
ocornut
b60acfa87d
Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
2023-06-20 15:04:14 +02:00
ocornut
d96bbf0aae
TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. ( #6517 )
...
+ Minor tweak comment/layout in ImGuiIO
2023-06-19 14:33:23 +02:00
ocornut
15d74bad1d
Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
2023-06-16 16:55:51 +02:00
ocornut
a134892a3d
BeginComboPreview: fix when part of preview rect is clipped by parent window. ( #6501 , #1658 )
2023-06-09 13:41:11 +02:00
ocornut
61ebb37843
Version 1.89.7 WIP
2023-06-01 11:22:43 +02:00
ocornut
5319d1cffa
Version 1.89.6
2023-05-31 14:47:32 +02:00
ocornut
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
ocornut
2c558d5741
Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
2023-05-20 16:25:14 +02:00
ocornut
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
ocornut
6cdedf5834
Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. ( #6405 )
2023-05-09 12:04:04 +02:00
ocornut
d3ad2f357f
Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. ( #3496 , #4797 )
...
Amend 48f26333
2023-04-25 12:17:37 +02:00
ocornut
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
ocornut
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
ocornut
f0fe1957a8
Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
2023-04-21 19:05:58 +02:00