ocornut
4832027eb6
Examples: SDL3: Update for API changes: SDL_Init() returns 0 on failure.
2024-09-03 19:11:51 +02:00
ocornut
ee9e3a2ed6
Tabs: avoid queuing a refocus when tab is already focused, which would have the side-effect of e.g. closing popup on a mouse release. ( #7914 )
...
+ Debug Log: add details about closed popups.
2024-09-03 18:34:18 +02:00
ocornut
864a2bf6b8
Tables: another attempt at making contents not overlap the bottom and right border in a scrolling table. ( #6765 , #3752 , #7428 )
2024-08-23 19:12:54 +02:00
ocornut
a131c3e611
Tables: revert a34071876 extending outer bottom/right border by 1, this is not the right solution. ( #6765 , #3752 )
2024-08-23 18:24:44 +02:00
ocornut
0b9adc2c79
BeginChild: (BREAKING) renamed ImGuiChildFlags_Border to ImGuiChildFlags_Borders.
...
Amend 7713c2925 + renamed similar argument in other functions.
2024-08-23 15:28:42 +02:00
ocornut
1e939fcc32
Tooltips, Drag and Drop: made it possible to override BeginTooltip() position while inside a drag and drop source or target. ( #6973 )
2024-08-23 14:56:09 +02:00
ocornut
438f9e1a3e
InputText: amend d474ed7 for static analysis. ( #7913 )
2024-08-23 14:14:11 +02:00
ocornut
d474ed7f78
InputText: Internals: store Scroll.y as it seems sane to (internally) expose it in a way that's agnostic of our use of a child window ( #7913 , #383 )
2024-08-23 12:47:40 +02:00
ocornut
d15da2c47d
Backends: GLFW: undo accidentally not committing use of Platform_SetClipboardTextFn as I was testing the legacy path (amend 214977e).
2024-08-22 20:27:50 +02:00
ocornut
5de7f69cbb
(BREAKING) Commented out obsolete ImageButton(). ( #5533 , #4471 , #2464 , #1390 )
2024-08-22 20:12:23 +02:00
ocornut
214977e5fd
IO: (BREAKING) moved io.GetClipboardTextFn, io.SetClipboardTextFn to platform_io.Platform_GetClipboardTextFn, platform_io.Platform_SetClipboardTextFn.
2024-08-22 20:12:23 +02:00
ocornut
e54f240ea0
IO: (BREAKING) moved io.PlatformLocaleDecimalPoint to platform_io.Platform_LocaleDecimalPoint. ( #7389 , #6719 , #2278 )
2024-08-22 20:12:12 +02:00
ocornut
9ff60ae31d
IO: (BREAKING) moved GetIO().PlatformSetImeDataFn to GetPlatformIO(.Platform_SetImeDataFn. ( #7660 )
2024-08-22 20:11:55 +02:00
ocornut
ba2f4a2cd5
IO: (BREAKING) moved GetIO().PlatformOpenInShellFn to GetPlatformIO(.Platform_OpenInShellFn. ( #7660 )
2024-08-22 20:11:36 +02:00
ocornut
e6460722ea
IO: Added GetPlatformIO(), ImGuiPlatformIO, currently empty.
2024-08-22 18:17:42 +02:00
ocornut
8e40104795
Backends: GLFW: passing null window to glfwGetClipboardString()/glfwSetClipboardString().
2024-08-22 18:13:34 +02:00
ocornut
bf75504d7a
Style: added PushStyleVarX(), PushStyleVarY() helpers to modify only one component of a ImVec2 var.
...
+ tweak existing function to early out on error.
2024-08-22 13:55:42 +02:00
ocornut
521f84a3a9
InputText: fixed an issue programmatically refocusing a multi-line input which was just active. ( #4761 , #7870 )
...
Amend 66f0fb986 , c5db276521
2024-08-21 14:26:53 +02:00
ocornut
8a946b69e9
InputText: allow callback to update buffer while in read-only mode (fix for imgui_memory_editor 0.54 in read-only mode).
...
See https://github.com/ocornut/imgui_club/pull/46
2024-08-21 13:26:33 +02:00
ocornut
e471206b08
Windows: adjust default ClipRect to better match rendering of thick borders. ( #7887 , #7888 + #3312 , #7540 , #3756 , #6170 , #6365 )
2024-08-20 17:54:42 +02:00
ocornut
eb7201b902
Fonts: Made it possible to use PushFont()/PopFont() calls accross Begin() calls. ( #3224 , #3875 , #6398 , #7903 )
2024-08-20 15:37:12 +02:00
ocornut
ecb1962013
IO, InputText: missing changelog entry (amend 092c88d) + readme note on missing features.
2024-08-20 12:15:54 +02:00
ocornut
092c88dc7b
IO: rework interleaved keys<>char trickling: only trickle for keys known to be likely to input characters. ( #7889 , #4921 , #4858 )
...
Amend fa2b318d . Refer to regression test "inputs_io_inputqueue" amended for IMGUI_VERSION_NUM >= 19102
2024-08-19 19:02:27 +02:00
ocornut
fabceaf036
Internals: renamed IsModKey() -> IsLRModKey() and GetModForModKey() -> GetModForLRModKey() to be more explicit.
2024-08-19 18:28:56 +02:00
ocornut
61313a7589
Docs: better promote IMGUI_DEFINE_MATH_OPERATORS. ( #6164 , #6137 , #5966 , #2832 )
2024-08-19 16:31:49 +02:00
ocornut
2d99052d1d
Backends: SDL2, SDL3: storing SDL_WindowID inside ImGuiViewport::PlatformHandle instead of SDL_Window*. ( #7853 )
...
This will be used to support filtering of events with multi-viewports.
2024-08-19 14:43:43 +02:00
ocornut
1b61d55079
Backends: SDL2, SDL3: ignore events of other SDL windows, amends + wrapping into a function as it'll be convenient for multi-viewport check. ( #7853 )
...
+ Misc typo fix.
2024-08-19 14:43:40 +02:00
ocornut
29fadad193
TextLink(), TextLinkOpenURL(): change mouse cursor to Hand shape when hovered. ( #7885 , #7660 )
2024-08-13 14:30:35 +02:00
ocornut
3232070d3a
Demo: Fixed truncation warning. ( #7857 )
2024-08-07 12:48:13 +02:00
ocornut
8cc6eee295
Fonts: amend assert when glyph range data seems incorrect. ( #7856 )
2024-08-03 15:25:47 +02:00
ocornut
6864a7f839
Window refresh policy: extend tests to any window in the begin stack. ( #7797 )
2024-08-01 22:40:09 +02:00
ocornut
531364d728
Window refresh policy: fixed child window of skiprefresh windows not displaying. ( #7797 )
...
Amend d4495446d . (#3515 , #4763 , #7556 , #5116 , #4076 , #2749 , #2268 )
2024-08-01 22:26:12 +02:00
ocornut
9f8f5e1145
MultiSelect+TreeNode: default open behavior is OpenOnDoubleClick + OpenOnArrow when used in a multi-select context without any OpenOnXXX flags set. ( #7850 )
2024-08-01 17:28:47 +02:00
ocornut
2981a10c53
MultiSelect, TreeNode, Drag and Drop: fixed an issue where carrying a drag and drop payload over an already open tree node would select it. ( #7850 )
2024-08-01 17:16:13 +02:00
ocornut
fd57b252ac
Examples: Fix for Emscripten. GLFW+WGPU: rework examples main loop to handle minimization. ( #7844 )
...
Amend 8874787 , 71ee2ce
Amend ea39841f (emscripten_mainloop_stub.h)
2024-07-31 17:47:38 +02:00
ocornut
71ee2ce367
Examples: GLFW: rework examples main loop to handle minimization without burning CPU or GPU by running unthrottled code. ( #7844 )
...
Backends: GLFW: added ImGui_ImplGlfw_Sleep() helper.
2024-07-31 17:33:24 +02:00
ocornut
887478793b
Examples: SDL2 (all), SDL3 (all), Win32+OpenGL3: Rework examples main loop to handle minimization without burning CPU or GPU by running unthrottled code. ( #7844 )
2024-07-31 17:11:13 +02:00
ocornut
dcf54782d4
Version 1.91.WIP
2024-07-31 16:34:28 +02:00
ocornut
8199457a7d
Version 1.91.0
2024-07-30 16:56:31 +02:00
ocornut
ec9a4ef487
Clipper: accept that no item have been submitted if in indeterminate Begin(INT_MAX) mode. ( #1311 , #3823 )
2024-07-30 12:22:29 +02:00
ocornut
1b44e40444
Demo: re-use tree data. Fix property editor vertical alignment. Tweak recent memory allocation monitor.
2024-07-30 11:58:30 +02:00
ocornut
ce3a8d7c79
Demo: MultiSelect: added tree demo. ( #6990 , #3823 , #1861 )
2024-07-29 22:46:56 +02:00
ocornut
c2a3d5e47b
Comments, minor tweaks to ImGuiTextFilter.
2024-07-29 22:34:34 +02:00
ocornut
df38704926
Added SetNextItemStorageID() for tree nodes. ( #7553 , #6990 , #3823 , #1131 )
...
Undo/amend 7c6d4ff .
2024-07-29 22:31:52 +02:00
ocornut
b847c41437
MultiSelect: BoxSelect: fixed using in frozen table. ( #7821 , #5143 ) + added Demo.
...
Amend 0b4a1a40
2024-07-29 15:35:57 +02:00
ocornut
249d5caedb
Tables: storing LastFrozenHeight for frozen requests that don't have actual freezing due to zero scrolling. ( #7821 , #5143 )
...
Amend 0b4a1a40
(ignore whitespace to view this patch easily)
2024-07-29 15:20:06 +02:00
ocornut
79e83d6535
Docs: misc update.
2024-07-29 11:17:31 +02:00
ocornut
d42fa46dc6
Misc micro-optimizations related to hot-path of dealing with a large clipped tree.
...
Halved times by two in MSVC Debug x64.
2024-07-26 15:28:08 +02:00
ocornut
692bee5f22
Added GetID(int) variant for consistency. ( #7111 )
2024-07-26 15:28:06 +02:00
ocornut
b3ba6b3095
Added io.ConfigNavSwapGamepadButtons to swap Activate/Cancel (A<>B) buttons, to match the typical "Nintendo/Japanese consoles" button layout when using Gamepad navigation. ( #787 , #5723 )
2024-07-26 14:07:29 +02:00
ocornut
3f9a90e2a3
Docs: added extraneous link to Getting Started section.
2024-07-25 16:59:40 +02:00
ocornut
b20f62b162
Obsoleted GetContentRegionMax().
2024-07-25 16:20:44 +02:00
ocornut
4227402b2f
Internals: removed GetContentRegionMaxAbs() which was only meaningfully used in place of GetContentRegionAvail().
2024-07-25 16:10:18 +02:00
ocornut
055b2e80fb
Moved everyone's best friend GetContentRegionAvail() to a more prominent position.
2024-07-25 16:09:46 +02:00
ocornut
aad86b8756
Obsoleted GetWindowContentRegionMin() and GetWindowContentRegionMax().
...
You should never need those functions. You can do everything with GetCursorScreenPos() and GetContentRegionAvail().
2024-07-25 15:53:55 +02:00
ocornut
55f54fa512
Internals: comment out obsolete g.ActiveIdUsingNavInputMask obsoleted two years ago. ( #4921 , #4858 , #787 , #1599 , #323 )
...
Use SetKeyOwner(ImGuiKey_Escape, g.ActiveId); instead. Amend 8b8a61bd
2024-07-25 15:11:08 +02:00
ocornut
ed356dc181
MultiSelect: BoxSelect: fixed box-select from void setting nav id multiple times.
2024-07-25 14:46:25 +02:00
ocornut
237165a935
MultiSelect: fixed an issue caused by previous commit.
...
Amend a285835 . Breaks box-select.
2024-07-24 19:16:12 +02:00
ocornut
a285835ac4
MultiSelect: add internal MultiSelectAddSetAll() helper.
2024-07-24 19:00:36 +02:00
ocornut
79b77d91c9
MultiSelect: sequential SetRange merging not generally handled by box-select path, useful for others.
2024-07-24 18:47:50 +02:00
ocornut
e3da939b86
Groups, Tables: fixed EndGroup() failing to correctly capture current table occupied size. ( #7543 )
...
See "layout_group_endtable" test.
2024-07-24 18:41:51 +02:00
ocornut
b67b375ae6
Debug Log: fixed incorrect checkbox layout when partially clipped., doesn't parse 64-bits hex value as ImGuiID lookups.
2024-07-24 16:04:10 +02:00
ocornut
97c6f4047c
CollapsingHeader: left-side outer extend matches right-side one (moved left by one pixel)
...
Amend c3a348aa2
2024-07-24 14:20:17 +02:00
ocornut
1230b4410c
Internals, TreeNode, Selectable: tweak span_all_columns paths for clarity.
2024-07-24 14:11:26 +02:00
ocornut
4d8c56c813
Internals, TreeNode: indent all render block into its own scope (aim is to add a is_visible test there later)
2024-07-24 14:03:59 +02:00
ocornut
605c8d7110
Demo: Property Editor: using ImGuiChildFlags_NavFlattened now that a bug is fixed. Fixed static analyzer.
2024-07-22 15:05:15 +02:00
ocornut
97ff9bd370
Nav: fixed c licking window decorations (e.g. resize borders) from losing focused item when within a child window using ImGuiChildFlags_NavFlattened.
...
In essence, using ImGuiFocusRequestFlags_RestoreFocusedChild here is a way to reduce changes caused by FocusWindow(), but it could be done more neatly.
See amended "nav_flattened" test.
2024-07-22 15:04:25 +02:00
ocornut
c3dca77a19
Demo: rework Property Editor.
2024-07-22 14:49:16 +02:00
ocornut
fd994943c2
Added a comment hinting at how to set IMGUI_API for shared librairies on e.g. Linux, macOS ( #7806 )
2024-07-22 11:06:49 +02:00
ocornut
eb72b5a8ee
Backends: SDL3: Update for API changes: SDL_GetGamepads() memory ownership change. ( #7807 )
2024-07-22 10:49:22 +02:00
ocornut
f9cda1fa24
Inputs: added SetItemKeyOwner(ImGuiKey key) in public API. ( #456 , #2637 , #2620 , #2891 , #3370 , #3724 , #4828 , #5108 , #5242 , #5641 )
2024-07-19 18:39:07 +02:00
ocornut
b6e313bc05
MultiSelect: using ImGuiMultiSelectFlags_NoRangeSelect ensure never having to interpolate between two ImGuiSelectionUserData.
2024-07-19 16:42:14 +02:00
ocornut
168ef39984
Demo: moved menu bar code to its own function.
2024-07-19 15:46:51 +02:00
ocornut
57eea6746e
Demo: moved some fields inside a struct.
2024-07-19 15:40:50 +02:00
ocornut
2546d0a0db
Demo: moved ExampleTreeNode, ExampleMemberInfo above in the demo file. Tidying up index.
...
+ change ExampleTreeNode::UID from ImGuiID to int to not suggest that the user ID needs to be of a certain type
2024-07-19 14:52:24 +02:00
ocornut
d7e605d430
Merge branch 'features/range_select'
2024-07-18 18:21:31 +02:00
ocornut
02c31a8dd1
MultiSelect: added Changelog for the feature. Removed IMGUI_HAS_MULTI_SELECT.
2024-07-18 18:19:22 +02:00
ocornut
2688562fd2
MultiSelect: Better document how TreeNode() is not trivially usable yet.
...
Will revert when the time is right.
2024-07-18 18:19:22 +02:00
ocornut
7814518049
MultiSelect: ImGuiSelectionBasicStorage: optimized for smaller insertion amounts in larger sets + fix caling batch select with same value.
2024-07-18 18:19:22 +02:00
ocornut
1b63522446
MultiSelect: Box-Select: handle Esc to disable box-select.
...
This avoid remove a one-frame delay when finishing box-select, where Esc wouldn't be routed to selection but to child.
2024-07-18 18:19:22 +02:00
ocornut
2697cfe354
MultiSelect: Box-Select: uses SetActiveIdUsingAllKeyboardKeys() to avoid nav interference, much like most drag operations.
2024-07-18 18:19:22 +02:00
ocornut
7d4de84ee3
MultiSelect: added courtesy ImGuiMultiSelectFlags_NavWrapX flag so we can demo this until a nav api is designed.
2024-07-18 18:19:22 +02:00
ocornut
d411c9054a
MultiSelect: minor tidying up.
...
Checkbox() was reworked in master effectively fixing render clipping when culled by BoxSelect2d's UnclipMode.
2024-07-18 18:19:22 +02:00
ocornut
3f34c83bc6
MultiSelect: added ImGuiMultiSelectFlags_NoAutoClearOnReselect + tweak flags comments. ( #7424 )
2024-07-18 18:19:21 +02:00
ocornut
529c73ba21
MultiSelect: Shift+Tab doesn't enable Shift select on landing item.
2024-07-18 18:19:21 +02:00
ocornut
a8a1f29512
MultiSelect: (breaking) renamed ImGuiMultiSelectFlags_BoxSelect -> ImGuiMultiSelectFlags_BoxSelect2d. Which include not assuming one flag imply the other.
...
Amend 2024/05/31 commit.
2024-07-18 18:19:21 +02:00
ocornut
c52346850d
MultiSelect: ImGuiSelectionBasicStorage: added PreserveOrder, maintain implicit order data in storage.
...
Little tested but provided for completeness.
2024-07-18 18:19:21 +02:00
ocornut
df664329cb
MultiSelect: provide RangeDirection to allow selection handler to handler backward shift+click.
2024-07-18 18:19:21 +02:00
ocornut
3ac367ff41
MultiSelect: ImGuiSelectionBasicStorage: (breaking) rework GetNextSelectedItem() api to avoid ambiguity/failure when user uses a zero id.
2024-07-18 18:19:21 +02:00
ocornut
f472f17054
Demo: Assets Browser: added a way to disable sorting and hide sorting options.
...
This is mostly designed to showcase that on very large sets (e.g. 1 million) most of the time is likely spent on sorting.
2024-07-18 18:19:21 +02:00
ocornut
c07864f64a
MultiSelect: ImGuiSelectionBasicStorage: move function bodies to cpp file.
...
+ make ImGuiStorage::BuildSortByKey() less affected by msvc debug mode.
2024-07-18 18:19:21 +02:00
ocornut
2af3b2ac81
MultiSelect: ImGuiSelectionBasicStorage: simplify by removing compacting code (compacting may be opt-in?).
...
GetNextSelectedItem() wrapper gives us more flexibility to work on this kind of stuff now.
2024-07-18 18:19:21 +02:00
ocornut
e61612a687
MultiSelect: ImGuiSelectionBasicStorage: rework to accept massive selections requests without flinching.
...
Batch modification + storage only keeps selected items.
2024-07-18 18:19:21 +02:00
ocornut
e1fd25051e
MultiSelect: ImGuiSelectionBasicStorage: added GetNextSelectedItem() to abstract selection storage from user. Amend Assets Browser demo to handle drag and drop correctly.
2024-07-18 18:19:21 +02:00
ocornut
c3d7aa252b
MultiSelect: comments, header tweaks., simplication (some of it on wiki).
2024-07-18 18:19:21 +02:00
ocornut
db4898cb91
MultiSelect: added ImGuiSelectionExternalStorage helper. Simplify bool demo.
2024-07-18 18:19:20 +02:00
ocornut
f9caf4447a
MultiSelect: fixed ImGuiSelectionBasicStorage::Swap() helper.
2024-07-18 18:19:20 +02:00
ocornut
c94cf6f01f
MultiSelect: added ImGuiSelectionBasicStorage::GetStorageIdFromIndex() indirection to be easier on the reader.
...
Tempting to make it a virtual.
2024-07-18 18:19:20 +02:00
ocornut
ab995d3d4f
MultiSelect: (breaking) Added 'items_count' parameter to BeginMultiSelect(). Will enable extra features, and remove equivalent param from ImGuiSelectionBasicStorage::ApplyRequests(.
2024-07-18 18:19:20 +02:00
ocornut
443b034895
MultiSelect: mark parent child window as navigable into, with highlight. Assume user will always submit interactive items.
2024-07-18 18:19:20 +02:00