ocornut
139e99ca37
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
2024-07-30 16:57:42 +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
SPeak
1f634f1d94
Eaxmples: Android: Fix build failed issue. ( #7832 )
...
set android:exported to true (IntentFilter)
Signed-off-by: Sunrisepeak <speakshen@163.com >
2024-07-29 23:55:02 +02:00
ocornut
6df1a06fc3
Merge branch 'master' into docking
2024-07-29 23:18:54 +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
e212511047
Backends: Vulkan: ImGui_ImplVulkan_SwapBuffers() still proceeds increasing counts on VK_SUBOPTIMAL_KHR. ( #7825 , #3881 )
...
Amend 085cff2f
2024-07-29 15:48:54 +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
5c9825c16d
Viewports: update fallback monitor to primary monitor if there's one.
...
Amend 4b9bc490 .
+ metrics: display fallback monitor.
2024-07-29 12:28:42 +02:00
Rémi Hérilier
c7b9256097
Selectable: added ImGuiSelectableFlags_Highlight flag to highlight items independently from the hovered state. ( #7820 )
...
Demo: Make the Widget/List boxes show how to use forced highlighting.
2024-07-29 12:05:08 +02:00
Laurent Dufresne
96460a8a12
InputText: Added '\' and '/' as word seperator. ( #7824 , #7704 )
...
Adding those seperators means that ctrl+(left|right)-arrows and ctrl+backspace will stop at slashes, which is more inline with how most software works and generally is very convenient when dealing with paths or urls.
2024-07-29 11:23:47 +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
3552df562e
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
2024-07-25 16:41:56 +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
chenqiudu
aa0f6b37bd
Backends: OSX: fixed NSAppKitVersion version limit for setWantsBestResolutionOpenGLSurface usage. ( #7814 )
2024-07-23 15:20:38 +02:00
Cyao
fe09ebbe0a
Backends: OpenGL3: Fixed unsupported option warning with apple clang ( #7810 )
2024-07-22 21:10:35 +02:00
ocornut
271910e349
Backends: SDL3: Update for API changes: SDL_GetDisplays() memory ownership change. ( #7809 )
2024-07-22 19:43:59 +02:00
ocornut
3fab2bb7be
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_sdl3.cpp
# imgui.cpp
2024-07-22 19:41:39 +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
Thomas Stehle
da36336321
TabBar, Style: added style option for the size of the Tab-Bar Overline ( #7804 )
...
Amend 21bda2e .
2024-07-22 10:58:16 +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
02cc7d451c
Merge branch 'master' into docking
...
# Conflicts:
# imgui_demo.cpp
2024-07-19 18:49:25 +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
fd77815f9f
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
2024-07-18 18:22:26 +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
ocornut
f6b5caf82c
MultiSelect: (breaking) renamed ImGuiMultiSelectFlags_BoxSelect -> ImGuiMultiSelectFlags_BoxSelect1d, ImGuiMultiSelectFlags_BoxSelect2d -> ImGuiMultiSelectFlags_BoxSelect.
...
ImGuiMultiSelectFlags_BoxSelect1d being an optimization it is the optional flag.
2024-07-18 18:19:20 +02:00
ocornut
7bbbbea200
MultiSelect: Box-Select: fixes for checkboxes support. Comments.
2024-07-18 18:19:20 +02:00
ocornut
2f56df4839
MultiSelect: (breaking) renamed ImGuiSelectionBasicStorage::AdapterData to UserData.
2024-07-18 18:19:20 +02:00
ocornut
1113f13f83
MultiSelect: Box-Select: fixed "when dragging from void" implementation messing with calling BeginMultiSelect() without a selection size.
2024-07-18 18:19:20 +02:00
ocornut
81548cb6bf
MultiSelect: added GetMultiSelectState() + store LastSelectionSize as provided by user, convenient for quick debugging and testing.
2024-07-18 18:19:20 +02:00
ocornut
dc0a1682e3
MultiSelect: Box-Select: when dragging from void, first hit item sets NavId by simulating a press, so navigation can resume from that spot.
2024-07-18 18:19:20 +02:00
ocornut
65ebc0513b
MultiSelect: Box-Select: minor refactor, tidying up.
2024-07-18 18:19:20 +02:00
ocornut
9435a3185a
RangeSelect/MultiSelect: (Breaking) Added current_selection_size to BeginMultiSelect().
...
Required for shortcut routing so we can e.g. have Escape be used to clear selection THEN to exit child window.
2024-07-18 18:19:19 +02:00
ocornut
955210ae5b
MultiSelect: Demo: use Shortcut().
...
Got rid of suggestion to move Delete signal processing to BeginMultiSelect(), seems unnecessary.
2024-07-18 18:19:19 +02:00
ocornut
0be238ec58
MultiSelect: Box-Select: fix preventing focus. amend determination of scope_hovered for decorated/non-child windows + avoid stealing NavId. ( #7424 )
2024-07-18 18:19:19 +02:00
ocornut
e7a734f78d
MultiSelect: added ImGuiMultiSelectFlags_NoAutoSelect, ImGuiMultiSelectFlags_NoAutoClear features + added Checkbox Demo
...
Refer to "widgets_multiselect_checkboxes" in imgui_test_suite.
2024-07-18 18:19:19 +02:00
ocornut
a639346fba
MultiSelect: Demo: make various child windows resizable, with synched heights for the dual list box demo.
2024-07-18 18:19:19 +02:00
ocornut
2111e3597b
MultiSelect: Comments + tweaked location for widgets to test ImGuiItemFlags_IsMultiSelect to avoid misleading into thinking doing it before ItemAdd() is necessary.
2024-07-18 18:19:19 +02:00
ocornut
dbc67bbf23
MultiSelect: Simplified ImGuiSelectionBasicStorage by using a single SetItemSelected() entry point.
2024-07-18 18:19:19 +02:00
ocornut
f36a03c317
MultiSelect: (Breaking) merge ImGuiSelectionRequestType_Clear and ImGuiSelectionRequestType_SelectAll into ImGuiSelectionRequestType_SetAll., rename ImGuiSelectionRequest::RangeSelected to Selected.
...
The reasoning is that it makes it easier/faster to write an adhoc ImGuiMultiSelectIO handler (e.g. trying to apply multi-select to checkboxes)
2024-07-18 18:19:19 +02:00
ocornut
b13a78e6b2
MultiSelect: Fixed ImGuiMultiSelectFlags_SelectOnClickRelease over tree node arrow.
2024-07-18 18:19:19 +02:00
ocornut
9337151a01
MultiSelect: Box-Select: Fixed initial drag from not claiming hovered id, preventing window behind to move for a frame.
2024-07-18 18:19:19 +02:00
ocornut
3141d87ef8
MultiSelect: Box-Select: Fixed CTRL+drag from void clearing items.
2024-07-18 18:19:18 +02:00
ocornut
8312c75fef
MultiSelect: Added ImGuiMultiSelectFlags_NoRangeSelect. Fixed ImGuiMultiSelectFlags_ScopeRect not querying proper window hover.
2024-07-18 18:19:18 +02:00
ocornut
d439f590ab
MultiSelect: Comments + Assets Browser : Tweak colors.
2024-07-18 18:19:18 +02:00
ocornut
6c4bf8e56e
MultiSelect: Fixed ImGuiSelectionBasicStorage::ApplyRequests() incorrectly maintaining selection size on SelectAll.
2024-07-18 18:19:18 +02:00
ocornut
f3d77d8e71
MultiSelect: Box-Select: Further refactor to extra mode code away from multi-select function into box-select funcitons.
2024-07-18 18:19:18 +02:00
ocornut
907268a430
MultiSelect: Box-Select: Fixed scrolling on high framerates.
2024-07-18 18:19:18 +02:00
ocornut
5d9de14493
MultiSelect: Box-Select: Refactor: Renames.
...
Split into two commits to facilite looking into previous one if needed.
2024-07-18 18:19:18 +02:00
ocornut
75bac1aac6
MultiSelect: Box-Select: Refactor into its own structure, designed for single-instance but closer to being reusable outside Multi-Select.
...
Kept same member names.
2024-07-18 18:19:18 +02:00
ocornut
15391762dd
MultiSelect: Box-Select: Added ImGuiMultiSelectFlags_BoxSelect2d support. Enabled in Asset Browser. Selectable() supports it.
2024-07-18 18:19:18 +02:00
ocornut
1ac469b50f
MultiSelect: Box-Select: Fixed holes when using with clipper (in 1D list.)
...
Clipper accounts for Selectable() layout oddity as BoxSelect is sensitive to it.
Also tweaked scroll triggering region inward.
Rename ImGuiMultiSelectFlags_NoBoxSelectScroll to ImGuiMultiSelectFlags_BoxSelectNoScroll.
Fixed use with ImGuiMultiSelectFlags_SinglaSelect.
2024-07-18 18:19:18 +02:00
ocornut
7546a2d345
MultiSelect: Demo: Assets Browser: track scrolling target so we can roughly land on hovered item.
...
It's impossible to do this perfectly without some form of locking on item because as the hovered item X position changes it's easy to drift.
2024-07-18 18:19:18 +02:00
ocornut
750e23998f
MultiSelect: Demo: Assets Browser: added deletion support. Store ID in selection. Moved QueueDeletion to local var to emphasis that this is a user extension.
2024-07-18 18:19:18 +02:00
ocornut
51fe0bfcf6
MultiSelect: reworked comments in imgui.h now that we have our own section.
2024-07-18 18:19:17 +02:00
ocornut
0f633c1d99
MultiSelect: move demo's ExampleSelection to main api as a convenient ImGuiSelectionBasicStorage for basic users.
2024-07-18 18:19:17 +02:00
ocornut
e0282347db
MultiSelect: remove ImGuiSelectionRequest/ImGuiMultiSelectIO details from public api to reduce confusion + comments.
2024-07-18 18:19:17 +02:00
ocornut
0af6fbb51d
MultiSelect: added support for nested/stacked BeginMultiSelect().
...
Mimicking table logic, reusing amortized buffers.
2024-07-18 18:19:17 +02:00
ocornut
b747d6fe59
MultiSelect: Demo: rework and move selection adapter inside ExampleSelection.
2024-07-18 18:19:17 +02:00
ocornut
aa4d64be92
MultiSelect: Box-Select: added scroll support.
2024-07-18 18:19:17 +02:00
ocornut
f904a6646c
MultiSelect: Box-Select: added support for ImGuiMultiSelectFlags_BoxSelect.
...
(v11)
FIXME: broken on clipping demo.
2024-07-18 18:19:17 +02:00
ocornut
90305c57e4
MultiSelect: (breaking) renamed ImGuiMultiSelectFlags_ClearOnClickWindowVoid -> ImGuiMultiSelectFlags_ClearOnClickVoid. Added ImGuiMultiSelectFlags_ScopeWindow, ImGuiMultiSelectFlags_ScopeRect.
2024-07-18 18:19:17 +02:00
ocornut
bf01795483
Demo: Assets Browser: add hit spacing, requierd for box-select patterns.
2024-07-18 18:19:17 +02:00
ocornut
3d41994a63
MultiSelect: simplify clearing ImGuiMultiSelectTempData.
2024-07-18 18:19:17 +02:00
ocornut
33fc61a091
MultiSelect: use a single ImGuiMultiSelectIO buffer.
...
+ using local storage var in EndMultiSelect(), should be no-op.
2024-07-18 18:19:17 +02:00
ocornut
5941edd9f7
MultiSelect: added support for recovery in ErrorCheckEndWindowRecover().
2024-07-18 18:19:17 +02:00
ocornut
c527cba470
MultiSelect: we don't need to ever write to EndIO.RangeSrcItem as this is not meant to be used.
2024-07-18 18:19:16 +02:00
ocornut
6feff6ff05
MultiSelect: (Breaking) io contains a ImVector<ImGuiSelectionRequest> list.
2024-07-18 18:19:16 +02:00
ocornut
a6adfb2b49
MultiSelect: added missing call on Shutdown(). Better reuse selection buffer.
2024-07-18 18:19:16 +02:00
ocornut
c3998b70cc
MultiSelect: clarified purpose and use of IsItemToggledSelection(). Added assert. Moved to multi-selection section of imgui.h.
2024-07-18 18:19:16 +02:00
ocornut
2765fdb43e
MultiSelect: removed seemingly unnecessary block in BeginMultiSelect().
...
- EndIO.RangeSelected always set along with EndIO.RequestSetRange
- Trying to assert for the assignment making a difference when EndIO.RequestSetRange is already set couldn't find a case (tests passing).
2024-07-18 18:19:16 +02:00
ocornut
88df590145
Demo: Assets Browser: store items, sorting, type overlay.
2024-07-18 18:19:16 +02:00
ocornut
d18e57e673
Demo: Assets Browser: Added assets browser demo.
2024-07-18 18:19:16 +02:00
ocornut
82de6c470b
MultiSelect: Added ImGuiMultiSelectFlags_SelectOnClickRelease to allow dragging an unselected item without altering selection + update drag and drop demo.
2024-07-18 18:19:16 +02:00
ocornut
5628dda5a5
MultiSelect: move shared logic to MultiSelectItemHeader().
...
No logic change AFAIK but added an indent level in MultiSelectItemHeader(). Logic changes will come in next commit.
2024-07-18 18:19:16 +02:00
ocornut
9da4efed2a
MultiSelect: moved RequestClear output so it'll match request list version better. Use Storage->RangeSrcItem in EndMultiSelect().
2024-07-18 18:19:16 +02:00
ocornut
a6f43dfadd
MultiSelect: ImGuiMultiSelectIO's field are not used during loop anymore, stripping them out of comments.
2024-07-18 18:19:16 +02:00
ocornut
dce02f5c4b
Demo: Dual List Box: Added a dual list box (6648)
2024-07-18 18:19:16 +02:00
ocornut
ba698df7bb
MultiSelect: Demo: Deletion: Various renames to clarify. Use adapter and item list in both ApplyDeletion functions.
...
This also minify the patch for an alternative/wip attmept at redesgining pre/post deletion logic. But turns out current attempt may be easier to grasp.
2024-07-18 18:19:16 +02:00
ocornut
e1d2109208
MultiSelect: Demo: Deletion: Rework ApplyDeletionPreLoop to use adapter + fix PostLoop not using right value of RequestFocusItem.
...
Recovery made it transparent visually but user side selection would be empty for a frame before recovery.
2024-07-18 18:19:16 +02:00
ocornut
fa516c3d76
MultiSelect: Demo: Make ExampleSelection use ImGuiID. More self-explanatory.
2024-07-18 18:19:15 +02:00
ocornut
530155d85a
MultiSelect: Demo: Remove UserDataToIndex from ExampleSelectionAdapter.
...
Seems to make a better demo this way.
2024-07-18 18:19:15 +02:00
ocornut
8c1f659b3d
MultiSelect: Demo: rework ExampleSelection with an ExampleSelectionAdapter layer, allowing to share more code accross examples using different storage systems.
...
Not ideal way to showcase this demo but this is really more flexible.
2024-07-18 18:19:15 +02:00
ocornut
8fe6b31952
MultiSelect: (Breaking) Removed RangeSrcPassedBy in favor of favoring user to call IncludeByIndex(RangeSrcItem) which is easier/simpler to honor.
...
Especially as recent changes made it required to also update RangeSrcPassedBy after last clipper Step.
Should now be simpler.
2024-07-18 18:19:15 +02:00
ocornut
6ddc5f38af
MultiSelect: Demo: added simpler demo using Clipper. Clarify RangeSrcPassedBy doc.
2024-07-18 18:19:15 +02:00
ocornut
c3753809b1
MultiSelect: Demo: rework ExampleSelection names to map better to typical user code + variety of Comments tweaks.
2024-07-18 18:19:15 +02:00
ocornut
ff95fdb668
MultiSelect: (Breaking) RequestSetRange's parameter are RangeFirstItem...RangeLastItem (which was always ordered unlike RangeSrcItem...RangeDstItme). Removed RangeDstItem. Removed RangeDirection.
2024-07-18 18:19:15 +02:00
ocornut
af83a3eea4
MultiSelect: clear selection when leaving a scope with a nav directional request.
...
May need to clarify how to depends on actions being performed (e.g. click doesn't).
May become optional?
2024-07-18 18:19:15 +02:00
ocornut
6821401a3f
MultiSelect: Tweak debug log to print decimal+hex values for item data.
...
Struggled to get standard PRIX64 to work on CI.
2024-07-18 18:19:15 +02:00
ocornut
c9eb3714e8
MultiSelect: move HasSelectionData to ImGuiItemFlags to facilitate copying around in standardized fieds.
...
Required/motivated to simplify support for ImGuiTreeNodeFlags_NavLeftJumpsBackHere (bc3c0ce ) in this branch.
2024-07-18 18:19:15 +02:00
ocornut
e82b49d2d4
MultiSelect: (Breaking) Use ImGuiSelectionUserData (= ImS64) instead of void* for selection user data.
...
Less confusing for most users, less casting.
2024-07-18 18:19:15 +02:00
ocornut
140a2f0565
MultiSelect: Comments, tweaks.
...
+ Alignment to reduce noise on next commit.
2024-07-18 18:19:15 +02:00
ocornut
847b1dde8c
MultiSelect: (Breaking) Fix + Rename ImGuiMultiSelectFlags_NoMultiSelect to ImGuiMultiSelectFlags_SingleSelect as it seems easier to grasp.
...
Feature was broken by "Tidying up..." June 30 commit.
2024-07-18 18:19:15 +02:00
ocornut
0cf376348b
MultiSelect: Cleanup unused comments/code.
2024-07-18 18:19:14 +02:00
ocornut
ab9326f4ae
MultiSelect: Fixed right-click handling in MultiSelectItemFooter() when not focused.
2024-07-18 18:19:14 +02:00
ocornut
e3616e151f
MultiSelect: Demo: Delete items from menu.
2024-07-18 18:19:14 +02:00
ocornut
c0035705ca
MultiSelect: Further simplication of user code to support Deletion.
...
Provide standard RequestFocusItem storage.
2024-07-18 18:19:14 +02:00
ocornut
df1eeb9a20
MultiSelect: Maintain NavIdSelected for user. Simplify deletion demo.
2024-07-18 18:19:14 +02:00
ocornut
9223ffc255
MultiSelect: (Breaking) BeginMultiSelect() doesn't need two last params maintained by users. Moving some storage from user to core. Proper deletion demo.
2024-07-18 18:19:14 +02:00
ocornut
564dde0ee3
MultiSelect: Demo: first-draft of user-side deletion idioms.
...
(will need support from lib)
2024-07-18 18:19:14 +02:00
ocornut
387fc13894
MultiSelect: Clarify and better enforce lifetime of BeginMultiSelect() value.
2024-07-18 18:19:14 +02:00
ocornut
961b81c362
MultiSelect: Tidying up/simpllifying MultiSelectItemFooter().
...
Intended to be entirely a no-op, merely a transform of source code for simplification. But committing separatey from behavior change in previous change.
2024-07-18 18:19:14 +02:00
ocornut
1ea9ca748c
MultiSelect: Remove the need for using IsItemToggledSelection(). Update comments.
...
This is the simple version that past our tests. MultiSelectItemFooter() is in need of a cleanup.
2024-07-18 18:19:14 +02:00
ocornut
6ef70a97fd
MultiSelect: Remove ImGuiMultiSelectFlags_NoUnselect because I currently can't find use for this specific design.
...
And/or it seem partly broken.
2024-07-18 18:19:14 +02:00
ocornut
ccf43d6a96
MultiSelect: (Breaking) Renamed 'RangeValue' -> 'RangeSelected' + amend comments.
2024-07-18 18:19:14 +02:00
ocornut
a83326bc52
MultiSelect: (Breaking) Renamed 'RangeSrc -> 'RangeSrcItem', "RangeDst' -> 'RangeDstItem'
...
This is necessary to have consistent names in upcoming fields (NavIdItem etc.)
2024-07-18 18:19:13 +02:00
ocornut
a39f9e7661
MultiSelect: Internals rename of IO fields to avoid ambiguity with io/rw concepts + memset constructors, tweaks.
...
debug
2024-07-18 18:19:13 +02:00
ocornut
c61ada200f
MultiSelect: Demo tweak. Removed multi-scope from Advanced (too messy), made it a seperate mini-demo.
2024-07-18 18:19:13 +02:00
ocornut
35b5ebc9b5
MultiSelect: (Breaking) Rename ImGuiMultiSelectData to ImGuiMultiSelectIO.
2024-07-18 18:19:13 +02:00
ocornut
11bcae1ebd
MultiSelect: refactor before introducing persistant state pool and to facilitate adding recursion + debug log calls.
...
This is mostly the noisy/shallow stuff committed here, to get this out of the way.
2024-07-18 18:19:13 +02:00
ocornut
5d71314f71
MultiSelect: removed DragDropActive/preserve_existing_selection logic which seems unused + comments.
...
Can't find trace of early prototype for range-select but I couldn't find way to trigger this anymore. May be wrong. Will find out.
2024-07-18 18:19:13 +02:00
ocornut
85954c845e
MultiSelect: Enter can alter selection if current item is not selected.
2024-07-18 18:19:13 +02:00
ocornut
d2f208a30c
MultiSelect: made SetNextItemSelectionData() optional to allow disjoint selection (e.g. with a CollapsingHeader between items). Amend demo.
2024-07-18 18:19:13 +02:00
ocornut
815c61b82e
MultiSelect: Fixed needing to set RangeSrcPassedBy when not using clipper.
2024-07-18 18:19:13 +02:00
ocornut
78cb1661cb
MultiSelect: Shallow tweaks/refactors.
...
Including moving IsFocused back internally for now.
2024-07-18 18:19:13 +02:00
ocornut
a05700e327
MultiSelect: Enter doesn't alter selection (unlike Space).
...
Fix for changes done in 5606.
2024-07-18 18:19:13 +02:00
ocornut
35bbadcf0c
MultiSelect: Added ImGuiMultiSelectFlags_ClearOnClickWindowVoid. + Demo: showcase multiple selection scopes in same window.
2024-07-18 18:19:13 +02:00
ocornut
b91ae122e1
MultiSelect: Demo: Added pointer indirection and indent level.
...
This is to reduce noise for upcoming commits, ahead of adding a loop here.
2024-07-18 18:19:12 +02:00
ocornut
19086c1c48
MultiSelect: Added ImGuiMultiSelectFlags_ClearOnEscape (unsure of best design), expose IsFocused for custom shortcuts.
2024-07-18 18:19:12 +02:00
ocornut
919cac1482
MultiSelect: Demo: Add a simpler version.
2024-07-18 18:19:12 +02:00
ocornut
ad5d3c9bff
MultiSelect: Fixed issue with Ctrl+click on TreeNode + amend demo to test drag and drop.
2024-07-18 18:19:12 +02:00
ocornut
b9721c1ed7
MultiSelect: Temporary fix/work-around for child/popup to not inherit MultiSelectEnabled flag, until we make mulit-select data stackable.
2024-07-18 18:19:12 +02:00
omar
00c4b8f2a3
MultiSelect: Fix testing key mods from after the nav request (remove need to hold the mod longer)
2024-07-18 18:19:12 +02:00
omar
3ba3f0d905
MultiSelect: Fix Selectable() ambiguous return value, clarify need to use IsItemToggledSelection().
2024-07-18 18:19:12 +02:00
omar
0479b188d0
MultiSelect: Comments. Tweak demo.
2024-07-18 18:19:12 +02:00
omar
9aeebd24f7
MultiSelect: Fixed CTRL+A not testing focus scope id. Fixed CTRL+A not testing active id. Added demo code.
...
Comments.
2024-07-18 18:19:12 +02:00
ocornut
7abda179af
MultiSelect: Fix for TreeNode following merge of 011d4755. Demo: basic test for tree nodes.
2024-07-18 18:19:12 +02:00
omar
9c7183dd04
MultiSelect: Transition to use FocusScope bits merged in master.
...
Preserve ability to shift+arrow into an item that is part of FocusScope but doesn't carry a selection without breaking selection.
2024-07-18 18:19:12 +02:00
omar
4afbfd5e71
MultiSelect: Renamed SetNextItemMultiSelectData() to SetNextItemSelectionUserData()
2024-07-18 18:19:12 +02:00
omar
17c4c2154a
MultiSelect: Demo sharing selection helper code. Fixed static analyzer warnings.
2024-07-18 18:19:12 +02:00
omar
57da88093f
MultiSelect: Added IMGUI_HAS_MULTI_SELECT define. Fixed right-click toggling selection without clearing active id, could lead to MarkItemEdited() asserting. Fixed demo.
2024-07-18 18:19:11 +02:00
ocornut
8947c35fa1
MultiSelect: Removed SelectableSpacing as I'm not sure it is of use for now (history insert)
2024-07-18 18:19:11 +02:00
omar
554db6bc0f
MultiSelect: WIP range-select ( #1861 ) (rebased six millions times)
2024-07-18 18:19:11 +02:00
ocornut
0e485a2109
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_sdl3.cpp
# imgui.cpp
# imgui_widgets.cpp
2024-07-18 17:56:27 +02:00
ocornut
c2d21ab04f
Backends: SDL3: Update for API changes: SDL_GetClipboardText() string ownership change. ( #7801 )
2024-07-18 14:02:27 +02:00
ocornut
070c046cd1
Internals: rename recently added TreeNodeIsOpen() -> TreeNodeGetOpen(). ( #7553 , #1131 , #2958 , #2079 , #722 )
...
Amend ac7d6fb
2024-07-17 20:01:55 +02:00
ocornut
7c6d4ff28d
TreeNode: Internals: facilitate dissociating item ID from storage ID (useful for 1861)
2024-07-17 19:20:39 +02:00
ocornut
8bab3eab6a
Clipper: added SeekCursorForItem() function, for use when using ImGuiListClipper::Begin(INT_MAX). ( #1311 )
...
Tagging #3609 just in case we made a mistake introducing a regression (but tests are passing and have been extended).
2024-07-17 18:16:06 +02:00
ocornut
74a1854db9
Nav, Demo: comments.
2024-07-17 17:03:22 +02:00
ocornut
669021be4c
Style: close button and collapse/window-menu button hover highlight made rectangular instead of round.
...
The reason they were round in the first place was to work better with rounded windows/frames.
However since the 4a8142449 rework #6749 we can naturally use a tigher bounding box and it seems to work ok either way.
2024-07-17 15:56:34 +02:00
ocornut
67e9aa4d3d
Demo: Property Editor: add basic filter.
2024-07-17 14:01:02 +02:00
ocornut
4247f190c2
Demo: Property Editor: rearrange code + replace use of bool to proper ImGuiChildFlags.
...
Amend 46691d1
2024-07-17 13:52:30 +02:00
ocornut
9c1f922b02
Fixed pvs-studio warning.
2024-07-16 17:19:12 +02:00
ocornut
0e4dcfa552
Obsoleted PushTabStop()/PopTabStop() in favor of using new PushItemFlag()/PopItemFlag() with ImGuiItemFlags_NoTabStop.
2024-07-15 18:57:46 +02:00
ocornut
3de75138d1
(Breaking) Renamed ImGuiSelectableFlags_DontClosePopups to ImGuiSelectableFlags_NoAutoClosePopups. ( #1379 , #1468 , #2200 , #4936 , #5216 , #7302 , #7573 )
2024-07-15 18:46:34 +02:00
ocornut
0de88a928d
Added ImGuiItemFlags_AutoClosePopups as a replacement for internal's ImGuiItemFlags_SelectableDontClosePopup. ( #1379 , #1468 , #2200 , #4936 , #5216 , #7302 , #7573 )
2024-07-15 18:46:34 +02:00
ocornut
b4ca869c40
(Breaking) Obsoleted PushButtonRepeat()/PopButtonRepeat() in favor of using new PushItemFlag()/PopItemFlag() with ImGuiItemFlags_ButtonRepeat.
2024-07-15 18:38:18 +02:00
ocornut
7e0800e718
Added PushItemFlag(), PopItemFlag(), ImGuiItemFlags.
2024-07-15 18:38:18 +02:00
ocornut
46691d172e
Demo: Reworked "Property Editor" demo in a manner that more ressemble the tree data and struct description data that a real application would want to use.
2024-07-15 17:14:01 +02:00
ocornut
bc9e5b62b6
Added ImGuiDataType_Bool for convenience.
2024-07-15 16:49:35 +02:00
ocornut
ac7d6fb5ca
Internals: Added TreeNodeIsOpen() to facilitate discoverability. ( #7553 , #1131 , #2958 , #2079 , #722 )
2024-07-15 11:31:00 +02:00
ocornut
5ea96c15cd
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_win32.cpp
2024-07-15 11:21:18 +02:00
ocornut
9c2f6003e4
Backends: SDL3: fixed typo leading to PlatformHandleRaw not being set leading to SHOWNA path not working for multi-viewports.
2024-07-15 11:17:21 +02:00
wermi
df3a74389e
Backends: SDL3: Update for API changes: SDL_GetProperty() change to SDL_GetPointerProperty(). ( #7794 )
2024-07-15 11:16:26 +02:00
Cyao
126569ad5b
Fix definition check ( #7793 )
2024-07-14 12:26:59 +02:00
ocornut
c3c90b49e0
Examples: SDL3+OpenGL: Update for API changes: SDL_GL_DeleteContext() renamed to SDL_GL_DestroyContext().
2024-07-11 18:13:42 +02:00
ocornut
a8e96ae21a
Backends: GLFW+Emscripten: Fixed build ( #7647 )
2024-07-08 22:26:14 +02:00
Yan Pujante
2937339c17
Backends: GLFW+Emscripten: Added support for GLFW3 contrib port. ( #7647 )
2024-07-08 22:06:24 +02:00
Yan Pujante
6816789a6b
Backends: GLFW+Emscripten: (Breaking) Renamed ImGui_ImplGlfw_InstallEmscriptenCanvasResizeCallback() to ImGui_ImplGlfw_InstallEmscriptenCallbacks(), added GLFWwindow* parameter. ( #7647 , #7600 )
...
+ Fixed Emscripten warning when using mouse wheel on some setups.
2024-07-08 22:02:48 +02:00
Aemony
9504068f66
Backends: Win32: fixed ImGuiMod_Super being mapped to VK_APPS instead of VK_LWIN||VK_RWIN ( #7768 , #4858 , #2622 )
...
Amend 075576744
The `ImGui_ImplWin32_UpdateKeyModifiers()` function maps `ImGuiMod_Super` to `VK_APPS`, the "Application" key located between the Right Windows (Super) and Right Control keys on the keyboard, see https://conemu.github.io/en/AppsKey.html
This means that when using `ImGui::GetIO().KeySuper` to try to get the down state of the `VK_RWIN` or `VK_LWIN` keys, it'll always return FALSE when either of those keys are held down, and only return TRUE when `VK_APPS` is held down.
2024-07-08 13:59:07 +02:00
Hugues Evrard
6b6026b133
DemosFix typo in help text in demo Tables/Borders ( #7780 )
...
The help text for flags had a "V" flag duplicated, this change corrects it to the missing "H" flag.
2024-07-08 11:43:09 +02:00
cfillion
1ec1f7a3de
Fixed Unix version of PlatformOpenInShellFn_DefaultImpl. ( #7772 , #7660 )
...
+ Enable on non-iPhone macOS builds
2024-07-07 21:49:12 +02:00
ocornut
2d0baaabe6
TreeNode: rename/rework ImGuiNavTreeNodeData system to be usable by more features. ( #2920 , #1131 , #7553 )
...
Reworked to it is easier during TreeNode code to request extra data to be stored.
2024-07-03 18:59:26 +02:00
ocornut
0a73c6ec3f
Misc tweaks, comments.
2024-07-03 18:02:59 +02:00
ocornut
527b2c45af
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl2.cpp
2024-07-02 19:05:36 +02:00
ocornut
0ebf49b4c1
IO: amend PlatformOpenInShellFn specs to return a bool. ( #7660 )
...
Amend 8f36798
2024-07-02 19:03:40 +02:00
ocornut
380b3559c6
Backends: GLFW,SDL2: Added ioPlatformOpenInShellFn handler for web/Emscripten versions. ( #7660 )
2024-07-02 18:06:19 +02:00
ocornut
3f61da7e8b
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_osx.mm
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
# backends/imgui_impl_sdl3.h
# imgui.cpp
# imgui.h
# imgui_internal.h
2024-07-02 17:48:38 +02:00
ocornut
05a4f28059
Internals: added FontScale storage (amend 0f63d3e).
2024-07-02 17:45:12 +02:00
ocornut
5496050f5f
Added TextLink(), TextLinkOpenURL() hyperlink widgets. ( #7660 )
2024-07-02 17:21:44 +02:00
ocornut
0f63d3e916
Internals: added FontScale storage.
2024-07-02 17:21:10 +02:00
ocornut
dadf9cd039
IO: disable default io.PlatformOpenInShellFn() implementation on iPhone, as compiler errors that system() is not available on iOS.
2024-07-02 16:23:46 +02:00
ocornut
43925b9fa4
Build fix for non Windows platforms.
2024-07-02 16:10:54 +02:00
ocornut
ddd4c9d6b9
Commented out obsolete ImGuiModFlags and ImGuiModFlags_XXX values (renamed to ImGuiKeyChord and ImGuiMod_XXX in 1.89). ( #4921 , #456 )
2024-07-02 16:03:18 +02:00
ocornut
fb799bba7f
(Breaking) IO, IME: renamed platform IME hook io.SetPlatformImeDataFn() -> io.PlatformSetImeDataFn() and added explicit context.
2024-07-02 15:48:32 +02:00
ocornut
8f36798035
IO: added io.PlatformOpenInShellFn handler to open a link/folder/file in OS shell, added IMGUI_DISABLE_DEFAULT_SHELL_FUNCTIONS. ( #7660 )
2024-07-02 15:36:08 +02:00
ocornut
0250dc903e
Demo: changed style editor inline block to its own window.
2024-07-02 14:38:44 +02:00
ocornut
ae708e3bcd
Backends: SDL3: add default case to fix warnings. ( #7763 )
2024-07-02 12:12:25 +02:00
ocornut
7e0b3b9caf
Debug Log: Added "Configure Outputs.." button. ( #5855 )
2024-07-02 12:10:33 +02:00
ocornut
a62794359a
Debug Tools: Added IMGUI_DEBUG_LOG(), ImGui::DebugLog() in public API. ( #5855 )
2024-07-02 12:00:55 +02:00
ocornut
a489585f84
Backends: SDL3: Updated comments (IME seems fixed in SDL3). Added SDL3 examples to Visual Studio solution.
2024-07-02 11:37:18 +02:00
ocornut
12f92518bc
Backends: SDL3: Update for API changes: SDLK_x renames and SDLK_KP_x removals ( #7761 , #7762 )
...
Also updated function signature in SDL2 backend to match and because it is expected we will use that data (as per #7672 )
2024-07-02 11:36:13 +02:00
ocornut
84cc72f372
Version 1.91.0 WIP
2024-07-01 19:02:42 +02:00
ocornut
3369cbd277
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_sdl3.cpp
2024-07-01 17:10:12 +02:00
ocornut
3fec562da1
Merged GetBackgroundDrawList()/GetForegroundDrawList() and GetBackgroundDrawList(ImGuiViewport* viewport)/GetForegroundDrawList(ImGuiViewport* viewport) api entry points.
2024-06-28 16:16:51 +02:00
ocornut
138d9d0c21
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl2.cpp
# backends/imgui_impl_opengl3.cpp
2024-06-28 16:03:49 +02:00
ocornut
a028c2df2a
Windows, Menus: Fixed an issue where the size of sub-menu in their own viewport would be erroneously clamped to the size of main viewport. ( #7730 )
...
Amend #7287 , #7063
2024-06-27 16:05:25 +02:00
ocornut
10a5a857f5
Merge branch 'master' into docking
...
# 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
# imgui.h
2024-06-26 14:54:01 +02:00
ocornut
7237d3e5c3
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
# imgui_internal.h
2024-06-21 16:18:22 -07:00
ocornut
66ed89b0ca
Docking: mark window payload as not cross-context.
2024-06-20 17:48:54 -07:00
ocornut
e863f89d39
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2024-06-20 17:47:22 -07:00
ocornut
416cfdb99d
Backends: Win32: Secondary viewports WndProc handler retrieve/set imgui context from the HWND.
...
Allowing WndProc dispatch to work in multi-context setups.
2024-06-20 17:44:19 -07:00
ocornut
3acb869a95
Backends: Win32: avoid skipping DefWindowProc() on WM_CLOSE.
...
Mostly because I don't have a trace of why I did it this way, even in viewport branch history.
2024-06-20 17:42:46 -07:00
ocornut
2ebb4e931d
TabBar, Style, Docking: amend 21bda2e for docking branch.
2024-06-18 17:47:22 -07:00
ocornut
3e7f1d42db
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
# imgui.h
# imgui_draw.cpp
2024-06-18 17:45:17 -07:00
bcsanches
64a82d73c9
Backends: SDL3: Update for introduction of SDL_GLContext from void*. ( #7701 , #7702 )
2024-06-18 09:45:24 -07:00
ocornut
6d948ab47e
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2024-06-06 17:52:55 +02:00
ocornut
fdc084f532
Merge branch 'master' into docking
2024-06-03 19:08:37 +02:00
ocornut
222dd775fc
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_internal.h
2024-05-28 17:11:57 +02:00
ocornut
2db79d0868
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2024-05-27 15:47:30 +02:00
ocornut
975beafafd
Merge branch 'master' into docking
2024-05-24 17:23:58 +02:00
ocornut
fee0210592
Merge branch 'master' into docking
2024-05-24 16:09:29 +02:00
ocornut
5ecef2f321
Merge branch 'master' into docking
...
# Conflicts:
# examples/example_win32_directx10/main.cpp
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx12/main.cpp
# imgui.cpp
2024-05-23 17:25:02 +02:00
ocornut
36ffdd69d3
Merge remote-tracking branch 'origin/master' into docking
2024-05-21 19:01:06 +02:00
ocornut
9ebab255d2
Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. ( #7611 )
2024-05-21 19:00:25 +02:00
ocornut
b39fc84f89
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2024-05-16 19:57:04 +02:00
ocornut
15d8d41f86
Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
2024-05-14 19:01:18 +02:00
ocornut
eabe98f6d5
Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
...
# Conflicts:
# backends/imgui_impl_osx.mm
# backends/imgui_impl_win32.cpp
# imgui.cpp
2024-05-14 16:29:06 +02:00
ocornut
e391fe2e66
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui_internal.h
2024-05-08 16:17:32 +02:00
Rory O'Connell
8b2c6dd42f
Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. ( #2626 , #3390 , #3758 , #7508 , #7513 )
2024-05-07 16:14:15 +02:00
cfillion
f5d185238c
Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. ( #6861 , #2884 )
2024-05-03 17:44:33 +02:00
ocornut
2f2d5070f5
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
2024-05-03 16:30:09 +02:00
Sandro Cavazzoni
ebb8d78102
Backends: Vulkan: Create a custom pipeline for secondary viewports. ( #6325 , #6305 , #7398 , #3459 , #3253 , #3522 )
...
Edited from original commit: moved ImGui_ImplVulkan_CreatePipeline() call from ImGui_ImplVulkanH_CreateOrResizeWindow() to ImGui_ImplVulkan_CreateWindow().
2024-04-30 15:37:36 +02:00
ocornut
49e70e60a2
Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline ( #6325 , #6305 , #7398 , #3459 , #3253 , #3522 )
...
As this is currently unused and misleading. Next commit will add a separate pipeline for secondary viewport.
2024-04-30 15:37:36 +02:00
ocornut
9d6818d0ce
Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. ( #7535 , #2771 )
...
Amend ebbb98d51
2024-04-30 14:10:11 +02:00
ocornut
5717f0a33e
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_vulkan.cpp
# backends/imgui_impl_win32.cpp
2024-04-30 10:42:46 +02:00
ocornut
b555984a94
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# imgui.cpp
2024-04-18 21:18:18 +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
ocornut
c1743eef48
Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. ( #6709 , #4643 , #7491 )
2024-04-15 11:43:16 +02:00
ocornut
1db579d458
Merge branch 'master' into docking
2024-04-11 16:21:56 +02:00
ocornut
085781f5ca
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2024-03-18 22:52:40 -07:00
ocornut
adcc3217c3
Revert "Docking: Fix C++26 zealous warnings ( #7383 , #7089 )" + Disable warnings
...
This reverts commit 9d9ca37a84 .
2024-03-11 15:07:05 +01:00
ocornut
9d9ca37a84
Docking: Fix C++26 zealous warnings ( #7383 , #7089 )
2024-03-11 14:41:02 +01:00
ocornut
fd75685fb0
Merge branch 'master' into docking
2024-03-05 18:12:11 +01:00
ocornut
77dff5a735
Backends: comments.
2024-02-28 11:06:40 +01:00
ocornut
4e8c43f6b7
Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. ( #7354 )
2024-02-27 20:02:26 +01:00
ocornut
1a487165b1
Merge branch 'master' into docking
2024-02-27 18:44:51 +01:00
ocornut
c6aa051629
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2024-02-22 20:01:46 +01:00
ocornut
2b662b1ab9
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2024-02-20 15:33:20 +01:00
ocornut
8048b52498
Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. ( #7316 )
2024-02-15 14:50:45 +01:00
ocornut
c66a1e7d51
Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. ( #7166 , #6855 , #5446 , #5037 )
2024-02-14 14:39:26 +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
8490a262c4
Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
2024-02-09 17:28:41 +01:00
ocornut
71bcf350bd
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2024-02-09 17:26:45 +01:00
ocornut
30ba3c347c
Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. ( #7299 , #3071 )
2024-02-09 15:43:25 +01:00
ocornut
59c8db69eb
Demo: reorder Demo->Configuration section with docking/viewports section.
2024-02-09 15:27:35 +01:00
ocornut
82eeafc196
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
2024-02-07 22:10:33 +01:00
actboy168
54ef4092a9
Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. ( #7257 )
2024-01-24 14:51:04 +01:00
ocornut
eb42e164dd
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_vulkan.cpp
2024-01-22 19:01:25 +01:00
ocornut
01b99a974d
Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. ( #7236 )
2024-01-19 14:50:46 +01:00
ocornut
cab7edd135
Merge branch 'master' into docking
...
# Conflicts:
# imgui_internal.h
2024-01-17 18:38:03 +01:00
ocornut
80c83a4277
Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. ( #6798 , #2637 , #456 )
2024-01-16 14:30:43 +01:00
ocornut
cceff4684a
Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() ( #6798 , #2637 , #456 )
2024-01-16 14:30:42 +01:00
ocornut
69b64e2b73
Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). ( #6798 )
...
The revert doesn't look the same as 32a3c61 as since then we are baking focus roue into NavFocusScopePath().
2024-01-16 11:50: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
32a3c61d00
Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). ( #456 )
2024-01-11 19:48:31 +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
cf02023565
Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
...
Amend 8323a06 . Eager to get rid of legacy IMGUI_DISABLE_OBSOLETE_KEYIO stuff: technically it's been two years, may give it another one.
2024-01-09 23:05:53 +01:00
ocornut
ebcfcd8da3
Merge branch 'master' into docking
2024-01-09 22:39:06 +01:00
ocornut
8deb1007cd
Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. ( #7028 )
2024-01-09 22:36:01 +01:00
ocornut
a683033e49
Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. ( #7028 , #7101 , #6009 , #6432 )
2024-01-09 22:21:57 +01:00
ocornut
e3d7cd665d
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_vulkan.cpp
2024-01-03 18:33:44 +01:00
David Maas
2523c197bc
Fixed title bar background alpha being used to render viewport-owned windows. ( #7184 , #7181 )
2023-12-31 00:45:25 +01:00
Kai Wang
20e1caec85
Backends: DX12: Changed swapchain scaling mode to DXGI_SCALING_NONE. ( #7152 , #7153 )
2023-12-21 14:18:43 +01:00
ocornut
4aa81116a5
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# imgui.cpp
2023-12-20 23:57:19 +01:00
ocornut
8add6bcb9f
Merge remote-tracking branch 'origin/master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
2023-12-14 17:21:15 +01:00
ocornut
96b5b1724b
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_vulkan.cpp
# imgui_internal.h
2023-12-05 12:20:16 +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
Marc Delorme
e07663d9a1
Docking: transform ImGuiContext* ctx = GImGui to ImGuiContext& g = *GImGui for consistency ( #5856 )
2023-11-28 14:18:52 +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
Oliver Eriksson
6695006bea
Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. ( #6999 , #5446 , #5037 )
2023-11-15 14:53:32 +01:00
ocornut
0941adc931
Backends: SDL3: Updates for recent API changes. ( #7000 ) (w/ multi-viewports version)
...
# Conflicts:
# backends/imgui_impl_sdl3.cpp
2023-11-13 16:24:50 +01:00
ocornut
9d950444a2
Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
...
Amend for 6e7b43b,79a9e2f
2023-11-10 15:40:41 +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
37ea320b96
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2023-11-07 20:20:41 +01:00
ocornut
208b8242bc
Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. ( #6982 )
2023-11-03 21:14:19 +01:00
ocornut
4cde40dbe1
Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
...
(Will cherry-pick this from docking to master)
2023-11-02 18:06:38 +01:00
ocornut
9298e310b2
Merge branch 'master' into docking (note: won't build as-is, see next commit)
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_internal.h
2023-11-02 18:05:43 +01:00
Luca Lolli
04e9a2fac1
Backends: SDL3: rename SDL_EVENT_DISPLAY ( #6974 )
...
SDL3 display events have been renamed
2023-11-01 13:53:30 +01:00
ocornut
2a6d7b1eaa
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
2023-10-18 19:45:19 +02:00
ocornut
51d1a72e9b
Docking: Revised undocking logic to reduce accidental whole-node undocking:
...
Amend bb2aa5e77 .
Revert to normal threshold in StartMouseMovingWindowOrNode().
Added tooltip when hovering the collapse/window menu button.
2023-10-16 15:56:46 +02:00
ocornut
4521dec85d
Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
2023-10-16 15:13:44 +02:00
ocornut
83c4336828
Tables: fixed angled headers with frozen columns.
2023-10-12 19:48:29 +02: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
72ebd91567
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# imgui.h
2023-10-05 15:10:45 +02:00
ocornut
9064dbd404
Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. ( #3424 )
2023-10-02 15:28:22 +02:00
ocornut
d27b4ad366
Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. ( #6889 )
2023-10-02 12:09:13 +02:00
ocornut
17bfafda55
Backends: GLFW: moved WndProc hook to bottom of file + rename a field. ( #6889 )
...
No functional change in this commit.
2023-10-02 12:09:08 +02:00
ocornut
ff534b0d0a
Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. ( #6882 )
2023-10-02 10:57:22 +02:00
ocornut
f8aed6499f
Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). ( #4631 )
...
Squashed of 2 master commits.
2023-09-28 20:16:13 +02:00
ocornut
b7c250925f
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2023-09-27 18:21:39 +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
c418685315
Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. ( #6861 , #2884 )
2023-09-25 20:45:34 +02:00
ocornut
2c0007731f
Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
2023-09-20 17:27:55 +02:00
ocornut
61acb34e32
Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. ( #2304 )
...
In TestSuite: see "docking_tab_focus_restore".
Remove old code ~ ed3c015f 8bac6d4 8cac70d8
+ Fix potential crash in IMGUI_DEBUG_LOG_DOCKING() path when using amended buttons.
2023-09-20 14:43:47 +02:00
ocornut
3ce6b06feb
Merge branch 'master' into docking
2023-09-20 12:53:35 +02:00
ocornut
64b1e448d2
TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. ( #6820 , #4859 , #5022 , #5239 )
...
Removed ImGuiTabItemFlags_Preview. Will need cherry-picking in master.
2023-09-18 15:28:44 +02:00
ocornut
ac3bc73c13
Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
...
Amend 5f30191
2023-09-18 14:32:23 +02:00
ocornut
afd0d3fca1
Docking: made ImGuiDockNodeFlags_NoUndocking public. ( #2999 , #6823 , #6780 , #3492 )
...
Amend 1612813 .
2023-09-18 12:41:18 +02:00
ocornut
72d760ba00
Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
...
Shuffled other internal flags and added comments.
2023-09-18 12:27:29 +02:00
ocornut
f693c3d806
Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. ( #2999 , #6823 , #6780 , #3492 )
2023-09-18 11:27:44 +02:00
ocornut
7e246a7bb9
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2023-09-16 13:51:51 +02:00
ocornut
1612813114
Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. ( #2999 , #6823 , #6780 )
2023-09-15 20:44:26 +02:00
ocornut
14f8b76c1a
Docking: Comments. Removed misleading shared/local identicators. ( #6823 , #2999 )
...
NoDocking not marked as saved (it never was). Removed unused ImGuiDockNodeFlags_LocalFlagsMask_.
2023-09-15 20:44:15 +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
1d8e48c161
Using range-based for where it makes sense. ( #4537 )
...
Amend 82d177c
2023-09-04 15:13:12 +02:00
ocornut
a1b60fc1f5
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
2023-09-04 14:59:59 +02:00
ocornut
300464a487
Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. ( #6709 , #4643 )
...
Hope this doesn't feel spammy?
2023-08-30 17:45:06 +02:00
ocornut
7d6e83efca
Docking: Fixed non-root dockspace not having their background rendered properly.
...
Fix f422e78 . Fuller version of 08b3a1a pushed in master.
2023-08-30 15:26:46 +02:00
ocornut
762ec445e6
Docking: Fixed bad bug, dock node host wouldn't merge background. ( #6753 , #6716 )
...
Fixes f422e78 . Didn't crash because g.Windows[] is always larger than g.WindowsFocusOrder[].
2023-08-28 11:25:50 +02:00
ocornut
475453668d
Backends: SDL2/SDL3: Fixed bad merge in docking branch ( #6735 )
2023-08-26 11:45:21 +02:00
ocornut
61d35972e2
CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. ( #6749 )
2023-08-25 14:29:42 +02:00
ocornut
676497fe05
Merge branch 'master' into docking
...
ac64b65 on master seemed incorrect.
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
# imgui_internal.h
# imgui_widgets.cpp
2023-08-25 14:20:51 +02:00
ocornut
1161301386
Backends: amend "Missing features" sections for multi-viewports support.
2023-08-15 13:02:56 +02:00
ocornut
f422e7826f
ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. ( #6716 )
...
Amend dbeeeae59
2023-08-14 16:12:15 +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
ocornut
f8704cd085
Merge branch 'master' into docking
2023-08-01 13:11:26 +02:00
ocornut
30594c37d0
Merge branch 'master' into docking
2023-08-01 10:22:21 +02:00
ocornut
f8f805f046
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_opengl2.cpp
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_osx.mm
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
# backends/imgui_impl_vulkan.cpp
# backends/imgui_impl_win32.cpp
2023-07-20 23:18:47 +02:00
ocornut
07d1709ca2
Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. ( #2109 , #1542 )
2023-07-13 11:45:39 +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
0110f4c8cc
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_internal.h
2023-07-12 18:19:24 +02:00
ocornut
51b348095c
Docking, Style: resizing separators use same colors as window borders. ( #2522 )
2023-07-11 15:17:54 +02:00
ocornut
f4942bca32
Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. ( #2522 )
2023-07-11 15:01:20 +02:00
ocornut
27c735e3e9
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:00:51 +02:00
ocornut
f6feddd1ee
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2023-07-11 12:44:15 +02:00
ocornut
b79751ebad
Docking: Added DockingSeparatorSize to style: amends ( #3481 , #4721 , #2522 )
...
Add ImGuiStyleVar_DockingSeparatorSize + misc Docking related comments.
2023-07-11 12:43:50 +02:00
PossiblyAShrub
a5aff5fd3e
Docking: Added DockingSeparatorSize to style ( #3481 , #4721 , #2522 )
...
(DockingSplitterSize in current commit, about to be renamed)
2023-07-11 12:37:40 +02:00
ohthesetrees
8566fec661
Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 ( #6573 )
2023-07-05 11:01:56 +02:00
ocornut
dc3e531ff2
Merge branch 'master' into docking
2023-07-04 16:22:25 +02:00
sean
ac8573884d
Backends: Vulkan: Amends for docking branch. ( #5446 , #5037 )
2023-07-04 15:02:21 +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
a88e5be7f4
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_widgets.cpp
2023-06-28 14:56:33 +02:00
ocornut
6b01114057
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
2023-06-23 16:04:13 +02:00
ocornut
057fcae30c
Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
...
Part 4: store reference viewport id from last visible single window stored in node. So Win1 -> Win1|Win2 can reuse viewport on split.
Refer to "viewport_owner_change_1" and "viewport_owner_change_2" in ImGuiTestSuite.
2023-06-23 16:03:01 +02:00
ocornut
35b41949fb
Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
...
Part 3: DockNodeRemoveWindow() clears viewports so it doesn't get bounced back and forth.
Note that in case of called from e.g. dock builder this can happen mid-frame. Clearing Viewport here isn't well exercised yet. If window doesn't get a Begin() in same-frame it'll be hidden.
Refer to "viewport_owner_change_1" and "viewport_owner_change_2" in ImGuiTestSuite.
Amend 6b77668171
2023-06-23 15:55:14 +02:00
ocornut
099e8533e2
Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
...
Part 2: Fixed various transfer cases.
Refer to "viewport_owner_change_1" and "viewport_owner_change_2" in ImGuiTestSuite.
2023-06-23 15:51:43 +02:00
ocornut
66c09fc05b
Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
...
Part 1: Add counters. Amend logs.
Refer to "viewport_owner_change_1" and "viewport_owner_change_2" in ImGuiTestSuite.
2023-06-23 15:49:45 +02:00
ocornut
7d81a166f9
Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
2023-06-23 15:49:45 +02:00
ocornut
e4aeef4b9f
Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
2023-06-21 15:34:51 +02:00
ocornut
1450d23b60
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# docs/CHANGELOG.txt
# imgui.cpp
2023-06-20 15:12:09 +02:00
ocornut
b9db5c566b
Backends: Win32: Added support for updating ParentViewportID after viewport creation.
...
This tends to be desirable for applicaton manipulating this value via ImGuiWindowClass::ParentViewportID.
I thought it would be a simple call to SetParent(), it's only slightly more complicated but added comments about it.
2023-06-15 11:26:27 +02:00
ocornut
ef07ddf087
Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
...
Moved from compile-time to runtime flag. Applied docking specific change to this cherry-picked commit.
# Conflicts:
# docs/CHANGELOG.txt
2023-06-13 11:55:21 +02:00
ocornut
fa5d2656b0
Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
...
+ Add more debug log + Display DockOrder in metrics.
2023-06-13 11:37:35 +02:00
ocornut
3f63cee4c1
Docking: Fixed dragging from title-bar empty space ( #5181 , #2645 )
...
This would need a test in ImGuiTestSuite.
2023-06-12 15:33:20 +02:00
ocornut
0664877998
Merge branch 'master' into docking
2023-06-09 14:02:19 +02:00
Luca Lolli
8fd0a04135
Backends: SDL3: Fix backend in docking/multi-viewports branch. ( #6483 )
...
The definition has been renamed to SDL_EVENT_DISPLAY_CONTENT_SCALE_CHANGED.
Display scale is no longer available in SDL_DisplayMode but can be retrieved using SDL_GetDisplayContentScale.
2023-06-01 11:30:26 +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
3418d50949
Viewports: Fixes erroneous popup closure on closing a previous popup. ( #6462 , #6299 )
...
Avoid applying imgui-side focus when focus change is due to a viewport destruction.
2023-05-30 17:09:27 +02:00
S41L0R
f0f3b927e0
Backends: GLFW: Avoid linking with GLFW function for homebrew switch ( #6473 )
2023-05-30 10:27:21 +02:00
slowriot
6cc967a124
Backends: GLFW: Only enable Vulkan support if not building with Emscripten ( #6468 )
2023-05-28 18:08:06 +02:00
omar
2e810d575c
Backends: GLFW: Fix breaking typo 19b436f68 ( #5683 , #6459 )
2023-05-26 13:41:45 +02:00
ocornut
19b436f68d
Backends: GLFW: Preserve monitor list when there are no monitor. ( #5683 )
2023-05-25 15:38:35 +02:00
ocornut
54c1ac3e38
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2023-05-22 10:10:29 +02:00
ocornut
e590b5114e
Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. ( #6299 )
...
Amend d2291df55 , 63370be0e , dcb6335bfe
2023-05-20 14:22:01 +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
ocornut
031148dc56
Fixed bad merge.
2023-04-25 16:30:31 +02:00
ocornut
594cc4793a
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2023-04-25 12:21:16 +02:00
ocornut
d2291df551
Viewports: Fixed setting focus from platform decoration from accidentally closing modals ( #6299 , #6357 )
...
+ Fixed double-assignment static analyzer warning.
# Conflicts:
# imgui.cpp
2023-04-21 19:22:41 +02:00
ocornut
bba39762dc
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_win32.cpp
# imgui.cpp
# imgui_internal.h
# imgui_widgets.cpp
2023-04-21 19:12:11 +02:00
ocornut
ac38c8e6fe
IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
...
In theory shouldn't accept them, but a backend overriding another would be prevented from doing so because of this (test engine).
2023-04-21 18:01:18 +02:00
ocornut
c11128891e
Backends: SDL2/SDL3: Update monitor list when receiving a display event. ( #6348 )
2023-04-21 15:40:14 +02:00
ocornut
adf693c061
Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
2023-04-21 15:31:14 +02:00
ocornut
07e07030a6
Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc ( #3218 )
...
This was still in docking, but moved back in upper locaton.
# Conflicts:
# backends/imgui_impl_win32.cpp
2023-04-20 10:41:03 +02:00
ocornut
88ac2ced7c
Backends: DX10: Fixed typo in previous commit.
2023-04-19 17:18:04 +02:00
ocornut
f498f084d6
Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. ( #3218 , #5170 and #6086 , #2772 , #2600 , #2359 , #2022 , #1553 )
2023-04-19 16:48:07 +02:00
Mark Jansen
4bc51c6ff4
Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. ( #3218 , #5170 and #6086 , #2772 , #2600 , #2359 , #2022 , #1553 )
2023-04-19 16:46:54 +02:00
ocornut
1f2b84a654
Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). ( #6334 )
...
Amend 055e715
2023-04-19 16:40:18 +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
0ea3b87bd6
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui_internal.h
2023-04-13 16:24:09 +02:00
ocornut
bed11b35d1
Fix typos and use nullptr in backends. Amend 506f7e0
2023-04-11 16:20:17 +02:00
ocornut
aec062a8a5
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_osx.mm
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
# docs/CHANGELOG.txt
# examples/example_win32_directx9/main.cpp
# imgui_internal.h
2023-04-11 16:16:17 +02:00
ocornut
1668693bcf
Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. ( #6071 , #1953 )
2023-04-06 19:18:15 +02:00
ocornut
ec461c6ccb
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
# imgui_demo.cpp
2023-04-06 19:16:08 +02:00
ocornut
63370be0e5
Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. ( #6299 )
2023-04-06 16:29:36 +02:00
ocornut
1f0b46b93c
Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. ( #1542 )
...
Not sure why queries were in UpdatePlatformWindows().
- initially added there on 2018/04/26 f1ae07e532 (squashed)
- slightly moved in cd51f37fc0 for the purpose of putting less constraint on backend but that check is now done on our side anyhow.
Seems more consistent to do it nxt to other polling in UpdateViewportsNewFrame().
Not using ImGuiViewportFlags_IsFocused yet.
2023-04-06 16:08:53 +02:00
ocornut
ed72fcd12a
Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
...
Effectively it is currently the later, but see comment "Even without focus, we assume the window becomes front-most." in UpdatePlatformWindows().
+ Moved Window field at top since it is most useful.
2023-04-06 15:17:52 +02:00
ocornut
dcb6335bfe
Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. ( #6299 )
2023-04-05 20:25:05 +02:00
ocornut
ee5ce36745
Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
# backends/imgui_impl_win32.cpp
# docs/CHANGELOG.txt
# imgui.cpp
# imgui.h
# imgui_internal.h
2023-04-04 21:17:47 +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
bf87fbcbcc
Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). ( #6217 )
2023-03-22 18:58:32 +01:00
ocornut
ad44f5831a
Merge branch 'master' into docking
2023-03-21 17:04:54 +01:00
Bruno Perković
5320a6ebd3
Backends: Made SDL3 backend compatible with commit 698dbd8. ( #6255 , #6146 )
2023-03-21 12:17:54 +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
85beda96de
Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. ( #5683 )
2023-03-15 14:51:46 +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
9937660b1c
Merge branch 'master' into docking
...
# Conflicts:
# examples/example_allegro5/main.cpp
# examples/example_apple_metal/main.mm
# examples/example_apple_opengl2/main.mm
# examples/example_glfw_metal/main.mm
# examples/example_glfw_opengl2/main.cpp
# examples/example_glfw_opengl3/main.cpp
# examples/example_glfw_vulkan/main.cpp
# examples/example_glut_opengl2/main.cpp
# examples/example_sdl2_directx11/main.cpp
# examples/example_sdl2_metal/main.mm
# examples/example_sdl2_opengl2/main.cpp
# examples/example_sdl2_opengl3/main.cpp
# examples/example_sdl2_vulkan/main.cpp
# examples/example_sdl3_opengl3/main.cpp
# examples/example_win32_directx10/main.cpp
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx12/main.cpp
# examples/example_win32_directx9/main.cpp
# imgui.cpp
2023-03-10 18:40:04 +01:00
ocornut
e2cede6542
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2023-03-08 17:41:32 +01:00
ocornut
f5c5a710aa
Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
2023-03-06 17:08:09 +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
702626dd8a
Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
2023-03-06 16:59:57 +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
192196711a
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2023-02-14 16:01:11 +01:00
ocornut
345184330b
Internals: Settings: amend ClearWindowSettings() for Docking.
2023-02-10 18:28:45 +01:00
ocornut
ea4565368e
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl2.h
# backends/imgui_impl_sdl3.cpp
# backends/imgui_impl_sdl3.h
# imgui.cpp
2023-02-10 17:05:06 +01:00
ocornut
0d7d877cb5
Backends: SDL3: Update for latest.
...
Note that resizing secondary viewports seems broken.
2023-02-10 14:45:52 +01:00
ocornut
95412ad3a5
Backends: SDL3: Removed unnecessary #ifdef.
2023-02-07 17:09:51 +01:00
ocornut
a526ff8c30
Backends: SDL3: Added multi-viewports support. ( #6146 )
2023-02-07 16:30:58 +01:00
ocornut
e4233c6fb6
Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx10.h
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_dx11.h
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx12.h
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_dx9.h
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_metal.h
# backends/imgui_impl_metal.mm
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_opengl3.h
# backends/imgui_impl_osx.h
# backends/imgui_impl_osx.mm
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdlrenderer.cpp
# backends/imgui_impl_sdlrenderer.h
# backends/imgui_impl_vulkan.cpp
# backends/imgui_impl_vulkan.h
# backends/imgui_impl_win32.cpp
# docs/CHANGELOG.txt
# imgui.cpp
# imgui_widgets.cpp
2023-02-07 16:23:49 +01:00
ocornut
c807192abc
Tables: amend f799a29 with a better solution + fix potential overflow ( #6140 )
2023-02-03 22:50:58 +01:00
ocornut
b0a936e5d4
Merge branch 'master' into docking (incl revert of examples refactor)
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl.cpp
# examples/example_glfw_opengl2/main.cpp
# examples/example_glfw_opengl3/main.cpp
# examples/example_glfw_vulkan/main.cpp
# examples/example_sdl_directx11/main.cpp
# examples/example_sdl_opengl2/main.cpp
# examples/example_sdl_opengl3/main.cpp
# examples/example_sdl_vulkan/main.cpp
# examples/example_win32_directx10/main.cpp
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx12/main.cpp
# examples/example_win32_directx9/main.cpp
2023-02-03 22:38:39 +01:00
ocornut
97a1f761c6
Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. ( #2492 , #2494 , #3699 , #3705 )
2023-02-03 22:23:23 +01:00
ocornut
5ebb6a2954
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl.cpp
2023-02-02 19:38:24 +01:00
ocornut
5386ddcd05
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl.cpp
# examples/example_emscripten_opengl3/main.cpp
# examples/example_glfw_opengl2/main.cpp
# examples/example_glfw_opengl3/main.cpp
# examples/example_glfw_vulkan/main.cpp
# examples/example_glut_opengl2/main.cpp
# examples/example_sdl_directx11/main.cpp
# examples/example_sdl_opengl2/main.cpp
# examples/example_sdl_opengl3/main.cpp
# examples/example_sdl_vulkan/main.cpp
# examples/example_win32_directx10/main.cpp
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx12/main.cpp
# examples/example_win32_directx9/main.cpp
# imgui_demo.cpp
2023-02-02 18:31:26 +01:00
ocornut
887abe9578
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_osx.mm
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_win32.cpp
# imgui.cpp
# imgui.h
# imgui_internal.h
# imgui_widgets.cpp
2023-02-01 22:18:57 +01:00
ocornut
88dfd85e92
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2023-01-21 00:49:06 +01:00
Cody Tapscott
6342275bbb
Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. ( #6096 )
...
This is used to populate the monitor array, which is only a requirement for multi-viewport support (which is not supported by Emscripten anyway).
2023-01-20 17:04:55 +01:00
ocornut
d822c65317
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# docs/CHANGELOG.txt
2023-01-05 15:58:49 +01:00
ocornut
fc3815bfe5
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_vulkan.cpp
2023-01-03 21:06:09 +01:00
ocornut
824baa6a4d
Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. ( #6037 )
2023-01-03 14:22:07 +01:00
ocornut
42e166089a
Backends: Metal: fixed secondary viewport rendering. ( #6015 , #4821 , #2778 )
2023-01-03 12:34:47 +01:00
ocornut
6939676372
Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. ( #6035 )
2023-01-02 17:54:50 +01:00
Mikko Sivulainen
16aaf60697
Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. ( #6009 )
2023-01-02 15:38:40 +01:00
ocornut
90de839445
Backends: SDL: fix build on WinRT ( #6019 , #5974 ) - version for docking branch
...
Amend da83253
2023-01-02 15:03:18 +01:00
ocornut
c191faf0ba
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_internal.h
# imgui_widgets.cpp
2022-12-08 21:19:01 +01:00
ocornut
d3025cde37
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2022-12-06 22:13:12 +01:00
ocornut
5eda547e6f
Merge branch 'master' into docking
2022-12-06 15:10:09 +01:00
ocornut
3ea0fad204
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
# imgui.h
2022-12-01 20:22:27 +01:00
ocornut
540909bddf
Fixed version string for consistency ( #5918 )
2022-11-28 14:42:37 +01:00
ocornut
fad8afd62a
Docking: amend to allow localizing docking specific user facing string. ( #5895 )
2022-11-24 21:29:41 +01:00
ocornut
595a428baa
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# docs/CHANGELOG.txt
# imgui.cpp
# imgui_internal.h
2022-11-24 21:27:15 +01:00
ocornut
d2f9c5dfb7
Viewports: moving PlatformWindowCreated field to public structure. ( #5882 )
2022-11-24 16:39:45 +01:00
ocornut
9964740a47
Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
...
(thanks christopher knorr!)
2022-11-18 19:34:24 +01:00
ocornut
38cfe22b8b
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2022-11-16 17:57:05 +01:00
ocornut
94e850fd6f
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2022-11-15 15:40:54 +01:00
ocornut
d7aca168ee
Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. ( #5710 , #5012 )
...
Amend 51bbc7065
2022-11-10 16:22:34 +01:00
ocornut
a571933f8b
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
2022-11-09 15:59:26 +01:00
ocornut
4d5da74c79
Merge branch 'master' into docking
2022-11-08 20:44:04 +01:00
ocornut
5728f2e15f
Fix build with IMGUI_DISABLE_DEBUG_TOOLS
2022-11-04 16:47:04 +01:00
ocornut
849c8052b7
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_osx.mm
# backends/imgui_impl_win32.cpp
# imgui.cpp
# imgui_internal.h
2022-11-04 16:26:15 +01:00
cfillion
ced92d9c52
Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. ( #5837 , #4921 )
...
Will merge the swap in master.
2022-10-31 12:08:23 +01:00
ocornut
375ae5dce4
Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
...
Note switched from GLFW_VERSION_REVISION * 10 to GLFW_VERSION_REVISION * 1
2022-10-24 22:58:25 +02:00
ocornut
50c4234aca
Docking: Further fixes for highlight of nested nodes. ( #5702 )
...
Amend fb0b9c71 , 8f43487 , 9764adc , 24dfebf
Added more regression tests e.g "docking_focus_nodes_nested"
2022-10-24 20:34:03 +02:00
ocornut
5370b46c4e
Docking: Made spacing between dock nodes not a dropping gap.
2022-10-24 20:25:42 +02:00
ocornut
f87e891f18
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2022-10-14 18:50:40 +02:00
ocornut
edf522b58a
Merge branch 'master' into docking + amends change to nullptr ( #5760 )
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_opengl2.cpp
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_osx.mm
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_vulkan.cpp
# backends/imgui_impl_win32.cpp
# imgui_internal.h
2022-10-11 15:59:23 +02:00
ocornut
cb04326b46
Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] ( #5745 )
...
+ TabBar: starts displaying the unsaved document marker with a frame delay to match how close button is processed, otherwise the transition would be noticeable.
2022-10-04 18:08:29 +02:00
ocornut
fb0b9c7160
Docking: Fixed missing highlight when using dock node host window borders. ( #5702 )
...
Amend 8f434874 , 9764adc7b , 24dfebf45
2022-10-03 14:55:22 +02:00
ocornut
69beaa1d0b
Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
2022-09-29 22:03:21 +02:00
ocornut
d91211f9f2
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_win32.cpp
2022-09-29 22:02:23 +02:00
ocornut
11f5be0caf
Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. ( #4468 , #4825 , #4832 , #5127 , #5655 , #5709 )
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
2022-09-27 14:40:18 +02:00
ocornut
8f434874c0
Docking: Fixed incorrect focus highlight on docking node when focusing a menu. ( #5702 )
2022-09-26 15:56:54 +02:00
ocornut
6fd2ee9416
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_sdl.cpp
# imgui_demo.cpp
2022-09-26 14:57:34 +02:00
ocornut
1dc7d0e633
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_osx.mm
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_win32.cpp
# imgui.cpp
2022-09-26 11:08:49 +02:00
ocornut
3af9ac320d
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_examples.sln
# imgui.cpp
# imgui.h
# imgui_demo.cpp
2022-09-17 00:25:42 +02:00
ocornut
64b88da21b
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
# imgui.h
2022-09-09 20:48:57 +02:00
ocornut
caf4b7f1e6
Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). ( #5665 )
2022-09-09 16:45:16 +02:00
ocornut
aceab9a877
Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. ( #5548 )
...
This incorrect pattern has been mentioned or suggested in: #4510 , #3355 , #1760 , #1490 , #4152 , #150
# Conflicts:
# imgui.cpp
2022-09-02 16:38:40 +02:00
ocornut
bc2002ab92
Merge branch 'master' into docking
2022-09-01 20:54:37 +02:00
ocornut
71a0701920
Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard ( #5504 , #4023 );
2022-08-24 15:49:03 +02:00
ocornut
db798fd5be
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_metal.mm
# imgui.cpp
# imgui_internal.h
2022-08-23 18:41:24 +02:00
ocornut
b78738ff23
Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
2022-08-22 19:18:06 +02:00
Rokas Kupstys
8cbd391f09
Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window.
...
Metrics: Display dock_node->Windows in node metrics.
2022-08-08 15:33:19 +02:00
Rokas Kupstys
ff1567e240
Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. ( #5515 )
...
The idea is that in the absence of a tab bar, as new one gets created new tabs will be sorted based on window->DockOrder so this may work but we're not 100% sure.
2022-08-05 12:39:47 +02:00
ocornut
e9f50fb87c
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2022-08-03 22:04:03 +02:00
Rokas Kupstys
f573ebf31a
Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. ( #5503 )
...
Amend 67be485e , Somehow ties to 58f5092c + 0eb45a05 (#4310 )
Unsure of exact chain of event but this caused a parent link msimatch between the time of the MouseMoving test in AddUpdateViewport() setting _NoInputs on the wrong parent., and the release clearing _NoInputs on the rght one.
2022-08-03 18:07:08 +02:00
ocornut
b12e056c21
Docking: Fixed amending into an existing tab bar from rendering invisible items. ( #5515 , amend b16f738d #2700 , #2539 )
...
Commit b16f738d left us with a "current" channel 0 which seems inadequate. Undoing that, assuming default is always 1, code filling bg color does a switch. Only DockContextEndFrame() leave it at 0 and it's not particularly necessary.
2022-08-03 17:00:59 +02:00
ocornut
0abe7d1cc5
Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. ( #5515 )
2022-08-03 16:11:39 +02:00
ocornut
e21f462f6f
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2022-08-03 15:29:04 +02:00
ocornut
28a123ca47
Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
...
+ using defines for channel changes.
2022-08-03 15:22:19 +02:00
Rokas Kupstys
cb8ead1f71
Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
...
(regression from 8eb8689 ).
2022-07-18 15:25:46 -07:00
ocornut
77637fd936
Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer ( #5463 , #4792 )
...
Fix 37958ca
2022-07-12 10:51:14 +02:00
ocornut
21fc57f2cf
Merge branch 'master' into docking
2022-07-08 16:09:30 +02:00
Stephen H. Gerstacker
ad5aa54166
Backends, Viewport: Metal: Pull format from shared context. ( #5403 , #5437 )
2022-06-30 20:19:27 +02:00
ocornut
5d0deebba4
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2022-06-30 20:17:48 +02:00
Runik
58eb40db76
Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. ( #4616 , #5434 )
2022-06-29 15:47:37 +02:00
ocornut
9cd9c2eff9
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
# imgui_widgets.cpp
2022-06-21 18:28:33 +02:00
ocornut
9764adc7bb
Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
2022-06-17 17:11:23 +02:00
ocornut
506717390f
Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. ( #5401 )
...
Ideally we should untangle the purpose of parent_window_in_stack / ParentWindowInBeginStack better.
2022-06-16 18:43:33 +02:00
rokups
101aec95d9
Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
...
Fixes #5392 + alignment fixes and removed static_cast<> + Amended with fix.
2022-06-16 13:12:54 +02:00
ocornut
e135cdbc24
Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
...
# Conflicts:
# backends/imgui_impl_dx12.cpp
# imgui.cpp
# imgui_internal.h
2022-06-15 15:39:23 +02:00
ocornut
24dfebf455
Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2022-06-13 20:19:33 +02:00
ocornut
e900ca355e
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_metal.mm
# imgui.cpp
# imgui.h
2022-06-10 19:29:17 +02:00
Andrej Redeky
4789c7e485
Misc: Fix custom assertion macro failing to compile imgui.cpp ( #5378 )
2022-06-05 13:34:10 +02:00
ocornut
7b5a8e4f2b
Merge branch 'master' into docking (wanted for #4468 , #3381 , #2981 , #4825 , #4832 , #5127 )
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
2022-05-30 15:26:12 +02:00
Rokas Kupstys
250333d895
Docking: Fix unhiding tab bar regression. ( #5325 , #5181 )
...
Broken by 90386780
2022-05-19 16:59:39 +02:00
Rokas Kupstys
36055213c5
Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". ( #5324 )
...
Regression introduced in 6b7766817
2022-05-19 16:54:54 +02:00
ocornut
6b5a2426d7
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_metal.mm
# backends/imgui_impl_opengl3.cpp
# imgui.cpp
2022-05-17 11:59:32 +02:00
omar
2fa60bec27
Examples: Apple+OpenGL: Fix build.
2022-05-09 11:30:52 +02:00
omar
693b4c57fe
Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). ( #5299 )
2022-05-09 10:45:56 +02:00
ocornut
d666a1d473
Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . ( #4821 , #2778 )
2022-05-03 18:14:10 +02:00
stuartcarnie
6868d11669
Backends: OSX, Metal: Added multi-viewports support. ( #4821 , #2778 )
2022-05-03 18:14:07 +02:00
ocornut
414165d23f
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# imgui.cpp
2022-05-03 14:40:17 +02:00
Dima Koltun
ec48681455
Windows: Fixed first-time windows appearing in negative coordinates. ( #5215 , #3414 )
...
Regression added in 6af92b05b
2022-04-22 20:26:40 +02:00
ocornut
8dd5425182
Merge branch 'master' into docking
...
# Conflicts:
# docs/TODO.txt
2022-04-22 19:15:37 +02:00
ocornut
505f19e3b0
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_internal.h
2022-04-05 17:55:53 +02:00
ocornut
377b864bb4
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl.cpp
# imgui_internal.h
# imgui_widgets.cpp
2022-03-23 17:21:34 +01:00
ocornut
9b0c26b0b2
Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. ( #5012 , #5082 )
...
master got c5f6721 which is combining f337378 and this commit.
2022-03-22 18:09:33 +01:00
Rokas Kupstys
f337378066
Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. ( #5012 )
2022-02-28 11:10:39 +01:00
ocornut
8639a2f9f8
Viewports: Fixed translating a host viewport from briefly altering the size of AlwaysAutoResize windows. ( #5057 )
2022-02-25 16:41:40 +01:00
ocornut
64519c6875
Docking: Fixed floating docked nodes not being clamped into viewport workrect to stay reachable when g.ConfigWindowsMoveFromTitleBarOnly is set and multi-viewports are disabled. ( #5044 )
2022-02-22 16:21:10 +01:00
ocornut
7b0d58c5e5
Merge branch 'master' into docking
2022-02-22 14:57:17 +01:00
ocornut
9948535118
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
# imgui.h
# imgui_draw.cpp
2022-02-17 18:47:43 +01:00
ocornut
1e14cc5cae
Viewports: Fixed main viewport size not matching ImDrawData::DisplaySize for one frame during resize when multi-viewports are disabled. ( #4900 )
2022-02-10 18:50:28 +01:00
ocornut
aa86800092
Internals: rework RenderMouseCursor() signature so we can use it in docking branch more naturally. (Merged from master+ rework for docking)
...
# Conflicts:
# imgui.cpp
# imgui_draw.cpp
2022-02-08 12:29:44 +01:00
ocornut
1ee252772a
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2022-02-07 18:20:10 +01:00
ocornut
033538731c
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl.cpp
2022-02-07 16:18:19 +01:00
ocornut
31762a8173
Docking: fixed potential crash if a passthrough dock node is submitted without a child intermediate (currently not possible via API)
2022-02-03 12:04:11 +01:00
ocornut
5017602752
Backends: SDL: Amend 08350e5, multi-viewports mouse tracking works under Linux. ( #4960 ) + Reword tests to help static analysis.
2022-02-03 11:52:03 +01:00
ocornut
37958ca1b5
Docking: Fixed CTRL+TAB back into a docked window not selecting menu layer when no item are on main layer.
...
Could merge on master.
2022-02-03 00:19:31 +01:00
ocornut
8eb8689391
Docking: Tabs use their own identifier (in order to make window->ID refer to whole window in test engine). Also prevents Tab ID from clashing with "" which was common.
2022-02-02 23:23:13 +01:00
ocornut
c1ab3c406f
Docking: Fixed size constraints not working on single window holding on a dock id (still doesn't work on docked windows).
2022-02-02 23:10:14 +01:00
ocornut
d378e4088f
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_draw.cpp
2022-02-01 15:46:42 +01:00
ocornut
08350e53e7
Backends: SDL: no support for ImGuiBackendFlags_HasMouseHoveredViewport under OSX/LInux ( #4960 )
2022-01-31 11:47:44 +01:00
ocornut
27004aca70
Revert moving ImGuiKeyModFlags to internal.h (amendc906c65)
...
# Conflicts:
# imgui.cpp
2022-01-28 15:53:41 +01:00
ocornut
d5f0d45ae4
Merge branch 'master' into docking + remove two _PopUnusedDrawCmd() from docking branch, following 718daa1
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_win32.cpp
# imgui.cpp
# imgui_internal.h
2022-01-27 17:50:31 +01:00
ocornut
f1a073186c
Docking: Fixed a CTRL+TAB crash when aiming at an empty docked window. ( #4792 )
2022-01-25 17:28:43 +01:00
ocornut
3e0d6ec895
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_vulkan.cpp
# backends/imgui_impl_vulkan.h
# backends/imgui_impl_win32.cpp
# imgui.cpp
# imgui.h
# imgui_demo.cpp
# imgui_internal.h
2022-01-21 12:39:15 +01:00
ocornut
e278277d53
IO: added AddMouseViewportEvent() + used in backends.
2022-01-18 17:24:59 +01:00
ocornut
1338eb31f7
Viewports: Relaxed specs for backend supporting ImGuiBackendFlags_HasMouseHoveredViewport. Backends: SDL: Added support for simplified HasMouseHoveredViewport. ( #1542 , #4665 )
2022-01-18 17:01:55 +01:00
ocornut
007a427e0a
Viewports: Fixed active InputText() from preventing viewports to merge. ( #4212 )
2022-01-18 16:04:25 +01:00
ocornut
8567a4cca3
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_win32.cpp
# imgui_demo.cpp
# imgui_internal.h
2022-01-17 18:19:20 +01:00
ocornut
ec1e57ed4a
Merge "Backends: SDL: Fix for Emscriptem. Amend 98ce013." + Fix bad merge from master of "is_app_focused" property (Amend 0647ba3)
2022-01-13 18:55:58 +01:00
ocornut
e51a0a80ca
IO: fix SetKeyEventNativeData() not handling ImGuiKey_None the same way as AddKeyEvent(). ( #4905 , #4858 )
2022-01-13 18:43:58 +01:00
ocornut
0647ba3bad
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_osx.h
# backends/imgui_impl_osx.mm
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_win32.cpp
2022-01-13 18:36:23 +01:00
ocornut
acfc7798fd
Rename io.AddKeyModEvent() -> io.AddKeyModsEvent() and updated backends accordingly. ( #2625 , #4858 )
...
Amend 790132a (breaking)
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_win32.cpp
2022-01-10 17:01:07 +01:00
ocornut
9ce0f35ef3
Backends: OSX: Fixed typo.
2022-01-10 15:48:12 +01:00
ocornut
ef681e7019
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_glfw.h
# backends/imgui_impl_osx.h
# backends/imgui_impl_osx.mm
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_sdl.h
# backends/imgui_impl_win32.cpp
# backends/imgui_impl_win32.h
# imgui.cpp
2022-01-10 15:24:21 +01:00
ocornut
704ab1114a
Merge branch 'master' into docking. Remove Platform_SetImeInputPos. Remove backend-side IME implementation. Rrevert removal of MouseDragMaxDistanceAbs in 206b9ea. ( #2589 , #3113 )
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_win32.cpp
# imgui.cpp
# imgui.h
# imgui_internal.h
# imgui_widgets.cpp
2022-01-05 14:30:20 +01:00
ocornut
afb1180d7d
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
2022-01-03 21:52:31 +01:00
ocornut
9c8f288d1a
Viewports: Fixed a CTRL+TAB crash with viewports enabled ( #4023 , #787 ) (amend 1dc3af3, 23ef6c1, 657073a)
...
+ Expose FindHoveredViewportFromPlatformWindowStack() in imgui_internal.h
2021-12-30 21:46:09 +01:00
ocornut
2aa9959553
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_opengl3.cpp
# docs/CHANGELOG.txt
2021-12-30 21:42:19 +01:00
ocornut
15b4a064f9
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_win32.cpp
# examples/example_marmalade/main.cpp
# imgui.cpp
# imgui.h
2021-12-22 16:02:04 +01:00
ocornut
06d5f9297d
Internals: reduced side-effects of setting window->HiddenFramesForRenderOnly > 0
2021-12-15 16:03:20 +01:00
ocornut
248ed1b01d
Internals: UpdateWindowInFocusOrderList: amend a528398 to fix docking. ( #3496 , #4797 )
2021-12-15 14:28:10 +01:00
ocornut
cd36acc88b
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_osx.h
# backends/imgui_impl_osx.mm
# imgui.cpp
2021-12-15 12:10:03 +01:00
ocornut
747f7fdbba
Docking: prevent docking any window created above a popup/modal. ( #4317 )
2021-12-09 16:47:11 +01:00
ocornut
f605351307
Added an assertion for the common user mistake of using "" as an identifier at the root level of a window. ( #1414 , #2562 , #2807 , #4008 , #4158 , #4375 , #4548 , #4657 , #4796 )
...
#4158 , #4375 , #4548 , #4657 , #4796 )
2021-12-09 15:38:44 +01:00
ocornut
e31d116d37
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl2.cpp
# imgui.cpp
# imgui_internal.h
2021-12-09 11:52:23 +01:00
ocornut
0647cf434c
Nav, Docking: Fix crash on dimming docked window and DockSpaceOverViewport() with PassthruCentralNode.
...
(amend 1dc3af3 , 23ef6c1 , 657073a )
2021-12-08 17:05:31 +01:00
ocornut
fc198fe1db
Nav, Docking: Fix dimming on docked windows.
2021-12-06 19:50:42 +01:00
ocornut
c1b70e0391
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2021-12-06 19:17:03 +01:00
ocornut
06e4f4e370
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_sdlrenderer.cpp
# backends/imgui_impl_sdlrenderer.h
# imgui.cpp
# imgui.h
2021-12-03 19:24:42 +01:00
ocornut
1dc3af381a
Nav, Docking: reworked modal/ctrl+tab dimming system to be entirely processed at end of the frame, which will simplify things for an upcoming commit.
...
(Will backport some of this back to master now.)
2021-12-03 19:18:57 +01:00
ocornut
c122c0ef89
Docking: Amend b16f738 fixed dimming of docked window + removed thin highlight around windows (never worked on docked window, not viewports friendly, hard to move to EndFrame) ( #2700 , #2539 , #2522 )
2021-12-03 16:15:06 +01:00
ocornut
b16f738d04
Docking: docked windows honor ImGuiCol_WindowBg. Host window in charge of rendering seams. ( #2700 , #2539 + Docked windows honor display their border properly. ( #2522 )
...
Plus: better support for transparent one in nodes
Side effects: DockContextBindNodeToWindow doesn't alter node->IsVisible.
Side effects: ImDrawList:: _ResetForNewFrame() needs to merge, sane (in case of
(Amended, force-pushed)
2021-12-03 14:46:34 +01:00
ocornut
bf80204e63
Docking: internals: extracted rounding corner calculation into reusable CalcRoundingFlagsForRectInRect() function.
2021-12-02 20:22:03 +01:00
ocornut
8733ca49b0
Docking: Fixed single-frame node pos/size inconsistencies when window stop or start being submitted.
...
Fix 718e15c7d while preserving its intended property. Tested by "docking_window_appearing_layout". (#2109 )
2021-12-02 18:46:42 +01:00
ocornut
6afcfe3442
Docking: Fixed incorrectly rounded tab bars for dock node that are not at the top of their dock tree.
2021-12-01 18:27:05 +01:00
ocornut
848d21b6b5
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_sdlrenderer.cpp
# backends/imgui_impl_sdlrenderer.h
# imgui.cpp
# imgui_widgets.cpp
2021-12-01 15:37:40 +01:00
ocornut
1ab3007752
Viewports: Fixed CTRL+TAB highlight outline on docked windows not always fitting in host viewport + moved EndFrameDrawDimmedBackgrounds() call + removed duplicate code in Begin() already in EndFrameDrawDimmedBackgrounds()
2021-12-01 14:42:58 +01:00
Mikko Sivulainen
5f5ba8eb11
Docking: Fix typo (had no side effect) ( #4778 )
...
Co-authored-by: Mikko Sivulainen <mikko.sivulainen@supercell.com >
2021-12-01 11:10:37 +01:00
ocornut
719d931304
Docking: Fixed a bug undocking windows docked into a non-visible or _KeepAliveOnly dockspace. ( #4757 )
2021-11-24 17:49:21 +01:00
ocornut
ea83d040e6
Viewports: fix missing default per-window value for ParentViewportId due to zero-cleared in-window instance ( #4756 )
...
Broken by 2080d12b
2021-11-24 16:47:13 +01:00
ocornut
7f38773b73
Fixed crash on right-click without modal, introduced by previous commit a3667f46, ( #4729 )
2021-11-17 12:46:30 +01:00
ocornut
b50b22d787
Fixed tooltip in own viewport over modal from being incorrectly dimmed. ( #4729 )
...
Normally we would aim to ensure that g.Windows[] gets maintained to reflect display layer but it is presently non trivial.
2021-11-16 16:14:21 +01:00
ocornut
2080d12bd9
Viewports: Made it possible to explicitly assign ImGuiWindowClass::ParentViewportId to 0. ( #3152 , #2871 )
2021-11-16 01:10:10 +01:00
ocornut
dc8c3618e8
Merge branch 'master' into docking
...
# Conflicts:
# imgui_demo.cpp
2021-11-10 15:26:03 +01:00
ocornut
b17dffffb3
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2021-11-04 20:52:54 +01:00
ocornut
c1d2793580
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2021-11-04 15:26:01 +01:00
ocornut
0b4edf4e94
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_vulkan.cpp
# imgui.cpp
2021-11-03 11:51:37 +01:00
ocornut
bac748fa95
Backends: Made it possible to shutdown default Platform Backends before the Renderer backends. ( #4656 )
2021-10-15 17:16:26 +02:00
ocornut
05877c14df
Fixed nested BeginDisabled()/EndDisabled() bug in Docking branch due to bad merge. ( #4655 , #4452 , #4453 , #4462 )
2021-10-15 11:51:01 +02:00
ocornut
9b59455184
Merge branch 'master' into docking
...
# Conflicts:
# imgui.h
2021-10-15 11:49:30 +02:00
ocornut
29653273c1
Docking: reinstate io.ConfigDockingWithShift option. ( #4643 )
...
This more or less reverts commit 3ed07a8f0b .
2021-10-13 16:47:29 +02:00
ocornut
1b215ecb01
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2021-10-11 19:25:50 +02:00
ocornut
1780579403
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2021-10-06 17:57:11 +02:00
ocornut
835a5344b0
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_win32.cpp
# imgui.cpp
# imgui.h
# imgui_demo.cpp
# imgui_internal.h
2021-09-24 15:49:28 +02:00
ocornut
65ad63de84
Added ImGuiFocusedFlags_NoPopupHierarchy and ImGuiHoveredFlags_NoPopupHierarchy (followup #4527 )
...
IsWindowFocused: fix flag usage (amend 6b1e094c ) was technically harmless because of light typing.
2021-09-24 15:41:30 +02:00
ocornut
ca097c2c68
Docking: Fixed IsItemHovered() and functions depending on it (e.g. BeginPopupContextItem()) when called after Begin() on a docked window ( #3851 )
...
Fix ee643b2a
2021-09-22 14:07:18 +02:00
ocornut
fa0a314f59
Nav: Fixed an issue with losing focus on docked windows when pressing Alt while keyboard navigation is disabled. ( #4547 , #4439 )
2021-09-21 13:16:00 +02:00
ocornut
c58fb46411
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
2021-09-14 19:26:27 +02:00
ocornut
e7cc534367
Docking: Improved resizing system so that non-central zone are better at keeping their fixed size.
2021-09-14 17:57:47 +02:00
ocornut
29828d0469
Docking: floating node with a central node hides properly when nothing is docked + rename.
2021-09-14 17:56:09 +02:00
ocornut
8dfb52245b
Docking: bits.
2021-09-13 20:40:30 +02:00
ocornut
5d95e7eef9
Viewports: extracted DestroyViewport() out of UpdateViewportsNewFrame() function.
2021-09-11 14:06:43 +02:00
ocornut
92a39f78b9
Fixed IsWindowFocused/IsWindowHovered with _ChildWindows for not following through popup parents (amend 6b1e094c, fix #4527 )
2021-09-11 14:06:10 +02:00
ocornut
79d39b190b
Viewports: fix window with viewport ini data immediately merged into a host viewport from leaving a temporary viewport alive for a frame (would leak into backend).
2021-09-10 15:05:17 +02:00
ocornut
6b77668171
Viewports: Fixed a crash while a window owning its viewport disappear while being dragged.
...
t would manifest when e.g. reconfiguring dock nodes while dragging.
2021-09-09 21:05:40 +02:00
ocornut
9a49c1ddbd
Viewports: fixed unnecessary creation of temporary viewports when multiple docked windows got reassigned to a new node (created mid-frame) which already has a HostWindow
2021-09-09 20:51:53 +02:00
ocornut
6b1e094cfb
Fixed _ChildWindows from leaking docking hierarchy. Added ImGuiFocusedFlags_DockHierarchy and ImGuiHoveredFlags_DockHierarchy.
2021-09-08 19:10:25 +02:00
ocornut
cfb837203c
Internals: refactored IsWindowHovered()/IsWindowFocused() to make their logic more similar + change underlying value of ImGuiHoveredFlags_AllowWhenBlockedByPopup + comment out docking only flags.
2021-09-08 16:45:24 +02:00
ocornut
40caab4748
Fixed bad merge of Changelog in docking branch
2021-09-07 18:21:47 +02:00
ocornut
fa9fc05ac6
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2021-09-07 18:20:12 +02:00
ocornut
53589092b2
Docking: warning fix for when IM_ASSERT() is empty
2021-08-31 13:49:11 +02:00
ocornut
dedb381c51
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# examples/imgui_examples.sln
# imgui.cpp
# imgui.h
2021-08-30 20:01:16 +02:00
ocornut
0eb45a0577
Docking: fix 58f5092 ( #4310 )
...
If we clear _ChildWindow flag we must remove it from here otherwise render loop will fail.
2021-08-27 21:29:27 +02:00
ocornut
58f5092c53
Docking: fixed settings load issue when mouse wheeling. ( #4310 )
2021-08-24 20:33:00 +02:00
ocornut
6bd447c885
Backends: GLFW: Fixed unused variable warning for empty assert macro. ( #4459 )
2021-08-22 18:46:49 +02:00
ocornut
47fb332fb2
Fix BeginDisabled(false), again, ( #211 , #4452 , #4453 ) Version 1.84.1
...
(forced pushed since our earlier versioning didn't sort correctly in github web)
# Conflicts:
# docs/CHANGELOG.txt
2021-08-21 00:00:27 +02:00
ocornut
2e01952b35
Fix BeginDisabled(false), ( #211 , #4452 )
2021-08-20 20:31:17 +02:00
ocornut
5a7d18a441
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2021-08-20 18:15:25 +02:00
ocornut
9c3359ef39
IO: modify io.AddFocusEvent() to tolerate in/out for multi-viewports. Amend 2f40be6. ( #3532 )
2021-08-19 17:35:27 +02:00
ocornut
0b06c4b2b0
Merge branch 'master' into docking (will need further for io.AddFocusEvent)
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_win32.cpp
# imgui.cpp
2021-08-19 17:25:12 +02:00
ocornut
80b5fb51ed
Backends: Win32, SDL, GLFW: only honor io.WantSetMousePos when focused + fix GLFW uninstalling handler + tweaks to reduce branch drift with docking. ( #787 , #2445 , #2696 , #3751 , #4377 )
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_win32.cpp
2021-08-02 16:21:13 +02:00
ocornut
f9b5168fb3
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_win32.cpp
# imgui.cpp
2021-08-02 16:00:50 +02:00
ocornut
7bfc379a23
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2021-07-19 21:58:06 +02:00
David Maas
3d5dc0d939
Added missing IMGUI_API to GetViewportPlatformMonitor. ( #4309 )
2021-07-12 18:29:37 +02:00
ocornut
a11f36811f
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_vulkan.cpp
# backends/imgui_impl_win32.cpp
# imgui.cpp
# imgui_internal.h
2021-07-09 20:16:19 +02:00
ocornut
eb6f4b1a6a
Docking: Fix crash when a dock node gets re-qualified as dockspace>floating>dockspace.. ( #3203 , #4295 )
...
Which tends to happen when incorrectly calling DockBuilderAddNode() without ImGuiDockNodeFlags_Dockspace and using it as a Dockspace on the next frame after the floating window hosting the node has been automatically created.
2021-07-07 18:22:55 +02:00
ocornut
cd4cc9ff0d
Docking: Fixed crash issues using DockBuilderRemoveNode() in some situations. ( #3111 , #3179 , #3203 , #4295 )
...
If the deleted root node isn't part of a dockspace with a central node, it won't be "protected" but removed when last window gets removed.
2021-07-07 16:39:39 +02:00
ocornut
9e8e5ac363
Docking: Added ImGuiDockNodeFlags_NoDockingOverEmpty. Breaking definition of ImGuiDockNodeFlags_NoDockingOverOther which now means "non empty node". ( #3492 , #2648 , #4292 )
2021-07-05 13:32:36 +02:00
ocornut
6136b3844b
Docking: Reworked node flags saving/inheritance... ( #4292 , #3834 , #3633 , #3521 , #3492 , #3335 , #2999 , #2648 )
...
..so that flags enforced by docked windows via the DockNodeFlagsOverrideSet mechanism are are not left in empty dockspace nodes once the windows gets undocked.
2021-07-05 13:31:34 +02:00
ocornut
0a8ab75e4b
Docking: removed DockNodeFlagsOverrideClear flags from ImGuiWindowClass. ( #2999 , #3521 , #3633 )
...
+ extraded bits of metrics into DebugNodeDockNodeFlags()
2021-07-05 12:58:33 +02:00
ocornut
36a0d1028c
Backends: Viewports: renamed viewport storage structures ImGuiViewportDataXXXX -> ImGui_ImplXXXX_ViewportData and locals (matching naming convention in 70c60385)
2021-06-29 15:46:50 +02:00
ocornut
0f7eb00f67
Backends: amends to 1db1066 + merge minor bits from docking incl SetActiveIdUsingNavAndKeys().
...
No need to clear fields before deletion. DX12: renamed to match docking branch.
2021-06-29 15:31:05 +02:00
ocornut
682447306d
Merge branch 'features/backends_context' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_opengl2.cpp
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_vulkan.cpp
# backends/imgui_impl_win32.cpp
# examples/example_apple_opengl2/main.mm
2021-06-29 14:53:25 +02:00
ocornut
ac35b4bba2
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui.h
# imgui_demo.cpp
2021-06-24 18:21:19 +02:00
ocornut
cce307a2be
Viewports: Fix popup/tooltip created without a parent window from being given a ParentViewportId value of the implicit/fallback window. ( #4236 , #2409 )
...
Amend 3ead9820
2021-06-17 16:22:14 +02:00
ocornut
afabb2f3d8
Viewport: extracted code out of Begin() into WindowSyncOwnedViewport() - no other change
2021-06-17 16:12:22 +02:00
ocornut
9b417b26d9
Metrics: Tentative fix for bad printf format.
...
Ref b53b8f58df , a7a1b3b0a7
2021-06-14 18:24:45 +02:00
Michel Lesoinne
90deb0959a
Backends, Viewports: Vulkan: Fix the use of the incorrect fence in wait for fence. ( #4208 )
...
The fence being waited upon was not the one associated with the current frame.
This results in validation error detecting a reset of command buffers still in use and resetting fences while still in use.
Read more details in #4208
2021-06-14 17:54:19 +02:00
ocornut
db0338a1f2
Nav, Drag and Drop, Docking: fixed two issues leading nav result to conflict with moving a window. ( #4211 , #3025 )
2021-06-09 19:20:13 +02:00
ocornut
4161a67b38
ImVector: added clear_delete(), clear_destruct() helpers.
...
# Conflicts:
# imgui.cpp
2021-06-09 18:44:02 +02:00
ocornut
865b2ca6f9
Added PushDisabled(), PopDisabled() currently only exposed in imgui_internal.h ( #211 )
2021-06-09 18:43:03 +02:00
ocornut
a44d4da87c
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_win32.cpp
2021-06-08 18:38:51 +02:00
ocornut
16abfa5eb6
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
# imgui_widgets.cpp
2021-06-04 17:28:45 +02:00
ocornut
f53db3541a
Docking: comments ( #4189 )
2021-06-04 14:55:40 +02:00
ocornut
5e528d9eea
Docking: Clicking on the right-most close button of a docking node closes all windows. ( #4186 )
2021-06-03 17:22:18 +02:00
ocornut
f03ab2a5c5
Docking: Fix IsWindowAppearing() unnecessarily returning true twice in a row. ( #4177 , #3982 , #1497 , #1061 ) + added a zealous assert.
2021-06-03 16:46:01 +02:00
ocornut
fa1f540e6c
Docking: Amend 91704b7, window->DockXXX booleans not properly cleared when window not docked. ( #4177 , #3982 , #1497 , #1061 )
...
Fix issue with freshly split windows/nodes incorrectly returning true to IsWindowAppearing().
2021-06-03 16:07:22 +02:00
ocornut
91704b773e
Docking: Fix IsWindowAppearing() and ImGuiCond_Appearing on docked windows. ( #4177 , #3982 , #1497 , #1061 )
2021-05-31 17:06:46 +02:00
ocornut
1ad1429c6d
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# docs/CHANGELOG.txt
2021-05-25 18:45:54 +02:00
ocornut
1b435ae3e0
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2021-05-24 17:49:20 +02:00
ocornut
105d82d134
Docking: Docking node tab bar honors ItemInnerSpacing.x before first tab. Tweak rendering and alignment of dock node menu marker. ( #4130 )
...
+ Fix ~0 in EndFrameDrawDimmedBackgrounds() which is obsolete way of signifying "all round corners".
2021-05-20 18:14:16 +02:00
ocornut
86c2b609ef
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_opengl2.cpp
# backends/imgui_impl_opengl3.cpp
# imgui.cpp
2021-05-19 19:05:01 +02:00
warriormaster12
2cdfcb8fd2
Backends: Vulkan: Fix for using IMGUI_IMPL_VULKAN_NO_PROTOTYPES ( #4151 , #3759 , #3227 )
2021-05-18 15:08:04 +02:00
ocornut
31290807dc
Merge branch 'master' into docking
...
+ fix warning fix for mingw+dx9
# Conflicts:
# backends/imgui_impl_dx9.cpp
# imgui.cpp
2021-04-30 22:52:46 +02:00
ocornut
33cdbe97b8
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2021-04-19 20:05:59 +02:00
ocornut
34d4bc620d
Merge remote-tracking branch 'origin/master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
2021-04-15 19:57:52 +02:00
ocornut
76902c482f
Changelog: added docking+entries from 1.72 to 1.82 to increase their visibility.
2021-04-14 19:31:40 +02:00
ocornut
e5efa01920
Docking: Fix window menu button. Broken by 3f16a52 ( #4043 )
...
Worked on single-frame click.
2021-04-14 14:35:11 +02:00
ocornut
3f16a524c8
Docking: move NavWindow to SelectedTabId application lower to leave a chance for in-between code to alter focus. + store per-node window menu button id to simplify usage.
2021-04-13 18:45:08 +02:00
ocornut
646c873598
Docking: Fixed reappearing docked windows with no close button showing a tab with extraneous space for one frame.
2021-04-13 16:12:14 +02:00
ocornut
e87dd0e65d
Docking: Fixed multiple simultaneously reappearing window from appearing undocked in their initial frame.
2021-04-12 19:47:37 +02:00
ocornut
539de4387b
Docking: Fixed restoring of tab order within a dockspace or a split node.
...
(tests in "docking_tab_order")
2021-04-12 16:51:05 +02:00
ocornut
65cd14502c
Fix popup positioning, broken by 84e6fe4. ( #3991 , #3982 )
2021-03-31 19:10:12 +02:00
ocornut
6ddcdbe3e8
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_widgets.cpp
2021-03-31 16:41:17 +02:00
ocornut
9251eac585
Docking: fix undocking from tab-bar by moving mouse horizontally, amend 3ed07a8 + d705192.
...
Automation system may drag e.g. right-most tab far left (and vice-versa) and one frame and our current logic would fail at it.
2021-03-30 19:01:37 +02:00
ocornut
3ed07a8f0b
Docking: removed io.ConfigDockingWithShift option. ( #2109 )
2021-03-30 15:00:16 +02:00
ocornut
0e0a783b8c
Docking: fix undocking from tab-bar by moving mouse horizontally, broken by d705192.
2021-03-30 14:52:10 +02:00
ocornut
5991851eb9
Docking: DockSpace() returns its node ID + adding branch changelog.
2021-03-26 18:40:19 +01:00
Rokas Kupstys
a4adf60576
Backends, Viewports: GLFW: Add a workaround for stuck keys after closing a GLFW window ( #3837 ).
2021-03-26 12:49:56 +01:00
ocornut
b79b1cb9c0
TabBar: Amend previous commit. Fix tab reordering when tab bar has scrolling.
...
Some tidying up with helpers + honor 16-bit offsets as with other tab bar features (unlikely single reorder can reach that but consistent)
2021-03-25 19:17:30 +01:00
Rokas Kupstys
d7051928d9
TabBar: Use mouse position instead of hardcoded +1/-1 offset when reordering tabs.
...
Fixes tab reordering in test engine when using fast mode.
# Conflicts:
# imgui_widgets.cpp
2021-03-25 19:15:36 +01:00
ocornut
b305953bd1
Viewports: Hotfix for crash in monitor array access, caused by 4b9bc4902. ( #3967 )
2021-03-25 17:13:25 +01:00
ocornut
e7577d570e
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_win32.cpp
# imgui.cpp
# imgui_internal.h
# imgui_widgets.cpp
2021-03-25 16:57:01 +01:00
ocornut
ca34c81ce9
BeginMainMenuBar(): remove expectation that we don't know menu bar height ahead, allowing up to generalize placement in any direction (will be done in master)
...
Amend 75de34e281
2021-03-25 15:21:23 +01:00
ocornut
085cff2fe5
Viewports, Backends: Vulkan: Rebuild swapchain on VK_SUBOPTIMAL_KHR. ( #3881 )
2021-03-18 18:16:49 +01:00
Rokas Kupstys
b17bfdd6f4
Docking: Add support for split_outer in DockContextCalcDropPosForDocking().
...
Misc: Add FIXME regarding behavior of some window fields.
2021-03-18 12:21:47 +01:00
ocornut
81e0b18e38
Merge branch 'master' into docking
2021-03-16 16:10:29 +01:00
ocornut
b202fa9063
Docking: undocking nodes/windows covering most of the monitor max their size down to 90% to ease further manipulations.
...
Kind of a welcome hack.
2021-03-16 16:01:12 +01:00
ocornut
2231e1a369
Docking: Dockspace() never draws a background. ( #3924 )
2021-03-16 14:30:36 +01:00
ocornut
256594575d
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2021-03-15 20:38:34 +01:00
CheckmateAt7
cfe83c4b44
Removed deprecated flag stopping compilation ( #3902 )
2021-03-12 18:02:46 +01:00
ocornut
0157502eab
ImDrawFlags: rework/revert c2d6d26 + 39432bf in a way that is closer to old version and back to opt-in but with default 0 = all corners.
2021-03-12 16:33:29 +01:00
ocornut
f1bf642e8f
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
# misc/debuggers/imgui.natvis
2021-03-11 16:32:14 +01:00
ocornut
4b9bc49020
Viewports, Internals: added GetViewportPlatformMonitor() will a safety net to keep code portable + simplified handling of disconnected monitor in Begin().
2021-03-10 17:10:07 +01:00
ocornut
d5a4d53000
Viewports, Backend: SDL: Fix missing ImGuiBackendFlags_HasSetMousePos flag in docking branch (ok in master), GLFW: Fix application of WantSetMousePos. ( #1542 , #787 )
...
Shows how little this feature is used with nav (was designed for small devices and frankly may be dropped) - but the backend support itself we will make use of for other features.
2021-03-05 17:22:22 +01:00
ocornut
705f082674
Internals: rename RootWindow->RootWindowDockTree, RootWindowDockStop->RootWindow.
...
Why? So by default RootWindow matches user expectation on both branches, and RootWindowDockTree is more intentful.
(Actually should reduce diff between master<>docking)
2021-03-05 16:24:29 +01:00
ocornut
80533ea5e1
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_widgets.cpp
2021-03-05 16:04:15 +01:00
ocornut
6aee4bcdc5
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_win32.cpp
# docs/CHANGELOG.txt
# imgui.cpp
2021-03-02 18:27:07 +01:00
ocornut
b794ecc079
Internals: Docking: some renaming.
2021-03-02 12:12:38 +01:00
David Maas
732cd837a9
Added missing IMGUI_API to internal docking-related structs. ( #3850 )
2021-02-27 21:15:38 +01:00
Rokas Kupstys
839ecce571
Internals: Add a way to request window to not process any interactions for specified number of frames.
2021-02-25 15:12:53 +01:00
ocornut
3ec14186cb
Viewports: Fix setting of ImGuiViewportFlags_NoRendererClear. ( #3213 )
2021-02-18 14:11:14 +01:00
ocornut
a4e4f57cb0
Examples: DX9-DX11: Removed half-assed DPI awareness enable. Updated Docking/Viewports part of Changelog (e.g. removed bits that are now already in master, clarified some added bits)
2021-02-18 12:55:10 +01:00
ocornut
ffa863a3ba
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_win32.cpp
# docs/CHANGELOG.txt
# examples/example_glfw_vulkan/main.cpp
# examples/example_sdl_vulkan/main.cpp
# imgui.cpp
2021-02-18 11:41:27 +01:00
ocornut
3d75f438bc
Docking: Made close button enable logic consistent on dockspace. When no docked window have a close button or it is disabled on the node, the space is given to tabs.
...
Clarified close_button_is_visible vs close_button_is_enabled behavior in DockNodeUpdateTabBar().. (#3633 , #3521 )
Reduced alpha of disabled close button a little bit further.
Removed 'EnableCloseButton' which was actually unused (can't be infered early, need ->VisibleWindow anyway, which is not == ->ActiveWindow)
2021-02-12 21:17:31 +01:00
Adam Kewley
7180e9ac66
Remove redundant GetMainViewport decl in imgui.h ( #3801 , #3800 )
2021-02-11 10:03:14 +01:00
ocornut
239d09804d
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2021-02-10 21:28:16 +01:00
ocornut
04f7ea818d
Viewports: Setting the new (currently dummy) flags on viewports. ( #3789 , #1542 , #3680 , #3350 , #3012 , #2471 )
...
Amend the merging of f14042ca78 (merge ee59d7a266 )
2021-02-10 16:42:22 +01:00
ocornut
ee59d7a266
Merge branch 'features/viewport_in_master' into docking (WIP need adding code for new ImGuiViewportFlags values)
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_demo.cpp
# imgui_internal.h
# imgui_widgets.cpp
2021-02-10 16:34:17 +01:00
ocornut
3607c42bec
Viewports: Fix issue inferring viewport z-order when new popups gets created. ( #3734 ) + Metrics updates.
...
Revert 6bc52667
Showing inferred order and missing flags in metrics.
2021-02-10 14:31:23 +01:00
ocornut
2a5eaf239f
Misc tweaks - mostly toward minimizing diff in upcoming backport merge of a few viewport structures in master
2021-02-10 14:28:04 +01:00
ocornut
6f5f80a544
Fix for compiling imgui_internal.h without operators + made GetWorkRect() consistent with clamped WorkSize.
2021-02-09 14:08:48 +01:00
ocornut
7a516a266d
Merge remote-tracking branch 'origin/master' into docking
...
# Conflicts:
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx9.cpp
# imgui.cpp
# imgui.h
2021-02-09 13:17:24 +01:00
ocornut
73ccb7e4b8
Viewports: (Breaking) turned GetWorkPos(), GetWorkSize() into straight fields -> WorkPos, WorkSize before exposing in master branch.
2021-02-09 13:15:01 +01:00
ocornut
1a3af8cb4c
Viewports: trying to treat GetMainViewport() as const. Reducing unnecessary casts of ImGuiViewportP*
...
Metrics: readded root Drawlists node in metrics to match master.
The (void*) casts are implying const-casst but currently left GetMainViewport() as returning non-const.
2021-02-09 13:15:01 +01:00
ocornut
862bfc53d3
Viewports: Moved in own section of imgui.h ahead of merging a small part of viewport interface to master.
2021-02-09 11:47:55 +01:00
ocornut
fa55b0cb60
Viewports: (breaking) removed ImGuiPlatformIO::MainViewport which is now pretty much unused and duplicate (and misleading as we will evolve the concept)
...
Use GetMainViewport() if stuck.
2021-02-05 16:14:47 +01:00
ocornut
22d9a61b33
Docking: fix gap in hit test hold when using ImGuiDockNodeFlags_PassthruCentralNode touching the edge of a viewport. ( #3733 )
2021-02-02 15:16:46 +01:00
GamingMinds-DanielC
84e8802891
Docking: on node split, update memorized DockId for currently closed windows ( #3716 )
...
Amended by @ocornut with same fix in DockBuilderRemoveNodeChildNodes().
2021-02-01 17:56:20 +01:00
ocornut
577e7cb493
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_win32.cpp
# docs/CHANGELOG.txt
# imgui.cpp
2021-01-28 21:02:13 +01:00
ocornut
cff8162454
Viewports, Backends: Vulkan: handle VK_ERROR_OUT_OF_DATE_KHR when resizing secondary viewport ( #3766 , #3758 )
...
Cannot repro here but appears to a user on Linux. Fix may be not super solid.
2021-01-28 16:03:59 +01:00
Sammy Fatnassi
376c88a864
Fixed some compile warnings with Clang on Windows ( #3754 )
2021-01-26 14:10:10 +01:00
ocornut
bb26751b94
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2021-01-21 20:38:42 +01:00
ocornut
ebbb98d519
Docking: docked window honor tab and text colors by storing them. ( #2771 )
...
Later to lead into #2700 and #2539
Move tab submission block above in DockNodeUpdateTabBar(), not strictly necessary for this change as is, but useful if needing to apply override for TitleBg* as we'd need a value for node->VisibleWindow earlier than currently set.
2021-01-18 18:32:46 +01:00
ocornut
9e4956d86b
Docking: added comments. added experimental TabItemFlagsOverrideSet to ImGuiWindowClass.
...
(Could probably do something similar with TabBarFlagsOverrideSet+Clear for #2700 later.)
2021-01-18 18:32:46 +01:00
ocornut
388ca563db
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx12.cpp
2021-01-15 19:20:42 +01:00
ocornut
70703da782
Merge branch 'master' into docking
2021-01-08 18:55:16 +01:00
ocornut
b11518d7d7
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl2.cpp
# backends/imgui_impl_opengl3.cpp
# imgui.cpp
2021-01-05 16:46:38 +01:00
ocornut
7b53551032
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
2020-12-22 17:17:49 +01:00
ocornut
06e87014f2
Merge branch 'master' into docking
...
# Conflicts:
# imgui.h
# imgui_internal.h
2020-12-11 23:10:06 +01:00
ocornut
dd4ca70b0d
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_win32.cpp
# imgui.cpp
# imgui_demo.cpp
2020-12-04 19:22:15 +01:00
ocornut
657589ab47
Backends: Vulkan+Viewports: fixed build, removed extraneous pipeline creation ( 770c9953, e8447dea, 6a0e85c5) ( #3459 , #3579 )
2020-12-04 11:29:53 +01:00
ocornut
c1ffac2fee
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2020-12-03 20:05:49 +01:00
ocornut
4da92b89ed
Viewports: fix incorrect whitening of popups above a modal if both use their own viewport + fix pvs warning.
2020-11-19 18:31:13 +01:00
ocornut
3dcbcd8bf0
Internals: added IsWindowAbove() for use for modal/viewport bugfix.
2020-11-19 18:31:10 +01:00
ocornut
cecf6b4209
Viewports: made standalone modals appear in taskbar + new window perform z-check before merging in main host viewport. ( #3511 , #1542 )
...
This should fix a good amount of "lost modal" problems, however it is still possible to loose a modal in a host viewport if secondary viewports are configured as children above the host.
2020-11-19 16:07:07 +01:00
ocornut
b2a91dc390
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2020-11-13 22:04:28 +01:00
ocornut
ac08593b96
Merge branch 'master' into docking + tweak dock node padding + use CheckboxFlags with int
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
# imgui_internal.h
2020-11-05 21:36:22 +01:00
ocornut
e3ac52630a
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# imgui.cpp
2020-10-31 00:47:57 +01:00
ocornut
455c21df71
Merge branch 'master' into docking + dockspace demo comments
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# docs/CHANGELOG.txt
# imgui_internal.h
# imgui_widgets.cpp
2020-10-19 15:08:32 +02:00
ocornut
d3a80d9f1b
Internals: Docking: More fixes to make DockNodeBeginAmendTabBar() viable (probably some issues left)
2020-10-15 15:02:05 +02:00
ocornut
b26f1530b7
Internals: Docking, Tab Bar: Add DockNodeBeginAmendTabBar() and work toward making hybrid dock node with windows tab bars somehow work (not done).
2020-10-15 12:18:20 +02:00
ocornut
bae2240eda
Tab Bar: Made it possible to append to an existing tab bar by calling BeginTabBar()/EndTabBar() again.
...
# Conflicts:
# imgui_widgets.cpp
2020-10-14 18:36:03 +02:00
ocornut
042a3b01d2
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx10.h
# backends/imgui_impl_vulkan.h
# backends/imgui_impl_win32.cpp
# docs/CHANGELOG.txt
# examples/README.txt
# examples/example_glfw_opengl2/main.cpp
# examples/example_glfw_opengl3/main.cpp
# examples/example_glfw_vulkan/main.cpp
# examples/example_sdl_directx11/main.cpp
# examples/example_sdl_opengl2/main.cpp
# examples/example_sdl_opengl3/main.cpp
# examples/example_sdl_vulkan/main.cpp
# examples/example_win32_directx10/main.cpp
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx12/main.cpp
# examples/example_win32_directx9/main.cpp
# imgui.cpp
# imgui.h
# imgui_demo.cpp
# imgui_internal.h
2020-10-14 14:44:03 +02:00
ocornut
682249396f
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2020-10-08 16:05:55 +02:00
ocornut
958e58b06b
Merge branch 'master' into docking
...
# Conflicts:
# examples/example_apple_opengl2/main.mm
# imgui.cpp
2020-10-01 13:33:08 +02:00
ocornut
c49330fc52
Docking: Fix handling of WindowMenuButtonPosition == ImGuiDir_None in Docking Nodes. ( #3499 )
2020-09-30 14:11:22 +02:00
ocornut
fa004ae79a
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_examples.sln
# examples/imgui_impl_dx12.cpp
# examples/imgui_impl_dx12.h
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui_demo.cpp
# imgui_internal.h
# imgui_widgets.cpp
2020-09-22 17:00:57 +02:00
Sven Balzer
42575d4a99
Viewports, Backends: Win32: Fix toggling of ImGuiViewportFlags_TopMost ( #3477 )
2020-09-17 09:47:04 +02:00
ocornut
6bc526676c
Viewports: Comments, removed unnecessary use of ViewportFrontMostStampCount (the LastFrontMostStampCount is enough)
2020-09-16 12:29:46 +02:00
omar
e230ec5a01
Viewports, Backends: DX12: Make secondary viewport format match main viewport one ( #3462 ) {@BeastLe9enD]
2020-09-16 11:05:02 +02:00
omar
770c995365
Backends: Vulkan: Removed unused shader code. Fix leaks. Avoid unnecessary pipeline creation for main viewport. Amend 41e2aa2. ( #3459 ) + Add ImGui_ImplVulkanH_CreateWindowSwapChain in ImGui_ImplVulkanH_CreateOrResizeWindow().
2020-09-08 22:44:24 +02:00
omar
78f753ffff
Merge branch 'master' into docking + incl add wd->Pipeline in ImGui_ImplVulkan_RenderDrawData platform code ( #3455 , #3459 )
2020-09-08 17:02:58 +02:00
Doug Binks
aa8e09d7f1
Backends: GLFW: workaround for cases where glfwGetMonitorWorkarea fails ( #3457 )
2020-09-07 10:49:34 +02:00
ocornut
36c331ff74
Merge branch 'master' into docking
...
# Conflicts:
# examples/example_glfw_vulkan/main.cpp
# examples/example_sdl_vulkan/main.cpp
# imgui.cpp
# imgui_internal.h
2020-09-02 12:47:07 +02:00
ocornut
8dacb4da20
Docking: Fixed DockNode tab bar initial order broken by 8c80d533d
2020-09-02 12:11:45 +02:00
ocornut
fc625d249f
Internals: Begin: update ->Hidden flags only on first begin of the frame. (ignore whitespace to see simple diff)
...
# Conflicts:
# imgui.cpp
2020-09-01 15:28:06 +02:00
ocornut
34077c0140
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2020-09-01 12:07:35 +02:00
ocornut
600b8f60b4
Docking: Fixed crash in metrics.
2020-08-28 20:20:28 +02:00
ocornut
e9053515bb
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/example_glfw_vulkan/main.cpp
# examples/example_sdl_vulkan/main.cpp
2020-08-25 19:29:06 +02:00
ocornut
30f0900b1c
Docking: Fix honoring payload filter with overlapping nodes. (we incorrectly over-relied on g.HoveredDockNode when making change for #3398 )
...
Essentially undo part of 85a661d (#3398 ) + ref cf31254 (#3420 )
2020-08-25 19:17:46 +02:00
ocornut
831e2c920e
Docking, Viewport: Fixed a rare edge-case if the window targetted by CTRL+Tab stops being rendered.
2020-08-21 18:44:56 +02:00
ocornut
cf312545e8
Docking: Fixed docking while hovering a child window. ( #3420 ) broken by 85a661d27. Improve metrics debugging.
2020-08-21 16:34:34 +02:00
ocornut
d6f3a8848d
Viewports: Backends: DirectX9: Allow D3DERR_DEVICELOST on secondary viewports. ( #3424 )
2020-08-21 15:02:52 +02:00
ocornut
9d20a5f0a5
Docking: DockSpace() emits ItemSize() properly + dockspace demo (works now since 05a25e5f3)
2020-08-20 22:54:33 +02:00
ocornut
ad8fdc917f
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2020-08-20 22:42:14 +02:00
ocornut
05bc204dbd
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.h
2020-08-18 17:51:43 +02:00
omar
b36d1d465d
Docking: Untangle a little bit of the ActiveIdClickOffset mess.
2020-08-18 12:40:43 +02:00
ocornut
25a9209b75
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_internal.h
# imgui_widgets.cpp
2020-08-17 23:29:17 +02:00
omar
a9626e1162
Docking: Made DockBuilderAddNode() automatically call DockBuilderRemoveNode(). ( #3399 , #2109 )
2020-08-11 11:52:13 +02:00
omar
a5ba26806f
Make moving window prevent its active id from being stolen ( #3392 , #3243 , #1738 )
...
Amend 7b3d379 , 615e9ae3
2020-08-10 16:28:46 +02:00
omar
dbc70f21a9
Docking: Fixed docking overlay bits appearing at (0,0), because of 43bd80a4. Most typically noticable when disabling multi-viewport.
2020-08-10 15:54:41 +02:00
omar
85a661d276
Docking: Storing HoveredDockNode in context which can be useful for easily detecting e.g. hovering an empty node. ( #3398 )
2020-08-10 12:55:37 +02:00
omar
acf043a675
Docking: Moved code unjustly in DockNodeTreeFindNodeByPos() out of it and into caller (should have no side-effect ideally). Removed dupe in Begin() from earlier merge.
2020-08-10 12:52:23 +02:00
omar
2c13a74a9d
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/example_glfw_vulkan/main.cpp
# examples/example_sdl_vulkan/main.cpp
# imgui.cpp
2020-08-10 11:35:51 +02:00
omar
de1588928b
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2020-08-03 19:54:31 +02:00
omar
70fa37527d
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
# imgui_draw.cpp
# imgui_internal.h
2020-07-29 15:15:14 +02:00
Rokas Kupstys
3d4af15d1d
Backends GLFW: Use GLFW_MOUSE_PASSTHROUGH when available.
2020-07-17 18:44:09 +02:00
omar
cba52b66af
Backends: GLFW: Fixed enabling ImGuiBackendFlags_HasMouseHoveredViewport broken by 950539b7.
...
As it turns out, back-end passing NULL hovered with HasMouseHoveredViewport is also broken which defeats some of its purpose.
2020-07-17 18:14:04 +02:00
omar
f79f0e42f7
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_opengl3.cpp
# imgui.h
2020-07-14 18:38:47 +02:00
omar
cbade7b16d
Docking: Workaround recovery for node created without the _ockSpace flags later becoming DockSpace. ( #3340 )
2020-07-10 19:17:49 +02:00
omar
b626dd57d3
Backends: DX12, Viewports: Tidying up, renaming.
2020-07-10 12:20:03 +02:00
omar
cb1d578470
Backends: DX12, Viewports: Fixed issue on shutdown when viewports are disabled. ( #3347 )
2020-07-10 12:09:24 +02:00
omar
4f5aac319e
Docking: moved local-ish IMGUI_DOCK_SPLITTER_SIZE to DOCKING_SPLITTER_SIZE at the top of the file.
2020-07-03 15:51:05 +02:00
omar
fc9d6b6cb5
Docking: Added experimental flags to perform more docking filtering and disable resize per axis. Designed for toolbar patterns.
...
The local/shared flags specs, saving and inheriting rules are pretty inconsistent at the moment.
2020-06-30 19:55:59 +02:00
omar
4bdbea8375
Docking: Rework size allocation to allow user code to override node sizes. Not all edge cases will be properly handled but this is a step toward toolbar emitting size constraints.
2020-06-30 18:53:13 +02:00
omar
2b9d88196e
Docking: Rework size allocations to recover when there's no enough room for nodes + do not hold on WantLockSizeOnce forever ( #3328 )
...
(Ensure if the fact that WantLockSizeOnce was kept when only 1 child is visible was desired/desirable)
2020-06-30 18:52:02 +02:00
omar
90ea7e2f2f
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
# imgui_internal.h
2020-06-30 16:43:16 +02:00
omar
ddabfc3477
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2020-06-29 17:15:40 +02:00
omar
f4f04cb5ec
Windows: Amend 6b0cf2e6 to facilitate working in viewport branch + handle safe area padding and ConfigWindowsMoveFromTitleBarOnly.
...
# Conflicts:
# imgui.cpp
2020-06-25 23:14:46 +02:00
Rokas Kupstys
d7ef56dca2
Windows: Fix unintended window size changes when resizing windows close to main viewport edges.
2020-06-25 22:58:39 +02:00
omar
5628416bd3
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
2020-06-25 14:03:40 +02:00
omar
7538bbabb6
Demo: Commented out ideas on another way to center a window.
2020-06-23 19:01:40 +02:00
omar
e1d7e14717
Viewports: used main viewport for centering (wip), clarified the meaning of how ImGuiPlatformMonitor WorkPos/WorkSize should be set if unknown, added asserts.
2020-06-23 18:42:01 +02:00
omar
a616ff5d4a
BeginPopupModal() doesn't set the ImGuiWindowFlags_NoSavedSettings flag anymore, and will not always be auto-centered. ( #915 , #3091 )
...
# Conflicts:
# imgui.cpp
2020-06-23 17:54:55 +02:00
omar
76e40fe5d1
Docking: Fix misuse of PushClipRect in UpdateWindowManualResize(). ( #3311 )
2020-06-20 22:09:58 +02:00
omar
20d61f5f62
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2020-06-20 22:06:01 +02:00
ocornut
2665288b30
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2020-06-11 11:36:38 +02:00
ocornut
8baa4ccff5
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2020-06-06 20:31:24 +02:00
ocornut
5d472c4895
Merge branch 'master' into docking + fixes for #3259
...
# Conflicts:
# examples/example_glfw_vulkan/main.cpp
# examples/example_sdl_vulkan/main.cpp
# examples/imgui_impl_sdl.cpp
# imgui.cpp
2020-05-25 18:32:15 +02:00
ocornut
0fe5170bc4
Viewports: Report minimized viewports as zero DisplaySize to be consistent with main branch + comments ( #1542 )
2020-05-25 16:28:55 +02:00
ocornut
615e9ae345
Docking: Fix undocking ( #3243 ), amend 7b3d3798 ( #1738 )
2020-05-18 15:08:47 +02:00
omar
3b3af6b731
Docking: Fix extraneous function declaration ( #3236 ) + moved some other declarations in imgui_internal to facilitate moving docking code.
2020-05-16 16:11:42 +02:00
omar
e4d8267188
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
2020-05-16 14:14:51 +02:00
omar
1cd32d3afe
Docking: moving small docking context to imgui_internal.h, removed unnecessary indirection, renaming.
2020-05-14 00:19:56 +02:00
Chris Savoie
03ea87ea28
Backends, Win32: Request monitor update when dpi awarness is enabled to make sure they have the correct dpi settings.
2020-05-11 19:31:35 +02:00
Chris Savoie
c46b79846c
Metrics: Fix metrics crash with viewports.
2020-05-11 17:54:07 +02:00
omar
6636cb9f2f
Viewports: Don't set ImGuiViewportFlags_NoRendererClear when ImGuiWindowFlags_NoBackground is set. ( #3213 )
2020-05-11 17:29:50 +02:00
Ivan Zinkevich
1e7672acf4
Backends: DX12: Fixed OBJECT_DELETED_WHILE_STILL_IN_USE on viewport resizing. ( #3210 )
...
Tested with detaching/attaching a viewport and resizing it. DX12 debug
layer is clean.
2020-05-08 17:26:46 +02:00
omar
8596f2b0fc
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2020-05-08 17:07:40 +02:00
omar
538d28e29e
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2020-05-08 00:00:03 +02:00
omar
574ff0a280
Docking, Settings: Allow reload of settings data at runtime. ( #2573 )
2020-05-07 23:28:29 +02:00
omar
51e568f9dc
Docking: Fix to allow basic reload of non-docking .ini data (following d33021d8) + moved settings blocks
2020-05-07 23:26:59 +02:00
omar
582f4db59b
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
# imgui_internal.h
2020-05-07 22:13:47 +02:00
omar
5116eee108
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
2020-05-04 15:05:07 +02:00
omar
7ddc1adefb
Internals: FIxed commented out IMGUI_DEBUG_LOG_xxx macros, added extra. Revert incorrect 103c5edaa.
2020-04-22 16:41:18 +02:00
ocornut
266dff9bed
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui_internal.h
2020-04-20 11:33:56 +02:00
Rokas Kupstys
7f8b076f2b
Viewports, Backends: GLFW: Fix windows resizing incorrectly due to GLFW firing window positioning callbacks on next frame after window is resized manually. ( #2117 )
...
+ Docking fixed PVS warning
2020-04-18 11:27:34 +02:00
Patryk Czachurski
36ac557df0
Docking: Fix unused variable warning. ( #3135 )
2020-04-18 11:09:44 +02:00
SergeyN
013013737f
Viewports, Backends: DX12: Fix for crash caused by early resource release. ( #3121 )
2020-04-13 15:26:03 +02:00
omar
b8e2b2bd6b
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
2020-04-12 20:24:18 +02:00
omar
71eb4034eb
Viewports: Fixed viewport merge code not testing the Minimized flag correctly. ( #3118 )
2020-04-12 17:48:24 +02:00
Rokas Kupstys
c142540705
Viewports, Backends: GLFW: Avoid using window positioning workaround for glfw versions that have it fixed. Amend 09780b8.
2020-04-07 14:15:46 +02:00
omar
3930472f34
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2020-04-06 18:16:13 +02:00
omar
6d03f93067
Docking: Fixed assert preventing dockspace from being stored into a tab. ( #3101 )
2020-04-06 15:03:01 +02:00
omar
0e884304ee
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
# imgui.h
2020-04-02 14:27:48 +02:00
omar
9085c2cae2
Docking: Fixed unused definition leftover from a hasty merge.
2020-03-24 18:51:04 +01:00
Rokas Kupstys
e8568f3ec9
Menus: Fix appending to main menubar ( #3068 ).
2020-03-24 18:20:06 +01:00
omar
16a9488c13
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_draw.cpp
2020-03-19 12:44:53 +01:00
ocornut
ea0399414c
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2020-03-11 22:30:34 +01:00
ocornut
1abb02fb67
Viewports: Fix for UWP on IME code moved back-end side ( #2895 , #2892 ) + Docking: Comments.
2020-03-11 22:28:31 +01:00
ocornut
fbaf65b8f6
Revert "Viewports: Renamed UpdatePlatformWindows > PlatformWindowsUpdate, RenderPlatformWindowsDefault -> PlatformWindowsRender, DestroyPlatformWindows > PlatformWindowsDestroy ( #1542 )"
...
This reverts commit f2c7f3b200 .
2020-03-06 17:53:09 +01:00
ocornut
f2c7f3b200
Viewports: Renamed UpdatePlatformWindows > PlatformWindowsUpdate, RenderPlatformWindowsDefault -> PlatformWindowsRender, DestroyPlatformWindows > PlatformWindowsDestroy ( #1542 )
2020-03-06 17:28:32 +01:00
ocornut
1b579a110d
Viewports: Lots of comments about setting up multi-viewports. ( #1542 )
2020-03-06 17:25:25 +01:00
Rokas Kupstys
7e00cde8a9
Disable false-positive warning that papeared in pvs-studio v7.06.37052.34.
2020-03-05 15:26:20 +01:00
ocornut
1ecc1db226
Fix GCC warning
2020-03-05 12:35:01 +01:00
ocornut
a7ace918fe
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_win32.cpp
# imgui.cpp
2020-03-05 11:48:57 +01:00
ocornut
91ac93f9a6
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2020-03-03 17:06:38 +01:00
ocornut
05c3e0b898
Merge commit 'caca55c642d16cf1c2649831c5d06b1f26146d12' into docking
...
# Conflicts:
# examples/imgui_impl_sdl.cpp
# imgui.cpp
2020-03-03 17:03:47 +01:00
omar
103c5edaaa
Internals: debug log macros.
2020-02-27 16:10:36 +01:00
ocornut
75de34e281
Viewports, Docking: Added per-viewport work area system for e.g. menu-bars. Fixed DocksapceOverViewport() and demo code (overlay etc) ( #3035 , #2889 , #2474 , #1542 , #2109 )
...
Clarified that BeginMenuMainBar() had an incorrect knowledge of its height (which was previously harmless).
Designed to easily allow for status bars although we don't have/use them yet, but custom code could use them.
2020-02-26 23:58:45 +01:00
ocornut
f032ad6b1f
Viewports: Renamed GetRect() to GetMainRect() in prevision for work rect. Comments
2020-02-26 21:02:25 +01:00
ocornut
871727dd2f
Viewports: Software mouse cursor is also scaled by current DpiScale. (amend #939 )
2020-02-25 15:51:57 +01:00
Rokas Kupstys
3ff13edad9
Viewports: Improve menu positioning in multi-monitor setups.
...
This change uses mouse position for initial positioning of popup menus. It ensures that menu appears in expected location on monitor mouse is currently hovering. This change fixes incorrect menu positioning (permanent or on the first frame) when menu item spans multiple monitors.
2020-02-25 15:05:58 +01:00
ocornut
7d80a8f4f5
Backends: Fix ImGui_ImplSDL2_InitForMetal() in docking branch.
2020-02-20 12:21:11 +01:00
ocornut
3c80d57dc7
Viewports, Window: Avoid manually clipping resize grips and borders, which messes up with automation ability to locate the items. Also simpler and more standard.
...
Amend d8f9f6ba2a and 377f730054 .
2020-02-19 23:43:04 +01:00
Omar
bb1e6f8af6
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx9/main.cpp
# examples/imgui_impl_win32.cpp
# examples/imgui_impl_win32.h
# imgui.cpp
2020-02-17 18:33:59 +01:00
omar
8432d1bfc7
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2020-02-10 14:03:12 +01:00
omar
7e2d172ae5
Backends: GLFW, SDL: Platform monitors declared properly even if multi-viewport is not enabled.
2020-02-09 17:31:18 +01:00
omar
3bde375078
Nav, Docking: Fixed failing to restore NavId when refocusing due to missing nav window.
2020-02-02 22:40:56 +01:00
omar
365b639981
Nav, Docking: Fixed failing to restore NavId when refocusing a child within a docked window.
2020-02-02 22:17:44 +01:00
omar
d4fc525614
Nav, Focus: Fixed messed up Ctrl+Tab order with Docked windows.
...
Amend d9bca0d853 , fc41839cab , fc42528f13 for docking.
2020-02-02 21:24:53 +01:00
omar
5be649e082
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2020-02-02 21:21:54 +01:00
omar
4b4be11fd2
Docking: Clarifying that DockNode!=NULL when DockIsActive. Comments. Cleanup.
2020-01-31 14:57:47 +01:00
omar
e7bfcb970e
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_demo.cpp
# imgui_internal.h
2020-01-30 15:21:16 +01:00
Rokas Kupstys
7794b104c5
Backends: SDL/Viewports: Fix crash when SDL backend is used with DirectX graphics API and system does not support Vulkan.
...
We must pass this flag only when we intend to render using vulkan backend.
2020-01-29 14:03:04 +01:00
omar
3b828e6f96
Fix following bbe946f (ImRect <> ImVec4)
2020-01-28 20:29:07 +01:00
omar
bbe946fb6c
Minor fixes/tweaks (some to reduce drift wiih master branch)
2020-01-28 20:08:04 +01:00
omar
377f730054
Fix resizing viewport-owning windows when mouse pos is outside the InnerClipRect (can happen with OS decoration on). ( #1542 )
2020-01-27 17:57:07 +01:00
omar
f5528001f6
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_opengl2.cpp
# imgui.cpp
# imgui_internal.h
2020-01-27 14:57:00 +01:00
omar
f68075b333
Docking: Added DockNodeFlagsOverrideSet/DockNodeFlagsOverrideClear (experimental)
2020-01-24 14:20:52 +01:00
omar
f1b5c742ff
Viewports: Add various comments
2020-01-20 19:59:55 +01:00
omar
7e068da2bd
Docking: Internals: Renamed members from XxxxID to XxxxxId to be more consistent with rest of the codebase (still some inconsistency left that are harder to fix)
2020-01-20 19:29:25 +01:00
omar
44174b1fa1
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_win32.cpp
# examples/imgui_impl_win32.h
# imgui.cpp
# imgui_internal.h
2020-01-14 20:01:27 +01:00
omar
861f786d81
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
2020-01-10 14:38:09 +01:00
Rokas Kupstys
f6951bb67d
Viewports: SDL2: Honor NoTaskBarIcon flag under non Win32 OS. ( #2117 )
2020-01-07 21:13:24 +01:00
omar
3b1b5266e5
Docking: Fixed a bug where the tab bar of a hidden dockspace would keep requesting focus. ( #2960 )
2020-01-02 22:50:56 +01:00
omar
c163b856d7
Docking: Fix for IMGUI_DEBUG_INI_SETTINGS=1, comments
2020-01-02 22:35:29 +01:00
omar
07eb7adbb4
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2019-12-20 16:36:41 +01:00
omar
4c108d22f0
Minor bits, placeholder aimed at facilitating merging of Tables branch into Docking
...
# Conflicts:
# imgui.cpp
2019-12-19 17:01:22 +01:00
omar
c706ff6f3a
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_sdl.cpp
# imgui.cpp
2019-12-18 20:49:41 +01:00
omar
992736dc5d
Merge branch 'refs/heads/master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_sdl.cpp
# examples/imgui_impl_win32.cpp
# imgui.cpp
# imgui_internal.h
# imgui_widgets.cpp
2019-12-13 17:06:27 +01:00
omar
927580d4a8
Docking: Cleanup, rename DockNodePreviewDockCalc() -> DockNodePreviewDockSetup()
2019-12-04 23:06:36 +01:00
omar
a1e4af62d3
Docking: Fix bug added in 71a58261 + Misc docking omments
2019-11-28 20:52:46 +01:00
omar
28dd8d7efd
Docking: Fixed various conflicts not properly resolved on 813e0c1
...
New git client confusion.
2019-11-27 19:27:44 +01:00
omar
4dff49b2f1
Docking, Viewports: Moving code.
...
Moved NewFrame() sanity checks in NewFrameSanityChecks().
Moved some of DockNodeUpdate() into DockNodeUpdateForRootNode().
2019-11-27 19:13:15 +01:00
omar
71a58261f6
Docking: Internals: Removed redundancy in code path leading to the BeginAsDockableDragDropSource(), clarified UpdateMouseMovingWindowEndFrame()
...
Note that the ConfigWindowsMoveFromTitleBarOnly path for UpdateMouseMovingWindowEndFrame() would previously test the window->RootWindow title bar instead of window->RootWindowDockStop. This didn't have any side effect afaik because we wouldn't enter that function anyway as clicking on any tab bar would trigger the move before UpdateMouseMovingWindowEndFrame() does it. However for consistency made the UpdateMouseMovingWindowEndFrame()code more correct.
+ minor renaming
2019-11-27 18:57:01 +01:00
omar
8d1b82d596
Docking: Internals: Rename StartMouseDragFromTitleBar() -> StartMouseMovingWindowOrNode(), clarify.
2019-11-27 15:51:15 +01:00
omar
3096e7a9cd
Viewports: Preserve last known size for minimized main viewport to be consistent with secondary viewports.
...
Amend 606175b9 , d8ab2c1a .
However becomes inconsistent with viewport-enabled setup. Should report some of that logic in master, need back-end rework.
2019-11-26 21:02:28 +01:00
omar
1c3a9c8e74
Docking: Remove Size > 0.0f asserts added in 718e15c7 and 7c183dc6. ( #2690 , #2109 , #2906 )
...
In #2906 the zero input came from a minimized viewport, but even without it we cannot prevent DockNode size from eventually reaching zero as padding are taken from the starting size.
In a separate commit we'll however shortcut some of the existing codepath on zero-sized viewport to reduce the likehood of lossy side-effects (just like we don't call ClampWindowRect in Begin)
2019-11-26 20:25:54 +01:00
omar
813e0c18e6
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx10.h
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx11.h
# examples/imgui_impl_dx12.cpp
# examples/imgui_impl_dx12.h
# examples/imgui_impl_dx9.cpp
# examples/imgui_impl_dx9.h
# examples/imgui_impl_metal.h
# examples/imgui_impl_metal.mm
# examples/imgui_impl_opengl3.cpp
# examples/imgui_impl_opengl3.h
# examples/imgui_impl_vulkan.cpp
# imgui.cpp
# imgui.h
# imgui_internal.h
2019-11-26 12:23:43 +01:00
omar
3a82994429
Docking: Can undock from the small triangle button. (#2109,. #2645 )
2019-11-22 23:12:16 +01:00
omar
106184bbea
Docking: Fixed node->HasCloseButton not honoring ImGuiDockNodeFlags_NoCloseButton in a floating node, leading to empty space at the right of tab-bars with those flags. ( #2109 )
2019-11-22 23:11:21 +01:00
omar
3895363432
Merge branch 'master' into docking inc alter GetWindowResizeID
...
# Conflicts:
# imgui.cpp
2019-11-18 13:58:50 +01:00
omar
a1e43c682a
Merge branch 'master' into docking (with fixes)
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-11-15 15:32:36 +01:00
omar
c3fd4ae473
Docking: comments
2019-11-12 11:06:02 +01:00
omar
69b5c2f541
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-11-08 15:45:12 +01:00
omar
a704614b3e
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
# imgui_widgets.cpp
2019-11-04 16:33:57 +01:00
omar
6024051a2f
Viewport: Fixed 32380a0 ( #2876 )
2019-10-29 21:18:01 +01:00
omar
b3e94f5de8
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
# imgui_widgets.cpp
2019-10-29 17:21:19 +01:00
omar
32380a0112
Viewport: Store current dpi scale in context.
2019-10-29 16:43:11 +01:00
omar
664fb38e39
Docking: child windows don't use style.ChildRounding.
2019-10-25 11:13:51 +02:00
omar
0cbb96895a
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_dx12.cpp
# imgui.cpp
# imgui.h
# imgui_widgets.cpp
2019-10-24 15:11:37 +02:00
omar
7b77cb3bb8
Backend: DX12: Fixed incorrect assert ( #2851 )
2019-10-21 13:38:33 +02:00
omar
6faad0c34f
Backend: DX12: Amend 899e485. Fix memory leaks. Remove unused variable. ( #2851 )
...
(cherry picked from commit 39e2db6d94c295e7468c6a5fb39d247c641fb123)
2019-10-18 18:21:44 +02:00
Ilya.Sevrikov
05c1f2795a
Add multi-viewports for DX12. ( #2851 )
...
(cherry picked from commit 899e48565d1ecefde06063f99c75e702adcef175)
2019-10-18 18:21:35 +02:00
omar
7feccf9ab2
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx10.h
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx11.h
# examples/imgui_impl_dx9.cpp
# examples/imgui_impl_dx9.h
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_opengl2.cpp
# examples/imgui_impl_opengl2.h
# examples/imgui_impl_opengl3.cpp
# examples/imgui_impl_opengl3.h
# imgui.cpp
2019-10-18 16:50:30 +02:00
omar
bf4880f6a2
Merge branch 'master' into docking
2019-10-07 19:14:37 +02:00
omar
e0c0e53edf
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2019-10-04 19:22:42 +02:00
omar
6994bf10bc
Merge branch 'master' into docking + fix for RenderMouseCursor()
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui_draw.cpp
# imgui_internal.h
2019-09-24 17:14:51 +02:00
omar
3233d85d2f
Merge branch 'master' into docking
2019-09-22 22:16:11 +02:00
omar
13f00331da
Docking: Added ImGuiDockNodeFlags_NoDocking flag. ( #2109 )
2019-09-21 14:50:02 +02:00
omar
af93c21cf9
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-09-18 17:27:14 +02:00
omar
cf98290873
Backends: DirectX9: Workaround for windows not refreshing when main viewport has no draw call. ( #2560 )
2019-09-17 18:32:26 +02:00
omar
1ca6ff974c
Viewport: fix to allow multiple shutdown / calls to DestroyPlatformWindows(). ( #2769 )
2019-09-17 18:02:58 +02:00
omar
575df6f192
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui_draw.cpp
# imgui_internal.h
2019-09-17 16:35:50 +02:00
omar
0bdc145343
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-08-31 19:19:00 +02:00
omar
d049a7988c
Docking: comments for DockBuilder API.
2019-08-31 16:51:12 +02:00
omar
a4af3cc814
Viewport, GLFW: Fix for #2756 under Windows.
2019-08-29 15:53:33 +02:00
Rokas Kupstys
a89a3cd2f1
Viewports, GLFW: Fix window having incorrect size after uncollapse. Issue manifests on Linux when window is in it's own viewport. ( #2756 , #2117 )
2019-08-29 15:49:52 +02:00
Rokas Kupstys
09780b8b3d
Viewport: Fix setting window size on macos (glfw). ( #2767 , #2117 )
...
MacOS positions windows by their bottom-left corner why the rest of the world (including imgui) position windows by the top-left corner. This created an issue where collapsing imgui window would cause window header to remain at the bottom the full window rect. Likewise resizing window by using sizing handle caused window to grow upwards when we tried to expand window downwards.
This workaround moves window to the opposite direction by the delta of size change creating an illusion that windows are positioned by their top-left corner.
2019-08-29 13:02:42 +02:00
omar
9e294be5c5
Docking: Fix for node created at the same time as windows that are still resizing (typically with io.ConfigDockingAlwaysTabBar) to not be zero/min sized. ( #2109 )
...
The fix delay their visibility by one frame, which is not ideal but not very problematic as the .ini data gets populated after that
2019-08-29 10:45:33 +02:00
omar
a01d149369
Fixed context popup windows from not having the NoDocking flag. ( #2763 )
2019-08-28 10:52:17 +02:00
omar
483534b525
Internals: Using simpler ImVec2ih construct + fixed misnamed member.
2019-08-23 12:31:14 +02:00
omar
e1fca8d982
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-08-23 12:21:49 +02:00
omar
10a202422a
Docking: Extracted some of BeginDocked() into a DockContextBindNodeToWindow() function.
...
Moved one of the undocking blurb to favor fast path.
(Commit intended to have no functional side effects)
2019-08-22 13:51:17 +02:00
omar
27431dcc6b
Docking: fix BeginDocked() path that creates node so that SetNextWindowDockID() doesn't immediately discard the node..( #2109 )
...
Amend 515ecbddc2 , not sure at this point if the (auto_dock_node) flag was needed at all.
Comments. Exposed DockContextGenNodeID() in imgui_internal.h
2019-08-22 13:51:16 +02:00
omar
d8f9f6ba2a
Viewport: Fixed issue where resize grip would display hovered (before of extruded hit rectangle) while mouse is still off the OS bounds so click would miss it and focus the OS window behind expected one. ( #1542 )
2019-08-22 13:51:16 +02:00
omar
72090b646f
Fixed incorrect assignment of IsFallbackWindow which would tag dock node host windows created in NewFrame() as such, messing with popup viewport inheritance.
2019-08-22 11:35:17 +02:00
omar
aedcd2fb1a
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_dx11.cpp
# imgui.cpp
2019-08-19 21:49:53 +02:00
omar
76ccbb899d
Viewport: Fix modal/popup window being stuck in unowned hidden viewport associated to fallback window without stealing it back. ( #1542 )
...
Viewport: Fix modal reference viewport when opened outside of another window.
+ Comments
2019-08-19 11:58:30 +02:00
omar
5d87ee8d82
Internals: Added function index for Viewport and Docking. Renamed a few functions.
2019-08-16 15:29:58 +02:00
omar
451c756b01
Docking: Modals don't need to set ImGuiViewportFlags_NoFocusOnClick. This also mitigate the common described by #2445 , which becomes particularly bad with unfocused modal. ( #1542 )
2019-08-01 16:23:54 -07:00
omar
3aa9aae0be
Docking: Fix a crash that could occur with a malformed ini file (DockNode Parent value pointing to a missing node)
2019-08-01 15:50:05 -07:00
omar
967073ba3d
Viewport: Handle case where host window gets moved and resized simultaneous (toggling maximized state). There's no perfect solution there, than using io.ConfigViewportsNoAutoMerge = false. ( #1542 )
2019-07-31 20:08:06 -07:00
omar
b8d8355f10
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2019-07-31 14:34:58 -07:00
omar
07c52a25ff
Docking: Recording dockspace parent window so pruning doesn't zealously lose the location of nodes. ( #2109 )
2019-07-29 15:56:59 -07:00
omar
cb2de62bb1
Docking: Renaming, comments.
2019-07-29 15:56:59 -07:00
Chris Savoie
949a9fa2cb
Vulkan: Fix crash when viewports are disabled and memory leak on shutdown. ( #2698 )
2019-07-29 15:52:30 -07:00
omar
a1164399b0
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2019-07-27 18:21:41 -07:00
omar
e5b905481d
Viewport: Refactored ViewportFlagsOverrideMask+ViewportFlagsOverrideValue into ViewportFlagsOverrideSet+ViewportFlagsOverrideClear which appears easier to grasp. ( #1542 )
...
(cherry picked from commit 9437630872e7ca19065bee78fcafaab54a0d5bf2)
2019-07-24 13:45:18 -07:00
omar
7c183dc6a1
Docking: Explicitly inhibit constraint when docked for now ( #2690 , #2109 )
...
Added asserts to catch issues.
2019-07-24 11:18:13 -07:00
omar
7fbd72b735
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-07-23 21:40:57 -07:00
omar
969278fc0b
Docking: Fixed dragging/resizing from OS decoration not marking settings as dirty.
...
Internals: Added IMGUI_DEBUG_LOG_DOCKING, IMGUI_DEBUG_LOG_VIEWPORT macros to easily enable/disable a bunch of logging code.
2019-07-23 21:29:43 -07:00
omar
efc4c0fe9d
Internals: Made IMGUI_DEBUG_LOG redefinable in imconfig.h. Comments. Fix to allow Metrics's NodeWindow() being called with a NULL window.
2019-07-23 21:26:15 -07:00
omar
81b24bd728
Docking: Moving types in imgui.h
2019-07-23 13:37:52 -07:00
omar
db2581bee9
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2019-07-23 13:35:01 -07:00
omar
75136d3bea
Internals: Removed ShowDockingDemo(), moved into Metrics. Metrics: Added more links to browse window->node, node->window, node->node etc.
2019-07-22 11:51:04 -07:00
omar
0e6a096afd
Docking: Renamed io.ConfigDockingTabBarOnSingleWindows to io.ConfigDockingAlwaysTabBar. ( #2109 )
...
Added ImGuiWindowClass::DockingAlwaysTabBar to set on individual windows.
2019-07-22 11:29:22 -07:00
omar
6f8d34768d
Docking: Removed seemingly unnecessary test in TabItemEx() for undocking tab leading to window move. Added ImGuiDockNode::IsFloatingNode() helper to clarify code intent in various places.
2019-07-22 11:02:44 -07:00
omar
9cda3035fd
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_sdl.cpp
# imgui.cpp
2019-07-22 10:29:14 -07:00
omar
47f5ad32b7
Perform simple check: error if Docking or Viewport are enabled _exactly_ on frame 1 (instead of frame 0 or later), which is a common error leading to loss of .ini data. ( #2109 )
2019-07-21 12:05:04 -07:00
omar
9f35ba8546
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2019-07-19 15:19:10 -07:00
omar
7fd34d4f30
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-07-17 18:48:16 -07:00
omar
bb2aa5e770
Docking: Making it possible to undock a node by clicking on the tab bar / title bar for the node. ( #2645 , #2109 )
2019-07-17 13:55:00 -07:00
omar
56e10f1c35
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
2019-07-16 18:29:31 -07:00
omar
718e15c7de
Docking: Fix so that an appearing window making a dock node reappear won't have a zero-size on its first frame (because dock node ->Size was 0.0 unlike ->SizeRef) ( #2109 )
...
Docking: Added ImGuiDockNode to .natvis file.
2019-07-16 11:45:52 -07:00
omar
8bc6d976cb
Docking: Fixed using ImGuiDockNodeFlags_AutoHideTabBar with ConfigDockingTabBarOnSingleWindows. ( #2109 )
2019-07-15 14:17:01 -07:00
omar
dd80db87a6
Viewport: Added ImGuiViewportFlags_NoAutoMerge to prevent merging into host viewport in a per-window basis via the ImGuiWindowClass override mechanism. ( #1542 )
2019-07-15 13:35:21 -07:00
omar
1f54c16f52
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2019-07-02 18:47:10 +02:00
omar
50d421fa19
Docking: Fixed GetBackgroundDrawList(), GetForegroundDrawList() overwriting ImDrawList flags after clear, leading to the AllowVtxOffset flag not being cleared. ( #2638 )
2019-06-26 09:52:25 +02:00
omar
adbbd17cb6
Addendum to #2635 . Add support for multi-viewports in SDL+DX!! example. making all Win32-centric back-ends handle PlatformHandleRaw. Using the field to use/store the HWND for internal purpose in SDL/GLFW back-ends. ( #1542 )
2019-06-18 23:37:57 +02:00
Vincent Hamm
3e8eebfbec
Viewport: Added PlatformHandleRaw. Update SDL+DX11 example. ( #1542 , #2635 )
2019-06-18 23:16:52 +02:00
omar
2cbc0f1287
Restore SLN which in Docking branch includes more projects.
2019-06-18 23:13:12 +02:00
omar
e2c1f0a7cd
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2019-06-18 23:12:50 +02:00
omar
ca43436cd3
Fix monitor dpi info not being copied to main viewport when multi-viewports are not enabled. ( #2621 , #1676 ) + Tweaks, short path in FindPlatformMonitorForRect().
2019-06-17 11:19:34 +02:00
omar
b27fd87177
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
# imgui.h
2019-06-17 11:10:14 +02:00
omar
07d3083279
Docking: Fixed rendering of outer decoration happening on non-visible docked window ( #2623 , #2109 ). Revealed by 0770449. We are actually better than before now, as previously those would get unnecessarily get rendered into a hidden draw list.
2019-06-13 10:19:14 +02:00
omar
d3d998a885
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/README.txt
# imgui.cpp
# imgui.h
# imgui_internal.h
# imgui_widgets.cpp
2019-06-12 18:40:50 +02:00
omar
5f409c6fcc
Merge branch 'master' into docking
...
# Conflicts:
# examples/example_apple_opengl2/main.mm
# examples/example_emscripten/main.cpp
# examples/example_glfw_opengl2/main.cpp
# examples/example_glfw_opengl3/main.cpp
# examples/example_glfw_vulkan/main.cpp
# examples/example_glut_opengl2/main.cpp
# examples/example_sdl_opengl2/main.cpp
# examples/example_sdl_opengl3/main.cpp
# examples/example_sdl_vulkan/main.cpp
# examples/example_win32_directx10/main.cpp
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx12/main.cpp
# examples/example_win32_directx9/main.cpp
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_sdl.cpp
# imgui.cpp
# imgui_widgets.cpp
2019-06-06 16:20:12 +02:00
omar
63310acd58
Synced/merged minor cruft from master branch to minimize drift. Only meaningful change AFAIK is removing ImGuiComboFlags_PopupAlignLeft flag from the tab list combo emitted by TabBar.
2019-06-06 16:16:18 +02:00
omar
e6850891cc
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-06-05 16:09:06 +02:00
omar
440ad0b440
Merge branch 'master' into docking
2019-06-05 00:37:20 +02:00
omar
5cdd788f30
Comments ( #2599 ). Moved branch Changelog above 1.71 wip one. Added some missing changelog bits.
2019-06-05 00:37:14 +02:00
omar
596d81a973
Merge branch 'master' into docking
2019-05-31 12:09:40 +02:00
omar
84f3ecc231
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-05-30 18:52:24 +02:00
omar
cc48f1e5dd
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_metal.h
# examples/imgui_impl_metal.mm
2019-05-30 16:47:11 +02:00
omar
8dc04a4c9f
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx9.cpp
# examples/imgui_impl_opengl3.cpp
# imgui.h
# imgui_demo.cpp
2019-05-29 16:32:27 +02:00
omar
c72040a715
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx10.h
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx11.h
# examples/imgui_impl_dx9.cpp
# examples/imgui_impl_dx9.h
# examples/imgui_impl_opengl3.cpp
# examples/imgui_impl_opengl3.h
# examples/imgui_impl_osx.h
# examples/imgui_impl_osx.mm
# imgui.cpp
# imgui.h
# imgui_demo.cpp
# imgui_internal.h
2019-05-29 16:20:26 +02:00
omar
c7c1bf177b
Docking: Fixed DockBuilderRemoveNode() from overwriting other parent node flags when trying to move the CentralNode flag.
2019-05-28 00:06:21 +02:00
omar
5b0e59d9d5
Docking: Saving local _NoResize flag. ( #2583 )
2019-05-27 22:11:21 +02:00
omar
7c06d9f043
Docking: Saving the NoTabBar, NoWindowMenuButton, NoCloseButton fields of dock node into the .ini file. Added them to the Metrics window. ( #2583 , #2423 , #2109 ).
2019-05-27 17:06:17 +02:00
omar
511e32e8ca
Docking: Clarified terminology of docking/tablist/collapse button into Window Menu button matching master. Added private ImGuiDockNodeFlags_NoWindowMenuButton, ImGuiDockNodeFlags_NoCloseButton flags. ( #2583 , #2109 )
2019-05-27 12:35:20 +02:00
omar
e5dfa0855f
Docking: Honor style.WindowMenuButtonPosition setting in docking node.
2019-05-24 21:59:44 +02:00
omar
afad952450
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
# imgui_widgets.cpp
2019-05-24 21:58:17 +02:00
omar
fda1365c15
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-05-23 00:04:25 +02:00
omar
04022114d9
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2019-05-21 14:47:29 +02:00
omar
1575a3fbcd
Docking: Fixed temporarily losing Dockspace flag when merging remaining sibling back into a parent node. ( #2563 , #2109 )
...
Would trigger an assert in the Passthru hole path. Broken by fd5859ed .
2019-05-19 17:00:17 +02:00
omar
7e772f6a51
Docking: Fixed undocking whole node (from collapse/docking menu button) from losing its size/pos. Made collapose/docking menu id easier to compute for testing.
2019-05-18 18:42:59 +02:00
omar
2e5860b5a0
Docking: Fixed incomplete merge of 36e714a leading to undocking. #2109
2019-05-18 13:00:00 +02:00
omar
4158cba1ff
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_win32.cpp
# imgui.cpp
# imgui_internal.h
2019-05-13 19:23:18 +02:00
Chris Savoie
b955e485f1
Fixed unused variables warnings when asserts are compiled out. ( #2551 )
2019-05-12 17:53:08 +02:00
Alzathar
02d6d2d487
Platform Binding for GLFW updated with the release of GLFW 3.3 ( #2547 )
...
* With the release of GLFW 3.3, it is now possible to detect correctly monitors working area (see GLFW_HAS_MONITOR_WORK_AREA). GLFW 3.3 also introduced the window hint GLFW_FOCUS_ON_SHOW. This fixed the case where a new created window (viewport) takes the focus even if not visible.
* Disable a GLFW 3.2 windows hack when GLFW 3.3 is detected (related to window focused when shown).
2019-05-11 10:54:56 +02:00
omar
b668726a38
Fixed a PVS Studio static analyzer warning.
2019-05-10 22:58:24 +02:00
omar
835a8b2c9b
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2019-05-10 22:56:43 +02:00
omar
239c8732d7
Viewports: Minor tweaks. ( #2471 )
2019-05-08 18:33:08 +02:00
omar
9bf3f910c8
Viewports: Fix to avoid SetNextWindowViewport being overrided by creation of a standalone viewport. ( #2544 , #1542 )
2019-05-08 18:20:13 +02:00
omar
e6c982509d
Examples: DirectX9: Fixes for multi-viewports. Avoid using a depth/stencil target for secondary viewport. ( #2520 , #2502 )
2019-05-06 12:12:32 +02:00
omar
9ddb8493d5
Examples: DirectX9: Fixes for multi-viewports, destroying all swap chains. ( #2520 , #2502 )
2019-05-06 12:07:29 +02:00
omar
76e61958fd
Merge branch 'master' into docking
...
# Conflicts:
# examples/README.txt
# examples/imgui_impl_dx9.cpp
# imgui.cpp
# imgui.h
2019-05-06 10:16:43 +02:00
ibachar
4f22a45cb5
Removed git merge leftovers
2019-05-04 15:02:28 +02:00
omar
825b61e4ba
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx12.cpp
# examples/imgui_impl_dx9.cpp
# examples/imgui_impl_opengl2.cpp
# examples/imgui_impl_opengl3.cpp
# examples/imgui_impl_vulkan.cpp
# imgui.cpp
2019-05-02 14:56:47 +02:00
omar
7e67aba286
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-04-29 13:06:55 +02:00
omar
a649d904d7
Examples: Emscripten: Fixed not enabling Docking and Nav by default. ( #2494 )
2019-04-26 00:28:28 +02:00
omar
dfb82d5c22
Merge branch 'master' into docking
...
# Conflicts:
# examples/example_sdl_opengl2/main.cpp
# examples/example_sdl_opengl3/main.cpp
# examples/example_sdl_vulkan/main.cpp
# examples/imgui_impl_sdl.cpp
# examples/imgui_impl_sdl.h
# imgui.cpp
2019-04-25 17:53:11 +02:00
omar
d0fb547dc1
Viewports: Avoid rendering/swapping secondary viewports that are minimized. ( #1542 , #2496 )
2019-04-22 11:46:04 +02:00
omar
20f0cb0281
Docking: Fixed an issue where DockBuilderSplitNode() wouldn't update the CentralNode shortcut immediately, which was problematic for immediately following DockBuilderDockWindow(). ( #2109 )
2019-04-19 20:28:43 +02:00
omar
03b64defa5
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
2019-04-19 19:52:45 +02:00
omar
655ebe4eaf
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
2019-04-16 13:14:10 +02:00
omar
b89202824e
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_sdl.cpp
2019-04-15 16:03:17 +02:00
omar
f70eacee8e
Docking: Internal: Added helper for automation to process docking at the mouse level.
2019-04-13 19:50:30 +02:00
omar
433a7556c7
Docking: Fixed another issue where the resulting node of a split would sometimes recall the pos/size of previous host window. Spent a whole day adding framework for testing more of docking so hopefully we'll heading toward the magical world of less regressions. ( #2109 )
2019-04-13 19:19:56 +02:00
omar
712203dbcb
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-04-13 18:53:00 +02:00
omar
800fb26606
Docking: Renamed target_node > node in some functions to facilitate debugger watch use across functions.
2019-04-13 00:36:24 +02:00
omar
224f087a5f
Docking: Rename typo Autority -> Authority + Rename DockContextNewFrameUpdateDocking -> DockContextUpdateDocking.
2019-04-13 00:36:24 +02:00
omar
092426bed2
Docking: Hold Shift to force disable docking. ( #2109 )
2019-04-13 00:27:44 +02:00
omar
c6f1b7b92a
Tests: Added hook/tweaks for imgui-test engine. + Fixed warnings.
2019-04-13 00:27:44 +02:00
omar
328e4fa7e7
Merge branch 'master' into docking
...
# Conflicts:
# imgui_demo.cpp
2019-04-11 15:53:38 +02:00
omar
f3110a57cd
Docking: Fixed an issue where newly created dock node override hosted window pos/size ( #2109 , #2386 )
2019-04-11 14:51:01 +02:00
omar
cf029b3e1c
Merge branch 'master' into docking
2019-04-08 18:05:52 +02:00
omar
7056032483
Merge branch 'vulkan_fix_docking' into docking
2019-04-07 16:23:34 +02:00
omar
50ceb25003
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_vulkan.cpp
2019-04-07 16:23:31 +02:00
omar
9c364b16ff
Merge branch 'vulkan_fix_master' into vulkan_fix_docking
2019-04-05 20:30:42 +02:00
omar
d61caf5714
Vulkan, Viewports: ImGui_ImplVulkan_RenderDrawData and renderer back-end automatically manage ImGui_ImplVulkanH_WindowRenderBuffers for each viewports so user doesn't have to do it. ( #2461 , #2348 , #2378 , #2097 )
2019-04-05 18:52:45 +02:00
omar
e70f866ed2
Merge branch 'vulkan_fix_master' into vulkan_fix_docking (WARNING: as is the validation layer will error on same vertex/index buffer being used for all frames)
...
# Conflicts:
# examples/imgui_impl_vulkan.cpp
# examples/imgui_impl_vulkan.h
2019-04-05 18:27:15 +02:00
MindSpunk
9acb158990
Vulkan, Viewports: Fix for resizing viewport windows crashing. ( #2472 )
2019-04-05 16:51:35 +02:00
omar
1ba79baab5
Vulkan, Viewports: Fixed ImGui_ImplVulkan_SetWindowSize() not recreating command-buffers, fence etc. ( #2472 , #2461 , #2071 )
2019-04-05 16:33:41 +02:00
omar
01de69de36
Vulkan: Note for unsupported feature with multi-viewports. ( #2071 )
2019-04-05 00:25:42 +02:00
omar
8ec24036d7
Vulkan: Viewports: Removed redundant field.
2019-04-05 00:01:25 +02:00
omar
29269d2aa8
Merge branch 'vulkan_fix_master' into vulkan_fix_docking
...
# Conflicts:
# examples/imgui_impl_vulkan.cpp
2019-04-04 23:55:33 +02:00
omar
43a85dd02e
Merge branch 'master' into docking
2019-04-04 22:10:18 +02:00
omar
9ba64f9fe3
Viewport: Fixed PushClipRectFullScreen() missing out on negative coordinates. Among other things, the outer highlight during CTRL+Tab wouldn't appear in negative coordinates monitors. (~#2176, #1542 )
2019-04-04 22:02:36 +02:00
omar
49fb8e6c45
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_dx9.cpp
# examples/imgui_impl_opengl3.cpp
2019-04-03 11:17:26 +02:00
omar
9bf6509c6e
Docking: Fixed focus restore lagging by a frame when a tab stops being submitted. ( #2109 ) Building on a little build of technical debt there, should transition toward a more general docking-agnostic system ( #2304 )
2019-03-28 18:43:27 +01:00
omar
5af385ea78
Viewport: Renamed member + added note about a Docking issue with restoring focus.
2019-03-28 18:02:03 +01:00
omar
47219dd5c6
Docking: Remove code in BeginDocked() to set HiddenFramesCannotSkipItems based on upcoming tab bar selection, solely based on focus (might break something subtle?). Follow-up to c355ed1267. ( #2453 , #2109 )
2019-03-28 16:13:06 +01:00
omar
b6ae8a0dca
Docking: Disable SkipItems when directly/programmatically focused (possible generalization of code currently in BeginDocked which relies on tab bar interaction, will remove that code in next commit). ( #2453 , #2109 )
2019-03-28 16:11:50 +01:00
omar
a33d45d7cd
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2019-03-28 15:48:25 +01:00
omar
5a665e423c
Docking: Added ImGuiDockNodeFlags_NoTabBar (not exposed publicly). ( #2423 , #2109 )
2019-03-27 20:44:49 +01:00
omar
fc95da8aa3
Docking: Internals: Moved CentralNode and HiddenTabBar state into LocalFlags for consistency. ( #2423 , #2109 )
2019-03-27 20:32:44 +01:00
omar
fd5859ed04
Docking: Separating SharedFlags vs LocalFlags in dock node so settings can be applied to individual nodes. Made _NoResize logic on single node applies as expected. ( #2423 , #2109 )
2019-03-27 19:00:36 +01:00
omar
75e3793f4d
Docking: Fix DockBuilderAddNode() not storing flags when creating floating node.
2019-03-27 17:36:52 +01:00
omar
8d4b5fef1d
Renamed ImGuiDockNodeFlags_Dockspace to ImGuiDockNodeFlags_DockSpace for consistency. DockBuilderCopyDockspace() to DockBuilderCopyDockSpace(). Made casing consistent elsewhere. ( #2109 )
2019-03-27 17:36:52 +01:00
omar
04a9ce3a18
Docking: Renamed ImGuiDockNodeFlags_PassthruDockspace to ImGuiDockNodeFlags_PassthruCentralNode. + Comments, shallow tweaks. ( #2109 )
2019-03-27 16:16:31 +01:00
omar
87883abd86
Docking: Tweak and silencing PVS studio static analyzer (back to zero warnings among our selected ones).
2019-03-26 14:15:56 +01:00
Tom Watson
f20725eada
Docking: Fixed an issue where windows docked into a node that's part of their dockspace wouldn't recover their order correctly after init. ( #2109 )
...
(It only worked on floating dock node for the accidental reason that BeginDocked would generally early out on the first frame)
2019-03-26 13:58:03 +01:00
omar
26646f2450
Docking: Wrapping tab bar creation/destroy to make it easier to debug them.
2019-03-26 12:41:50 +01:00
omar
f208fd7ebb
Docking: Fixed crash with ImGuiDockNodeFlags_AutoHideTabBar flag. ( #2423 , #2109 )
2019-03-26 12:33:58 +01:00
omar
9350158d61
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui_internal.h
2019-03-25 16:08:09 +01:00
omar
7a5196601e
Docking: BeginDocked() doesn't need to rely on tab bar data (will allow removing tab bar).
2019-03-18 09:48:06 -07:00
omar
c7619d4a6a
Docking: Preserve existing docked nodes when setting the ImGuiDockNodeFlags_NoDockingInCentralNode flag. ( #2423 , #2109 )
2019-03-18 09:48:00 -07:00
omar
7ba774a440
Viewports: Fixed being unable to refocus windows when ConfigViewportsNoTaskBarIcon + ConfigViewportsNoDecoration are enabled. ( #2420 , #1542 ) [@PathogenDavid] + comments.
2019-03-15 15:35:46 +01:00
omar
b1af4d36ce
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/example_win32_directx10/main.cpp
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx12/main.cpp
# examples/example_win32_directx9/main.cpp
2019-03-13 15:30:35 +01:00
omar
c3f20f6b81
Viewport: DestroyPlatformWindow() skips calling user function if PlatformWindowCreated is set. + Clarified comment about implicit Debug viewport which may be hogging a viewport.
2019-03-13 11:27:30 +01:00
David Maas
e7dca4fec2
Fixed main viewport not being marked as created, which broke updating the IME input position for the main viewport.
...
This change also removes the logic scattered about that compensated for PlatformWindowCreated being wrong for the main viewport.
2019-03-13 10:59:32 +01:00
omar
9afb849e16
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_sdl.cpp
2019-03-12 18:28:47 +01:00
omar
e1acb0b1fa
Docking: Fixed node merging altering window position incorrectly in a way that would make SizeContents incorrect for the next frame (making scrollbar flicker). ( #2414 , #2109 )
2019-03-11 19:46:37 +01:00
omar
3ead9820f7
Viewport: Popups and Tooltips viewports are correctly parented to the parent window's viewport. ( #2409 , #1542 )
2019-03-11 16:51:46 +01:00
omar
f7db4fad31
Merge branch 'master' into docking
...
# Conflicts:
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx12/main.cpp
# examples/example_win32_directx9/main.cpp
# imgui.cpp
2019-03-11 16:08:16 +01:00
omar
cf4fcc4735
Viewports: Fixed delayed window pos->viewport pos sync leading to monitor not being updated at the time of clamping window position in Begin. ( #2415 , #1542 )
2019-03-11 13:15:00 +01:00
omar
3eedb542a6
Viewports: Renamed ConfigViewportsNoParent to ConfigViewportsNoDefaultParent. Fix outdated comments in examples.
2019-03-11 11:07:23 +01:00
omar
ecf7666624
Docking: Fixed an issue where removing the last window from a dockspace node that is not a central node without remove the node. ( #2414 , #2109 )
2019-03-10 22:19:18 +01:00
omar
d77d3416d3
Merge branch 'master' into docking
2019-03-07 18:40:55 +01:00
omar
5ce93bc0cc
Refactor: Move viewport code under other subsystem to simplify merging (4) (moving in multiple commits to make diff/patch behave nicely)
2019-03-07 18:39:31 +01:00
omar
54a129a2e2
Refactor: Move viewport code under other subsystem to simplify merging (3) (moving in multiple commits to make diff/patch behave nicely)
2019-03-07 18:38:40 +01:00
omar
bdf60dac6a
Refactor: Move viewport code under other subsystem to simplify merging (2) (moving in multiple commits to make diff/patch behave nicely)
2019-03-07 18:37:17 +01:00
omar
bbb543fc16
Refactor: Move viewport code under other subsystem to simplify merging (1) (moving in multiple commits to make diff/patch behave nicely)
2019-03-07 18:36:11 +01:00
omar
28d8eb220b
Fix for Android char being unsigned by default ( #2408 )
2019-03-07 16:07:16 +01:00
Gilad Reich
0a6c5bc234
Examples: DirectX9: Added support for multi-viewport ( #2394 )
2019-03-06 21:36:42 +01:00
omar
e91d275b10
Merge branch 'master' into docking
...
# Conflicts:
# imgui_demo.cpp
2019-03-06 21:18:46 +01:00
David Maas
8b8ab1db5b
Removed redundant declaration of SetNextWindowClass. ( #2402 )
2019-03-06 09:39:16 +01:00
omar
e02d6014bf
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-03-05 22:13:38 +01:00
omar
8414c0bb09
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_internal.h
2019-03-04 18:08:19 +01:00
omar
49eb5f0280
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
2019-03-03 23:34:56 +01:00
Richard Mitton
7a536f1bd2
Examples + Viewport: GLFW: context wasn't set when using multiple windows. ( #2392 )
2019-03-03 23:01:43 +01:00
omar
ff0c6c2bde
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
2019-02-27 19:00:09 +01:00
omar
4eecf80a4b
Moved Settings section above Docking to facilitate master<>docking merges.
2019-02-26 15:34:47 +01:00
omar
104294c7e4
Moved Logging/Capturing section above Docking to facilitate master<>docking merges.
2019-02-26 15:33:50 +01:00
omar
6b43a314bf
Merge branch 'master' into docking
2019-02-26 12:53:38 +01:00
omar
8915f7933a
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2019-02-24 23:24:07 +01:00
omar
87ded34f9f
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_opengl3.cpp
# imgui_widgets.cpp
2019-02-22 12:29:18 +01:00
omar
ff0f9aa856
Comments for Linux/Mac ( #2117 )
2019-02-19 16:36:06 +01:00
omar
9dc02464a4
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2019-02-19 13:04:35 +01:00
omar
7573d10a4a
Docking: Fixed bad ever-growing/ leak (accumulating text into TabsNames forever, fix d38f4dc14 from February 5th, affected docking branch only). ( #2109 )
2019-02-18 16:50:39 +01:00
omar
5412cdf2c8
Docking: Made DockBuilderSplitNode/DockNodeTreeSplit work even if the node doesn't have a size yet. ( #2357 , #2109 )
...
Followup to fa0ce4b7d , at that time I came to the conclusion that programmatic split couldn't work without knowing the size ahead of it. I forgot the reason for that. May bite us back!
2019-02-18 16:23:54 +01:00
omar
3de440fda2
Docking: Fixed assert in DockContextProcessDock() preventing some uses of DockNodeBuilder api. ( #2357 , #2109 )
2019-02-18 16:13:17 +01:00
omar
5bf9029bf9
Merge branch 'master' into docking
2019-02-18 12:16:13 +01:00
omar
09c9bf2edb
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
2019-02-14 20:35:11 +01:00
omar
b46076458c
Examples: Win32: Removed unused code left-over from merge e9c625a1dc
2019-02-13 18:29:49 +01:00
omar
8691b56136
Merge branch 'master' into docking
2019-02-12 10:30:48 +01:00
omar
7f6a025c93
Viewport: SDL: Inherit SDL_WINDOW_ALLOW_HIGHDPI flag from main viewport. ( #2306 )
2019-02-11 19:00:33 +01:00
omar
2cada3c143
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_opengl2.cpp
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui_widgets.cpp
2019-02-11 18:59:49 +01:00
omar
4a3a895be9
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
2019-02-06 14:47:53 +01:00
omar
f6fbb99a9c
Examples: SDL: Fix for Emscripten/Android/iOS on Docking branch.
2019-02-05 15:45:26 +01:00
omar
be107ba8f8
Merge branch 'master' into docking
...
# Conflicts:
# imgui_internal.h
# imgui_widgets.cpp
2019-02-05 13:52:32 +01:00
omar
f902435a53
Docking: Fixed less of node size/pos caused by 1f2bdd37 ( #2109 )
2019-02-03 18:58:07 +01:00
omar
80d51c692a
Docking: Fixed dragging docked window with _NoMove flag ( #2325 )
2019-02-03 18:44:30 +01:00
omar
7227454dca
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui.h
2019-02-03 17:31:16 +01:00
omar
f087359621
Revert part of change from 5536eded. Fixed drag and drop in docking branch. ( #2331 , reopening #2325 )
2019-02-03 13:54:04 +01:00
omar
e215809c4d
Removed io.DisplayVisibleMin/DisplayVisibleMax (which were marked obsolete and removed from viewport/docking branch already).
2019-02-01 17:06:40 +01:00
omar
03b0266b59
Examples: Made imgui_impl_win32 drag gdi32.lib for GetDeviceCaps(). ( #2327 )
2019-02-01 15:23:25 +01:00
omar
d1c45c0d76
Merge branch 'master' into docking (enable range_select merge)
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-02-01 12:25:49 +01:00
omar
e30babef09
Fixed Clang/Win32 warning.
2019-02-01 11:22:53 +01:00
omar
a608156da3
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_internal.h
2019-02-01 11:19:26 +01:00
omar
65a2350a5f
Docking: Extracted code into a DocknodeUpdateTabListMenu() functions + minor other changes.
2019-02-01 11:12:37 +01:00
omar
cbf24a9151
Comments. Fix duplicate entries in About box. Synchronize a few small changes from Master branch.
2019-02-01 11:04:04 +01:00
omar
f906d53f7d
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2019-01-31 19:19:35 +01:00
omar
1f2bdd37b3
Docking: Builder: Added DockBuilderSetNodePos, DockBuilderSetNodeSize, allow DockBuilderAddNode creating floating node (dockspace requires ImGuiDockNodeFlags_Dockspace) ( #2109 )
2019-01-31 17:01:15 +01:00
omar
dc8ff68871
Docking: VisibleWindow of a node spread its _NoMove attribute to the node (fixed dragging or undocking of dock node host from collapse button). ( #2325 , #2109 )
2019-01-31 15:22:40 +01:00
omar
5536edede9
Docking: Fixed faulty undocking of windows with the _NoMove flag. ( #2325 , #2109 )
...
Whereas BeginAsDockableDragDropTarget could be reworked to filter, we simply set g.HoveredWindowUnderMovingWindow to be NULL when MovingWindow is not set, which was the initial intent.
Also fixed some comments and removed unused braces in TabItemEx().
2019-01-31 14:59:45 +01:00
omar
578e15f006
Docking: Removed unnecessary ImGuiTabItemFlags_DockedWindow internal flag.
2019-01-31 14:55:00 +01:00
omar
e1143377c2
Viewport: Added ImGuiViewportFlags_NoFocusOnClick + support in imgui_impl_win32. Made windows with no decoration always set the _NoFocus flags. ( #1542 , #2117 )
...
Fix e.g. clicking on protruding combo box stealing highlight from parent window with decoration.
2019-01-30 21:39:05 +01:00
omar
8563ef3ce4
Viewport: Popups by default merge into parent/host viewport as they have no decoration (same as menu/child). ( #1542 )
2019-01-30 21:13:07 +01:00
omar
37fb531d1c
Docking: Comments and tidying up (should be no-op)
2019-01-29 18:54:56 +01:00
omar
86d3bba157
Added ImGuiDockNodeFlags_AutoHideTabBar. ( #2109 )
2019-01-29 18:28:31 +01:00
omar
2ccc6d2ed1
Docking: Exposing extra flag in Configuration panel. Moved some forgotten Changelog entries at the right place.
2019-01-29 18:28:31 +01:00
omar
13a5f5ba8b
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2019-01-27 16:46:35 +01:00
omar
737a3644fc
Removed trailing spaces (docking branch)
2019-01-27 14:57:07 +01:00
omar
07ff47bf1b
Docking: Fixed various border / padding related inconsistency with dock node vs floating windows. ( #2109 )
2019-01-23 19:54:45 +01:00
omar
0737433c71
When resizing from an edge, the border is more visible and better follow the rounded corners. Border rendering moved to RenderOuterBorders so it can be called in a different order for docking. ( #1495 , #822 )
2019-01-23 19:24:35 +01:00
omar
0bda7f196d
Docking: Fixed overlapping issue with greyed out close button.
2019-01-23 19:24:35 +01:00
omar
9f96fcff3c
Docking: Added ImGuiDockNodeFlags_Dockspace instead of node internal IsDockspace toward allowing the DockBuilder API to create non-dockspace nodes.
2019-01-23 19:24:34 +01:00
omar
bfacbac7c4
Docking: Fix a focusing issue where dock node wouldn't be moved to the front as expected.
2019-01-23 11:05:00 +01:00
omar
86fce79a6c
Comments + clear out VisibleWinodw field (should have no effect)
2019-01-23 10:50:58 +01:00
omar
c81a5a6070
Docking: Comments and renaming locals to facilitate debugging.
2019-01-22 12:38:10 +01:00
omar
0947fa3de0
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-01-21 16:54:37 +01:00
omar
cb9a6b8a8b
Merge branch 'master' into viewport
...
# Conflicts:
# examples/README.txt
# imgui.cpp
2019-01-21 16:52:22 +01:00
omar
2d21a64fed
Comments
2019-01-21 14:25:13 +01:00
omar
f94af2f5c5
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
# imgui_draw.cpp
2019-01-20 22:13:35 +01:00
omar
8079344cee
Merge branch 'master' into viewport
...
# Conflicts:
# examples/example_sdl_vulkan/main.cpp
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx12.cpp
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_sdl.cpp
# examples/imgui_impl_vulkan.h
# imgui.cpp
2019-01-20 22:12:06 +01:00
omar
82e31d34f0
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_win32.cpp
2019-01-18 12:31:33 +01:00
omar
acdb4823dd
Examples: Win32: Fix for older Windows SDK.
2019-01-17 14:35:26 +01:00
omar
b5144e477f
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2019-01-17 14:06:42 +01:00
omar
e9c625a1dc
Merge branch 'master' into viewport
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_win32.cpp
# imgui_demo.cpp
2019-01-17 14:05:40 +01:00
omar
d1851ed6b7
Various tweaks and fixes as suggested by PVS Studio (thanks PVS Studio!) [docking branch]
2019-01-16 16:19:38 +01:00
omar
32c4e01267
Various tweaks and fixes as suggested by PVS Studio (thanks PVS Studio!)
2019-01-16 16:13:23 +01:00
omar
2f9bae140b
Docking: Demo: Fixed docking document window into parent window. ( #2286 )
2019-01-16 14:43:27 +01:00
omar
8a45c56c2c
Merge branch 'viewport' into docking
2019-01-15 21:22:29 +01:00
omar
9391a97fbf
Merge branch 'master' into viewport
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_win32.cpp
# examples/imgui_impl_win32.h
2019-01-15 21:22:21 +01:00
omar
79d497edae
Viewport: Made platform_io.Monitors mandatory for proper multi-viewport use.
2019-01-15 21:20:00 +01:00
omar
515ad62335
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/TODO.txt
2019-01-15 15:14:16 +01:00
omar
73353fad64
Merge branch 'master' into viewport
2019-01-15 15:13:29 +01:00
omar
ff4bd758ca
Merge branch 'viewport' into docking
2019-01-14 21:30:07 +01:00
omar
e24674fc0e
Merge branch 'master' into viewport
2019-01-14 21:30:01 +01:00
omar
529fccd9c2
Merge branch 'viewport' into docking
2019-01-13 14:19:40 +01:00
omar
4ee4f65c70
Merge branch 'master' into viewport
2019-01-13 14:19:31 +01:00
omar
7cc86d4bc9
Docking: Fixed docking a split node into the empty central node of a dockspace leading to the central node tag being incorrectly carried along. ( #2109 )
2019-01-10 18:20:52 +01:00
omar
8011197c50
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.cpp
2019-01-10 16:02:32 +01:00
omar
c96aaef132
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui.h
2019-01-10 16:01:36 +01:00
omar
6b32570644
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui_internal.h
# imgui_widgets.cpp
2019-01-07 21:29:15 +01:00
omar
5af930f97a
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_internal.h
2019-01-07 21:28:29 +01:00
omar
515ecbddc2
Docking: Fix for handling of orphan/inactive dock node with ConfigDockingTabBarOnSingleWindows (would crash).
2019-01-03 23:02:40 +01:00
omar
7f7e8eeecd
Docking: Fixed a bug undocking a window from its tab when it is the only docked window of a root dockspace with ConfigDockingTabBarOnSingleWindows enabled.
2019-01-03 22:11:14 +01:00
omar
4e98d4329b
Comments
2019-01-03 21:59:13 +01:00
omar
5278da98d2
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
# imgui_demo.cpp
2019-01-03 21:40:08 +01:00
omar
e1ed27aeaa
(Breaking change) Reorganized Viewports advanced flags, moved into new io.ConfigViewportsXXX flags. Pay attention that ImGuiConfigFlags_ViewportsDecoration became ConfigViewportsNoDecoeration, so the value is inverted! ( #1542 )
2019-01-03 21:33:33 +01:00
omar
c8349d3305
Viewport: Added ConfigViewportsNoParent to parent viewport default to NULL and not main viewport. Fix eg.. popups appearing erroneously focusing parent window.
2019-01-03 21:28:54 +01:00
omar
606175b98f
Viewport: Fix for minimization of individual viewports (the current back-end forcing a parent/child relationship between secondary viewports and the main viewport have hidden this issue). Follows d8ab2c1ac.
2019-01-03 21:27:47 +01:00
omar
05bc323be0
Viewport: Fixed minimization of main viewport leading to it being omitted from platform_io.Viewport list where the users assume it is at index 0. Fix d8ab2c1ac. It wasn't a problem when other viewports were child of the main viewport because they would all be minimized together. ( #1542 )
2019-01-03 21:27:39 +01:00
omar
599a52629a
Viewport: Added minimum viable information in the Changelog.
2019-01-03 17:46:23 +01:00
omar
c3efccaa9c
Docking: Merge fix duplicate line + added assert to ease debugging.
2019-01-02 23:49:31 +01:00
omar
b26f16a27f
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.cpp
2019-01-02 23:16:10 +01:00
omar
a0c2e55e8c
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-01-02 23:11:52 +01:00
omar
5aebfedfad
Docking: Forward WindowClass from node to host window.
2019-01-02 21:41:00 +01:00
omar
ce1626a51e
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_internal.h
2019-01-02 21:36:21 +01:00
omar
0cabe4dedf
Viewport: Added ImGuiWindowClass / SetNextWindowClass() (concept imported from Docking ImGuiDockFamily), which currently allows to overwrite viewport flags on a per-window basis. Exposed FindViewportByID(). Win32: Support for ParentViewportId. ( #1542 )
2019-01-02 21:33:23 +01:00
omar
0d6e3ab2b0
Docking: Renamed SetNextWindowId() -> SetNextWindowID() for consistency. (function vs member are still horribly inconsistent atm)
2019-01-02 21:28:16 +01:00
omar
cfcad42b89
Viewport: Win32: Workaround to the fact that ::WindowFromPoint() seems to return Windows using ImGuiViewportFlags_NoInputs / HTTRANSPARENT when dragging nearby the platform title bar. This is to allow using platform decoration. I don't understand this well atm. ( #1542 )
2019-01-02 19:03:45 +01:00
omar
4a6f95acc8
Viewport: Added Platform_UpdateWindow hook for general purpose: Rework Win32 code to reflect viewport flags changes into Win32 while the window is active.
2019-01-02 19:03:36 +01:00
omar
5305c32242
Viewport: Reorder flags. Set owned viewport common decoration flags in Begin(). Moved code in UpdateViewportsEndFrame() before we introduce family/class based overrides.
2019-01-02 19:03:11 +01:00
omar
951c9dd68b
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_sdl.cpp
2019-01-02 19:00:31 +01:00
omar
4ea9fdbbea
Docking: Agressively assert when CentralNode is a not a leaf node in order to find our bug.
2019-01-02 16:22:45 +01:00
omar
e194219f2e
Renamed ImGuiDockFamily to ImGuiWindowClass. Renamed CompatibleWithClassZero to DockingAllowUnclassed. ( #2109 )
2019-01-02 16:22:44 +01:00
omar
a71d3c8cb3
Viewport: Misc comments following user feedbacks..
2018-12-21 18:40:16 +01:00
omar
238321c159
Fix merge in Docking branch, remove ConfigDockingWithShift flag from DX11 example + misnamed function.
2018-12-21 16:56:26 +01:00
omar
e181b0c3fc
Merge branch 'viewport' into docking
2018-12-21 16:53:13 +01:00
omar
9d0bc3f9ab
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_sdl.cpp
2018-12-21 16:43:12 +01:00
omar
afe9c5c5f7
Examples: SDL: Fixed compilation for SDL 2..0.3 and less (running on our test servers) and clarified a bit of the messy situation. Followup to 8dd83c5. ( #1542 , #2117 )
2018-12-21 16:26:17 +01:00
omar
81a2546cea
Merge branch 'viewport' into docking
...
# Conflicts:
# examples/example_allegro5/main.cpp
# examples/example_win32_directx9/main.cpp
2018-12-20 23:06:29 +01:00
omar
ee5560a958
Merge branch 'master' into viewport + added style tweak block when viewports are enabled
...
# Conflicts:
# examples/example_glfw_opengl3/main.cpp
# examples/example_sdl_opengl3/main.cpp
# examples/example_win32_directx11/main.cpp
2018-12-20 23:04:40 +01:00
omar
62cfdceac1
Examples: Viewport: Moved the "make current GL context" to reduce the amount of call and hopefully be more explicit about viewport enabled vs disabled requirements. ( #1542 )
2018-12-20 22:40:22 +01:00
omar
d9fda22763
Viewport: Fixed not clearing request flags in main viewport, which led some back-end (SDL) to break on resize as PlatformRequestResize would stay true forever and inhibit new sizes passed to AddUpdateViewport(). ( #1542 )
2018-12-20 22:33:51 +01:00
omar
8dd83c5fe8
Examples: SDL: SDL_GetMouseState() seems problematic, movements feels laggy in the non-viewport code path. ( #1542 , #2117 )
2018-12-20 22:28:31 +01:00
omar
5794c0491a
Docking: Fix an edge case failing to dock into an explicit dockspace which only have inactive nodes (because all the windows are inactive). ( #2246 , #2109 )
2018-12-20 19:20:26 +01:00
omar
e043b89814
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.h
2018-12-20 17:03:21 +01:00
omar
8fc19d2194
Removed IMGUI_HAS_TABS from Docking branch, it's not defined anywhere anymore.
2018-12-20 16:56:48 +01:00
omar
02501f07c3
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui.h
2018-12-20 16:54:32 +01:00
omar
a0e5bb9532
Viewport: Corrected/clarified comments. Moved RenderPlatformWindowsDefault() next to UpdatePlatformWindow(). Removed unnecessary flag check.
2018-12-20 16:49:31 +01:00
omar
088ef6623a
Merge branch 'viewport' into docking
2018-12-18 15:03:01 +01:00
omar
9c916cdaf9
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-12-18 15:02:35 +01:00
omar
ac9512e095
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2018-12-14 18:46:24 +01:00
omar
5d20da1b36
Viewport, DPI: Now using DpiScale from the ImGuiPlatformMonitor array instead of calling Platform_GetWindowDpiScale() before the platform window creation. Might even tentatively see if things work out without Platform_GetWindowDpiScale. ( #1676 )
2018-12-14 12:12:26 +01:00
omar
9b09c7597f
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui_demo.cpp
2018-12-13 19:21:51 +01:00
omar
2a1e903f43
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.h
2018-12-13 19:20:34 +01:00
omar
e50894c95e
Metrics: Fixed crash when viewports are disabled (g.MouseLastHoveredViewport is never set).
2018-12-13 19:16:44 +01:00
omar
991b16cc6a
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
# imgui_widgets.cpp
2018-12-11 19:46:46 +01:00
omar
2886e0b6f5
Demo: Fix collateral damage of 54a60aa
2018-12-11 13:25:29 +01:00
omar
067b691fd8
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/TODO.txt
# imgui.cpp
# imgui.h
# imgui_demo.cpp
# imgui_draw.cpp
# imgui_internal.h
# imgui_widgets.cpp
2018-12-11 13:23:00 +01:00
omar
c40feabe4d
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2018-12-11 12:41:40 +01:00
omar
2d4018aa89
Docking: Fix io.ConfigWindowsMoveFromTitleBarOnly for docking branch.
2018-12-11 11:03:28 +01:00
omar
e6439e1a16
Merge branch 'viewport' into docking + moved io.ConfigFlags ImGuiConfigFlags_DockingNoSplit to io.ConfigDockingNoSplit
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_demo.cpp
2018-12-10 16:21:49 +01:00
omar
26b9e2d0a5
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
2018-12-10 16:14:31 +01:00
omar
3a5e758ee3
Tabs: Fixed crash when using TabItem in a regular (non-docking) tab bar. ( #2231 )
2018-12-08 12:35:15 +01:00
omar
f768727284
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.cpp
2018-12-06 16:36:17 +01:00
omar
a03846bd9e
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2018-12-06 16:33:39 +01:00
omar
f3a0b17bb8
Viewport: Win32, GLFW, SDL: Clarified back-ends by using global mouse position direction. GLFW: disabled io.MouseHoveredViewport setting under Mac/Linux. ( #1542 , #2117 ) + various comments.
2018-12-06 16:30:10 +01:00
omar
ac52d9d44c
Viewport: Fix handling of PlatformRequestResize/PlatformRequestPos. when OS decoration are enabled via ImGuiConfigFlags_ViewportsDecoration .
2018-12-06 15:36:36 +01:00
omar
e2082a675c
Viewport: Fix handling of PlatformRequestResize/PlatformRequestPos. when OS decoration are enabled via ImGuiConfigFlags_ViewportsDecoration .
2018-12-05 23:39:04 +01:00
omar
b94f0241f1
Docking: Adjusting the docking popup menu position so it tends to stay within the same viewport.
2018-12-05 21:19:42 +01:00
omar
b96b1f2412
Docking: Documenting an issue. Renamed member of ImGuiDockFamily.
2018-12-04 16:38:27 +01:00
omar
6644f1ff64
Docking: Added io.ConfigDockingTabBarOnSingleWindows option (mostly made possible by the previous fixes).
...
Note that dock node have regressions compared to current floating window: no collapse, no auto-resize, resize grip under the scrollbar, border issues, general overhead. Will tackle those.
2018-12-04 13:37:46 +01:00
omar
8cac70d8af
Docking: Focus fix (missing line in 8bac6d4)
2018-12-04 13:34:16 +01:00
omar
5105c6c0d0
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2018-12-04 00:06:26 +01:00
omar
3a678d48b1
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx11.cpp
2018-12-04 00:05:45 +01:00
omar
8bac6d428d
Docking: Another attempt at tidying the inconsistent focus / tab bar reordering issues, and toward generalizing single window dock nodes. ( #2109 )
2018-12-04 00:01:20 +01:00
omar
2da200fc16
Docking: Fix generalizing the transition from loose windows to dock node so we can switch to single window dock node while transferring viewports (vs creating two viewports and dropping one). + Extracted DockContextGenNodeID out of DockContextAddNode().
2018-12-04 00:01:19 +01:00
omar
f6b6ad1959
Viewport: Minor tweaks, better struct layout.
2018-12-03 20:30:00 +01:00
omar
3e84f7cd1d
Viewport: Fixed a viewport bug which led some popups to merge in underlying host viewport when they should be z-over their parent viewport.
2018-12-03 18:16:47 +01:00
omar
ac10889bde
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2018-12-03 11:44:51 +01:00
omar
89a530b442
Somehow VS keeps modifying this GUID so I am going to playing along with it.
2018-12-03 11:44:08 +01:00
omar
65e579e558
Merge branch 'master' into viewport
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx12.cpp
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_opengl2.cpp
# examples/imgui_impl_opengl3.cpp
# examples/imgui_impl_sdl.cpp
# examples/imgui_impl_vulkan.cpp
# examples/imgui_impl_win32.cpp
# imgui.h
# imgui_demo.cpp
2018-12-03 11:41:53 +01:00
omar
34e18ef771
Fixed a text rendering/clipping bug introduced in 1.66 (on 2018-10-12, commit ede3a3b9) that affect single ImDrawList::AddText() calls with single strings larger than 10k. Text/TextUnformatted() calls were not affected, but e.g. InputText() was.
2018-11-30 23:48:39 +01:00
omar
8289e5f6b4
Fixed a text rendering/clipping bug introduced in 1.66 (on 2018-10-12, commit ede3a3b9) that affect single ImDrawList::AddText() calls with single strings larger than 10k. Text/TextUnformatted() calls were not affected, but e.g. InputText() was.
2018-11-30 23:48:25 +01:00
omar
025e00cccc
About: Added build/system info relating to Docking branch.
2018-11-30 18:29:35 +01:00
omar
f78b5a0cdb
Merge branch 'viewport' into docking
2018-11-30 18:27:14 +01:00
omar
ec49a486c7
About: Added build/system info relating to Viewport branch.
2018-11-30 18:27:04 +01:00
omar
afeefadb4e
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_opengl2.cpp
# examples/imgui_impl_opengl3.cpp
# examples/imgui_impl_sdl.cpp
# examples/imgui_impl_win32.cpp
# imgui.h
2018-11-30 18:24:43 +01:00
omar
a423f032ee
About, IO: Added io.BackendPlatformName, io.BackendRendererName for informational/QA purpose.
2018-11-30 18:18:15 +01:00
omar
4ef06f5aa2
Added ShowAboutWindow(), About Window now showing various config/build information.
2018-11-30 18:02:01 +01:00
omar
753223bd7b
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2018-11-30 14:38:54 +01:00
omar
f663277591
Merge misc/shallow changes from Docking branch to minimize drift: moved some blocks, added comments.
2018-11-30 14:35:13 +01:00
omar
1c7be88a1a
Viewport: Fixed a bug where tooltips on their first frame didn't find a monitor leading to the "recovery" code to revert it to the main viewport for a frame. ( #1542 )
2018-11-30 14:35:13 +01:00
omar
3c114b280a
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui_internal.h
2018-11-29 21:30:26 +01:00
omar
2fbbcaa339
Viewport: Avoid calling platform functions when window is not created (apart from Platform_GetWindowDpiScale, documented as such). Main viewport situation is still ambiguous. ( #1542 )
2018-11-29 21:28:47 +01:00
omar
36cbe1e521
Viewport: Misc renaming.
2018-11-29 21:21:04 +01:00
omar
19d17ed274
Docking: Added io.ConfigDockingTransparentPayload option (to use with ImGuiConfigFlags_ViewportsNoMerge)
2018-11-29 16:18:01 +01:00
omar
01f940dc9a
Viewport: imgui_impl_sdl2: Added support for PlatformIO Platform_SetWindowAlpha.
2018-11-28 22:50:48 +01:00
omar
19c4fa8dd5
Examples: DX12: Fixed compilation of imgui_impl_dx12.cpp in viewport branch. Multi-viewport is still not functional.
2018-11-28 15:43:00 +01:00
omar
3bcc25f588
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
2018-11-27 19:56:23 +01:00
omar
4cadb57c46
Viewport: Comments.
2018-11-27 19:53:33 +01:00
omar
99c32ed4a5
Merge branch 'master' into viewport
2018-11-27 19:46:40 +01:00
omar
c08b4b46f4
Viewport: Better support for toggling ImGuiConfigFlags_ViewportsEnable. ( #2196 )
2018-11-27 19:46:36 +01:00
omar
e138a5fcb5
Docking: Fixed debug Rebuild operation.
2018-11-27 17:40:25 +01:00
omar
fc16e54612
Docking: Maintain CentralNode. When SetNextWindowDockID() on a now split node id, we dig to find the central node or the last focused node. ( #2109 )
2018-11-27 13:35:05 +01:00
omar
4575354bc0
Docking: Comments + maiintain LastFrameFocused per node + using bitfiield for docking bools.
2018-11-27 13:29:09 +01:00
omar
3f51c831de
Docking: Added internal DockBuilderGetCentralNode(). Fixed being unable to undock whole node from dock button in DockSpace with a central node. ( #2109 )
2018-11-26 22:18:55 +01:00
omar
962dcb466d
Docking: Added ImGuiDockNodeFlags_NoResize. ( #2109 )
2018-11-26 21:52:40 +01:00
omar
b8d9c5c130
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.cpp
2018-11-26 21:36:48 +01:00
omar
1a0d2578a1
Viewport: Merging fixes + relying on multiple viewport overlaps. Follow-up to previous attempts are reworking the split/merge mechanisms. ( #1542 )
2018-11-26 21:35:44 +01:00
omar
12a1e7d04e
Viewport: Comment to suggest making WindowBg opaque when viewports are enabled.
2018-11-26 19:20:37 +01:00
omar
4a8efd7e68
Docking: Hidden tab-bar triangle reflects focus but using Button colors. ( #2109 )
2018-11-26 17:57:01 +01:00
omar
66cfbbff5e
Docking: Fixed double-overlay when dragging window over one of the (four cardinal) outer drop boxes. ( #2109 )
2018-11-26 17:39:38 +01:00
omar
d23c69d319
Docking: Added context menu option to hide the tab bar of single-window dock nodes, similar to Unreal. ( #2109 )
2018-11-26 17:25:06 +01:00
omar
1e7b50aeae
Viewport: Fixes moving child menu viewport (fix 379733a).
2018-11-26 16:56:58 +01:00
omar
c93e92671a
Viewport: Fixes moving child menu viewport (fix 379733a).
2018-11-26 16:55:40 +01:00
omar
ddc3f8f069
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
# imgui_internal.h
2018-11-26 15:32:04 +01:00
omar
5261e5a6ba
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_sdl.cpp
2018-11-26 14:53:51 +01:00
omar
379733aba1
Viewport: Fix viewport regression with protruding child window creating their own viewport. (fixes cae4d02, 760c1d95) ( #1542 )
2018-11-26 14:53:04 +01:00
omar
131de7ab62
Docking: Added ImGuiConfigFlags_DockingNoSplit flag. ( #2109 )
2018-11-23 18:42:16 +01:00
omar
d8ab2c1ac9
Viewport: Added support for minimized window which caused problem when ImGuiBackendFlags_HasMouseHoveredViewport was not supported. ( #1542 ) + todo
2018-11-23 16:55:33 +01:00
omar
862781b195
Viewport: Avoid unnecessary reapplying platform pos/size every frame. ( #2205 ) + Fix GLFW ImGui_ImplGlfw_CreateWindow() from not applying position immediately. Clear LastNameHash properly (bug already fixed in Docking branch)
2018-11-23 16:35:17 +01:00
omar
cae4d020dc
Viewport: Merging/Extracting to/from main host viewport is now performed based on current state rather than triggers. Windows which don't fit in host window are now consistently in their own viewport. Toward simplifying the UpdateSelectWindowViewport() function. Probably broke something.. ( #1542 )
2018-11-22 21:18:14 +01:00
omar
1f78e08427
Viewport: UpdateTryMergeWindowIntoHostViewport() calls BringWindowToDisplayFront() - possible now that BringWindowToFocusFront() is a different function.
2018-11-22 21:16:43 +01:00
omar
760c1d95b9
Viewport: Merging/Extracting to/from main host viewport is now performed based on current state rather than triggers. Windows which don't fit in host window are now consistently in their own viewport. Toward simplifying the UpdateSelectWindowViewport() function. Probably broke something.. ( #1542 )
2018-11-22 21:13:07 +01:00
omar
510f0e505c
Viewport: UpdateTryMergeWindowIntoHostViewport() calls BringWindowToDisplayFront() - possible now that BringWindowToFocusFront() is a different function.
2018-11-22 20:13:55 +01:00
omar
d9c54826bb
Viewport: Stop relying on viewport->CreatedPlatformWindow to create Platform_DestroyWindow and Renderer_DestroyWindow. Explicitly require Platform_GetWindowFocus() to require supporting empty data.
2018-11-22 17:27:35 +01:00
omar
2515413080
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui_widgets.cpp
2018-11-22 15:29:18 +01:00
omar
d87b80c6c1
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-11-22 15:28:27 +01:00
omar
4a43f347bb
Merge branch 'viewport' into docking
...
# Conflicts:
# examples/example_allegro5/main.cpp
# examples/example_marmalade/main.cpp
2018-11-15 14:00:01 +01:00
omar
dcbf976a8e
Merge branch 'master' into viewport + comments
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
2018-11-15 13:58:46 +01:00
omar
f2d577c33f
Viewport: BeginMainMenuBar(): explicitly set viewport to avoid creating new one when ImGuiConfigFlags_ViewportsNoMerge is set + misc shallow changes.
2018-11-13 22:14:40 +01:00
omar
ae34241f8b
Viewport: BeginMainMenuBar(): explicitly set viewport to avoid creating new one when ImGuiConfigFlags_ViewportsNoMerge is set + misc shallow changes.
2018-11-13 22:11:39 +01:00
omar
1546153ca2
Docking: Fixed a regression where clicking a Tab wouldn't immediately set NavWindow. Which led to breaking the NavSaveLastChildNavWindow/NavRestoreLastChildNavWindow logic. ( #2109 )
2018-11-13 19:31:10 +01:00
omar
a3d6554e8e
Merge branch 'master' into viewport + specific changes for GLFW callbacks
...
# Conflicts:
# examples/example_glfw_opengl3/main.cpp
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx9/main.cpp
# examples/imgui_impl_glfw.cpp
2018-11-08 16:56:51 +01:00
omar
565af90958
Merge branch 'viewport' into docking
2018-11-06 09:52:38 +01:00
omar
797f2044cd
Viewport: Fixed SDL+OpenGL2 example to work with multi-viewports. ( #2175 )
2018-11-06 09:51:09 +01:00
omar
5ea08394f5
Examples: SDL: Tweaked Windows instructions and batch files. ( #2175 )
2018-11-06 09:46:43 +01:00
omar
9ee86f22b7
Examples: Win32: Handle UTf-8 in platform window title setting. ( #2164 )
2018-11-05 17:37:06 +01:00
omar
52ca91ca57
Merge branch 'master' into viewport
2018-11-05 17:29:31 +01:00
omar
168af9b377
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui_demo.cpp
2018-10-25 23:45:19 +02:00
omar
1a6eea012d
Docking: Tweaked tooltip on tabs so they don't show immediately when holding and releasing a tab (using HoveredIdNotActiveTimer) + Minor refactor + Removed legacy .ini parsing.
2018-10-25 23:41:32 +02:00
omar
50f6e12d31
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-10-25 23:41:13 +02:00
omar
c547b2e8ee
Added DockSpaceOverViewport() call, not sure about this because of the menu bar limitation. ( #2109 )
2018-10-25 15:34:53 +02:00
omar
56ba60ee68
Docking: Fixed not saving .ini file correct if DockingEnable flag is cleared. ( #2109 )
2018-10-24 12:25:58 +02:00
omar
f270c81c49
Viewport, Docking: Fixed incorrectly setting the ImGuiViewportFlags_NoInputs flag, affecting split docking node. ( #2109 )
2018-10-23 18:26:45 +02:00
omar
745fda081e
Viewport, Docking: Fixed incorrectly setting the ImGuiViewportFlags_NoInputs flag, affecting split docking node. ( #2109 )
2018-10-23 18:26:35 +02:00
omar
5f8c9ae0ef
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
2018-10-18 10:57:54 +02:00
omar
056af2b1af
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui.h
2018-10-18 10:56:26 +02:00
Brandon
5f79a28a07
Examples: SDL: Fixed usage of SDL_GetDisplayDPI ( #2137 , #1676 )
2018-10-18 10:48:18 +02:00
omar
69db792bf0
Viewport: Exposed GetOverlayDrawList(ImGuiViewport* viewport) in public API. ( #1542 , #1660 , #1878 , etc.)
2018-10-15 17:38:36 +02:00
omar
8b956216b7
Demo: Testing return value of BeginTabBar() for consistency.
2018-10-15 17:19:52 +02:00
omar
e6cc547a94
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.cpp
# imgui_widgets.cpp
2018-10-12 15:51:31 +02:00
omar
e73217d6f7
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_sdl.cpp
# imgui.cpp
2018-10-12 15:50:48 +02:00
omar
2eaf5b03df
Fixes crash introduced in previous commit 9cf94d5.
2018-10-12 13:30:00 +02:00
omar
c398153b40
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_sdl.cpp
# imgui.cpp
# imgui_internal.h
2018-10-12 13:01:20 +02:00
omar
33994bbfa1
Docking: Fixed Modal window from being dockable.
2018-10-12 12:56:56 +02:00
omar
7525637804
Merge branch 'viewport' into docking. 15ec78e Fixes the update of title buffer when docked in a leaf dock node with a single window. Added comment about overwriting DockIsActive in DockNodeUpdate().
...
# Conflicts:
# imgui.cpp
2018-10-11 21:36:00 +02:00
omar
15ec78e9d8
Internal: Moved stored window name update code to the first_begin_of_the_frame block. This will be useful in the Docking branch.
2018-10-11 21:32:20 +02:00
omar
3a7828de6b
Viewport: Added ImGuiConfigFlags_ViewportsDecoration to re-enable platform decoration ( #1542 )
2018-10-09 18:35:45 +02:00
omar
7b3433c68b
Viewport: Added ImGuiConfigFlags_ViewportsDecoration to re-enable platform decoration ( #1542 )
2018-10-09 18:33:39 +02:00
omar
84507cc744
Docking: Kept ImGuiDockNodeFlags_PassthruDockspace and removed ImGuiDockNodeFlags_PassthruInEmptyNodes, ImGuiDockNodeFlags_RenderWindowBg. Doesn't include ImGuiDockNodeFlags_NoDockingInCentralNode. ( #2109 )
2018-10-08 12:37:10 +02:00
omar
cb76c086e0
Docking: Removed context parameter from internal DockBuilderXXX api at it is expected we transition it to be public facing. ( #2109 )
2018-10-05 16:14:51 +02:00
omar
407822e6a5
BeginTabItem: Fixed missing parameter name in .h file messing up with cimgui generator. ( #2115 )
2018-10-04 19:39:02 +02:00
omar
4e30698706
Docking: Added ImGuiDockNodeFlags_PassthruDockspace mode (subdivided in three flags: ImGuiDockNodeFlags_NoDockingInCentralNode, ImGuiDockNodeFlags_PassthruInEmptyNodes, ImGuiDockNodeFlags_RenderWindowBg). Added internal facility for register a rectangular hit-test hole in window. Updated DockSpace demo accordingly. ( #2109 )
2018-10-03 22:32:23 +02:00
omar
2dd8338e7d
Docking: Added ImGuiDockNodeFlags_NoOuterBorder, tweaked DockSpace demo to remove window border. Made docking splitter use the same standard setting as resizing from edges. ( #2109 )
2018-10-03 18:30:36 +02:00
omar
059560d28b
ButtonBehavior, ImGuiButtonFlags_FlattenChildren flag can be used from a child window. Would typically affect calling SplitterBehavior() from a child window.
2018-10-03 18:11:35 +02:00
omar
d348d86df4
Docking: Renamed "DocRoot/DocumentRoot" to "CentralNode", more self explanatory. Moved Splitter update higher up in DockNodeUpdate() + minor misc tweak. ( #2109 )
2018-10-03 17:50:07 +02:00
omar
1d3862b6b3
Docking: Added ImGuiDockNodeFlags_NoDockingInsideDocRootNode flag. Honoring ImGuiDockNodeFlags_NoSplit in child node is already split (so we can use DockBuilder and then lock the layout). Added those options to the demo. ( #2109 )
2018-10-03 14:57:28 +02:00
omar
bd82539ad5
Docking: Fixed DockSpace() child window displaying a scrollbar behind the node backgrounds. Rename ImGuiCol_DockingBg to ImGuiCol_DockingEmptyBg. Added ImGuiDockNode::IsLeaftNode(). ( #2109 )
2018-10-03 14:42:47 +02:00
omar
83f55c9de5
Merge branch 'viewport' into docking
2018-10-02 18:55:48 +02:00
omar
33b88a0339
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-10-02 18:55:36 +02:00
omar
44bfa24cc3
Docking: Fixed crash using DockBuilderSplitNode(). ( #2109 )
2018-10-02 11:09:53 +02:00
omar
2cff3f6a65
Docking: Renamed io.ConfigDockingWithKeyMode to io.ConfigDockingWithShift.
2018-10-01 18:35:21 +02:00
omar
b48ed9ebc0
Docking: Better tracking of current dock id for inactive and uncreated windows (in settings etc.). + Fixed assert when docking a single-visible leaf node of a hierarchy into another
2018-10-01 11:56:26 +02:00
omar
4e717b524c
Docking: Fixes for C++03 compilers.
2018-10-01 10:40:43 +02:00
omar
ae657a349a
Docking: Fixed extracting a dock node from a document root: document root should be preserved.
2018-09-30 23:39:38 +02:00
omar
ed3c015f4e
Docking: Reorganizing some of the tab-bar selection and window focus related code.
2018-09-30 23:39:38 +02:00
omar
9cfc40c2cc
Docking: Demo: Displaying a message if master docking flag is disabled. + DockSpace() early out + comments.
2018-09-30 23:39:37 +02:00
omar
6ebc63d3ef
Docking: Various sanity fixes + fixed tab-bar items sorting issue when docking single window with a dock node into single window without dock node.
2018-09-30 22:07:57 +02:00
omar
1ae0a1e658
Docking: Fix DockContextRebuild() temporarily invalidating dockid reference leading to undesirable merging of nodes.
2018-09-30 19:34:03 +02:00
omar
46dff42239
Docking: Fixed dock node with single window accidental stealing of non-owned host viewport (leading to general havoc).
2018-09-30 19:30:51 +02:00
omar
35d1fb7b34
Style: Added style.TabRounding setting.
2018-09-30 18:41:07 +02:00
omar
876a3299fc
Docking: Added DockBuilderCopyDockspace() wip. Added DockBuilderCopyWindowSettings(), renamed DockBuilderForkNode() to DockBuilderCopyNode().
2018-09-28 17:58:55 +02:00
omar
93896d550e
Added FindOrCreateWindowSettings() internal helper.
2018-09-26 23:01:51 +02:00
omar
18ffb7dd86
Docking: Reworked DockContextPruneUnusedSettingsNodes() to prune entire unused trees.
2018-09-26 23:01:51 +02:00
omar
c0a89f8f4e
ImPool: Added Reserve() helper function.
2018-09-26 21:51:30 +02:00
omar
c6193d0605
Merge branch 'viewport' into docking
2018-09-26 21:35:09 +02:00
omar
6cc380fc41
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_win32.cpp
# examples/imgui_impl_win32.h
# imgui.cpp
2018-09-26 21:34:52 +02:00
omar
4053d9d638
Docking: Fixed tab order restoring (follow up to 67be485e, broken in 455dc6e2)
2018-09-26 17:11:37 +02:00
omar
45731cca19
Docking: Added DockBuilderForkNode() primitive for usage for user code to fork/copy entire layouts. This will probably need to be added to as I find ways to migrate patterns from user code to the library. Added IMGUI_DEBUG_DOCKING_INI helper to facilitate debugging. (+1 squashed commits)
2018-09-26 17:11:37 +02:00
omar
dc92431328
Docking: Minor renaming. DockContextAddNode() uses 0 as marker for automatic ID selection + TODO update and moved docking entries to docs/TODO.txt
2018-09-26 12:58:14 +02:00
omar
d3e8e5731a
Docking: Renamed SetNextWindowDock() to SetNextWindowDockId(). Added GetWindowDockId().
2018-09-25 17:45:06 +02:00
omar
53a5d32df1
Docking: Reworked SetNextWindowUserType() as SetNextWindowDockFamily(), allowing multiple scene to be tagged with their scene id and not receive tabs from other scene + persistent storage for family id to allow for docking tree fork/remap.
2018-09-25 16:15:25 +02:00
omar
85e1e2b0c8
Docking: Added DockBuilderGetNode() wrapper for consistency.
2018-09-25 14:14:07 +02:00
omar
9960ccddb2
Docking: Added DockBuilderRemoveNode() + various tweaks. Fixed dragging/undocking dock node from CollapseButton.
2018-09-24 23:19:18 +02:00
omar
4021776d0f
Docking: Fix for undocking node where the dockspace node is attached to an immovable parent window. + Tweak .ini output.
2018-09-24 22:14:12 +02:00
omar
fa0ce4b7d5
Docking: Some DockBuilder functions are applied on settings data if windows are not present. Added DockBuilderCreateNode which needs a size else if we can't split properly. DockNodeTreeSplit() doesn't clamp SizeRef. (+1 squashed commits)
2018-09-24 16:38:44 +02:00
omar
2a5ce1849a
Docking, Viewport: Reworked viewport inheritance/transition so that extracting a dock node from a split node owning its viewport will have both viewports be in the expected OS z-order. (The lower window re-use the exiting viewport, the detached node uses a new viewport:
2018-09-24 10:53:51 +02:00
omar
ae4b838840
Docking, Viewport: Rework ownership transfer/stealing to fix issues where non-child windows could be stick marked as not owning their viewport.
2018-09-24 10:48:56 +02:00
omar
79c075ca09
Docking+Viewport: Fixed PlatformRequestClose (e.g. ALT-F4) being redrected to the first window of the docking node instead of the selected one.
2018-09-24 10:48:55 +02:00
omar
1127804109
Viewport: Misc tweaks.
2018-09-24 10:39:15 +02:00
omar
67be485e24
Docking: Fixed losing tab bar selection when extracting a whole docked node + reusing existing dock node when possible.
2018-09-21 16:23:00 +02:00
omar
fda57f48d5
Merge branch 'viewport' into docking
...
# Conflicts:
# examples/example_glfw_opengl2/main.cpp
# examples/example_glfw_opengl3/main.cpp
# examples/example_glfw_vulkan/main.cpp
# examples/example_sdl_opengl2/main.cpp
# examples/example_sdl_opengl3/main.cpp
# examples/example_sdl_vulkan/main.cpp
# examples/example_win32_directx10/main.cpp
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx12/main.cpp
# examples/example_win32_directx9/main.cpp
2018-09-21 11:52:32 +02:00
omar
840652830d
Docking: Fixed undocking on whole dock node from leaving undesirable empty node in the docking tree. Fixed calls to MarkIniSettingsDirty().
2018-09-21 11:50:49 +02:00
omar
5eabf44021
Nav: Use Platform_SetWindowFocus when CTRL+Tabbing to another viewport.
2018-09-21 11:49:43 +02:00
omar
599d5f185c
TabBar: Recover if SelectedTabId doesn't exist anymore.
2018-09-21 11:02:03 +02:00
omar
7abc368927
Viewport: GLFW: Build fix for pre GLFW 3.2 ( #1542 )
2018-09-20 18:46:36 +02:00
omar
b57baa5ba0
Viewport: Enabled viewports by default in more example apps.
2018-09-20 10:31:23 +02:00
omar
3e47978a80
Docking: Renamed ImGuiDockSpaceFlags to ImGuiDockNodeFlags. Clarified in comments/demos that DockSpace creates a Node. Renamed IsExplicitRoot to IsDockSpace. Assert against explicitly calling DockSpace twice in a frame.
2018-09-20 09:52:51 +02:00
omar
e647f89c33
Docking: Added undocking of whole dock node by dragging from the Collapse button. Super useful and works great!
2018-09-19 22:38:40 +02:00
omar
82978fc88f
Docking: Fix of title bar flicker during rebuild. Fixed dragging of DockNode always triggering BeginAsDockableDragDropSource() when io.ConfigDockingWithKeyMod is false.
2018-09-19 19:41:31 +02:00
omar
95d49c3b98
Docking: Internals renaming LastExplicitSize to SizeRef (invalidate .ini data) + todo
2018-09-19 18:25:26 +02:00
omar
455dc6e229
Docking: Creating tab bar and adding window into tab bar immediately (not sure why I didn't do that before). Probably broke something subtle, will find out. *Edit* Initially broke restoring selected tab.
2018-09-19 16:00:13 +02:00
omar
291bfe6841
Docking: work to allow programmatic control of dock nodes, various refactor + assert fix. Probably broke something (but I haven't found what yet!)
2018-09-19 16:00:13 +02:00
omar
35032d41fa
Docking: Internals: Transitioning some code toward consistently using ImGuiContext* ctx parameter instead of ImGuiDockContext
2018-09-17 17:06:52 +02:00
omar
28094b7cea
Docking: Fixed central docking display with ImGuiDockSpaceFlags_NoSplit, affecting in particular with io.ConfigDockingWithKeyMod = false. + comments, asserts
2018-09-17 15:39:35 +02:00
omar
b55b9aee9b
Fixed bad merge ( a82be53) where we lost the version number in Docking branch + moved Docking related API together for now.
2018-09-14 18:09:46 +02:00
omar
0f1c21a6c9
Docking: Changed DockSpace() signature to take an ID, as ID will frequently be used by other API it makes more sense to let the user compute it.
2018-09-14 18:09:04 +02:00
omar
175bab4f5f
Docking: Removed SplitRatio from ImGuiDockNode and ImGuiDockNodeSettings, which we don't need anymore.
2018-09-14 17:51:30 +02:00
omar
ba7b68798d
Docking: Misc rework/rename toward being able to rebuild a branch selectively, so we can honor settings changes on a per Dockspace basis. + Comments
2018-09-14 16:01:47 +02:00
omar
e32256b4b4
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui_demo.cpp
# imgui_internal.h
2018-09-14 11:38:10 +02:00
omar
132d8c5a99
Viewport: Increased threshold for setting ImGuiViewportFlags_NoFocusOnAppearing. ( #1542 ), 2 doesn't seem enough with some docking setup.
2018-09-14 11:37:17 +02:00
omar
b85f345369
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_dx9.cpp
# examples/imgui_impl_opengl2.cpp
# examples/imgui_impl_opengl3.cpp
# examples/imgui_impl_vulkan.cpp
2018-09-14 11:32:55 +02:00
omar
85a3fb3bef
Viewport: Fix an issue introduced on ~August 16, which would assert when viewport are disabled. Also made the DestroyPlatformWindow process more sturdy. ( #1542 )
2018-09-13 17:11:06 +02:00
omar
6d91055462
Docking: Fixed floating->docking transition on a platform window mistakenly destroying the platform window because the upcoming tab isn't visible and triggers viewport GC. Fixed missing title bar data on recreate window.
2018-09-13 16:56:57 +02:00
omar
136fc56af0
Docking: Better handling of window losing its dock node or having its dock node not active.
2018-09-13 14:38:37 +02:00
omar
c355ed1267
Docking: Flicker fix when clicking on a Tab leading of a new window, in particular would be noticeable when using nested tab bars.
2018-09-13 12:44:29 +02:00
omar
1cefc48f13
Docking: Internal renaming and comments. + Fixed DockNodeMoveChildNodes() to transfer the LastExplicitSize value (was inconsequential afaik).
2018-09-11 18:53:08 +02:00
omar
211a9c8fd2
Docking: Added ImGuiDockSpaceFlags_KeepAliveOnly, important for multiple level of tabs. (also renamed ImGuiDockFlags to ImGuiDockSpaceFlags.)
2018-09-11 17:58:09 +02:00
omar
f29b3b4033
Nav: Added a way for code to cancel Alt for menu toggle (ImGuiNavInput_KeyMenu_). Cancelling out on platform window. close request. ( #1542 , #787 )
2018-09-11 15:35:53 +02:00
omar
df65d4a14f
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2018-09-11 11:18:46 +02:00
omar
c4e26f4b92
Nav: Added a way for code to cancel Alt for menu toggle (ImGuiNavInput_KeyMenu_). Cancelling out on platform window. close request. ( #1542 , #787 )
2018-09-10 22:19:54 +02:00
omar
416918429d
Docking: Added Type enum in ImGuiDockRequest. Renamed fields. DockSpace() skips node update if already submitted (when transitioning from implicit -> explicit DockSpace).
2018-09-10 22:09:43 +02:00
omar
d5692bff00
Nav, Focus: Fixed ImGuiWindowFlags_NoBringToFrontOnFocus windows not being restoring focus properly after the main menu bar or last focused window is deactivated.
2018-09-10 20:30:14 +02:00
omar
dcef0c0237
Docking: Updating LastFrameActive earlier in Begin() because BeginDocked() will need to use it. Extracted some code into a DockNodeIsDropAllowedOne() function. Comments.
2018-09-10 20:23:03 +02:00
omar
a68c98bb67
Docking: Added SetNextWindowUserType() + user type filtering in dockspace and window merging. Added DockSpace() flag ImGuiDockFlags_NoSplit. Renaming. Reworked the DockNodeUpdateFindOnlyNodeWithWindows code so DockNodeUpdate can access the first window.
2018-09-10 14:32:00 +02:00
omar
b872aa5c8e
Docking: io.ConfigResizeWindowsFromEdges default to true in Docking branch. Moved code in BeginTabItem().
2018-09-10 11:24:27 +02:00
omar
a82be53407
Merge branch 'docking2' into viewport_docking
...
# Conflicts:
# examples/example_glfw_opengl2/main.cpp
# examples/example_glfw_opengl3/main.cpp
# examples/example_glfw_vulkan/main.cpp
# examples/example_sdl_opengl3/main.cpp
# examples/example_sdl_vulkan/main.cpp
# examples/example_win32_directx10/main.cpp
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx12/main.cpp
# imgui.cpp
# imgui.h
# imgui_demo.cpp
# imgui_internal.h
2018-09-06 22:28:21 +02:00
omar
49533bc86e
Examples: Enabled Docking + Nav by default in the branch. ( #351 )
2018-09-06 21:53:35 +02:00
omar
e381f22ac1
Docking: Added Docking system. (Part 3) ( #351 )
2018-09-06 21:45:46 +02:00
omar
9ac1e93aa1
Docking: Added Docking system. (Part 2) ( #351 )
2018-09-06 21:45:46 +02:00
omar
bd5b38e232
Docking: Added Docking system. Enable with io.ConfigFlags |= ImGuiConfigFlags_DockingEnable. (Part 1) ( #351 )
2018-09-06 21:45:46 +02:00
omar
5adcb9ce6d
Docking: Added empty skeleton/sections to facilitate diff/patch of incoming code (otherwise git gives us a messier patch).
2018-09-06 21:45:45 +02:00
omar
2ec135c9f7
Docking: Added ImVec2[] non const operator. Added ImStrSkipBlank. Reseting some values earlier in Begin. Added IMGUI_DEBUG_LOG() helper. Added docking source code section.
2018-09-06 21:45:45 +02:00
omar
58d46e1fe6
Tabs: Added BeginTabBar(), EndTabBar(), BeginTabItem(), EndTabItem() + demo. ( #261 , #351 )
2018-09-06 21:45:44 +02:00
omar
c039a77d21
Internals: Added ImPool helper structure. Moved ImVec1f.
2018-09-06 21:45:10 +02:00
omar
741bdf151a
Added ImGuiWindowFlags_UnsavedDocument flags.
2018-09-06 21:45:10 +02:00
omar
5070c769b8
Internals: Windows hidden with HiddenFramesRegular (but NOT HiddenFramesForResize) preserve their SizeContents, so restoring a auto-resize window after it's been hidden by tabs won't reset its size for a frame. Arguable. Let's see how it goes. (Followup to b48e295bddbf965d7382ec5578ed05d2fe601114)
2018-09-06 21:45:09 +02:00
omar
52e0de84a9
Internals: Split RenderTextClipped into two functions.
2018-09-06 21:45:09 +02:00
omar
b974fffea0
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-09-06 15:59:35 +02:00
omar
a2616c79fe
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-09-06 11:42:11 +02:00
omar
31b5b18611
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-09-05 20:59:27 +02:00
omar
8601c39571
Viewport: Making the code a little more sturdy (flag changes) + added descriptions. ( #1542 )
2018-09-05 17:50:55 +02:00
omar
af27ec296b
Merge branch 'master' into viewport + added viewport ConfigFlags/BackendFlags
...
# Conflicts:
# imgui.cpp
# imgui.h
2018-09-05 17:38:47 +02:00
omar
a848807847
Minor inconsequential merges from Master/Docking branches
2018-09-05 11:51:45 +02:00
omar
bdb30d7145
Merge branch 'master' into viewport
2018-09-05 11:08:57 +02:00
omar
897e5c6231
Viewport: Moved code following refactor. ( #2036 , #1542 )
2018-09-05 11:08:44 +02:00
omar
1007873d94
Misc: merge minor/inconsequential stuff from Docking branch to reduce drift.
2018-09-03 19:51:22 +02:00
omar
fd201a90f1
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-08-31 18:39:02 +02:00
omar
a52ce7ac8b
Merge branch 'master' into viewport
2018-08-31 11:14:05 +02:00
omar
fd90afef43
Refactor: Internals: Moved Viewport functions in imgui.cpp in their own section. (part 3) ( #2036 , #1542 )
2018-08-31 11:11:18 +02:00
omar
5207afa0dd
Refactor: Internals: Moved Viewport functions in imgui.cpp in their own section. (part 2) ( #2036 , #1542 )
2018-08-31 11:06:21 +02:00
omar
0699310b9c
Merge branch 'viewport_164' into viewport
2018-08-31 10:28:37 +02:00
omar
0c24fe276c
Merge branch 'master_164' into viewport_164
...
# Conflicts:
# imgui.cpp
# imgui_draw.cpp
# imgui_widgets.cpp
2018-08-31 10:28:21 +02:00
omar
c83391262e
Refactor: Internals: Moved Tooltip functions in imgui.cpp in their own section + comments. ( #2036 )
2018-08-30 21:21:14 +02:00
omar
00262d51ad
Refactor: Internals: Moved Popup functions in imgui.cpp in their own section. (part 3) ( #2036 )
2018-08-30 21:19:30 +02:00
omar
d7c04ccbfb
Refactor: Internals: Moved Popup functions in imgui.cpp in their own section. (part 2) ( #2036 )
2018-08-30 21:18:16 +02:00
omar
b1f263b34b
Refactor: Internals: Moved Popup functions in imgui.cpp in their own section. (part 1) ( #2036 )
2018-08-30 21:16:30 +02:00
omar
a58e4dfd0f
Refactor: Moved Scrollbar function from imgui.cpp to imgui_widgets.cpp, added file index ( #2036 )
2018-08-30 21:16:23 +02:00
omar
18d6490dbd
Merge branch 'master_164' into viewport_164
...
# Conflicts:
# imgui.cpp
2018-08-30 20:36:37 +02:00
omar
346f83e014
Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. DONE! (part 9) ( #2036 , #787 )
2018-08-30 19:41:02 +02:00
omar
fefcc77f13
Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. (part 8) ( #2036 , #787 )
2018-08-30 19:40:40 +02:00
omar
b6cdfef442
Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. (part 7) ( #2036 , #787 )
2018-08-30 19:38:44 +02:00
omar
172e426ba9
Refactor: Internals: Restored new lines in NavUpdate() ... (part 6) ( #2036 , #787 )
2018-08-30 19:36:59 +02:00
omar
f74d9ec7f7
Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section (moved NavUpdate which would not diff properly unless empty lines were removed, hence the previous patch). (part 5) ( #2036 , #787 )
2018-08-30 19:36:40 +02:00
omar
9093166eea
Refactor: Internals: Removing new lines from NavUpdate solely because I couldn't find another way to get a neat diff/patch when moving it. (part 4) ( #2036 , #787 )
2018-08-30 19:35:19 +02:00
omar
f5ed5478e1
Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section (extracted some code out of NavUpdate()). (part 3) ( #2036 , #787 )
2018-08-30 19:35:12 +02:00
omar
9a4234ea8e
Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. (part 2) ( #2036 , #787 )
2018-08-30 19:35:06 +02:00
omar
af002dc861
Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. (part 1) ( #2036 , #787 )
2018-08-30 19:34:48 +02:00
omar
adeb993122
Refactor: Internals: Moved Logging functions in imgui.cpp in their own section. ( #2036 )
2018-08-30 19:33:02 +02:00
omar
81bc4265e5
Refactor: Internals: Moved Settings functions in imgui.cpp in their own section. ( #2036 )
2018-08-30 19:32:52 +02:00
omar
a44c5f7afe
Refactor: Internals: Moved various functions in imgui.cpp ( #2036 )
2018-08-30 19:30:17 +02:00
omar
66b51940bd
Refactor: Moved README, ChangeLog, TODO files to docs/ folder + update Changelog. ( #2036 )
2018-08-30 19:30:10 +02:00
omar
d4e49a2697
Merge commit '2714f8fa23d8ca44e98272baf885d12b5185d084' into viewport_164
...
# Conflicts:
# imgui.cpp
# imgui_widgets.cpp
2018-08-30 19:29:46 +02:00
omar
521405488b
Refactor: Moved Slider/Drag/Input functions + support DataType stuff from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 19:21:50 +02:00
omar
24dfa0c957
Refactor: Moved InputText functions from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 19:12:33 +02:00
omar
158a65c98f
Refactor: Moved ColorEdit/ColorPicker/ColorButton/etc. functions from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 19:04:49 +02:00
omar
6caf074bd5
Refactor: Moved Tree/Selectable functions from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 19:04:42 +02:00
omar
905e14f384
Refactor: Moved Plot/Value functions from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 19:04:36 +02:00
omar
4be79a8955
Refactor: Moved Menu functions from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 19:04:04 +02:00
omar
2d952504ed
Refactor: Moved Combo/ListBox functions from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 19:01:05 +02:00
omar
43219d36a6
Refactor: Moved Button/Image/Checkbox/RadioButton/Bullet/ProgressBar functions from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 19:00:59 +02:00
omar
99b27488e7
Refactor: Moved Text functions from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 19:00:52 +02:00
omar
18972c5513
Refactor: Added imgui_widgets.cpp headers to easily merge in the functions in all our branches. ( #2036 )
2018-08-30 19:00:42 +02:00
omar
e312363007
Refactor: Added empty imgui_widgets.cpp + updated project files / makefiles etc. accordingly ( #2036 )
2018-08-30 19:00:33 +02:00
omar
6c34bffbb5
Version 1.64 WIP
2018-08-30 19:00:22 +02:00
omar
36b2f64051
Merge branch 'master' into viewport
...
# Conflicts:
# examples/example_glfw_opengl3/main.cpp
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui_internal.h
2018-08-29 17:40:52 +02:00
omar
705ff49400
Examples: Vulkan: Viewport: Tweak to improve framerate on multiple-viewport situations, tho it is still halving the unthrottled framerate on nvidia for some reason.. Followup to 4dea032 ( #1542 )
2018-08-25 21:21:14 +02:00
omar
f81caac459
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui.h
2018-08-25 21:19:42 +02:00
omar
0ada716184
Examples: Viewport: Disabling swap intervals / vsync on secondary context to match what the DX11 bindings is doing. ( #1542 )
2018-08-25 20:15:18 +02:00
omar
e9c849884a
Viewport: Fixed warnings due to bad merge.
2018-08-24 15:42:31 +02:00
omar
a4191857c1
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_vulkan.h
# imgui.cpp
2018-08-22 21:35:44 +02:00
omar
9d7480774f
Merge branch 'master' into viewport
2018-08-17 11:37:03 -07:00
omar
5d630c930d
Viewport: DestroyPlatformWindows() checks for the bool CreatedPlatformWindow flag correctly. Note that we set CreatedPlatformWindow=true for the main viewport to allow the back-end to store data in the public Viewport structure (for consistency). ( #1542 )
2018-08-15 16:15:44 -07:00
omar
9852649e97
Viewport: Initial viewport DpiScale only queried on viewport creation. Because AddUpdateViewport() is called repeatedly on MovingWindow or with ImGuiConfigFlags_ViewportsNoMerge, the DpiScale update would break ImGuiConfigFlags_DpiEnableScaleViewports. ( #1542 )
2018-08-14 19:17:33 -07:00
omar
1722a31155
Viewport: ImGuiWindowFlags_NoFocusOnAppearing affects viewport accordingly. ( #1542 )
2018-08-14 14:58:19 -07:00
omar
e5f2295398
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_opengl2.cpp
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
2018-08-13 17:50:48 -07:00
omar
8ef0ca9765
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_sdl.cpp
# imgui.cpp
2018-08-01 12:27:56 +02:00
omar
c031ea088a
Viewport: Fixed an assert on loss of valid mouse position while dragging a tooltip (would happen often when using debugger breakpoint). Not totally sure about best solution, may not be important.
2018-07-31 13:46:37 +02:00
omar
9824bf1ba1
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
2018-07-31 12:12:56 +02:00
omar
0095b7a0ea
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2018-07-26 23:55:23 +02:00
omar
6b4f6cd2c5
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-07-26 19:25:55 +02:00
omar
1b646a4440
Nav: Tweaked CTRL+TAB to hide visual noise on fast switch + fading out screen dimming and highlight to make the experience less harsh
2018-07-26 19:01:51 +02:00
omar
f22024cb19
Internals: Exposed NavScoreItemGetQuadrant() as ImGetDirQuadrantFromDelta() in imgui_internal.h
2018-07-24 16:54:29 +02:00
omar
049c515840
Added non-const ImVec2 [] operator for consistency (and because some docking code needs it.)
2018-07-24 16:54:19 +02:00
omar
352695bc57
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_sdl.cpp
# imgui.cpp
2018-07-24 16:50:49 +02:00
omar
74077491ce
Viewport: Fixed a situation when the implicit Debug window can hold on a zombie viewport which platform window is not properly destroyed. ( #1542 )
2018-07-22 16:24:06 +02:00
omar
23b67e6ff5
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-07-17 19:52:14 +02:00
omar
7b4fbf4301
Viewport: Removed the need for the back-end to fill io.MousePosViewport, it seems unnecessary at this point. ( #1542 )
2018-07-17 16:37:10 +02:00
omar
b8b74970d7
Internals: Viewport: Renamed g.MouseRefViewport to g.MouseViewport. ( #1542 )
2018-07-17 16:04:47 +02:00
omar
defbf1c4b3
Viewport: when moving window we use the moving window viewport unless drag and dropping. This is to fix e.g. IsItemHovered() + Tooltip pattern that may be active while moving a window. ( #1542 )
2018-07-17 15:56:02 +02:00
omar
16c6734bcb
Viewport: Revert part of 7abf72e, the viewport ownership stealing is problematic. ( #1542 ). Will rework in the context of docking. (+1 squashed commits)
...
+ Fixed unused prototype warning (left-over from a merge)
2018-07-17 15:14:19 +02:00
omar
ee98a069f0
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx11.cpp
# imgui_demo.cpp
2018-07-16 22:25:36 +02:00
omar
b30b82835a
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
# imgui_internal.h
2018-07-12 11:48:49 +02:00
omar
d107146687
Viewport: Fixed CTRL+TAB windowing list displaying too many dimming layers (fix dd61c48 for viewport branch)
2018-07-12 11:19:17 +02:00
omar
88df66ec83
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui.h
# imgui_draw.cpp
# imgui_internal.h
2018-07-12 10:03:18 +02:00
omar
ce18371d1b
Internals: Fixed CalcSizeContents() returning negative value on first run (inconsequential afaik, but fixing for sanity)
2018-07-09 21:49:49 +02:00
omar
9dea27b273
Viewport: Made it possible for the moving window to detach and recreate its own Viewport (used by Docking)
2018-07-09 21:18:41 +02:00
omar
140ece0aeb
Internals: HoveredWindowUnderMovingWindow special handling for drag and drop of window without altering the _NoInputs window flag, which worked but messed up the IsWindowHovered() user-facing flags.
2018-07-09 21:18:10 +02:00
omar
7abf72ec78
Viewport: Reapply/recover ownership of viewport which is convenient for docking but also can recover from faulty .ini files. ( #1542 )
2018-07-09 21:13:51 +02:00
omar
574185426c
Internals: Misc/shallow merge from Docking branch.
2018-07-09 21:06:46 +02:00
omar
dd61c4802a
Nav: Added a CTRL+TAB window list and changed the highlight system accordingly. ( #787 )
2018-07-09 19:22:49 +02:00
omar
14cef31467
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-07-09 16:24:01 +02:00
omar
6277781e83
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-07-08 13:08:16 +02:00
omar
770cba0bd0
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_glfw.h
# examples/imgui_impl_sdl.cpp
# examples/imgui_impl_sdl.h
# examples/imgui_impl_win32.cpp
# examples/imgui_impl_win32.h
# imgui.cpp
# imgui_internal.h
2018-07-02 20:13:16 +02:00
omar
c38fe6b0e1
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-06-26 12:41:36 +02:00
omar
d3ee3e7ab5
Fixed merge.
2018-06-23 09:39:05 +02:00
omar
ce500f8727
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_win32.cpp
2018-06-22 12:01:42 +02:00
omar
9a5f742e63
Fixed merge.
2018-06-15 19:48:51 +02:00
omar
7e6700d261
Viewport: Fix lagging overlay clipping rectangle on viewport owning window (affecting sync of multi-layered docking overlays). This was extremely tricky to find and fix (*). ( #1541 )
...
(*) Merely assigning viewport->Pos = pos in UpdateMovingWindow() broke a series of thing because the code that assign viewports and viewport flags relied on moving window leaving its own viewport the first time to set the NoInputs flag.
2018-06-15 19:40:17 +02:00
omar
c71522adc5
Viewport: Comments. Removed misleading test for !window->ViewportOwned in UpdateSelectWindowViewport(). ( #1541 )
2018-06-15 19:40:00 +02:00
omar
70b0bd13aa
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_opengl2.cpp
# examples/imgui_impl_opengl2.h
# examples/imgui_impl_opengl3.cpp
# examples/imgui_impl_opengl3.h
# imgui.cpp
# imgui.h
2018-06-14 15:30:15 +02:00
omar
087ab2acbf
Examples: Fixed example vcproj names in Viewport branch.
2018-06-13 15:59:21 +02:00
omar
24aeca3d0c
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx10.h
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_glfw.h
# examples/imgui_impl_opengl2.cpp
# examples/imgui_impl_opengl2.h
# examples/imgui_impl_opengl3.cpp
# examples/imgui_impl_sdl.cpp
# examples/imgui_impl_sdl.h
# examples/imgui_impl_vulkan.h
# examples/imgui_impl_win32.cpp
2018-06-12 16:24:24 +02:00
omar
9660657e95
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_sdl.cpp
2018-06-10 15:59:35 +02:00
omar
13a3a2d0f3
Merge branch 'examples_refactor2' into viewport ( #1870 )
...
# Conflicts:
# examples/README.txt
# examples/directx11_example/main.cpp
# examples/directx12_example/main.cpp
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx12.cpp
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_opengl2.cpp
# examples/imgui_impl_opengl2.h
# examples/imgui_impl_opengl3.cpp
# examples/imgui_impl_sdl2.cpp
# examples/imgui_impl_sdl2.h
# examples/imgui_impl_vulkan.cpp
# examples/imgui_impl_vulkan.h
# examples/imgui_impl_win32.cpp
# examples/imgui_impl_win32.h
# examples/opengl2_example/main.cpp
# examples/opengl3_example/main.cpp
# examples/sdl_opengl2_example/main.cpp
# examples/sdl_opengl3_example/main.cpp
# examples/sdl_vulkan_example/main.cpp
# examples/vulkan_example/main.cpp
# imgui.cpp
# imgui.h
2018-06-10 15:04:46 +02:00
omar
ff4f40de41
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-06-08 20:22:07 +02:00
omar
24fc7c30dd
Examples: Documentation
2018-06-08 00:00:12 +02:00
omar
06aa9d8d9a
Examples: Fixed Makefile, batch files.
2018-06-07 22:30:10 +02:00
omar
8c374512fd
Examples, Platform: Removed the call to ImGui::NewFrame() from the platform _NewFrame() function e.g. ImGui_ImplWin32_NewFrame(), ImGui_ImplSDL2_NewFrame(), ImGui_ImplGlfw_NewFrame(), etc. Moved to main.cpp for consistency. ( #1542 )
2018-06-07 22:10:31 +02:00
omar
77d51ebf24
Examples: Added .. folder in include path to remove the awkward #include "../imgui_impl_xxx.h" statements.
2018-06-07 19:20:04 +02:00
omar
93b032ea92
Merge branch 'master' into viewport
...
# Conflicts:
# examples/opengl3_example/imgui_impl_glfw_gl3.cpp
# examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
# imgui.cpp
2018-06-05 15:51:52 +02:00
omar
03c8a78f04
Merge branch 'master' into viewport
...
# Conflicts:
# examples/opengl2_example/imgui_impl_glfw_gl2.cpp
# examples/opengl3_example/imgui_impl_glfw_gl3.cpp
# examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
# examples/sdl_opengl3_example/imgui_impl_sdl_gl3.h
# examples/vulkan_example/imgui_impl_glfw_vulkan.cpp
2018-05-25 12:44:56 +02:00
omar
002e513b82
Added float GetWindowDpiScale(). ( #1542 , #1676 )
2018-05-23 18:25:37 +02:00
omar
ed84b2aaeb
Viewport, Platform: Fixed a crash if the back-end set the PlatformRequestMove/PlatformRequestSize flags while viewports were disabled (it happened in the SDL back-end, and generally we want to tolerate it to make back-end implementation simpler). ( #1542 )
2018-05-23 18:01:50 +02:00
omar
1176460e44
Viewport: Fixed using ImGuiConfigFlags_ViewportsNoMerge always showing the Debug window by testing the Active flag as well. ( #1542 )
2018-05-19 20:45:49 +02:00
omar
01429e7d16
Merge branch 'master' into viewport
...
# Conflicts:
# examples/opengl3_example/imgui_impl_glfw_gl3.cpp
# examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
# imgui.cpp
# imgui.h
2018-05-17 15:03:56 +02:00
omar
4c35e00f49
Viewport: Made GetWindowViewport() not flag the window as written to.
2018-05-16 22:48:54 +02:00
omar
7f960616e0
Viewport: When resizing/moving a window using the host OS/WM we attempt to merge back into host viewport. ( #1542 )
2018-05-16 14:34:46 +02:00
omar
1cafdb5b46
Viewport: Added GetWindowViewport() to query the current viewport for the current window. Comments. ( #1542 )
2018-05-15 11:04:07 +02:00
omar
b0fb340b57
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-05-14 13:15:21 +02:00
omar
85f3ba844c
Merge branch 'master' into viewport
...
# Conflicts:
# examples/sdl_opengl2_example/imgui_impl_sdl_gl2.cpp
# examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
# imgui.cpp
# imgui.h
2018-05-11 22:22:41 +02:00
omar
090eb437ed
Viewport, Platform: Cleaned up xxx_UpdateMouseCursor() functions to make them more consistent. ( #1542 )
2018-05-11 16:41:43 +02:00
omar
d574604a5d
Viewport, Platform: Win32: Fixed handling of io.WantSetMousePos + added a bunch of comments. GLFW, SDL2: Added handling of io.WantSetMousePos. ( #1542 )
2018-05-11 16:41:03 +02:00
omar
6eacddb50f
Viewport: Changed Monitor field to use Pos+Size (more consistent), changed FullMin,FullMax to MainPos,MainSize. Made main viewport accessible in PlatformIO on first frame. Fixed casing of ImGuiViewportFlags_TopMost flag. ( #1542 )
2018-05-10 13:10:04 +02:00
omar
4ff23d3306
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_dx9.cpp
# imgui.cpp
# imgui.h
2018-05-07 22:23:58 +02:00
omar
c7687fc1d6
Viewports: Comments on ImGuiConfigFlags_DpiEnableScaleViewports and ImGuiConfigFlags_DpiEnableScaleFonts. ( #1542 )
2018-05-07 10:44:08 +02:00
omar
c47d34cf70
Viewport: Exposing SetNextWindowViewport(). Used in demo and old/obsolete SetNextWindowPosCenter() (which is an interesting case). Fixed back-end likely crash calling GetFocus() after viewport destruction. Fixed metrics crash.
2018-04-27 15:13:22 +02:00
omar
cd51f37fc0
Viewport, Platform: Refresh monitor list (win32, glfw) + avoid calling GetWindowFocus before platform window creation to not require of backend to null-check things inconsistently. ( #1542 )
2018-04-26 16:18:47 +02:00
omar
da70c837da
Viewport: Removed unnecessary fields (now that the coordinate system is consistent accross viewports): MouseRefPrevViewport, MouseClickedPosViewportId. ( #1542 )
2018-04-26 15:30:19 +02:00
omar
f1ae07e532
Viewport, Platform: Using Platform_GetWindowFocus to provide a much stronger heuristic of platform z-order, in replacement for when the back-end cannot provide io.MouseHoveredViewport. The pressure for it to work well increased with the use of viewports by popups/menus. ( #1542 )
2018-04-26 11:52:38 +02:00
omar
d9cd494eaf
Viewport: Moved ScaleWindow* code in a proper location. Various comments.
2018-04-25 23:21:26 +02:00
omar
5979233a3c
Misc: tweaks + minor changes merged from master to reduce branch drift. Removed code that ended up unused.
2018-04-25 18:23:39 +02:00
omar
0b1d6a0d52
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_internal.h
2018-04-25 18:13:23 +02:00
omar
7b433605f9
Viewport: Avoid creating viewport on drag (fix cc882b0723)
2018-04-25 15:38:32 +02:00
omar
3b9b1956cd
Merge branch 'master' into viewport
...
# Conflicts:
# examples/allegro5_example/imgui_impl_a5.cpp
# examples/allegro5_example/imgui_impl_a5.h
# examples/allegro5_example/imgui_impl_allegro5.cpp
# examples/allegro5_example/imgui_impl_allegro5.h
# examples/allegro5_example/main.cpp
# examples/imgui_impl_allegro5.cpp
# examples/imgui_impl_allegro5.h
# imgui.cpp
# imgui_internal.h
2018-04-25 15:32:04 +02:00
omar
7a41e0b1ea
Platform: Added platform_io.Platform_SetWindowFocus, Platform_GetWindowFocus function wrappers (unused yet). Exact specs tbd because our simplified concept of focus doesn't necessary match the more complex OS native concepts. ( #1542 )
2018-04-25 15:15:14 +02:00
omar
cc882b0723
Viewport: Tidying up AddUpdateViewport() calls. Moved flags argument. Removed extraneous mid-frame call to FindPlatformMonitorFromRect(). ( #1542 )
2018-04-25 15:14:51 +02:00
omar
6d6580f6be
Viewport: Fixed glitches with newly appearing menus creating viewport while the underlying imgui window should be hidden. ( #1542 )
2018-04-25 11:23:58 +02:00
omar
7684f53328
Viewport: Fixed issues with popups drifting in particular when reference mouse position become invalid (e.g. changing app focus while viewported-menu is open). Storing monitor index in viewport at beginning of the frame. ( #1542 )
2018-04-25 11:23:58 +02:00
omar
e3e4b7bdf5
Viewport: Fixed mouse hover flicker on mouse button release frame after moving a window. ( #1542 )
...
Platform: Clarifying some comments in back-ends.
2018-04-24 17:10:27 +02:00
omar
679f4882a5
Removed presumably obsolete MovingWindow tests which prevent move/merge logic in viewport branch from working in all situations (e.g. docking away when ActiveId is the ID of a tab)
2018-04-24 17:10:26 +02:00
omar
cb78e62df9
Viewport, Platform: Fixed IME positioning for multi-viewport. Moved API from ImGuiIO to ImGuiPlatformIO. Because it is extremely unlikely to people redefined this API manually the moving-forward-breakage is ok. ( #1542 )
...
SDL2 ime support under Win32 never worked properly because of SDL interferences.
2018-04-24 12:40:38 +02:00
omar
376f2aec54
Viewport: Clamp windows within monitors + fallback rescue window when it is out of sight (e.g. removed monitor, changed resolution) + Win32: declare primary monitor at the beginning of the list. ( #1542 )
2018-04-23 23:01:37 +02:00
omar
010757266e
Viewports: Todos, Tooltips/menus not automatically forced into their own viewport when the NoMerge flag is set (however the multiplication of viewports makes them more likely to protude and create their own). Win32: try to make primary monitor the first tin the list. ( #1542 )
2018-04-23 23:00:14 +02:00
omar
d268471285
Viewport: Added ImGuiConfigFlags_ViewportsNoMerge flag (to enforce a platform window for all floating windows) + minor tidying up and addition of non-functional wip code.
2018-04-23 18:56:25 +02:00
omar
423577e14e
Viewport, Platforms: SDL: Fixed initial focus click being ignored as a mouse button. GLFW: Fixed mouse cursor support for multi-viewport with GLFW 3.3 (current master) - somehow doesn't appear to work with GLFW 3.2 but I'm not too fussed about it. ( #1542 )
2018-04-23 16:46:25 +02:00
omar
f1c31ebc67
Viewport: Fixed initial popup positioning not using the monitor area properly. ( #1542 )
2018-04-23 12:52:01 +02:00
omar
4433ce4312
Viewport, Platform: Added work area in ImGuiPlatformMonitor. Renamed fields. ( #1542 )
2018-04-23 12:38:20 +02:00
omar
456bbffcc4
Viewport: Switched to using unified platform-absolute mouse coordinates, which simplify lots of problems and simplify/reduce tricky conversions, makes ImVec2 less ambiguous. Fixed various viewport/windowing/popups/synchronization bugs. Settings on host-viewport are stored as relative (made settings decently compatible between viewport enable/disabled settings). Merged ImGuiViewport::Pos and ::PlatformPos. Tweaked thumbnails. Better, smaller code. ( #1542 )
2018-04-20 21:36:36 +02:00
omar
17a7f352b5
Viewporrt. Examples: DirectX10,11: Make the platform SetWindowSize handler not crash on failure to resize, which could happen (rarely) on invalid data or bug in the code.
2018-04-19 17:23:43 +02:00
omar
637d9c42bf
Viewport: WIP for Tooltips, Popups, Menus to create their own viewport. Resizing a window allows it to leave the main viewport. ( #1542 )
2018-04-19 13:12:02 +02:00
omar
1c385c2ca4
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx12.cpp
# examples/imgui_impl_dx9.cpp
# examples/opengl2_example/imgui_impl_glfw_gl2.cpp
# examples/opengl3_example/imgui_impl_glfw_gl3.cpp
# examples/sdl_opengl2_example/imgui_impl_sdl_gl2.cpp
# examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
# examples/vulkan_example/imgui_impl_glfw_vulkan.cpp
# imgui.cpp
# imgui_internal.h
2018-04-18 19:06:49 +02:00
omar
25f25d546d
Viewport: Fixed manual mouse resize to handle mouse viewport change, which will allow resizing a window while it changes viewport. Releasing manual resize may merge a window. Added ConvertViewportPosToViewportPos() helper. Renamed NewFrameUpdateMovingWindowDropViewport() to UpdateTryMergeWindowIntoHostViewport() and removed the now-unnecessary half of the function. + renaming ( #1542 )
2018-04-17 23:34:19 +02:00
omar
6ac50634e3
Viewport: Tweaked selection of g.MouseRefViewport, in particular aimed at fixing browsing child-menus while holding mouse buttons with menus in multiple viewports. ( #1542 )
2018-04-17 18:25:05 +02:00
omar
50e453a3e2
Viewport: Comments, tweaks, renaming. Removed unnecessary stuff. Fixed zealous Clang warning. ( #1542 )
2018-04-17 18:25:05 +02:00
omar
4649bf042e
Viewport: Render: Fix draw list build code to allow child windows to be in a different viewports (which will happen with e.g. extruding menus). ( #1542 )
2018-04-16 17:12:00 +02:00
omar
2bd0ee27f0
Viewport: Shuffled code in Begin to reset size of reappearing popups prior to selecting viewport, to avoid mistakenly using an old size. Moved code out of UpdateSelectWindowViewport() to the section of Begin where positions is being locked down, to avoid code in-between duplicating this. ( #1542 )
2018-04-16 17:12:00 +02:00
omar
0d16492eb7
Viewport: Moved ImGuiWindowFlags_FullViewport to an internal ViewportOwned flag. Renamed AddViewport to AddUpdateViewport. (#Viewport: Shuffled code in Begin to reset size of reappearing popups prior to selecting viewport, to avoid mistakenly using an old size. Moved code out of UpdateSelectWindowViewport() to the section of Begin where positions is being locked down, to avoid code in-between duplicating this. ( #1542 ))
2018-04-16 17:11:59 +02:00
omar
2ae19801a9
Viewport: Remove old code that never worked (testing wrong flag type, always false) + shuffled a few things in Begin() to clarify dependencies. Fixed viewport change on Begin/Begin/End/End patterns. ( #1542 )
2018-04-16 17:11:59 +02:00
omar
950539b768
Viewport, Platform, DPI: Back-end store per-monitor DPI information in ImGuiPlatformMonitor. ( #1542 , #1676 )
2018-04-13 20:26:36 +02:00
omar
f270d6c52c
Viewport: Fix to allow changing/animated window name to be reflected in the OS e.g. task bar, so named documents can appear properly. ( #1542 )
2018-04-13 16:21:34 +02:00
omar
22d6f00110
Viewport: Fixed DPI changing viewport from interfering with moving another window (disabling code) + metrics crash fix on closed viewport window + Windows 10 call to SetThreadDpiAwarenessContext(DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2) for DPI, with no noticeable improvements. ( #1542 , #1676 )
2018-04-13 11:14:06 +02:00
omar
38e357ef10
Viewport: Virtual mouse position are patched immediately when viewports are moved in the virtual space, avoiding interaction glitchs on a resizing frame. ( #1542 )
2018-04-12 19:57:35 +02:00
omar
0b7f3edc26
Viewport: Debug/metrics tweaks + renaming comments
2018-04-12 19:57:34 +02:00
omar
285269ef55
Viewport, Platform: Added ImGuiViewportFlags_TopMost that will be used by tooltip window (without it, clicking and holding the window emitting the tooltip would move the tooltip to the back) + GLFW backend fixes for non-win32 platforms. ( #1542 )
2018-04-11 21:27:19 +02:00
omar
e25da4230b
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2018-04-11 21:25:44 +02:00
omar
8be6f40ae1
Viewport: per-viewport overlay draw list created on demand. With this pattern it'll be easier to consider adding more (e.g. background draw list). ( #545 )
2018-04-11 21:21:52 +02:00
omar
83bd3595a4
Viewport: Merged ImGuiPlatformData into ImGuiPlatformIO. Comments. ( #1542 )
2018-04-10 22:58:39 +02:00
omar
32ee0a3947
Viewport, Platform: Added a way to register monitor bounds to imgui so they can be used to clamp individual-viewport tooltips/popups so they don't straddle monitors. ( #1542 )
2018-04-10 22:32:08 +02:00
omar
7ddc22b326
Viewports, DPI: Renamed config flags. ( #1542 )
2018-04-10 20:02:43 +02:00
omar
0d5042f0f3
Viewport: Popups, Tooltips can individually request no task bar icons to the platform layer. ( #1542 )
2018-04-10 19:15:44 +02:00
omar
0eaddb4dcd
Viewport: shuffled some code in the UpdateSelectWindowViewport() function.
2018-04-10 18:47:23 +02:00
omar
74a11e2087
Viewport: Merge fix conflicting flags.
2018-04-09 22:15:46 +02:00
omar
d4dd448511
Examples, Platform, Viewport: Fixed inconsistent window ownership issues. Added comments. Made Win32/SDL back-ends track ownership.
2018-04-09 22:01:58 +02:00
omar
56ad2a2d74
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/opengl2_example/imgui_impl_glfw_gl2.cpp
# examples/opengl3_example/imgui_impl_glfw_gl3.cpp
# examples/vulkan_example/main.cpp
# imgui.h
2018-04-09 19:35:14 +02:00
omar
f421e73b40
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx12.cpp
# examples/imgui_impl_dx9.cpp
# examples/opengl2_example/imgui_impl_glfw_gl2.cpp
# examples/opengl3_example/imgui_impl_glfw_gl3.cpp
# examples/sdl_opengl2_example/imgui_impl_sdl_gl2.cpp
# examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
# examples/vulkan_example/imgui_impl_glfw_vulkan.cpp
# imgui.cpp
# imgui.h
# imgui_internal.h
2018-04-06 23:36:23 +02:00
omar
72899318e6
Viewport, Platform, Examples: Added support for transparent window via PlatformIO Platform_SetWindowAlpha ( #1542 ) + fixes for GLFW 3.3
2018-04-05 17:07:46 +02:00
omar
84c6ea0cee
Viewport: Comments about honoring ImGuiViewportFlags_NoInputs and MouseHoveredViewport. ( #1542 )
2018-04-05 12:27:17 +02:00
omar
c23b5463c7
Viewport: Moving a window accross viewports tries to preserve the dragging pivot (that is assuming that the window will be evenly scaled by DPI, aka Style is scaled). ( #1542 )
2018-04-05 11:40:33 +02:00
omar
9d8bc79025
Viewport: Renamed RenderPlatformWindows() to RenderPlatformWindowsDefault(), tweaked examples and emphasis optional Viewport code path. ( #1542 )
2018-04-05 11:06:00 +02:00
omar
0cad274b87
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx12.cpp
# examples/imgui_impl_dx9.cpp
# examples/opengl2_example/imgui_impl_glfw_gl2.cpp
# examples/opengl3_example/imgui_impl_glfw_gl3.cpp
# examples/sdl_opengl2_example/imgui_impl_sdl_gl2.cpp
# examples/sdl_opengl2_example/imgui_impl_sdl_gl2.h
# examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
# examples/sdl_opengl3_example/imgui_impl_sdl_gl3.h
# imgui.cpp
2018-04-04 19:39:42 +02:00
omar
ac8931b2e9
Viewport: Moved OverlayDrawList to be a per-viewport instead of being global + fix overlay clipping glitch during viewport creation frame + support for software mouse cursor stradding over multiple viewport. The overlay draw list move is rather important as draw lists are not shared among viewports anymore and we can do a swap of their data without copying it. ( #1542 )
2018-03-22 22:09:42 +01:00
omar
4f112f898e
Viewport: Avoid modifying MousePos in UpdateWindowViewport just for the sake of docking test, sheering MousePos during the frame is problematic + minor renaming. ( #1542 )
2018-03-22 21:14:55 +01:00
omar
e5ba982be0
Nav: Fixed a crash with IMGUI_DEBUG_NAV_SCORING enabled + added info to Metrics.
2018-03-21 22:48:23 +01:00
omar
200754b013
Examples: GLFW: Don't alter cursor mode if GLFW_CURSOR input mode is GLFW_CURSOR_DISABLED. ( #1202 ) [@PhilCK]
2018-03-20 22:42:05 +01:00
omar
42ad3c1dd3
Examples: OpenGL2: Added multi-viewport support in the OpenGL2 back-end. ( #1542 ) + Metrics: Fix undisplayed flag.
2018-03-20 22:19:41 +01:00
omar
172570acae
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx12.cpp
# examples/imgui_impl_dx9.cpp
# examples/opengl2_example/imgui_impl_glfw_gl2.cpp
# examples/opengl3_example/imgui_impl_glfw_gl3.cpp
# examples/sdl_opengl2_example/imgui_impl_sdl_gl2.cpp
# examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
# examples/vulkan_example/imgui_impl_glfw_vulkan.cpp
# imgui.h
2018-03-20 22:14:34 +01:00
omar
c29971cf72
Merge branch 'master' into viewport
...
# Conflicts:
# examples/sdl_opengl2_example/main.cpp
# examples/sdl_opengl3_example/main.cpp
# examples/vulkan_example/main.cpp
2018-03-20 16:05:31 +01:00
omar
ccc9a22db3
Viewport: Changelog + Internals: Renamed viewport mouse fields for consistency (going to add more). ( #1542 )
2018-03-19 22:59:55 +01:00
omar
c00523dba4
Viewport: Added extra Metrics and debug features.
2018-03-19 18:07:12 +01:00
omar
9d5ec05150
Viewport, Platform: Update the contents of GetPlatformData() in EndFrame() so back-end can access it even if UpdatePlatformWindows hasn't been called. ( #1542 )
2018-03-19 17:33:21 +01:00
omar
2fecd332fc
Viewport, Platform: Added void* to render/swap buffer functions. Comments. ( #1542 , #1042 )
2018-03-19 15:20:47 +01:00
omar
0e09032750
Viewport, Examples: Renamed types used by examples. ( #1542 )
2018-03-18 22:19:02 +01:00
omar
46b61427e1
Viewport, Platform: Refactored platform interface. Removed need to use imgui_internal.h in backends. Split viewport into public facing ImGuiViewport and internal structure. Exposing enough data to provide custom tweaked renderers. Renamed handlers, fixed lots of inconsistencies. ( #1542 , #1042 )
2018-03-18 18:44:57 +01:00
omar
bcf4ed28a9
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.h
2018-03-18 12:51:57 +01:00
omar
6cfc9e6256
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.h
2018-03-17 21:20:01 +01:00
omar
1ab236d9df
Viewport, Platform: Internal renaming to use more consistent (OsDesktopPos > PlatformPos). ( #1542 )
2018-03-15 20:07:48 +01:00
omar
2e1ac0f683
Viewport, Platform: SDL: Makes the CreateViewport function restore current GL context so in theory it is free from side-effect. That said, it seems like there is a bug in SDL because our CreateViewport (currently in Render(), not for long) have affect a jerky side-effect if SDL_GL_MakeCurrent() is called before Render(). ( #1542 )
2018-03-15 19:25:23 +01:00
omar
8364d1ca6c
Viewport: Removed back-end renderer code that implied we need to clear with WindowBg color. Added NoRendererClear flag. ( #1542 , #1042 )
2018-03-15 18:17:04 +01:00
omar
09d8943967
Examples Refactor: GLFW: Explicit functions to init GLFW with OpenGL or Vulkan since we cannot read the api hints from glfw.
2018-03-15 16:42:21 +01:00
omar
6e58a95a01
Viewport, Platform, Examples: Changes to resizing flow + restored support for Platform events affecting the ImGui windows (so Decorated windows are functional). ( #1542 , #1042 ) ..
...
SDL: Added platform move/resize/close support.
GLFW: Added platform move/resize support. Moved Close to use callback for consistency.
Win32:
Vulkan: Fixed resize support.
Naming is WIP "PlatforrmRequestXXX" is too ambiguous. Basically we either have a ImGui->Platform flow or a Platform->ImGui flow. Working a bigger refactor now.
2018-03-15 10:57:22 +01:00
omar
207ad45983
Metrics: Displaying all draw lists of a window (if it uses layer 0 and has already been appended to earlier in the frame).
2018-03-14 17:50:11 +01:00
omar
83ef61fa56
Examples: SDL: Fix for versions olders than 2.0.6
2018-03-14 14:14:16 +01:00
omar
d0e0b106f0
Examples: SDL,GLFW,Vulkan: The Platform<>Renderer link is handled by SDL/GLFW platforms, both can compile without Vulkan headers, SDL+Vulkan is now on part with GLFW+Vulkan (aka broken the same way!). ( #1542 )
2018-03-13 23:16:15 +01:00
omar
98b66a5fc9
Examples: Using draw_data->DisplaySize, followup to c50198debe. Fix Vulkan secondary viewport rendering. SDL+Vulkan: Matched changes. Fix vcprojs. ( #1542 , #1042 )
2018-03-13 23:07:12 +01:00
omar
921bb92eec
Viewport: Fixed software mouse cursor from appearing in all multiple lists simultaneously. ( #1542 )
2018-03-13 16:20:34 +01:00
omar
c50198debe
Viewport: Obsoleted io.DisplayPos (which was a Viewport branch thing), added ImDrawData::DisplayPos, DisplaySize ( #1542 ) wip
2018-03-13 16:20:27 +01:00
omar
6371474031
Viewport: Removed unnecessary function hoop.
2018-03-13 16:20:19 +01:00
omar
8657201257
Merge branch 'master' into viewport
2018-03-13 16:20:02 +01:00
omar
b88492746e
Examples, Viewport: Vulkan: Experiment (broken) multi-viewport support, merging code from ParticlePeter branches. ( #1542 , #1042 )
2018-03-12 18:43:25 +01:00
omar
f6fc28dfd2
Merge branch 'master' into viewport (inc Vulkan resize fix merge #1042 )
2018-03-12 17:50:32 +01:00
omar
cdeef65b05
Examples: Vulkan: Passing Queue, QueueFamily to binding. Fixed scissor (fixed in master). ImGui_ImplVulkanH_DestroyWindowData() waits for device to be idle. ( #1042 )
2018-03-12 17:37:28 +01:00
omar
1e81a53e75
Examples: DPI: Minor warning fix. ( #1676 )
2018-03-12 16:22:24 +01:00
omar
5e63711084
Viewport, DPI: Some early work on per-viewport DPI support. At the moment the easiest way is to replace fonts during the ChangedViewport callback, but down the line we should aim at handling some of it at ImFont level. ( #1542 , #1676 )
2018-03-12 10:31:39 +01:00
omar
a2fbcc9ad4
Examples: DPI: Portable DPI related helpers in the _Win32 examples. Using one in examples's main.cpp, the GetDpiScale functions are not wired anywhere for now. ( #1542 , #1676 )
2018-03-12 10:31:39 +01:00
omar
10030ff3ec
Viewport: Fix dropping back viewport not being moved to the front of the window list. (Now that viewport are more tighly coupled to a single root window) ( #1542 )
2018-03-12 10:31:38 +01:00
omar
648735a4cf
Viewport, DPI: Don't activate current window until a viewport has been selected. At this point we'll have the proper size/scale for the current DPI + fix viewport callback when appending to an existing window more than once a frame. ( #1542 , #1676 )
2018-03-12 10:31:38 +01:00
omar
a4629b0b36
Viewport, DPI: Select viewport before locking style sizes and before handling double-click-on-title-bar to collapse. ( #1542 , #1676 )
2018-03-12 10:31:38 +01:00
omar
64cbbed152
Merge branch 'master' into viewport
2018-03-09 10:41:12 +01:00
omar
43f375b2f2
Viewport,Platform: Added GetWindowDpiScale() platform interface, changes of scale are reflected by positioning and resizing windows in their given viewport. ( #1542 )
2018-03-09 10:40:38 +01:00
omar
1eb89d7e3b
Viewport: Changed signature of ResizeViewport to be consistent with other similar functions.
2018-03-08 20:32:34 +01:00
omar
4d46383100
Viewport: Coupling non-main viewport to one window. Viewport name derived from the window. Added ImGuiConfigFlags_PlatformNoTaskBar, off by default (aka re-established task-bars by default for now). ( #1542 )
2018-03-08 20:27:01 +01:00
omar
aa3fe81c87
Examples: DPI: Hacked in a quick compile-and-run-everywhere call to SetProcessDpiAwareness(), will need to revisit.
2018-03-08 18:46:30 +01:00
omar
9ea16e344a
Viewport: Disable extra viewports from hosting other windows. ( #1542 )
2018-03-07 16:34:18 +01:00
omar
d8719cf59b
Fixed warnings.
2018-03-07 14:46:53 +01:00
omar
9dcc07422e
Viewport: Reorganized viewport enable flags. Both user + platform + renderer need to enable a flag. ( #1542 )
2018-03-07 12:35:26 +01:00
omar
52c78820aa
Examples: SDL: Fix for pre 2.0.4.
2018-03-07 12:19:19 +01:00
omar
19b92751b9
Examples: Updated Makefile and batch files to work with new examples. Using lowercase "gl.h" as it seems this is what Linux wants.
2018-03-07 12:05:47 +01:00
omar
f318f2d5ea
Examples: Added Makefile for SDL+OpenGL2 example. ( #1668 )
2018-03-07 11:51:41 +01:00
omar
21ff03978a
Viewport: Modal display their darkneing/whitening layer over all viewports. ( #1542 )
2018-03-07 11:36:37 +01:00
omar
25fd9d6132
Viewport: Various sanity fixes. Popup always inherit viewport from their parent for now. ( #1542 )
2018-03-07 10:50:30 +01:00
omar
3637193556
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_glfw.h
# examples/opengl3_example/imgui_impl_glfw_gl3.cpp
# examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
# examples/sdl_opengl3_example/imgui_impl_sdl_gl3.h
# imgui.cpp
2018-03-06 20:02:40 +01:00
omar
8e3274e137
Viewport: Tracking current viewport we are appending to + added callback in PlatformInterface for DPI purpose (WIP). ( #1542 )
2018-03-05 22:31:12 +01:00
omar
c4a158656e
Merge branch 'master' into viewport
...
# Conflicts:
# examples/allegro5_example/main.cpp
# examples/directx10_example/main.cpp
# examples/directx11_example/main.cpp
# examples/directx12_example/main.cpp
# examples/directx9_example/main.cpp
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx12.cpp
# examples/imgui_impl_dx9.cpp
# examples/imgui_impl_glfw.h
# examples/imgui_impl_vulkan.cpp
# examples/opengl2_example/imgui_impl_glfw_gl2.cpp
# examples/opengl2_example/main.cpp
# examples/opengl3_example/imgui_impl_glfw_gl3.cpp
# examples/opengl3_example/main.cpp
# examples/sdl_opengl2_example/imgui_impl_sdl_gl2.cpp
# examples/sdl_opengl2_example/main.cpp
# examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
# examples/sdl_opengl3_example/main.cpp
# examples/vulkan_example/main.cpp
# imgui.cpp
# imgui.h
2018-03-03 23:13:31 +01:00
omar
e026c8d3b7
Viewport: Give a chance to platform and renderer to actually destroy their data. Otherwise the regular ImplXXX_Shutdown + following by DestroyContext() order fails to fullifl this. ( #1542 )
2018-03-03 22:53:31 +01:00
omar
cab41d954e
Examples: Vulkan: Further refactor.
2018-03-03 22:38:24 +01:00
omar
e0cbfd74d7
Examples: Vulkan: Moved CreateOrResizeWindowData func to imgui_impl_vulkan.h
2018-03-02 23:59:21 +01:00
omar
426930e028
Examples: Vulkan: Moved main.cpp data structures to imgui_impl_vulkan.h as shared helpers for the benefit of both the example and the platform/viewport renderer interface.
2018-03-02 23:05:23 +01:00
omar
e9fa17e1bf
Viewport: Replaced UpdatePlatformWindows/RenderPlatformWindows by RenderAdditionalViewports(). The update is always called in EndFrame(). ( #1542 )
2018-03-02 22:44:06 +01:00
omar
b807347e94
Viewport: When enabled we assert against using RenderDrawListFn to make user more aware of rendering order. ( #1542 )
2018-03-02 22:22:14 +01:00
omar
7113fc7dee
Examples: Vulkan: Moved variables into per-window data, refactored/tweaks to that the bug functions main.cpp for both SDL and GLFW examples match (they'll probably be moved to imgui_impl_vulkan as helpers).
2018-03-02 21:37:14 +01:00
omar
e0f283cfcb
Examples: Vulkan: Fix 7b968b098e
2018-03-02 20:09:21 +01:00
omar
7b968b098e
Examples: Vulkan: Reduced duplicate code by skipping present on the first frame. Amend 201d589714 by @ParticlePeter
2018-03-02 20:01:18 +01:00
omar
e927a6ac4a
Examples: Vulkan: Various tweak. Misc refactor into per-frame data. Duplicate buffer creation code moved to CreateOrResizeBuffer().
2018-03-02 19:40:09 +01:00
omar
9da475e4e8
Examples: GLFW, Vulkan: GLFW binding viewport tweaks to supports Vulkan better (do not call SwapBuffer, share context etc.). Added DUMMY (empty) platform/viewport interface in the viewport code.
2018-03-02 19:24:24 +01:00
omar
5b282bdd48
Examples: Renamed glfw error callback so it's more clear what it is.
2018-03-02 19:24:23 +01:00
omar
fc80f2b41a
Merge branch 'examples_refactor' into viewport
...
# Conflicts:
# examples/directx10_example/main.cpp
# examples/directx11_example/main.cpp
# examples/directx12_example/main.cpp
# examples/opengl3_example/main.cpp
# examples/sdl_opengl2_example/main.cpp
# examples/sdl_opengl3_example/main.cpp
# examples/sdl_vulkan_example/main.cpp
# examples/vulkan_example/main.cpp
# imgui.h
2018-03-01 23:27:11 +01:00
omar
68e9ef9885
Examples: Vulkan: SDL: Fixed missing resize handler (not properly merged from #1367 ) + tweaks.
2018-03-01 23:22:02 +01:00
omar
296db2ed33
Examples: Vulkan: Moved code into shared helpers: ImGui_ImplVulkan_SelectSurfaceFormat, ImGui_ImplVulkan_SelectPresentMode.
2018-03-01 23:22:02 +01:00
omar
3171d61dfc
Examples: Vulkan: Various tweaks to name variable more consistently like Vulkan + a few comments + a few imgui style code compaction.
2018-03-01 23:22:01 +01:00
omar
00b9e70ba2
Viewport: Always be lenient with invalid mouse position during dragging, since they are provided by back-end and technically acceptable inputs + comments. ( #1542 )
2018-03-01 20:19:36 +01:00
omar
57e9f61852
Examples: Vulkan: Debug report tweak + always enable in Debug build.
2018-03-01 18:59:07 +01:00
omar
cf365ed00b
Examples: Fixed enabling IMGUI_VULKAN_DEBUG_REPORT which was broken during refactor because of duplicate 'extensions' local variable.
2018-03-01 18:41:19 +01:00
omar
d98a5d54aa
Renamed ImGuiNavFlags io.NavFlags to ImGuiConfigFlags io.ConfigFlags. ( #787 )
2018-02-28 19:03:39 +01:00
omar
8074d56bdd
Renamed ImGuiNavFlags io.NavFlags to ImGuiConfigFlags io.ConfigFlags. ( #787 )
2018-02-28 18:58:34 +01:00
omar
fc3c3de70d
Examples: DX10: Multi viewport/platform support (based on DX11 version). ( #1542 )
2018-02-28 18:35:16 +01:00
omar
997d1bd0eb
Examples: NULL pointers for consistency.
2018-02-27 23:34:28 +01:00
omar
baef79415b
Examples: DX12: Empty skeleton toward implementing the multi-viewport api for DirectX12. (WIP/test API) ( #1542 , #301 )
2018-02-27 23:34:28 +01:00
omar
cb601d79e8
Examples: SDL: Initial attempt at implementing the viewport/platform api. (WIP/test API) ( #1542 )
...
ImGui_ImplSDL2_Init() now takes a SDL GL context.
2018-02-27 23:34:27 +01:00
omar
4cee46f909
Examples: GLFW + OpenGL3: Initial attempt at implementing the viewport/platform api. (WIP/test API) ( #1542 )
2018-02-27 23:27:41 +01:00
omar
25349b31d7
Examples: DX11 + Win32: Initial attempt at implementing the viewport/platform api. (WIP/test API) ( #1542 )
2018-02-27 23:26:51 +01:00
omar
735267d27c
Viewport: Initial viewport branch+ platform api commit (squashed from previous commits, still very WIP) ( #1542 )
2018-02-27 23:25:39 +01:00
omar
b5ced477f4
Metrics: Added option to show begin order, useful for debugging.
2018-02-27 23:02:50 +01:00
omar
67319a71e5
Internal: Minor renaming.
2018-02-27 22:58:27 +01:00
omar
184a6f1198
Internals: Moving window: test mouse validity while translating window + using SetWindowPos().
2018-02-27 22:56:22 +01:00
omar
b32bb4e6e3
Removed DisplayVisibleMin/DisplayVisibleMax facility (as part of # 1542). Misc comments.
2018-02-27 22:55:18 +01:00
omar
0e62b7d68a
Clearing next window data at the end of Begin() more reliably. Misc comments.
2018-02-27 22:47:45 +01:00
omar
a761779b12
Internals: Settings: Added ReadCloseFn to allow handlers to sanitize data on a per-entry basis.
2018-02-27 22:32:45 +01:00
omar
29510fcb83
Examples: Misc tweaks/fixes.
2018-02-27 10:29:37 +01:00
omar
3f335b0d42
Merge branch 'master' into examples_refactor
...
# Conflicts:
# examples/opengl3_example/imgui_impl_glfw_gl3.cpp
# examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
2018-02-26 18:22:36 +01:00
omar
ffda84cfae
Examples: DirectX12: Merged to new example format, imgui_impl_dx12.cpp contains the DX12 stuff, couple with imgui_impl_win32.cpp
2018-02-23 10:56:06 +01:00
omar
e6bc840f6f
Merge branch 'master' into examples_refactor
2018-02-23 10:47:32 +01:00
omar
0b26387a2b
Simplified .gitignore list
2018-02-21 23:14:55 +01:00
omar
f7ef10e547
Examples: Titles/comments in headers
2018-02-21 23:05:17 +01:00
omar
91cadc1130
Merge branch 'master' into examples_refactor
2018-02-21 22:47:03 +01:00
omar
47d1360124
Examples: Using SDL2_DIR instead of SDL_DIR (more standard).
2018-02-21 22:41:46 +01:00
omar
f67699456c
Examples: Added SDL+Vulkan example, the abstraction worked here :) (ref #1367 )
2018-02-21 22:41:04 +01:00
omar
387f724d33
Examples: Vulkan: Formatting and tweaks (to match SDL's main).
2018-02-21 22:39:49 +01:00
omar
bcdfd5d61c
Merge branch 'master' into examples_refactor
2018-02-20 16:18:02 +01:00
omar
e660d92fa5
Examples: GLFW: Added mouse cursors support ( #1495 )
2018-02-19 22:29:52 +01:00
omar
9fdf72e42b
Examples: WIn32: Prefixing every Win32 function calls with :: to denote global namespace in a consistent manner.
2018-02-18 21:23:11 +01:00
omar
df9051ded2
Examples: Vulkan: Added support for io.DisplayPos.
2018-02-18 21:15:51 +01:00
omar
230c5ca735
Examples: Vulkan: Fixed GLFW calls.
2018-02-18 21:15:41 +01:00
omar
3bd3693fb7
Examples: DirectX10, DirectX11, OpenGL2, OpenGL3: Added support for io.DisplayPos.
2018-02-18 21:09:28 +01:00
omar
45cbebad64
Added dummy io.DisplayPos field.
2018-02-18 21:04:17 +01:00
omar
6d0f9244b8
Examples: Allegro5, Marmalade: Moved bindings to parent folder. Renamed Allegro stuff from *A5_ to *Allegro5_
2018-02-18 20:26:20 +01:00
omar
80a8aea7e3
Examples: Added SDL, Vulkan examples to .sln file.
2018-02-18 20:26:20 +01:00
omar
4f0db01f7c
Examples: DirectX9: Reusing imgui_impl_win32, removed that code from imgui_impl_dx9
2018-02-18 20:26:20 +01:00
omar
6cd4e30b58
Examples: DirectX10: Reusing imgui_impl_win32, removed that code from imgui_impl_dx10
2018-02-18 20:26:20 +01:00
omar
19540479d4
Examples: DirectX11: Extracted imgui_impl_dx11.* instead imgui_impl_dx11 and imgui_impl_win32
2018-02-18 20:26:20 +01:00
omar
90dffb5a06
Examples: Vulkan: Extracted into imgui_impl_vulkan.*, reused imgui_impl_glfw* files.
2018-02-18 20:26:20 +01:00
omar
ef521d1e0b
Examples: SDL: Extracted into imgui_impl_sdl.*, reused imgui_impl_opengl* files.
2018-02-18 20:26:20 +01:00
omar
42c32bf00c
Examples: OpenGL2, OpenGL3: Added glPixelStorei() calls borrowed from SDL examples.
2018-02-18 20:26:20 +01:00
omar
c8a9969511
Examples: GLFW+GL2: Moved glfw, gl2 files to root folder, split imgui_impl_glfw_gl2 into _opengl2 and reused imgui_impl_glfw
2018-02-18 20:26:20 +01:00
omar
b0a8734c92
Examples: GLFW+GL3: Split imgui_impl_glfw_gl3 into imgui_impl_glfw and imgui_impl_gl3 (wip)
2018-02-18 20:26:19 +01:00
omar
8d0723c2c3
ImFontAtlas: Added IsBuilt() helper.
2018-02-18 20:26:19 +01:00