ocornut
ce4e210dcb
Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. ( #456 )
2024-05-24 16:07:58 +02:00
ocornut
5ce3d29955
Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. ( #456 )
2024-05-24 15:44:59 +02:00
ocornut
650cb51bf1
Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. ( #456 , #7618 )
...
Amend ef9d525
2024-05-24 15:27:48 +02:00
ocornut
ef9d525f02
Shortcuts: added ImGuiInputFlags_RouteActiveItem. ( #456 , #7618 ) + rearrange Changelog
2024-05-24 15:07:43 +02:00
ocornut
7c71e66370
Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. ( #456 )
2024-05-23 17:33:16 +02:00
ocornut
d5a600e9c6
Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
2024-05-23 17:22:44 +02:00
ocornut
a689fa262a
SetShortcutRouting: require explicit routing. ( #456 )
2024-05-23 17:09:48 +02:00
ocornut
c06e6340cd
Shortcuts: added ImGuiInputFlags_Tooltip. ( #456 )
2024-05-23 16:58:14 +02:00
ocornut
77e4171894
Shortcuts: added flags to SetNextItemShortcut(). ( #456 )
2024-05-23 16:57:19 +02:00
ocornut
fc512a2474
Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. ( #456 , #2637 )
2024-05-23 16:57:03 +02:00
ocornut
85513de247
Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). ( #456 )
...
For several reasons those changes makes sense. They are being made because making some of those API public.
Only past users of imgui_internal.h with the extra parameters will be affected.
Added asserts for valid flags in various functions to detect _some_ misuses, BUT NOT ALL.
Amend 4448d975
(#456 , #2637 , #2620 , #2891 , #3370 , #4828 , #5108 , #5242 , #5641 )
2024-05-23 16:57:03 +02:00
ocornut
900b29055c
Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). ( #456 )
...
Amend 4448d975
(#456 , #2637 , #2620 , #2891 , #3370 , #4828 , #5108 , #5242 , #5641 )
2024-05-23 16:57:03 +02:00
ocornut
55748cdbe1
Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
...
Amend 4448d975
(#456 , #2637 , #2620 , #2891 , #3370 , #4828 , #5108 , #5242 , #5641 )
2024-05-23 16:57:03 +02:00
ocornut
6d1a6f1c74
Internals, Inputs: Comments, alignment.
2024-05-22 12:17:33 +02:00
ocornut
aa725ca79d
Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
2024-05-21 12:28:47 +02:00
ocornut
cd48059dc5
Tables: comments about skipping access to table data in coarse clipping path.
2024-05-21 12:07:50 +02:00
ocornut
ae8218a3ea
Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. ( #456 )
...
Rename IsNamedKeyOrModKey() to IsNamedKeyOrMod() for consistency.
Fixed GetKeyName(ImGuiKey_None) from returning "N/A" or "None" depending on IMGUI_DISABLE_OBSOLETE_KEYIO.
See "inputs_keychord_name" in imgui_test_suite.
2024-05-17 17:07:50 +02:00
ocornut
b4f564c1ed
Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest ( #456 )
2024-05-17 14:18:22 +02:00
ocornut
8bd5d1d42f
Inputs: Fixed swapping of keys associated to mods. Fixed warnings. ( #2343 , #4084 , #5923 , #456 )
...
Amend 7747106
.
2024-05-16 19:23:05 +02:00
ocornut
7747106647
Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. ( #2343 , #4084 , #5923 , #456 )
2024-05-16 19:16:55 +02:00
Hubert Maier
07dbcf1f70
Fixed typos. ( #7593 )
2024-05-16 16:13:01 +02:00
ocornut
e4576914cb
Internals: amend f806c76
to better match docking + fixed unused static forward declaration warning.
2024-05-14 16:22:27 +02:00
ocornut
d0524df887
Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
2024-05-14 16:03:00 +02:00
ocornut
f806c76e97
Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
...
+ Added note about how equivalent resize padding for windows (sourced from WINDOWS_HOVER_PADDING) would need further rework.
2024-05-14 15:03:20 +02:00
ocornut
f48aae600a
Version 1.90.7 WIP
2024-05-13 14:47:37 +02:00
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
4bb7567141
Tables: Angled headers: fixed multi-line label display when angle is flipped. ( #6917 )
2024-05-02 13:49:26 +02:00
ocornut
b30df8890d
Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. ( #6917 )
2024-04-30 17:39:52 +02:00
ocornut
6ef4f67fa9
ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
2024-04-30 10:06:42 +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
231cbee0fc
Version 1.90.5
2024-04-11 15:54:39 +02:00
GamingMinds-DanielC
4f9ba19e52
Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. ( #7389 , #6719 , #2278 )
...
Amend/fix 4a242644
2024-04-03 11:39:46 +09:00
ocornut
9638c2839a
Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. ( #1418 )
2024-03-27 12:00:50 +09:00
ocornut
286cd5bd41
Internals, InputText: removed ImGuiInputSource_Clipboard. ( #4005 )
...
Added by f08566b4d
2024-03-07 15:02:38 +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
ocornut
9877941775
Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
...
This is expected to clear the noise so next commit can be cleared to read. (#7325 )
Last renamed in b3ea01d86
2024-02-27 17:56:51 +01:00
ocornut
e46d1e69ac
Version 1.90.5 WIP
2024-02-26 13:31:10 +01:00
ocornut
277ae93c41
Version 1.90.4
2024-02-22 19:56:39 +01:00
ocornut
34965cf23a
Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). ( #7340 )
...
+ Misc: Added optional alpha multiplier parameter to GetColorU32(ImU32) variant.
2024-02-22 14:53:33 +01:00
ocornut
659fb41d0a
Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. ( #2673 )
2024-02-20 17:33:17 +01:00
ocornut
6655ab2e43
Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. ( #6917 )
2024-02-19 19:08:38 +01:00
ocornut
8a14b71f22
Version 1.90.4 WIP
2024-02-15 16:51:57 +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
536090303a
Version 1.90.2
2024-02-09 16:59:31 +01:00
ocornut
7b5357d817
Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
...
Added ImGuiViewport ID in Master branch.
2024-02-09 16:32:26 +01:00
ocornut
70aa717a8e
Combo: Fixed not reusing windows optimally when used inside a popup stack.
2024-02-09 15:23:43 +01:00
ocornut
a5e0e90c16
Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
2024-02-08 15:44:46 +01:00
ocornut
1e8fc01ddd
InputText: Internal: ReloadUserBufXXX functions don't override revert value. ( #2890 ) + rename
2024-02-08 15:25:04 +01:00
ocornut
06ce312745
InputText: Internal: added reload from user-buf feature. ( #2890 )
...
Very highly requested feature (#6962 , #5219 , #3290 , #4627 , #5054 , #3878 , #2881 , #1506 , #1216 , #968 ).
Also useful for interactive completion/selection popups (#2057 , #718 )
Based on @kudaba PR. Design for Inputtext V2 should make this obsolete.
2024-02-07 22:04:18 +01:00
ocornut
96839b445e
Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
...
See test "inputs_owner_single_mod"
2024-01-25 16:51:07 +01:00
ocornut
7194756370
Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
2024-01-25 15:42:19 +01:00
Peter0x44
f1960b60c1
Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug ( #7266 )
...
There are two issues here - first, this macro uses AT&T specific syntax with $, which is not necessary. Also, some assemblers (nasm) emit different bytes for "int 3" and "int3", so it's better to use "int3" (cd 03 vs cc)
More importantly, GDB has some failing assertion whenever stepping after hitting an "int3" instruction. This makes it practically useless, as is. For some reason, putting a nop afterwards as a workaround is okay.
Related discussions:
https://sourceware.org/bugzilla/show_bug.cgi?id=31194
https://lists.sr.ht/~skeeto/public-inbox/%3C2d3d7662a361ddd049f7dc65b94cecdd%40disroot.org%3E
2024-01-25 11:48:16 +01:00
ocornut
8491cf36ad
Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
...
Amend fc134f5
2024-01-24 18:53:36 +01:00
ocornut
a201af7354
Added SetNextItemShortcut() wip function. ( #456 )
...
Mark widget as hovered. Amend d10641b
.
2024-01-22 18:38:54 +01:00
ocornut
4c2c09450a
Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. ( #456 )
...
Amend d10641b
2024-01-22 18:26:45 +01:00
ocornut
5b5e9bd0cb
Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
2024-01-22 17:43:58 +01:00
ocornut
7c3fa7d049
Refactor: moved section in imgui_internal.h
2024-01-22 17:42:00 +01:00
ocornut
595eb86624
Changelog, comment, minor data compaction
2024-01-22 15:27:36 +01:00
ocornut
c7edb446ca
Shortcut(): always test ownership.
...
- It doesn't sense to test route without ownership (which may be overrided by code not using routing)
- It also wouldn't be possible to call Shortcut() with _None anyway, since successful routing sets ownership.
Tangential to experiments for #7237
2024-01-19 16:40:24 +01:00
ocornut
33fabdf392
Scrollbar() doesn't forcefully mark itself as hovered when held.
...
Weirdly as old as when dinosaurs roamed earth, aka first commit (per-1.0).
+ Minor alignment in both sense of the term :) Reduce padding in ImGuiNextItemData.
2024-01-17 15:47:14 +01:00
ocornut
d431d85839
Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
2024-01-17 15:33:12 +01:00
ocornut
f0d1f61fa5
Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
2024-01-17 15:23:30 +01:00
ocornut
5fdcdf7080
Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. ( #456 )
2024-01-16 17:51:14 +01:00
ocornut
80d5cb1ab1
Comments around ImGuiInputFlags.
2024-01-16 16:25:08 +01:00
ocornut
1cc0eb4d32
Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
2024-01-16 12:32:00 +01:00
ocornut
46e5f44ec8
Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. ( #6798 , #2637 , #456 )
...
Amend d474836
Begin: tweak clearing of CurrentWindow as FocusWindow() relies on it now.
Addded SetWindowParentWindowForFocusRoute() helper.
2024-01-16 11:39:41 +01:00
ocornut
e0c8c80ada
Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. ( #6798 , #2637 , #456 )
2024-01-15 17:33:47 +01:00
ocornut
4b20a0217e
Internals: add window to FocusScopeStack. ( #6798 )
2024-01-15 17:33:47 +01:00
ocornut
2156db7a07
Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). ( #6798 , #2637 , #456 )
2024-01-15 17:33:23 +01:00
ocornut
8a3dfda8d0
Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
...
Amend 3a90dc38
(#2589 , #2598 , #3108 , #3113 , #3653 , #4642 )
2024-01-15 11:30:52 +01:00
ocornut
29809d7220
Version 1.90.2 WIP
2024-01-11 14:37:13 +01:00
ocornut
d6cb3c923d
Version 1.90.1
2024-01-10 18:00:57 +01:00
ocornut
fdf8d02be1
Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. ( #2673 )
2024-01-10 17:33:19 +01:00
ocornut
788bb58b6b
Metrics: Tweak, reorganize tools menu.
2024-01-10 15:12:24 +01:00
ocornut
a5dec42866
Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. ( #5855 )
2024-01-10 15:12:24 +01:00
ocornut
fc2e532f99
Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. ( #456 , #2637 )
...
Took a while to come to this design, but it is flexible and lightweight and allow all decision to be taken a polling location. All three policies are useful.
2024-01-09 15:54:12 +01:00
ocornut
8323a06e6d
Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
...
Will make extra sense with next commit where we add ImGuiInputFlags_RepeatUntil options.
2024-01-09 12:09:42 +01:00
ocornut
58261dbe9a
Internals: alter ImGuiInputFlags values to leave room + indent.
2024-01-09 12:06:58 +01:00
ocornut
0000739c08
Internals: Fixed function name typo.
2023-12-19 20:32:09 +01:00
ocornut
6cfe3ddf52
InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. ( #3092 , #5759 , #787 )
2023-12-14 17:15:43 +01:00
ocornut
54c1bdeceb
Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. ( #4449 )
...
Amend 1a7526d
2023-12-14 16:45:40 +01:00
ocornut
aaf157cfdd
Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
...
Amend 9499afdf
and 72de6f336
2023-12-05 17:04:19 +01:00
ocornut
7965494ff3
Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
2023-11-28 19:40:38 +01:00
ocornut
bce4db00bc
Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. ( #7049 , #4281 , #3272 )
2023-11-22 19:30:16 +01:00
ocornut
61b8197942
Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
...
Bitting the bullet, as we rarely update this (and it is rarely updated) and it we may replace it anyhow.
2023-11-22 14:12:31 +01:00
ocornut
3d083dbe1a
Version 1.90.1 WIP
2023-11-15 23:53:58 +01:00
ocornut
b81bd7ed98
Version 1.90.0
...
w/ Changelog tweaks.
2023-11-15 15:56:05 +01:00
ocornut
5170a9d6dc
Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
...
Followup to fea52e2
2023-11-09 12:22:35 +01:00
ocornut
fea52e29aa
Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
...
Amend 088ddef
2023-11-09 12:19:52 +01:00
ocornut
561af15d67
Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
...
Amend 4448d97
. Note that functions entry points will eventually be merged into one, so this is not a problem.
2023-11-06 14:09:35 +01:00
ocornut
1ab63d925f
Undid some of the changes done by c95fbb4
because they are not compatible with docking code.
...
(Will cherry-pick this from docking to master)
# Conflicts:
# imgui.cpp
2023-11-02 18:08:39 +01:00
ocornut
f1d1a8d32b
Windows: use relative mouse movement for border resize when the border geometry has moved. ( #1710 )
...
(e.g. resizing a child window triggering parent scroll) to avoid resizing feedback loop.
2023-11-02 17:34:49 +01:00
ocornut
9235352400
BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. ( #1710 )
2023-11-02 17:34:49 +01:00
ocornut
34a0bc456e
BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. ( #462 , (toward #1666 , #1496 , #1395 , #1710 )
...
(bonus: will also eventually free a window flag)
2023-11-02 17:26:23 +01:00
ocornut
7713c29258
BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666 , #1496 , #1395 , #1710 )
2023-11-02 17:26:05 +01:00
ocornut
c95fbb4464
Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
2023-10-19 16:19:29 +02:00
ocornut
1b9cb52d7b
BeginChild(): rename parameters to reduce diff of upcoming patches.
...
Should be a no-op.
2023-10-18 19:41:51 +02:00
ocornut
56f7e853be
Demo: expose more Combo flags + misc tidying up.
2023-10-18 17:48:33 +02:00
ocornut
99913b5051
Internals: added IsKeyChordPressed() for consistency.
2023-10-16 22:21:29 +02:00
ocornut
0b8c6b9bce
Internals: removed seemingly unused AutoFitChildAxises.
...
The clamp was done on BeginChild(). Amend 2545d75c
2023-10-13 14:52:08 +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
9f851ebfe4
Tables: added ImGuiTableFlags_HighlightHoveredColumn.
2023-10-12 19:15:17 +02:00
ocornut
5053d79a24
Tables: Internal: rework so stacked headers height may be used.
2023-10-11 17:28:07 +02:00
ocornut
0312a29e4c
ImageButton(): clarify purpose of size. ( #6901 , #5533 , #4471 , #2464 , #1390 ).
...
Amend 4a2ae06ca
2023-10-05 18:51:45 +02:00
ocornut
a63e2f0a33
Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
...
Amend 7bbf8f2
, 92b7d6b
.
2023-10-05 12:06:40 +02:00
ocornut
330d763477
Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. ( #759 )
...
Technically a no-op.
2023-10-03 15:24:42 +02:00
ocornut
a61438740d
Debug Tools: Metrics: Added "Show groups rectangles" in tools.
2023-10-02 15:01:42 +02:00
ocornut
03e2a7f584
Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). ( #4631 )
...
Some tool undid or didn't queue a chunk? Amend c21278e
.
2023-09-27 20:07:58 +02:00
ocornut
c21278eeae
Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). ( #4631 )
...
Amend 8175a47
2023-09-27 19:49:12 +02:00
ocornut
2f431a948c
IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
2023-09-27 18:14:48 +02:00
ocornut
f1519efb16
BeginGroup(): fix/amend 9ece0bd
.
2023-09-27 17:25:55 +02:00
ocornut
9ece0bdc02
BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
2023-09-26 21:07:25 +02:00
ocornut
8175a47881
Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). ( #4631 )
2023-09-26 15:21:55 +02:00
ocornut
204ae8a407
Internals: added ImRect::ContainsWithPad()
2023-09-26 14:45:00 +02:00
ocornut
94da5842ef
Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). ( #6861 )
2023-09-26 11:18:29 +02:00
ocornut
6c022f9bf1
IO, Inputs: rename SetMousePos() to TeleportMousePos(). ( #6837 , #228 )
2023-09-18 17:11:10 +02:00
ocornut
ff36fe365e
IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. ( #6837 , #228 )
...
Allow easily implementing wrapping behaviors.
2023-09-18 17:07:35 +02:00
ocornut
ef8ff1b5d8
TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. ( #6820 , #4859 , #5022 , #5239 )
...
Cherry-picked from docking's 64b1e44
2023-09-18 15:29:42 +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
8a2cd81091
TypingSelect: always enable nav highlight.
...
Otherwise in non multi-select contexts as nav dosn't automatically select result would not always be visible.
2023-09-15 16:58:06 +02:00
ocornut
779568bb38
TypingSelect: tidy up some more + split ino functions to make reuse simpler.
2023-09-14 18:36:21 +02:00
ocornut
661a70fc79
TypingSelect: fast switch between characters in + debug, internal renames.
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2023-09-14 17:45:54 +02:00
ocornut
c86ce70968
Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
2023-09-12 20:29:36 +02:00
ocornut
f336e639e9
TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
...
Amend 9714594
2023-09-12 16:36:54 +02:00
ocornut
6eb2681c09
Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
2023-09-11 20:41:09 +02:00
ocornut
0962c9fb72
TypingSelect: Added first version of GetTypingSelectRequest() API.
...
# Conflicts:
# imgui_internal.h
# imgui_widgets.cpp
2023-09-08 17:20:03 +02:00
ocornut
727c462069
Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
2023-09-08 11:28:13 +02:00
ocornut
fa2e5710ac
MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. ( #6789 )
...
In dire need of removing BeginGroup()/EndGroup() from menu-bar code, fo r sanity.
2023-09-06 15:35:03 +02:00
ocornut
fb9b006865
Version 1.90 WIP
2023-09-05 16:46:52 +02:00
ocornut
fef3389157
Version 1.89.9
2023-09-04 14:30:32 +02:00
ocornut
7b5fb33296
Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
2023-09-04 12:14:41 +02:00
ocornut
e8a5c9e1b8
Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
2023-09-04 11:23:54 +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
ba1fa904a9
IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). ( #6719 , #2278 )
...
Amend 13f718337
2023-08-17 13:12:21 +02:00
ocornut
1362fc0c56
Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
2023-08-09 11:14:44 +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
ocornut
cf3726bcbc
Internals: rename bg/fg drawlist holders in structs to reduce confusion.
2023-08-06 19:46:27 +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
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
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
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
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
ocornut
3fe4319314
Version 1.89.8 WIP
2023-07-05 14:17:46 +02:00
ocornut
cb9015e254
Version 1.89.7
2023-07-04 14:56:09 +02:00
ocornut
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
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
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
9214c28aad
IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
2023-06-20 15:04:15 +02:00
ocornut
e7a4327eb8
IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
2023-06-20 15:04:14 +02:00
ocornut
b3b8cbd001
IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. ( #1485 )
...
Update demo accordingly.
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
194916135a
Internals: renamed HoverDelay fields.
2023-06-16 16:56:33 +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
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
ocornut
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
ocornut
956a1a17fb
Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
...
(amend 31f11cf
which broke raage-select)
2023-06-01 15:50:14 +02:00
ocornut
31f11cf304
Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
2023-06-01 15:35:01 +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
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
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
df8667b18b
Comments/typos tweaks
2023-05-20 18:07:31 +02:00
ocornut
2c558d5741
Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
2023-05-20 16:25:14 +02:00
GamingMinds-DanielC
e489e40a85
Clipper: Amend ecb0aaa
( #6424 , #3841 )
2023-05-15 14:06:16 +02:00
ocornut
bcfc1ad8f6
Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
...
Amend 6656553
2023-05-10 15:22:17 +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
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
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
ocornut
00d3f9295e
Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. ( #2221 )
2023-04-20 16:42:52 +02:00
ocornut
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
ocornut
064153fca4
Version 1.89.6 WIP
2023-04-17 14:40:00 +02:00
ocornut
1ebb913827
Version 1.89.5
2023-04-13 16:17:49 +02:00
ocornut
995f92a456
Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
...
+ Added ImGuiDebugLogFlags_EventSelection unused in this branch.
2023-04-12 21:38:47 +02:00
ocornut
18d72a9142
Inputs: added a unique event identifier in ImGuiInputEvent.
2023-04-11 15:07:42 +02:00
ocornut
a16f99c6a2
IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. ( #2702 , #2334 , #2372 , #3453 , #5693 )
2023-04-04 20:18:57 +02:00
ocornut
5f301914a0
TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). ( #2702 )
2023-03-29 17:10:03 +02:00
ocornut
89d09070e3
Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. ( #4828 , #3255 , #5641 )
2023-03-22 15:42:14 +01:00
ocornut
e55a0ef107
IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498
. ( #6199 , #6256 , #4921 , #5856 )
2023-03-21 14:32:37 +01:00
ocornut
5a2b1e8482
InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true ( #4714 )
...
Altered ItemAdd() clipping rule to keep previous-frame ActiveId unclipped to support that late commit.
Also, MarkItemEdited() may in theory need to do:
if (g.ActiveIdPreviousFrame == id)
g.ActiveIdPreviousFrameHasBeenEditedBefore = true;
But this should already be set so not adding now.
2023-03-16 21:12:57 +01:00
ocornut
314e6443c9
Internals: removed ImGuiInputSource_Nav enum,
...
Essentially finishing the work of removing Nav a dual input source (with e.g. removal of NavInput[]).
2023-03-16 20:28:05 +01:00
ocornut
24a44b9abe
Version 1.89.5 WIP
2023-03-15 12:25:20 +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
cc2177de15
Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
2023-03-14 15:25:13 +01:00
ocornut
e83fb468c6
Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). ( #3092 )
2023-03-09 18:53:57 +01:00
ocornut
3b2f617652
BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
...
Add SetWindowHiddendAndSkipItemsForCurrentFrame().
2023-03-09 15:16:40 +01:00
Marc Delorme
c8ad25caa6
Make classes not depend on the implicit GImGui context ( #5856 , #6199 ): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
...
This commit is a preparation toward adding ImGui apis with explicit context
and making ImGui applications being able to use multiple context at the same time
whatever their concurrency model.
This commit modifies ImGuiInputTextCallback, ImGuiListClipper and ImGuiStackSize so those classes do not to depend on GImGui context anymore.
About ImGuiInputTextCallback:
- ImGuiInputTextCallback depends on ImGuiContext because it has a
`InsertChars` method adding character to `g.InputTextState`
- To make ImGuiInputTextCallback aware of which context to use, the
appropriate context is given as argument of ImGuiInputTextCallback
constructor.
About ImGuiListClipper:
- ImGuiListClipper apply to a context through its `Begin`, `End`, and `Step`
method.
- To make ImGuiListClipper aware of which context to use, the
appropriate context is given as argument of ImGuiListClipper
constructor.
- Since the behavior is different than previously the class has been
renamed ImGuiListClipperEx
- In order to preserve backward compatibility, a subclass of ImGuiListClipperEx
named ImGuiListClipper has been defined and forward the implicit context
to ImGuiListClipperEx parent.
About ImGuiTextFilter:
- ImGuiTextFilter depends on the implicit context because the Draw(..)
method call ImGui::InputText(...)
- Instead from that commit the Draw(...) method takes an explicit context
as first argument
- Since the behavior is different than previously the class has been
renamed ImGuiTextFilterEx
- In order to preserve backward compatibility, a subclass of ImGuiTextFilterEx
named ImGuiTextFilter has been defined. This subclass has a draw method
override which and forward the implicit context to the parent class Draw(...)
About ImGuiStackSizes:
- ImGuiStackSizes was depending on ImGuiContext because of its
`SetToCurrentState` and `CompareWithCurrentState` method
- ImGuiStackSizes is an helper object use
for comparing state of context. It does not necessarily need to
compare the same context. For that reason, as opposed to previous
classes it takes the context it wants to compare to as argument of
its method.
- For this occasion `SetToCurrentState` and `CompareWithCurrentState`
have been renamed `SetToContextState` and `CompareWithContextState`
to match the new method signature.
ImGuiListClipper
ImGuiInputTextCallbackData
2023-03-08 15:55:38 +01:00
Marc Delorme
10ace228bc
Make classes not depend on the implicit GImGui context ( #6199 , #5856 , #6199 ): ImGuiIO
...
This commit is a preparation toward adding ImGui apis with explicit context
and making ImGui applications being able to use multiple context at the same time
whatever their concurrency model.
About ImGuiIO:
- ImGuiIO depends on ImGuiContext because some of its method want to event to `g.InputEventQueue`.
- To make ImGuiIO aware of the context to use, context which creates the ImGuiIO is given as argument of ImGuiIO constructor.
- The assert `IM_ASSERT(&g.IO == this && "Can only add events to current context.")` has been removed since it does not make sense anymore
NOTE: ImGuiIO could be completely independent of ImGuiContext if the InputEventQueue was moved from ImGuiContext to ImGuiIO, but since
ImGuiIO is a public class it would expose InputEvent type. Solving this problem is out of the current scope, but it is interesting to notice.
2023-03-08 15:39:22 +01:00
ocornut
c9a53aa74d
Nav: Made Enter key submit the same type of Activation event as Space key. ( #5606 )
...
Instead of adding NavActivateInputId support in ButtonBehavior() started untangling the mess.
2023-03-07 18:41:49 +01:00
ocornut
b4b79584d1
Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
2023-03-07 14:40:55 +01:00
ocornut
b6586bb06d
TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
2023-03-06 18:10:04 +01:00
ocornut
1c29a8ed18
Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
2023-03-06 18:09:49 +01:00