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 |
|