888 Commits (f94af2f5c559b6ea26e746df5704f607b87f1bb1)

Author SHA1 Message Date
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)
omar 175bab4f5f Docking: Removed SplitRatio from ImGuiDockNode and ImGuiDockNodeSettings, which we don't need anymore. ago%!(EXTRA string=7 years)
omar 1cefc48f13 Docking: Internal renaming and comments. + Fixed DockNodeMoveChildNodes() to transfer the LastExplicitSize value (was inconsequential afaik). ago%!(EXTRA string=7 years)
omar 211a9c8fd2 Docking: Added ImGuiDockSpaceFlags_KeepAliveOnly, important for multiple level of tabs. (also renamed ImGuiDockFlags to ImGuiDockSpaceFlags.) ago%!(EXTRA string=7 years)
omar e2436ca625 Nav, Focus: Fixed ImGuiWindowFlags_NoBringToFrontOnFocus windows not being restoring focus properly after the main menu bar or last focused window is deactivated. ago%!(EXTRA string=7 years)
omar d5692bff00 Nav, Focus: Fixed ImGuiWindowFlags_NoBringToFrontOnFocus windows not being restoring focus properly after the main menu bar or last focused window is deactivated. ago%!(EXTRA string=7 years)
omar dcef0c0237 Docking: Updating LastFrameActive earlier in Begin() because BeginDocked() will need to use it. Extracted some code into a DockNodeIsDropAllowedOne() function. Comments. ago%!(EXTRA string=7 years)
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. ago%!(EXTRA string=7 years)
omar bd5b38e232 Docking: Added Docking system. Enable with io.ConfigFlags |= ImGuiConfigFlags_DockingEnable. (Part 1) (#351) ago%!(EXTRA string=7 years)
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. ago%!(EXTRA string=7 years)
omar 58d46e1fe6 Tabs: Added BeginTabBar(), EndTabBar(), BeginTabItem(), EndTabItem() + demo. (#261, #351) ago%!(EXTRA string=7 years)
omar c039a77d21 Internals: Added ImPool helper structure. Moved ImVec1f. ago%!(EXTRA string=7 years)
omar 52e0de84a9 Internals: Split RenderTextClipped into two functions. ago%!(EXTRA string=7 years)
omar eb7033e75b Version 1.66 WIP ago%!(EXTRA string=7 years)
omar e0cab5664a Version 1.65 ago%!(EXTRA string=7 years)
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) ago%!(EXTRA string=7 years)