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
2c38b32db1
Removed trailing spaces ( #2038 , #2299 )
2019-01-20 17:56:17 +01:00
omar
f94ba546ba
Added checks for "zero-as-null-pointer-constant" warnings for older Clang ( #2299 , followup to #2277 )
2019-01-20 17:46:00 +01:00
omar
fcd61e0c59
Comments about DLL boundaries and using TLS variables for GImGui. ( #2292 )
2019-01-18 23:04:45 +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
06aaf23877
Various tweaks and fixes as suggested by PVS Studio (thanks PVS Studio!)
2019-01-16 16:10:51 +01:00
omar
09f1cb642b
FreeType: Minor tweaks previous commit ( #2285 )
2019-01-15 21:50:43 +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
95ee99e6aa
Version 1.68 WIP
2019-01-15 20:19:05 +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
b8c6e31c2d
Fixed cursor issue caused by 6890e08b
when calling BeginChild/EndChild multiple times to reappend into a same child window. ( #2282 )
2019-01-15 15:05:56 +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
7a5058e3bf
Version 1.67
2019-01-14 17:41:44 +01:00
omar
6e41745f31
Added a bunch of diagnostic ignore to cope with Clang -Weverything being absurd. Also fixed two legit warnings. ( #2277 )
2019-01-13 18:57:46 +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
49994ceb6e
FAQ entry, moved ImTextureId, Gallery links.
2019-01-12 19:48:07 +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
1f6e0b2f98
ImVector: Made a struct. Using T/T* in the code instead of value_type/iterator. Renamed index_from_pointer() to index_from_ptr() (was not documented, added in 1.63, users not supposed to use ImVector, hopefully not a big deal).
2019-01-10 15:51:08 +01:00
omar
61a99f994e
Minot internal tweaks, comments
2019-01-08 23:11:54 +01:00
omar
f53cd3ee0f
Internals: LowerBound: Use raw pointer typedefs, we never use iterator anywhere else in the codebase.
...
Demo: Typo.
C98 fix.
2019-01-08 17:37:07 +01:00
omar
57b1622afc
Added IMGUI_USE_STB_SPRINTF (undocumented) ( #1038 )
2019-01-08 15:28:33 +01:00
omar
b33977bc15
Tests: Reworking hook prototypes for imgui-test to be faster and multi-context friendly.
2019-01-07 23:59:05 +01:00
omar
3997e8b555
Fixed animated window titles from being updated when displayed in the CTRL+Tab list. + Adding overkill helpers for reusing buffers. ( #787 )
2019-01-07 22:46:42 +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
5cb7ce2085
Renamed ImFont::GlyphRangesBuilder to ImFontGlyphRangesBuilder. Keep redirection typedef (will obsolete).
2019-01-06 16:59:51 +01:00
omar
c3af134cc8
IO: Renamed InputCharacters[], marked internal as was always intended. AddInputCharacter() goes into a queue which can receive as many characters as needed during the frame. This is useful for automation to not have an upper limit on typing speed. Will later transition key/mouse to use the event queue later.
2019-01-06 16:37:42 +01:00
omar
9ba202821f
Nav: Fixed an keyboard issue where holding Activate/Space for longer than two frames on a button would unnecessary keep the focus on the parent window, which could steal it from newly appearing windows. ( #787 )
2019-01-04 19:03:56 +01:00
omar
d223d1e951
Added bindings in Readme. Added internal IMGUI_DEBUG_LOG() helper. Comments, missing breaking changes note relative to imgui_impl_xxxx changes, not really part of core but worth adding in the imgui.cpp breaking change section.
2019-01-04 18:01:43 +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
6777544855
Added sanity check to debug parent/child ordering issues (they would generally manifest with an assert/crash in EndFrame bu tthis assert will catch some earlier).
2019-01-03 21:42:36 +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
237109caa5
Internals: Extracted code out of EndFrame() into UpdateMouseMovingWindowEndFrame()
2019-01-02 23:08:32 +01:00
omar
b3469fa94b
Alternative fix for bug introduced in d845135
( #1651 ), fix CTRL+Tab and fallback tooltip.
2019-01-02 23:08:32 +01:00
omar
3e30bfd6c9
Revert "Fixes crash/assert bug introduced in d845135
( #1651 ): would assert when showing the CTRL+Tab list and or fallback "...." tooltip."
...
This reverts commit 1b0e38df47
.
2019-01-02 22:56:17 +01:00
omar
1b0e38df47
Fixes crash/assert bug introduced in d845135
( #1651 ): would assert when showing the CTRL+Tab list and or fallback "...." tooltip.
2019-01-02 22:14:28 +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
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
6b97ded438
Happy new year! & comments
2019-01-02 10:57:57 +01:00
omar
e21bc44684
Comments: fixed missing line in the "how a simple rendering function may look like" section ( #2258 )
2019-01-02 09:57:25 +01:00
omar
d845135273
Error recovery: Extraneous/undesired calls to End() are now being caught by an assert in the End() function itself at the call site (instead of being reported in EndFrame). Past the assert, they don't lead to crashes any more. Missing calls to End(), pass the assert, should not lead to crashes any more, nor to the fallback/debug window appearing on screen. ( #1651 ).
2018-12-23 18:00:37 +01:00
omar
a9a60a24c1
Tweaked asserts
2018-12-23 17:51:50 +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
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
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
b471813f54
Made it illegal to call Begin("") with an empty string. This somehow accidentally worked before but had various undesirable side-effect as the window would have ID zero. In particular it is causing problems in viewport/docking branches.
2018-12-20 20:01:02 +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
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
5691385a33
IO: Added BackendPlatformUserData, BackendRendererUserData, BackendLanguageUserData void* for storage use by back-ends. ( #2004 + for cimgui)
2018-12-20 11:41:24 +01:00
omar
6890e08bc5
Fixed using SetNextWindowPos() on a child window (which wasn't really documented) position the cursor as expected in the parent window, so there is no mismatch between the layout in parent and the position of the child window. Demo tweak and adding some child window stuff
2018-12-19 15:19:31 +01:00
omar
89ac0ea7c1
Various user-facing comments
2018-12-19 11:19:55 +01:00
omar
84d1ce3958
Tidying up README, moved entries to FAQ, updated screenshots, removed comma in title.
2018-12-18 16:17:27 +01:00
omar
ca953f0fee
Fix merge issue on master.
2018-12-18 15:11:11 +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
ae76a1fda7
Window, Focus, Popup: Fixed an issue where closing a popup by clicking another window with the _NoMove flag would refocus the parent window of the popup instead of the newly clicked window.
2018-12-18 15:01:15 +01:00
omar
510ca373a2
Moved setting up NavHideHighlightOneFrame from lower-level ClosePopupToLevel() to CloseCurrentPopup() with an explanation. (Followup on 68d3e139a7
)
2018-12-18 14:59:22 +01:00
omar
ac9512e095
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2018-12-14 18:46:24 +01:00
omar
65dac02171
Internals: Popups: Renamed CurrentPopupStack to BeginPopupStack which is much less ambiguous.
2018-12-14 18:44:17 +01:00
omar
f1c7596409
Internals: Popup related comments. Renamed the misleading internal ClosePopup() function. Added bool* test to BeginPopupModal in demo.
2018-12-14 18:42:22 +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
587506dd57
Tests: Changed prototype of ImGuiTestEngineHook_ItemAdd to match functions called in same spot. Made ButtonBehavior submit fallback item info if ItemAdd() was not called (for resize grips, resize borders, scrollbar, columns, etc.)
2018-12-14 11:27:02 +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
8497948ba0
Comments, minor tweaks.
2018-12-13 19:17:36 +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
febc3e6aa1
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-12-11 19:19:12 +01:00
omar
d9a84de9d9
Contents size is preserved while a window collapsed. Fix auto-resizing window losing their size for one frame when uncollapsed.
2018-12-11 19:08:06 +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
54a60aaa40
Added BETA api for Tab Bar/Tabs widgets. ( #261 , #351 ) (merged this feature from the from Docking branch so it can be used earlier as as standalone feature)
...
- Added BeginTabBar(), EndTabBar(), BeginTabItem(), EndTabItem(), SetTabItemClosed() API.
- Added ImGuiTabBarFlags flags for BeginTabBar().
- Added ImGuiTabItemFlags flags for BeginTabItem().
- Style: Added ImGuiCol_Tab, ImGuiCol_TabHovered, ImGuiCol_TabActive, ImGuiCol_TabUnfocused, ImGuiCol_TabUnfocusedActive colors.
- Demo: Added Layout->Tabs demo code.
- Demo: Added "Documents" example app showcasing possible use for tabs.
2018-12-11 12:36:47 +01:00
omar
cc1283fb78
Added ImGuiWindowFlags_UnsavedDocument window flag to append '*' to title without altering the ID, as a convenience to avoid using the ### operator. (merged from Docking branch)
2018-12-11 12:20:48 +01:00
omar
15447f5b7b
Using named flags instead of 0 + shallow formatting tweaks from other branches.
2018-12-11 12:14:27 +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
9476e07d5a
Added io.ConfigWindowsMoveFromTitleBarOnly option. Still is ignored by window with no title bars (often popups). This affects clamping window within the visible area: with this option enabled title bars need to be visible. ( #899 )
...
Tweaked default value of style.DisplayWindowPadding from (20,20) to (19,19) so the default style as a value which is the same as the title bar height.
2018-12-10 16:05:30 +01:00
omar
59f3c4fc20
Renamed io.ConfigResizeWindowsFromEdges to io.ConfigWindowsResizeFromEdges and removed its [Beta] mark. Resizing windows from edge is now enabled by default (io.ConfigWindowsResizeFromEdges=true). Note that it only works _if_ the back-end sets ImGuiBackendFlags_HasMouseCursors, which the standard back-end do.
2018-12-10 15:41:01 +01:00
omar
d20e3ee710
Tests: Adding imgui-test engine hooks (experimental) to provide missing widget state to the testing system.
2018-12-10 14:30:41 +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
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
125e62491e
Internals: Nav: Added ImGuiNavLayer_ to clarify semantic of previously integer NavLayer values, and not pretend that increment/decrement operators on them super flexible. + Storage tweaks.
2018-12-04 14:34:49 +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
fb6ef8b1db
Comments, tweak
2018-12-03 23:50:59 +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
10e13dd6bb
Version 1.67 WIP (again, this time IMGUI_VERSION_NUM has leeway for another hot-fix).
2018-12-03 12:19:23 +01:00
omar
ac10889bde
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2018-12-03 11:44:51 +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
801645d350
Version 1.66b (will revisit how to change IMGUI_VERSION_NUM across versions, this commit reduces the numerical IMGUI_VERSION_NUM compared to the commit on Nov 22).
2018-12-03 10:17:17 +01:00
omar
7658035e5a
About, IO: Added io.BackendPlatformName, io.BackendRendererName for informational/QA purpose.
2018-11-30 18:30:21 +01:00
omar
3849def253
Added ShowAboutWindow(), About Window now showing various config/build information.
2018-11-30 18:30:21 +01:00
omar
f78b5a0cdb
Merge branch 'viewport' into docking
2018-11-30 18:27:14 +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
baf67d393f
When the focused window become inactive don't restore focus to a window with the ImGuiWindowFlags_NoInputs flag. ( #2213 )
2018-11-29 23:25:29 +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
3bcc25f588
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
2018-11-27 19:56:23 +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
4105cc7e97
Added ImGuiConfigFlags_None, ImGuiBackendFlags_None for good measure.
2018-11-27 19:46:14 +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
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
d27ffefbd4
Version 1.67 WIP
2018-11-22 18:59:57 +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
da3c4330c1
Version 1.66
2018-11-22 15:11:52 +01:00
omar
cc4b1f9e47
Nav: Fixed explicit directional input not re-highlighting current nav item if there is a single item in the window and highlight has been previously disabled by the mouse. ( #787 )
2018-11-21 16:07:04 +01:00
omar
b9ae9bb1e3
Internals: Using GetOverlayDrawList(ImGuiWindow*) to match syntax of viewport/master branches. Fixed compiling with IMGUI_DEBUG_NAV_RECTS
2018-11-21 15:37:29 +01:00
omar
50c43d1c8e
Removed unnecessary ImGui:: prefixes.
2018-11-15 16:43:05 +01:00
omar
6b4443755d
Internals: Added FindWindowByID() helper. ( #2190 )
2018-11-15 16:41:48 +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
aa668c410a
Nav: Fixed an assert in certain circumstance (mostly when using popups) when mouse positions stop being valid. ( #2168 ) + adding a else block to make NavCalcPreferredRefPos() more explicit.
2018-11-15 13:56:27 +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
19b4fcdacb
Made IsWindowFocused() work outside of NewFrame()-EndFrame() and added comments about how ImGuiFocusedFlags_AnyWindow should NOT be used in place of io.WantCaptureMouse. ( #2185 )
2018-11-13 11:23:15 +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
52ca91ca57
Merge branch 'master' into viewport
2018-11-05 17:29:31 +01:00
omar
c808eb92c6
Config: Added IMGUI_DISABLE_WIN32_FUNCTIONS to disable linking with _any_ Win32 function, as a general forward compatible measure.
2018-11-05 17:28:00 +01:00
Torkel Bjørnson-Langen
1441756a0f
Doc: Fixed comments referring to LoadFromFileTTF() instead of AddFontFromFileTTF() ( #2153 )
2018-11-05 14:17:51 +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
12c72d2893
Fixed OpenGL texture loading example in comment + Discourse link to root of discourse
2018-10-25 21:32:29 +02:00
omar
a72d5ada61
Misc comments improvements
2018-10-25 19:02:43 +02:00
omar
ac9aaf4b6e
Comments in demo and opengl code + Internals: Added HoveredIdNotActiveTimer tracking hovering time unless the item is active, which is a commonly useful pattern.
2018-10-25 17:45:48 +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
omar
5be915d6ab
Added ImGuiWindowFlags_NoMouseInputs which is basically the old ImGuiWindowFlags_NoInputs (essentially we have renamed ImGuiWindowFlags_NoInputs to ImGuiWindowFlags_NoMouseInputs). Made the new ImGuiWindowFlags_NoInputs encompass both NoMouseInputs+NoNav, which is consistent with its description. ( #1660 , #787 )
2018-10-15 18:23:18 +02:00
omar
90b50bd4c3
Window: Added ImGuiWindowFlags_NoBackground flag for consistency and to ease creating new flag combinations. Added ImGuiWindowFlags_NoDecoration helper flag which is essentially NoTitleBar+NoResize+NoScrollbar+NoCollapse. ( #1660 )
2018-10-15 18:16:49 +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
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
ca753829cb
Revert using wchar_t functions ( 9cf94d5
+ 2eaf5b0
). Big mistake, wchar_t is not guaranteed to be 16-bits.
2018-10-12 15:48:38 +02:00
omar
28953208d4
Tests: Added imgui-test engine hooks (experimental).
2018-10-12 15:47:15 +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
9cf94d5dd6
RenderText(), InputTextMultiline(): Optimization for large text by using memchr, wmemchr, wcschr when appropriate.
2018-10-12 12:34:47 +02:00
omar
0fe48cbb61
Renamed misc/stl/imgui_stl.h,.cpp to misc/cpp/imgui_stdlib.h in prevision for other files.( #2035 , #2096 )
...
Added misc/README file.
2018-10-12 11:16:51 +02:00
omar
ed4dcd9072
Shutdown: Unlock font atlas before destroying context, so we can destroy a context between NewFrame and EndFrame if we wait (facilitate main loop structures). Internals: GetWindowScrollMaxX(), GetWindowScrollMaxY()
2018-10-11 22:38:26 +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
cf0afb48ac
TextUnformatted: Using memchr(), fixed not properly testing for text_end bound + comments.
...
Internals: Added ImStreolRange() + used in LogRenderedText() + comments.
2018-10-11 12:53:10 +02:00
omar
d02b11dfbd
ImGuiTextBuffer: Avoid heap allocation when empty.
2018-10-11 12:08:09 +02:00
omar
1efafa1d29
Comments + internal using Tab Stop terminology (ImGuiItemFlags_NoTabStop instead of !ImGuiItemFlags_AllowKeyboardFocus)
2018-10-10 12:09:06 +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
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
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
fbfe193fcd
Window, Inputs: Fixed resizing from edges when io.MousePos is not pixel-rounded by rounding mouse position input. ( #2110 )
2018-10-02 18:49:55 +02:00
omar
ae7f833c69
Window: Resizing from edges (with io.ConfigResizeWindowsFromEdges Beta flag) extends the hit region of root floating windows outside the window, making it easier to resize windows. Resize grips are also extended accordingly so there are no discontinuity when hovering between borders and corners. ( #1495 , #822 , #2110 )
2018-10-02 18:43:10 +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
e623be998d
Drag and Drop: Added GetDragDropPayload() to peek directly into the payload (if any) from anywhere. ( #143 )
2018-10-01 15:53:18 +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
3dcd552628
Fixed extraneous static attribute. ( #2105 )
2018-09-27 13:01:51 +02:00
Loïc HAMOT
9aae21483a
Fix missing IMGUI_API and mismatching namespace internal's CreateNewWindowSettings ( #2105 )
2018-09-27 12:59:22 +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
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
61d94ff88e
Renamed SetScrollHere() to SetScrollHereY(). Kept redirection function (will obsolete).
2018-09-26 21:30:37 +02:00
omar
a7d3ae8937
BeginChild(): Fixed BeginChild(const char*, ...) variation erroneously not applying the ID stack to the provided string to uniquely identify the child window. This was undoing an intentional change introduced in 1.50 and broken in 1.60. ( #1698 , #894 , #713 ) + reworked the Begin/BeginChild comments in imgui.h.
2018-09-26 21:24:42 +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
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
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
e2436ca625
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:40:21 +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
062b1f0463
Fixed calling SetNextWindowSize()/SetWindowSize() with non-integer values leading to accidental alteration of window position. We now round the provided size. ( #2067 )
2018-09-07 22:30:46 +02:00
omar
2eaf722fd7
Fixed calling DestroyContext() always saving .ini data with the current context instead of the supplied context pointer. ( #2066 )
2018-09-07 17:24:56 +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
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
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
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
eb7033e75b
Version 1.66 WIP
2018-09-06 21:44:59 +02:00
omar
b974fffea0
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-09-06 15:59:35 +02:00
omar
e0cab5664a
Version 1.65
2018-09-06 15:58:58 +02:00
omar
5a679a45cc
Renamed stb_truetype.h to imstb_truetype.h, stb_textedit.h to imstb_textedit.h, and stb_rect_pack.h to imstb_rectpack.h. ( #1718 , #2036 )
...
If you were conveniently using the imgui copy of those STB headers in your project, you will have to update your include paths.
The reason for this change is to avoid conflicts for projects that may also be importing their own copy of the STB libraries. Note that imgui's copy of stb_textedit.h is modified.
2018-09-06 15:58:25 +02:00
omar
a2616c79fe
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-09-06 11:42:11 +02:00
omar
e58bc3d5b7
Refactor: Tweaked and improved the sectioning to facilitate grepping/moving around and applied to all files. ( #2036 )
2018-09-06 11:36:00 +02:00
omar
0b18c11440
Refactor: Moved ImFile functions. ( #2036 )
2018-09-06 11:36:00 +02:00
omar
ab64e8f993
Refactor: Moved one indentation level in the bulk of the ShowMetricsWindow() function. Should appear as a small diff if whitespaces changes are ignored. ( #2036 )
2018-09-06 11:36:00 +02:00
omar
31b5b18611
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-09-05 20:59:27 +02:00
omar
bb3184af74
Refactor: moved low-layout helpers to imgui_widgets.cpp (Spacing, Dummy, NewLine, Separator, etc.) ( #2036 )
2018-09-05 20:54:28 +02:00
omar
cbdce80837
Internals: Refactor: Moved render functions to their own section. ( #2036 )
2018-09-05 20:46:57 +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
65876f348a
Nav: Removed the [Beta] tag from various descriptions of the gamepad/keyboard navigation system. Although it is not perfect and will keep being improved, it is fairly functional and used by many. ( #787 )
2018-09-05 17:33:00 +02:00
omar
77ba883f23
Renamed io.OptCursorBlink/io.ConfigCursorBlink to io.ConfigInputTextCursorBlink. ( #1427 ) + changed ImGuiIO layout.
2018-09-05 17:29:47 +02:00
omar
bbcc976739
Demo: Added a "Configuration" block to make io.ConfigFlags/io.BackendFlags more prominent.
2018-09-05 17:29:47 +02:00
omar
b944aa623c
Minor mostly inconsequential merges from Viewport + LoadIniSettingsFromMemory() entirely skip lines starting with ';'
2018-09-05 11:52:48 +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
40db2ca098
Fixed a build issue with non-Cygwin GCC under Windows.
2018-09-04 18:58:20 +02:00
omar
1007873d94
Misc: merge minor/inconsequential stuff from Docking branch to reduce drift.
2018-09-03 19:51:22 +02:00
omar
bcb1441ce7
Version 1.65 WIP
2018-09-03 14:38:04 +02:00
omar
fd201a90f1
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-08-31 18:39:02 +02:00
omar
5d40d295b3
Comments, readme updates
2018-08-31 11:37:14 +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
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
48db5713d6
Version 1.64
2018-08-31 10:00:03 +02:00
omar
38cfcf9fbc
Tweak comments and indexes
2018-08-31 09:59:58 +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
8a216fe756
Refactor: Internals: Moved Tooltip functions in imgui.cpp in their own section + comments. ( #2036 )
2018-08-30 21:15:12 +02:00
omar
fd2bfb7e07
Refactor: Internals: Moved Popup functions in imgui.cpp in their own section. (part 3) ( #2036 )
2018-08-30 21:00:51 +02:00
omar
064b949bc2
Refactor: Internals: Moved Popup functions in imgui.cpp in their own section. (part 2) ( #2036 )
2018-08-30 20:59:24 +02:00