omar
15447f5b7b
Using named flags instead of 0 + shallow formatting tweaks from other branches.
6 years ago
omar
e6439e1a16
Merge branch 'viewport' into docking + moved io.ConfigFlags ImGuiConfigFlags_DockingNoSplit to io.ConfigDockingNoSplit
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_demo.cpp
6 years ago
omar
26b9e2d0a5
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
6 years ago
omar
d20e3ee710
Tests: Adding imgui-test engine hooks (experimental) to provide missing widget state to the testing system.
6 years ago
omar
f768727284
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.cpp
6 years ago
omar
a03846bd9e
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
6 years ago
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.
6 years ago
omar
5105c6c0d0
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
6 years ago
omar
3a678d48b1
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx11.cpp
6 years ago
omar
8bac6d428d
Docking: Another attempt at tidying the inconsistent focus / tab bar reordering issues, and toward generalizing single window dock nodes. ( #2109 )
6 years ago
omar
f6b6ad1959
Viewport: Minor tweaks, better struct layout.
6 years ago
omar
10e13dd6bb
Version 1.67 WIP (again, this time IMGUI_VERSION_NUM has leeway for another hot-fix).
6 years ago
omar
ac10889bde
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
6 years ago
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
6 years ago
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).
6 years ago
omar
f78b5a0cdb
Merge branch 'viewport' into docking
6 years ago
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
6 years ago
omar
f663277591
Merge misc/shallow changes from Docking branch to minimize drift: moved some blocks, added comments.
6 years ago
omar
baf67d393f
When the focused window become inactive don't restore focus to a window with the ImGuiWindowFlags_NoInputs flag. ( #2213 )
6 years ago
omar
3c114b280a
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui_internal.h
6 years ago
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 )
6 years ago
omar
36cbe1e521
Viewport: Misc renaming.
6 years ago
omar
19d17ed274
Docking: Added io.ConfigDockingTransparentPayload option (to use with ImGuiConfigFlags_ViewportsNoMerge)
6 years ago
omar
3bcc25f588
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
6 years ago
omar
c08b4b46f4
Viewport: Better support for toggling ImGuiConfigFlags_ViewportsEnable. ( #2196 )
6 years ago
omar
4575354bc0
Docking: Comments + maiintain LastFrameFocused per node + using bitfiield for docking bools.
6 years ago
omar
3f51c831de
Docking: Added internal DockBuilderGetCentralNode(). Fixed being unable to undock whole node from dock button in DockSpace with a central node. ( #2109 )
6 years ago
omar
4a8efd7e68
Docking: Hidden tab-bar triangle reflects focus but using Button colors. ( #2109 )
6 years ago
omar
d23c69d319
Docking: Added context menu option to hide the tab bar of single-window dock nodes, similar to Unreal. ( #2109 )
6 years ago
omar
ddc3f8f069
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
# imgui_internal.h
6 years ago
omar
5261e5a6ba
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_sdl.cpp
6 years ago
omar
d8ab2c1ac9
Viewport: Added support for minimized window which caused problem when ImGuiBackendFlags_HasMouseHoveredViewport was not supported. ( #1542 ) + todo
6 years ago
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)
6 years ago
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 )
6 years ago
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 )
6 years ago
omar
0c4dee083c
Internals: Added ImPool helper data structure (used by testing system, and already in docking branch)
6 years ago
omar
d27ffefbd4
Version 1.67 WIP
6 years ago
omar
2515413080
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui_widgets.cpp
6 years ago
omar
d87b80c6c1
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
6 years ago
omar
da3c4330c1
Version 1.66
6 years ago
omar
6b4443755d
Internals: Added FindWindowByID() helper. ( #2190 )
6 years ago
omar
4a43f347bb
Merge branch 'viewport' into docking
...
# Conflicts:
# examples/example_allegro5/main.cpp
# examples/example_marmalade/main.cpp
6 years ago
omar
dcbf976a8e
Merge branch 'master' into viewport + comments
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
6 years ago
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.
6 years ago
omar
6c1ae6cc71
Internals: DragBehavior: Added support for ImGuiDragFlags_Vertical to implement a vertical drag widget (no frontend function provided).
6 years ago
omar
168af9b377
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui_demo.cpp
6 years ago
omar
50f6e12d31
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
6 years ago
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.
6 years ago
omar
5f8c9ae0ef
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
6 years ago
omar
69db792bf0
Viewport: Exposed GetOverlayDrawList(ImGuiViewport* viewport) in public API. ( #1542 , #1660 , #1878 , etc.)
6 years ago
omar
e73217d6f7
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_sdl.cpp
# imgui.cpp
6 years ago
omar
c398153b40
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_sdl.cpp
# imgui.cpp
# imgui_internal.h
6 years ago
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()
6 years ago
omar
cf0afb48ac
TextUnformatted: Using memchr(), fixed not properly testing for text_end bound + comments.
...
Internals: Added ImStreolRange() + used in LogRenderedText() + comments.
6 years ago
omar
1efafa1d29
Comments + internal using Tab Stop terminology (ImGuiItemFlags_NoTabStop instead of !ImGuiItemFlags_AllowKeyboardFocus)
6 years ago
omar
84507cc744
Docking: Kept ImGuiDockNodeFlags_PassthruDockspace and removed ImGuiDockNodeFlags_PassthruInEmptyNodes, ImGuiDockNodeFlags_RenderWindowBg. Doesn't include ImGuiDockNodeFlags_NoDockingInCentralNode. ( #2109 )
6 years ago
omar
cb76c086e0
Docking: Removed context parameter from internal DockBuilderXXX api at it is expected we transition it to be public facing. ( #2109 )
6 years ago
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 )
6 years ago
omar
d348d86df4
Docking: Renamed "DocRoot/DocumentRoot" to "CentralNode", more self explanatory. Moved Splitter update higher up in DockNodeUpdate() + minor misc tweak. ( #2109 )
6 years ago
omar
bd82539ad5
Docking: Fixed DockSpace() child window displaying a scrollbar behind the node backgrounds. Rename ImGuiCol_DockingBg to ImGuiCol_DockingEmptyBg. Added ImGuiDockNode::IsLeaftNode(). ( #2109 )
6 years ago
omar
46dff42239
Docking: Fixed dock node with single window accidental stealing of non-owned host viewport (leading to general havoc).
6 years ago
omar
876a3299fc
Docking: Added DockBuilderCopyDockspace() wip. Added DockBuilderCopyWindowSettings(), renamed DockBuilderForkNode() to DockBuilderCopyNode().
6 years ago
omar
93896d550e
Added FindOrCreateWindowSettings() internal helper.
6 years ago
omar
c0a89f8f4e
ImPool: Added Reserve() helper function.
6 years ago
omar
4053d9d638
Docking: Fixed tab order restoring (follow up to 67be485e
, broken in 455dc6e2
)
6 years ago
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)
6 years ago
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.
6 years ago
omar
85e1e2b0c8
Docking: Added DockBuilderGetNode() wrapper for consistency.
6 years ago
omar
9960ccddb2
Docking: Added DockBuilderRemoveNode() + various tweaks. Fixed dragging/undocking dock node from CollapseButton.
6 years ago
omar
4021776d0f
Docking: Fix for undocking node where the dockspace node is attached to an immovable parent window. + Tweak .ini output.
6 years ago
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)
6 years ago
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:
6 years ago
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.
6 years ago
omar
e647f89c33
Docking: Added undocking of whole dock node by dragging from the Collapse button. Super useful and works great!
6 years ago
omar
95d49c3b98
Docking: Internals renaming LastExplicitSize to SizeRef (invalidate .ini data) + todo
6 years ago
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!)
6 years ago
omar
35032d41fa
Docking: Internals: Transitioning some code toward consistently using ImGuiContext* ctx parameter instead of ImGuiDockContext
6 years ago
omar
b55b9aee9b
Fixed bad merge ( a82be53
) where we lost the version number in Docking branch + moved Docking related API together for now.
6 years ago
omar
175bab4f5f
Docking: Removed SplitRatio from ImGuiDockNode and ImGuiDockNodeSettings, which we don't need anymore.
6 years ago
omar
e32256b4b4
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui_demo.cpp
# imgui_internal.h
6 years ago
omar
1cefc48f13
Docking: Internal renaming and comments. + Fixed DockNodeMoveChildNodes() to transfer the LastExplicitSize value (was inconsequential afaik).
6 years ago
omar
211a9c8fd2
Docking: Added ImGuiDockSpaceFlags_KeepAliveOnly, important for multiple level of tabs. (also renamed ImGuiDockFlags to ImGuiDockSpaceFlags.)
6 years ago
omar
df65d4a14f
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
6 years ago
omar
e2436ca625
Nav, Focus: Fixed ImGuiWindowFlags_NoBringToFrontOnFocus windows not being restoring focus properly after the main menu bar or last focused window is deactivated.
6 years ago
omar
d5692bff00
Nav, Focus: Fixed ImGuiWindowFlags_NoBringToFrontOnFocus windows not being restoring focus properly after the main menu bar or last focused window is deactivated.
6 years ago
omar
dcef0c0237
Docking: Updating LastFrameActive earlier in Begin() because BeginDocked() will need to use it. Extracted some code into a DockNodeIsDropAllowedOne() function. Comments.
6 years ago
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.
6 years ago
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
6 years ago
omar
bd5b38e232
Docking: Added Docking system. Enable with io.ConfigFlags |= ImGuiConfigFlags_DockingEnable. (Part 1) ( #351 )
6 years ago
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.
6 years ago
omar
58d46e1fe6
Tabs: Added BeginTabBar(), EndTabBar(), BeginTabItem(), EndTabItem() + demo. ( #261 , #351 )
6 years ago
omar
c039a77d21
Internals: Added ImPool helper structure. Moved ImVec1f.
6 years ago
omar
52e0de84a9
Internals: Split RenderTextClipped into two functions.
6 years ago
omar
eb7033e75b
Version 1.66 WIP
6 years ago
omar
b974fffea0
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
6 years ago
omar
e0cab5664a
Version 1.65
6 years ago
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.
6 years ago
omar
8601c39571
Viewport: Making the code a little more sturdy (flag changes) + added descriptions. ( #1542 )
6 years ago
omar
b944aa623c
Minor mostly inconsequential merges from Viewport + LoadIniSettingsFromMemory() entirely skip lines starting with ';'
6 years ago
omar
bdb30d7145
Merge branch 'master' into viewport
6 years ago