1169 Commits (71a58261f6d14fdda4eb8c907b6d3aa0c1abcf10)

Author SHA1 Message Date
omar 10e13dd6bb Version 1.67 WIP (again, this time IMGUI_VERSION_NUM has leeway for another hot-fix). ago%!(EXTRA string=7 years)
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). ago%!(EXTRA string=7 years)
omar f663277591 Merge misc/shallow changes from Docking branch to minimize drift: moved some blocks, added comments. ago%!(EXTRA string=7 years)
omar baf67d393f When the focused window become inactive don't restore focus to a window with the ImGuiWindowFlags_NoInputs flag. (#2213) ago%!(EXTRA string=7 years)
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) ago%!(EXTRA string=7 years)
omar 36cbe1e521 Viewport: Misc renaming. ago%!(EXTRA string=7 years)
omar 19d17ed274 Docking: Added io.ConfigDockingTransparentPayload option (to use with ImGuiConfigFlags_ViewportsNoMerge) ago%!(EXTRA string=7 years)
omar c08b4b46f4 Viewport: Better support for toggling ImGuiConfigFlags_ViewportsEnable. (#2196) ago%!(EXTRA string=7 years)
omar 4575354bc0 Docking: Comments + maiintain LastFrameFocused per node + using bitfiield for docking bools. ago%!(EXTRA string=7 years)
omar 3f51c831de Docking: Added internal DockBuilderGetCentralNode(). Fixed being unable to undock whole node from dock button in DockSpace with a central node. (#2109) ago%!(EXTRA string=7 years)
omar 4a8efd7e68 Docking: Hidden tab-bar triangle reflects focus but using Button colors. (#2109) ago%!(EXTRA string=7 years)
omar d23c69d319 Docking: Added context menu option to hide the tab bar of single-window dock nodes, similar to Unreal. (#2109) ago%!(EXTRA string=7 years)
omar d8ab2c1ac9 Viewport: Added support for minimized window which caused problem when ImGuiBackendFlags_HasMouseHoveredViewport was not supported. (#1542) + todo ago%!(EXTRA string=7 years)
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) ago%!(EXTRA string=7 years)
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) ago%!(EXTRA string=7 years)
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) ago%!(EXTRA string=7 years)
omar 0c4dee083c Internals: Added ImPool helper data structure (used by testing system, and already in docking branch) ago%!(EXTRA string=7 years)
omar d27ffefbd4 Version 1.67 WIP ago%!(EXTRA string=7 years)
omar da3c4330c1 Version 1.66 ago%!(EXTRA string=7 years)
omar 6b4443755d Internals: Added FindWindowByID() helper. (#2190) ago%!(EXTRA string=7 years)
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. ago%!(EXTRA string=7 years)
omar 6c1ae6cc71 Internals: DragBehavior: Added support for ImGuiDragFlags_Vertical to implement a vertical drag widget (no frontend function provided). ago%!(EXTRA string=7 years)
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. ago%!(EXTRA string=7 years)
omar 69db792bf0 Viewport: Exposed GetOverlayDrawList(ImGuiViewport* viewport) in public API. (#1542, #1660, #1878, etc.) ago%!(EXTRA string=7 years)
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() ago%!(EXTRA string=7 years)
omar cf0afb48ac TextUnformatted: Using memchr(), fixed not properly testing for text_end bound + comments. ago%!(EXTRA string=7 years)
omar 1efafa1d29 Comments + internal using Tab Stop terminology (ImGuiItemFlags_NoTabStop instead of !ImGuiItemFlags_AllowKeyboardFocus) ago%!(EXTRA string=7 years)
omar 84507cc744 Docking: Kept ImGuiDockNodeFlags_PassthruDockspace and removed ImGuiDockNodeFlags_PassthruInEmptyNodes, ImGuiDockNodeFlags_RenderWindowBg. Doesn't include ImGuiDockNodeFlags_NoDockingInCentralNode. (#2109) ago%!(EXTRA string=7 years)
omar cb76c086e0 Docking: Removed context parameter from internal DockBuilderXXX api at it is expected we transition it to be public facing. (#2109) ago%!(EXTRA string=7 years)
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) ago%!(EXTRA string=7 years)
omar d348d86df4 Docking: Renamed "DocRoot/DocumentRoot" to "CentralNode", more self explanatory. Moved Splitter update higher up in DockNodeUpdate() + minor misc tweak. (#2109) ago%!(EXTRA string=7 years)
omar bd82539ad5 Docking: Fixed DockSpace() child window displaying a scrollbar behind the node backgrounds. Rename ImGuiCol_DockingBg to ImGuiCol_DockingEmptyBg. Added ImGuiDockNode::IsLeaftNode(). (#2109) ago%!(EXTRA string=7 years)
omar 46dff42239 Docking: Fixed dock node with single window accidental stealing of non-owned host viewport (leading to general havoc). ago%!(EXTRA string=7 years)
omar 876a3299fc Docking: Added DockBuilderCopyDockspace() wip. Added DockBuilderCopyWindowSettings(), renamed DockBuilderForkNode() to DockBuilderCopyNode(). ago%!(EXTRA string=7 years)
omar 93896d550e Added FindOrCreateWindowSettings() internal helper. ago%!(EXTRA string=7 years)
omar c0a89f8f4e ImPool: Added Reserve() helper function. ago%!(EXTRA string=7 years)
omar 4053d9d638 Docking: Fixed tab order restoring (follow up to 67be485e, broken in 455dc6e2) ago%!(EXTRA string=7 years)
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) ago%!(EXTRA string=7 years)
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. ago%!(EXTRA string=7 years)
omar 85e1e2b0c8 Docking: Added DockBuilderGetNode() wrapper for consistency. ago%!(EXTRA string=7 years)
omar 9960ccddb2 Docking: Added DockBuilderRemoveNode() + various tweaks. Fixed dragging/undocking dock node from CollapseButton. ago%!(EXTRA string=7 years)
omar 4021776d0f Docking: Fix for undocking node where the dockspace node is attached to an immovable parent window. + Tweak .ini output. ago%!(EXTRA string=7 years)
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) ago%!(EXTRA string=7 years)
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: ago%!(EXTRA string=7 years)
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. ago%!(EXTRA string=7 years)
omar e647f89c33 Docking: Added undocking of whole dock node by dragging from the Collapse button. Super useful and works great! ago%!(EXTRA string=7 years)
omar 95d49c3b98 Docking: Internals renaming LastExplicitSize to SizeRef (invalidate .ini data) + todo ago%!(EXTRA string=7 years)
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!) ago%!(EXTRA string=7 years)
omar 35032d41fa Docking: Internals: Transitioning some code toward consistently using ImGuiContext* ctx parameter instead of ImGuiDockContext ago%!(EXTRA string=7 years)
omar b55b9aee9b Fixed bad merge (a82be53) where we lost the version number in Docking branch + moved Docking related API together for now. ago%!(EXTRA string=7 years)