omar
401e05147c
Internals: Moved CalcListClipping close to ImGuiListClipper code (no-op)
2019-06-29 20:11:03 +02:00
omar
82711251b6
Internals: ImGuiListClipper using absolute coordinate (instead of relative one). Minor no-op tweaks + ImDrawListSplitter assert
2019-06-29 20:10:55 +02:00
omar
4b95e7c2f3
Doc: Tweak and extra mention of AddCustomRectFontGlyph + made the example register two rectangles.
2019-06-26 12:15:32 +02:00
omar
50d421fa19
Docking: Fixed GetBackgroundDrawList(), GetForegroundDrawList() overwriting ImDrawList flags after clear, leading to the AllowVtxOffset flag not being cleared. ( #2638 )
2019-06-26 09:52:25 +02:00
omar
f563e1a504
Internals: Renamed GetFrontMostPopupModal() to GetTopMostPopupModal() to be consistent. Renamed other locals to follow that terminology.
2019-06-19 18:16:38 +02:00
omar
e2c1f0a7cd
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2019-06-18 23:12:50 +02:00
omar
70fe409338
Window: Fixed InnerClipRect right-most coordinates using wrong padding setting (introduced in 1.71).
2019-06-18 10:58:03 +02:00
omar
ae2c9f7101
Internals: Columns: Poke into WorkRect and use them in the GetContentRegionMax() functions. This should be a no-op, but preparing us to transition toward using WorkRect instead of ContentRegionRect.
...
Removed one use of ContentsRegionRect.
2019-06-17 12:14:34 +02:00
omar
e9b92d1cef
Disable -Wpragmas warning in GCC to avoid relying on version checks, as unusual/forks/mods don't appear to always have same warning<>version. ( #2618 )
...
+ Fix version number in imgui.h
2019-06-17 11:32:00 +02:00
omar
ca43436cd3
Fix monitor dpi info not being copied to main viewport when multi-viewports are not enabled. ( #2621 , #1676 ) + Tweaks, short path in FindPlatformMonitorForRect().
2019-06-17 11:19:34 +02:00
omar
b27fd87177
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
# imgui.h
2019-06-17 11:10:14 +02:00
omar
af3080b81b
Removed redirecting functions/enums that were obsoleted in version 1.51 (June 2017): ImGuiCol_Column*, ImGuiSetCond_*, IsItemHoveredRect(), IsPosHoveringAnyWindow(), IsMouseHoveringAnyWindow(), IsMouseHoveringWindow(), IMGUI_ONCE_UPON_A_FRAME.
2019-06-14 12:05:00 +02:00
omar
5286ecb8a7
Version 1.72 WIP
2019-06-14 11:58:58 +02:00
omar
07d3083279
Docking: Fixed rendering of outer decoration happening on non-visible docked window ( #2623 , #2109 ). Revealed by 0770449
. We are actually better than before now, as previously those would get unnecessarily get rendered into a hidden draw list.
2019-06-13 10:19:14 +02:00
omar
d3d998a885
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/README.txt
# imgui.cpp
# imgui.h
# imgui_internal.h
# imgui_widgets.cpp
2019-06-12 18:40:50 +02:00
omar
2da1c66d15
Version 1.71 + comments
2019-06-12 18:30:06 +02:00
omar
5ae268c0a3
Internals: Reworked RenderTextEllipsis() to satisfy what we need for table headers.
2019-06-11 16:12:00 +02:00
omar
4597632662
Readme, comments, dear imgui prefixes
2019-06-11 16:11:36 +02:00
omar
a8eb64fc54
Log/Capture: Fixed BeginTabItem() label not being included in a text log/capture.
...
Extracted tab rendering code into a RenderTextEllipsis() function.
2019-06-11 14:03:13 +02:00
omar
0770449630
Window: child windows outer decorations (e.g. scrollbar) are rendered as part of their parent window, avoiding the creation of an extraneous draw command.
...
+ Metrics: inverted color of clip rect vs vertices bounding box when hovering a draw command, so the color matches the per-vertex preview.
2019-06-07 17:34:36 +02:00
omar
afa3978ff6
Internals: Added drawlist and color arg to RenderArrow(), RenderBullet(). Reordered args for RenderPixelEllipsis.
2019-06-07 17:32:51 +02:00
omar
2b997141cf
Made PushID() behave the same in 32-bit and 64-bit, by not padding the integer into a void*. (Also technically faster.)
2019-06-06 16:36:26 +02:00
omar
63310acd58
Synced/merged minor cruft from master branch to minimize drift. Only meaningful change AFAIK is removing ImGuiComboFlags_PopupAlignLeft flag from the tab list combo emitted by TabBar.
2019-06-06 16:16:18 +02:00
omar
431aa4e456
Synced/merged minor cruft from docking branch to minimize drift. AFAIK the only meaningful no-op change is that the call UpdateHoveredWindowAndCaptureFlags() was moved above UpdateMouseMovingNewFrame() to match what docking branch has been doing for a while.
2019-06-06 16:13:30 +02:00
omar
480d57e6a2
Revert "Changed syntax for (very rarely used) IMGUI_OVERRIDE_DRAWVERT_STRUCT_LAYOUT mechanism, instead you only need to '#define ImDrawVert MyDrawVert' to use this feature, avoiding the need to declare the entire structure within an awkward macro. Using the old macro will now error with a message pointing you to the new method. ( #38 , #103 , #1172 , #1231 , #2489 )"
...
This reverts commit 597c024904
.
2019-06-06 01:00:30 +02:00
omar
597c024904
Changed syntax for (very rarely used) IMGUI_OVERRIDE_DRAWVERT_STRUCT_LAYOUT mechanism, instead you only need to '#define ImDrawVert MyDrawVert' to use this feature, avoiding the need to declare the entire structure within an awkward macro. Using the old macro will now error with a message pointing you to the new method. ( #38 , #103 , #1172 , #1231 , #2489 )
2019-06-06 00:42:27 +02:00
omar
e6850891cc
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-06-05 16:09:06 +02:00
omar
c96f2c4057
Window: Fixed one case where auto-resize by double-clicking the resize grip would make either scrollbar appear for a single frame after the resize. Moved Scrollbar visibility block.
2019-06-05 15:59:14 +02:00
omar
300d8dd656
Internals: Moved scrollbar visibility calculation block below the call to UpdateManualResize(). This commit is _intended_ to have no side-effect (next commit will). Also moved ItemWidthDefault calculation below rectangles.
2019-06-05 15:59:14 +02:00
omar
c1a61d25a7
Scrollbar overlap an extra WindowBorderSize amount on the left to make all distances consistent. Reverted to BorderSize not affecting work/contents rectangles. Scrollbar, Style: Changed default style.ScrollbarSize from 16 to 14.
2019-06-05 15:59:14 +02:00
omar
15282261dd
Internals: Minor no-op tidying up toward solving the WindowPadding / WindowBorderSize / ScrollbarSize overlapping mess.
...
+ Demo: Use SetScrollY().
2019-06-05 15:59:14 +02:00
omar
4149d22e85
Fixed newly created window (e.g. appearing child window) from having scrollbar active on the first frame. (fix 6e03b27) + reworded code a little. (+1 squashed commits)
...
Fixed auto-resize with AlwaysVerticalScrollbar or AlwaysHorizontalScrollbar flags not taking account of the expect scrollbar sizes.
2019-06-05 15:59:14 +02:00
omar
06f1d2c101
Internals: Storing ScrollMax into a member. Mostly to facilitate debugging. Also locking down window->Scroll slightly lower in the Begin function.
2019-06-05 15:59:13 +02:00
omar
d6df777ff2
TextWrapped, PushTextWrapPos(0.0f) within a window with horizontal scrolling from not covering the full horizontal area (previously only worked with an explicit contents size).
2019-06-05 15:59:13 +02:00
omar
fe32fde376
Internals: Renamed SizeContents to ContentSize, SizeContentsExplicit to ContentSizeExplicit. Tweaked Metrics->Show Rectangles functionality.
2019-06-05 15:59:13 +02:00
omar
f95c77eeea
Window rectangles: Changed WorkRect to cover the whole region including scrolling (toward obsolete ContentsRegionRect) + using full WindowPadding*1 padding.
...
Tweaked InnerClipRect.
TreeNode, CollapsingHeader: Fixed highlight frame not covering horizontal area fully when using horizontal scrolling. (#2211 , #2579 )
TabBar: Fixed BeginTabBar() within a window with horizontal scrolling from creating a feedback loop with the horizontal contents size.
Columns: Fixed Columns() within a window with horizontal scrolling from not covering the full horizontal area (previously only worked with an explicit contents size). (#125 )
Demo: Added demo code to test contentsrect/workrect
2019-06-05 15:59:13 +02:00
omar
a0994d74c2
Clarified behavior of SetNextWindowContentSize(). Content size is defined as the size available after removal of WindowPadding on each sides. So SetNextWindowContentSize(ImVec2(100,100)) + auto-resize will always allow submitting a 100x100 item without creating a scrollbar, regarding of WindowPadding.The exact meaning of ContentSize for decorated windows was previously ill-defined.
2019-06-05 15:59:13 +02:00
omar
09bcf9fbc5
Window rectangles: Made InnerRect not affected by window border sizes. its few users shouldn't be meaningfully affected.
2019-06-05 15:59:12 +02:00
omar
440ad0b440
Merge branch 'master' into docking
2019-06-05 00:37:20 +02:00
omar
5cdd788f30
Comments ( #2599 ). Moved branch Changelog above 1.71 wip one. Added some missing changelog bits.
2019-06-05 00:37:14 +02:00
omar
57d8ab62f4
Nav: Fixed rare crash when e.g. releasing Alt-key while focusing a window with a menu at the same frame as clearing the focus. This was in most noticeable in some back-ends with emits key release events when focusing another viewport. ( #2609 )
2019-06-05 00:28:55 +02:00
omar
eb7849b477
Nav: Fixed gamepad/keyboard moving of window affecting contents size incorrectly, sometimes leading to scrollbars appearing during the movement. + minor fix with the mostly dead Ctrl+wheel scaling.
2019-05-31 20:48:52 +02:00
omar
84f3ecc231
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-05-30 18:52:24 +02:00
omar
546b728199
Internals: Window rectangles: Fixed ContentsRegion lag by moving back after Scrollbar, fixes b50c61c9
. Shuffling setup order and added comments.
2019-05-30 18:19:14 +02:00
omar
21ebdcafc9
Internals: Window rectangles: Renaming of all rectangles toward their final form. Should be a no-op. Renamed GetWorkRectMax() to GetContentRegionMaxAbs(). Metrics shows SizeContents.
2019-05-30 18:04:21 +02:00
omar
8dc04a4c9f
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx9.cpp
# examples/imgui_impl_opengl3.cpp
# imgui.h
# imgui_demo.cpp
2019-05-29 16:32:27 +02:00
omar
7755cbbef2
Renamed ImGuiBackendFlags_HasVtxOffset to ImGuiBackendFlags_RendererHasVtxOffset to match naming convention already used in viewport/docking branch. ( #2591 ) + Fix OpenGL3 code missing flag.
2019-05-29 16:29:17 +02:00
omar
c72040a715
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx10.h
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx11.h
# examples/imgui_impl_dx9.cpp
# examples/imgui_impl_dx9.h
# examples/imgui_impl_opengl3.cpp
# examples/imgui_impl_opengl3.h
# examples/imgui_impl_osx.h
# examples/imgui_impl_osx.mm
# imgui.cpp
# imgui.h
# imgui_demo.cpp
# imgui_internal.h
2019-05-29 16:20:26 +02:00
omar
d1e8b698d0
ImDrawList: Added ImDrawCmd::VtxOffset value to support large meshes (64k+ vertices) using 16-bits indices. To enable the feature, the renderer back-end needs to set 'io.BackendFlags |= ImGuiBackendFlags_HasVtxOffset' and honor the ImDrawCmd::VtxOffset field. Otherwise the value will always be zero. This has the advantage of preserving smaller index buffers and allowing to execute on hardware that do not support 32-bits indices.
...
ImDrawList: Added ImDrawCmd::IdxOffset value, equivalent to summing element count for each draw command. This is provided for convenience and consistency with VtxOffset. (#2591 )
2019-05-29 16:13:38 +02:00
omar
40b9e5e0b4
ImDrawList: Store initial flags for the frame in ImDrawListSharedData, reducing code duplication in setting up the flags.
2019-05-29 14:26:03 +02:00
omar
70d9f79312
Internal: Renamed InnerMainRect to InnerVisibleRect. Printing coordinates in Metrics window.
2019-05-28 11:23:04 +02:00
omar
c7c1bf177b
Docking: Fixed DockBuilderRemoveNode() from overwriting other parent node flags when trying to move the CentralNode flag.
2019-05-28 00:06:21 +02:00
omar
5b0e59d9d5
Docking: Saving local _NoResize flag. ( #2583 )
2019-05-27 22:11:21 +02:00
omar
2d68e892a8
Added full "Dear ImGui" prefix to the title of "Dear ImGui Demo" and "Dear ImGui Metrics" windows. Shortened amount of nodes in columns>tree demo.
2019-05-27 18:38:28 +02:00
omar
7c06d9f043
Docking: Saving the NoTabBar, NoWindowMenuButton, NoCloseButton fields of dock node into the .ini file. Added them to the Metrics window. ( #2583 , #2423 , #2109 ).
2019-05-27 17:06:17 +02:00
omar
511e32e8ca
Docking: Clarified terminology of docking/tablist/collapse button into Window Menu button matching master. Added private ImGuiDockNodeFlags_NoWindowMenuButton, ImGuiDockNodeFlags_NoCloseButton flags. ( #2583 , #2109 )
2019-05-27 12:35:20 +02:00
omar
e5dfa0855f
Docking: Honor style.WindowMenuButtonPosition setting in docking node.
2019-05-24 21:59:44 +02:00
omar
afad952450
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
# imgui_widgets.cpp
2019-05-24 21:58:17 +02:00
omar
958d75c00a
Style: Added style.WindowMenuButtonPosition (left/right, defaults to ImGuiDir_Left) to move the collapsing/docking button to the other side of the title bar.
2019-05-24 21:54:52 +02:00
omar
6c3697f6f1
Internal: CloseButton takes an upper-left corner + a size to be consistent with similar widgets.
2019-05-24 17:58:21 +02:00
omar
fda1365c15
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-05-23 00:04:25 +02:00
omar
7bc03f7155
Internals: Added InnerWorkRect equal to old InnerClipRect, added InnerWorkRectClipped actually clipped.
2019-05-22 23:56:31 +02:00
omar
a2eec8f5b5
Fix OuterRectClipped not being clipped correctly, which resulted in child window outside visible bound to not be marked with SkipItems. Broken in b50c61c961
.
...
+ Comments on InnerClipRect being misleading. Demo: Tweak to sizing of child window in the Layout->Scrolling section.
2019-05-22 22:14:31 +02:00
omar
04022114d9
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2019-05-21 14:47:29 +02:00
omar
882d2c3aea
Fixed crash when appending with BeginMainMenuBar() more than once and no other window are showing. ( #2567 ) + comments
2019-05-21 12:18:34 +02:00
omar
392ab08580
BeginPopupContextItem(): Skip processing when SkipItems is set as LastItemId is unreliable and we assert when it is zero. + Minor comments on columns.
2019-05-20 16:46:47 +02:00
omar
f242cd4d8a
Fixed GCC mem-access warnings ( #2565 )
...
+ using "if defined" more consistently for Clang.
2019-05-19 17:15:14 +02:00
omar
1575a3fbcd
Docking: Fixed temporarily losing Dockspace flag when merging remaining sibling back into a parent node. ( #2563 , #2109 )
...
Would trigger an assert in the Passthru hole path. Broken by fd5859ed
.
2019-05-19 17:00:17 +02:00
omar
7e772f6a51
Docking: Fixed undocking whole node (from collapse/docking menu button) from losing its size/pos. Made collapose/docking menu id easier to compute for testing.
2019-05-18 18:42:59 +02:00
omar
31e3e861ef
Update changelog, comments, made empty/no-text clipboard return NULL as with other implementation. Minor style tweaks. ( #2546 )
...
Fixed IMGUI_DISABLE_WIN32_FUNCTIONS not disabling IME code.
2019-05-18 17:44:09 +02:00
Andrew Willmott
02de498a41
Add native mac copy/paste support to match win32 ( #2546 )
2019-05-18 17:34:58 +02:00
omar
2e5860b5a0
Docking: Fixed incomplete merge of 36e714a
leading to undocking. #2109
2019-05-18 13:00:00 +02:00
omar
4158cba1ff
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_win32.cpp
# imgui.cpp
# imgui_internal.h
2019-05-13 19:23:18 +02:00
omar
fc3c3de551
Fixed uses of IsItemDeactivated(), IsItemDeactivatedAfterEdit() on multi-components widgets and after EndGroup(). ( #2550 , #1875 )
2019-05-13 19:05:41 +02:00
omar
99a845053a
Internal: Renamed fields + minor tweaks (probably shallow break stack-layout pr, sorry!)
2019-05-13 18:26:28 +02:00
omar
64dbd932d2
Internal: Removed GetNextItemWidth(), relying on ItemAdd or NextItemData.ClearFlags() to clear the width data. Amend 5078fa20
and undo some of its effects of imgui_widgets.cpp
2019-05-13 15:29:00 +02:00
omar
632469d2e5
Renamed SetNextTreeNodeOpen() to SetNextItemOpen(). Refactored SetNextItemXXX stuff to match SetNextWindowXXX code closely.
2019-05-13 15:11:25 +02:00
omar
36e714a459
Internal: Storing flags for NextWindowData so that we can clear everything with a single write and remove dummy condition fields.
2019-05-13 14:57:30 +02:00
omar
0b485f12d7
Internal: Minor tidying/reordering of sections within ImGuiContext / window DC.
2019-05-13 14:02:03 +02:00
omar
7355c84701
Tweak EndGroup() to facilitate fixing #2550 later (currently should have no side-effect0. Demo: Add extra widget to status query test.
2019-05-12 21:42:36 +02:00
Chris Savoie
b955e485f1
Fixed unused variables warnings when asserts are compiled out. ( #2551 )
2019-05-12 17:53:08 +02:00
omar
aca6ee1a91
Cast ImTextureId to void* before printing in Metrics window. ( #2548 )
2019-05-11 11:34:41 +02:00
omar
ef13d95466
IO: changed AddInputCharacter(unsigned short c) signature to AddInputCharacter(unsigned int c).
...
Examples/Backends: Don't filter characters under 0x10000 before calling io.AddInputCharacter(), the filtering is done in io.AddInputCharacter() itself. This is in prevision for fuller Unicode support. (#2538 , #2541 )
2019-05-11 10:33:56 +02:00
omar
b668726a38
Fixed a PVS Studio static analyzer warning.
2019-05-10 22:58:24 +02:00
omar
835a8b2c9b
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2019-05-10 22:56:43 +02:00
omar
7c256fbd40
Internal: Extracted some of the Begin code into RenderWindowDecorations().
2019-05-10 22:45:52 +02:00
omar
72951a1a85
Internal: Extracted some of the Begin code into RenderWindowTitleBarContents().
2019-05-10 22:45:28 +02:00
omar
b50c61c961
Internal: Begin: Update rectangles before Scrollbar() which now uses them. Fixes 39eeda0
.
2019-05-10 22:30:33 +02:00
omar
e29176df53
Internals: Columns: Renamed fields. Comments and tweak. Moved a demo block.
2019-05-09 13:12:09 +02:00
omar
a4d0b0efa4
Internal: Refactored Separator into SeparatorEx(), exposed ImGuiSeparatorFlags_SpanAllColumns in imgui_internal.h and support without. ( #759 ) + misc comments
2019-05-09 12:55:01 +02:00
omar
b7c2759f95
Columns: Fixed Separator from creating an extraneous draw command. Fixed Selectable with SpanAllColumns flag from creating an extraneous draw command. ( #125 )
2019-05-09 12:10:36 +02:00
omar
239c8732d7
Viewports: Minor tweaks. ( #2471 )
2019-05-08 18:33:08 +02:00
omar
9bf3f910c8
Viewports: Fix to avoid SetNextWindowViewport being overrided by creation of a standalone viewport. ( #2544 , #1542 )
2019-05-08 18:20:13 +02:00
omar
42fc563fed
Version 1.71 WIP + fixed minor typo
2019-05-07 16:36:08 +02:00
omar
d1d5075b66
Version 1.70
2019-05-06 14:17:39 +02:00
omar
76e61958fd
Merge branch 'master' into docking
...
# Conflicts:
# examples/README.txt
# examples/imgui_impl_dx9.cpp
# imgui.cpp
# imgui.h
2019-05-06 10:16:43 +02:00
omar
6c196cf432
Examples Readme and Changelog tweaks, added #2527 , re-ordered examples/README alphabetically.
2019-05-06 10:02:59 +02:00
omar
526e2303bc
Window: Fixed SetNextWindowSizeConstraints() with non-rounded positions making windows drift. ( #2067 , #2530 )
2019-05-03 19:09:44 +02:00
omar
9c1f02a42c
Misc: Made IMGUI_CHECKVERSION() macro also check for matching size of ImDrawIdx.
2019-05-03 18:42:53 +02:00
omar
e2166db282
Internals: Fixed incorrect repeat delay/rate calculation in IsMouseClicked() with repeat flag leading to involontary but thankfully doubling the rate. Using our standard function, making the multiplicator explicit.
2019-05-03 15:06:06 +02:00
omar
2dc81057ec
Selectable: With ImGuiSelectableFlags_AllowDoubleClick doesn't return true on the mouse button releas efollowing the double-click. Only first mouse release + second mouse down (double-click) returns true. Likewise for internal ButtonBehavior() with both _PressedOnClickRelease | _PressedOnDoubleClick. ( #2503 )
2019-05-03 14:31:12 +02:00
omar
ce19cb465f
Internals: Rename GetContentRegionMaxScreen() -> GetWorkRectMax(). At this point this is mostly useful to facilitate merge of other branches.
2019-05-02 16:29:40 +02:00
omar
825b61e4ba
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx12.cpp
# examples/imgui_impl_dx9.cpp
# examples/imgui_impl_opengl2.cpp
# examples/imgui_impl_opengl3.cpp
# examples/imgui_impl_vulkan.cpp
# imgui.cpp
2019-05-02 14:56:47 +02:00
omar
a1c432d1ad
Internals: SettingsHandlerWindow_ReadLine uses context parameter.
2019-05-02 14:30:35 +02:00
omar
3fbc0b7a9e
Obsoleted GetContentRegionAvailWidth(), use GetContentRegionAvail().x instead. Kept inline redirection function.
2019-04-29 18:33:08 +02:00
omar
db2d58a68b
Drag and Drop: Fixed drag source with ImGuiDragDropFlags_SourceAllowNullID and null ID from receiving click regardless of being covered by another window (it didn't honor correct hovering rules). ( #2521 )
2019-04-29 16:34:02 +02:00
omar
7e67aba286
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-04-29 13:06:55 +02:00
omar
0f2852806c
Amend 48a09a7 with changelog, breaking changes, tweak demo code for spacing. ( #2518 )
2019-04-29 12:44:17 +02:00
omar
4dec744795
Tidying up BeginMenu() code + comments.
2019-04-29 00:02:02 +02:00
omar
842a720e72
Popups: Closes popup at the time of FocusWindow(). Fixes right-click from closing all popups instead of aiming at the hovered popup level (regression in 1.67's ae76a1fd
).
2019-04-28 22:33:58 +02:00
omar
bda2cde68e
Popups: Closing a popup restores the focused/nav window in place at the time of the popup opening, instead of restoring the window that was in the window stack at the time of the OpenPopup call. ( #2517 )
...
Among other things, this allows opening a popup while no window are focused, and pressing Escape to clear the focus again.
2019-04-28 22:18:51 +02:00
omar
09db2f6dec
Fix 61d9258
when there is not scrollbar "Window: Fixed contents region being off by WindowBorderSize amount on the right when scrollbar is active."
2019-04-28 18:50:51 +02:00
omar
4e81b2d093
Internals: Renaming. Renamed ImGuiPopupRef to ImGuiPopupData for consistency and added constructor.
2019-04-28 17:15:08 +02:00
omar
00b3c830db
Internals: Begin: Moved OuterRectClipped/InnerMainRect/InnerClipRect computation higher up in the function, next to ContentsRect/WorkRect code. Removed commented out debug drawing code which is now available in Metrics window.
2019-04-26 23:33:09 +02:00
omar
61d92580aa
Window: Fixed contents region being off by WindowBorderSize amount on the right when scrollbar is active.
2019-04-26 23:32:29 +02:00
omar
5d799d76ea
Internals: Nav scrolling uses InnerMainRect instead of InnerClipRect.
2019-04-26 23:31:51 +02:00
omar
dfb82d5c22
Merge branch 'master' into docking
...
# Conflicts:
# examples/example_sdl_opengl2/main.cpp
# examples/example_sdl_opengl3/main.cpp
# examples/example_sdl_vulkan/main.cpp
# examples/imgui_impl_sdl.cpp
# examples/imgui_impl_sdl.h
# imgui.cpp
2019-04-25 17:53:11 +02:00
omar
0ca1675ff9
Internals: TempInputText: Rename InputScalarAsWidgetReplacement() -> TempInputTextScalar(), ScalarAsInputTextId -> TempInputTextId, small tidying up in affected functions.
2019-04-25 16:03:47 +02:00
omar
59a3f0476d
Internals: Using more explicit PushOverrideID() helper + renamed equivalent internal tree helper.
2019-04-25 15:21:22 +02:00
omar
4dc4ace864
Window: Fixed window with the AlwaysAutoResize flag unnecessarily extending their hovering boundaries by a few pixels (this is used to facilitate resizing from borders when available for a given window). One of the noticeable minor side effect was that navigating menus would have had a tendency to disable highlight from parent menu items earlier than necessary while approaching the child menu.
...
+ Changelog fixed unfinished sentence and tweaks,
2019-04-25 11:50:28 +02:00
omar
16b18b265e
MenuItem, BeginMenu: Fix undesirable tall frames in horizontal layout context, which would be visible when trying to use rounded selectable/menus.
...
PushStyleVar: Added comments in the assert message.
Minor tweaks.
2019-04-25 11:34:07 +02:00
omar
6db0766564
Misc comments, internal renaming, added disable indentation option to Columns demo section.
2019-04-24 17:40:07 +02:00
omar
d0fb547dc1
Viewports: Avoid rendering/swapping secondary viewports that are minimized. ( #1542 , #2496 )
2019-04-22 11:46:04 +02:00
omar
20f0cb0281
Docking: Fixed an issue where DockBuilderSplitNode() wouldn't update the CentralNode shortcut immediately, which was problematic for immediately following DockBuilderDockWindow(). ( #2109 )
2019-04-19 20:28:43 +02:00
omar
03b64defa5
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
2019-04-19 19:52:45 +02:00
omar
59f012d656
Internals: ImHashStr() default parameter.
2019-04-19 19:48:51 +02:00
omar
5078fa208b
Added SetNextItemWidth() helper to avoid using PushItemWidth/PopItemWidth() for single items.
2019-04-18 18:29:28 +02:00
omar
0e46d65b03
Misc: Fixed PushItemWidth(-width) (for right-side alignment) laying out certain items (button, listbox, etc.) with negative sizes if the 'width' argument was smaller than the available width at the time of item submission,
2019-04-18 15:46:13 +02:00
omar
a1cf7d636d
Internals: Rework CalcItemWidth / CalcItemSize but make their similarities and their differences more obvious. ( #2449 )
2019-04-18 15:46:13 +02:00
omar
f355a40367
Added commentary about ContentRegion functions. Added internal GetContentRegionMaxScreen() to facilitate internal code at the moment.
2019-04-18 15:46:13 +02:00
omar
9d4a893a77
Internals: Moved CalcItemSize next to CalcItemWidth, added comments to clarify their respective intent. Should have no side effect.
2019-04-18 15:46:12 +02:00
omar
1aeee9d40f
Internals: Columns: Tweaks, renaming. Metrics: Show rectangles for child windows.
...
Renamed SameLine() first parameter.
2019-04-17 22:12:17 +02:00
omar
1d3ebef364
Columns: Fixed boundary of clipping being off by 1 pixel within the left column.
2019-04-17 21:51:13 +02:00
omar
1f25cdd6b4
Clarified asserts comments + todo entries. ( #2500 )
2019-04-17 09:59:03 +02:00
omar
7baf45cffa
Metrics: Added "Show windows rectangles" tool to visualize the different rectangles.
2019-04-16 22:02:56 +02:00
omar
655ebe4eaf
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
2019-04-16 13:14:10 +02:00
omar
742b5f4c68
Merged a bunch of small changes from Docking branch to reduce the difference between branches.
...
Noticeable: horizontal alignment of CloseButton. Menu fill take account of border. Various stylistic tweaks to accomodate other changes in Docking.
2019-04-16 13:07:43 +02:00
omar
311469e9d6
Internals: Columns: Some renaming, extracted code into GetColumnsID().
2019-04-16 11:58:54 +02:00
omar
f70eacee8e
Docking: Internal: Added helper for automation to process docking at the mouse level.
2019-04-13 19:50:30 +02:00
omar
433a7556c7
Docking: Fixed another issue where the resulting node of a split would sometimes recall the pos/size of previous host window. Spent a whole day adding framework for testing more of docking so hopefully we'll heading toward the magical world of less regressions. ( #2109 )
2019-04-13 19:19:56 +02:00
omar
712203dbcb
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-04-13 18:53:00 +02:00
omar
e805ca29d8
Internals: Moved resize grips and borders to nav layer 1 so that testing system doesn't attempt to scroll to get them inside the InnerRect.
2019-04-13 18:51:32 +02:00
omar
800fb26606
Docking: Renamed target_node > node in some functions to facilitate debugger watch use across functions.
2019-04-13 00:36:24 +02:00
omar
224f087a5f
Docking: Rename typo Autority -> Authority + Rename DockContextNewFrameUpdateDocking -> DockContextUpdateDocking.
2019-04-13 00:36:24 +02:00
omar
fb2626c21b
Tests: Added hook/tweaks for imgui-test engine. + Fixed warnings.
2019-04-13 00:29:27 +02:00
omar
092426bed2
Docking: Hold Shift to force disable docking. ( #2109 )
2019-04-13 00:27:44 +02:00
omar
c6f1b7b92a
Tests: Added hook/tweaks for imgui-test engine. + Fixed warnings.
2019-04-13 00:27:44 +02:00
omar
328e4fa7e7
Merge branch 'master' into docking
...
# Conflicts:
# imgui_demo.cpp
2019-04-11 15:53:38 +02:00
omar
07a70dc972
Internals: Merge minor things from range_select branch. Added ImGuiButtonFlags_NoHoveredOnNav. Added IsItemToggledSelected() - unused here. Renaming.
2019-04-11 15:40:36 +02:00
omar
f3110a57cd
Docking: Fixed an issue where newly created dock node override hosted window pos/size ( #2109 , #2386 )
2019-04-11 14:51:01 +02:00
omar
7056032483
Merge branch 'vulkan_fix_docking' into docking
2019-04-07 16:23:34 +02:00
omar
50ceb25003
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_vulkan.cpp
2019-04-07 16:23:31 +02:00
omar
302af7b2c9
FAQ tweaks. Add missing entries in imgui.cpp (which until now where only in the README).
2019-04-07 16:22:41 +02:00
omar
9c364b16ff
Merge branch 'vulkan_fix_master' into vulkan_fix_docking
2019-04-05 20:30:42 +02:00
omar
c8fd4afd75
Misc: Added IM_MALLOC/IM_FREE macros mimicking IM_NEW/IM_DELETE so user doesn't need to revert to using the ImGui::MemAlloc()/MemFree() calls directly.
2019-04-05 20:20:24 +02:00
omar
bd351e9ac5
Misc: Added IM_MALLOC/IM_FREE macros mimicking IM_NEW/IM_DELETE so user doesn't need to revert to using the ImGui::MemAlloc()/MemFree() calls directly.
2019-04-05 20:20:08 +02:00
omar
d61caf5714
Vulkan, Viewports: ImGui_ImplVulkan_RenderDrawData and renderer back-end automatically manage ImGui_ImplVulkanH_WindowRenderBuffers for each viewports so user doesn't have to do it. ( #2461 , #2348 , #2378 , #2097 )
2019-04-05 18:52:45 +02:00
omar
43a85dd02e
Merge branch 'master' into docking
2019-04-04 22:10:18 +02:00
omar
9ba64f9fe3
Viewport: Fixed PushClipRectFullScreen() missing out on negative coordinates. Among other things, the outer highlight during CTRL+Tab wouldn't appear in negative coordinates monitors. (~#2176, #1542 )
2019-04-04 22:02:36 +02:00
omar
fc52364652
Tabs to Spaces, comments.
2019-04-03 17:25:02 +02:00
omar
49fb8e6c45
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_dx9.cpp
# examples/imgui_impl_opengl3.cpp
2019-04-03 11:17:26 +02:00
omar
4a57507f75
InputText: Work-around for buggy standard libraries where isprint('\t') returns true. ( #2467 , #1336 )
...
Not using isprint. + todo items.
2019-04-03 10:40:14 +02:00
omar
9bf6509c6e
Docking: Fixed focus restore lagging by a frame when a tab stops being submitted. ( #2109 ) Building on a little build of technical debt there, should transition toward a more general docking-agnostic system ( #2304 )
2019-03-28 18:43:27 +01:00
omar
5af385ea78
Viewport: Renamed member + added note about a Docking issue with restoring focus.
2019-03-28 18:02:03 +01:00
omar
47219dd5c6
Docking: Remove code in BeginDocked() to set HiddenFramesCannotSkipItems based on upcoming tab bar selection, solely based on focus (might break something subtle?). Follow-up to c355ed1267
. ( #2453 , #2109 )
2019-03-28 16:13:06 +01:00
omar
b6ae8a0dca
Docking: Disable SkipItems when directly/programmatically focused (possible generalization of code currently in BeginDocked which relies on tab bar interaction, will remove that code in next commit). ( #2453 , #2109 )
2019-03-28 16:11:50 +01:00
omar
a33d45d7cd
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2019-03-28 15:48:25 +01:00
omar
9a0e71a6ec
Internals: Renamed the ImGuiWindow HiddenFrameXXX fields to decorrelate them from resizing behavior, as those values are set by other logic.
2019-03-28 15:41:49 +01:00
omar
5a665e423c
Docking: Added ImGuiDockNodeFlags_NoTabBar (not exposed publicly). ( #2423 , #2109 )
2019-03-27 20:44:49 +01:00
omar
fc95da8aa3
Docking: Internals: Moved CentralNode and HiddenTabBar state into LocalFlags for consistency. ( #2423 , #2109 )
2019-03-27 20:32:44 +01:00
omar
fd5859ed04
Docking: Separating SharedFlags vs LocalFlags in dock node so settings can be applied to individual nodes. Made _NoResize logic on single node applies as expected. ( #2423 , #2109 )
2019-03-27 19:00:36 +01:00
omar
75e3793f4d
Docking: Fix DockBuilderAddNode() not storing flags when creating floating node.
2019-03-27 17:36:52 +01:00
omar
8d4b5fef1d
Renamed ImGuiDockNodeFlags_Dockspace to ImGuiDockNodeFlags_DockSpace for consistency. DockBuilderCopyDockspace() to DockBuilderCopyDockSpace(). Made casing consistent elsewhere. ( #2109 )
2019-03-27 17:36:52 +01:00
omar
04a9ce3a18
Docking: Renamed ImGuiDockNodeFlags_PassthruDockspace to ImGuiDockNodeFlags_PassthruCentralNode. + Comments, shallow tweaks. ( #2109 )
2019-03-27 16:16:31 +01:00
omar
87883abd86
Docking: Tweak and silencing PVS studio static analyzer (back to zero warnings among our selected ones).
2019-03-26 14:15:56 +01:00
Tom Watson
f20725eada
Docking: Fixed an issue where windows docked into a node that's part of their dockspace wouldn't recover their order correctly after init. ( #2109 )
...
(It only worked on floating dock node for the accidental reason that BeginDocked would generally early out on the first frame)
2019-03-26 13:58:03 +01:00
omar
26646f2450
Docking: Wrapping tab bar creation/destroy to make it easier to debug them.
2019-03-26 12:41:50 +01:00
omar
f208fd7ebb
Docking: Fixed crash with ImGuiDockNodeFlags_AutoHideTabBar flag. ( #2423 , #2109 )
2019-03-26 12:33:58 +01:00
omar
cf1b02e54e
Rearrange code in UpdateMouseWheel(). ( #2424 , #1463 ) + Fix old io.FontAllowUserScaling feature (probably should be made obsolete, but until then best fixed)
2019-03-25 19:40:19 +01:00
Luca Rood
1963cc59be
Implement horizontal scrolling with Shift+Scroll
...
This is standard scrolling behaviour in most applications.
2019-03-25 19:09:40 +01:00
omar
9350158d61
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui_internal.h
2019-03-25 16:08:09 +01:00
omar
d9f6ba3035
IsWindowHovered() made change which should have no effect in master but fix result of IsWindowHovered(ImGuiHoveredFlags_ChildWindows) over multiple viewport in docking branch. ( #2432 )
2019-03-25 15:39:11 +01:00
omar
7a5196601e
Docking: BeginDocked() doesn't need to rely on tab bar data (will allow removing tab bar).
2019-03-18 09:48:06 -07:00
omar
c7619d4a6a
Docking: Preserve existing docked nodes when setting the ImGuiDockNodeFlags_NoDockingInCentralNode flag. ( #2423 , #2109 )
2019-03-18 09:48:00 -07:00
omar
221bf93a55
Comments, todo list, remove trailing spaces.
2019-03-17 00:56:21 +01:00
omar
7ba774a440
Viewports: Fixed being unable to refocus windows when ConfigViewportsNoTaskBarIcon + ConfigViewportsNoDecoration are enabled. ( #2420 , #1542 ) [@PathogenDavid] + comments.
2019-03-15 15:35:46 +01:00
omar
857381b9ca
GetMouseDragDelta(): also returns the delta on the mouse button released frame. Verify that mouse positions are valid otherwise returns zero. Removed obsolete comment. Tweaked demo. ( #2419 )
2019-03-15 15:03:37 +01:00
omar
cf2c52282d
Version 1.70 WIP
2019-03-15 13:07:30 +01:00
omar
b1af4d36ce
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/example_win32_directx10/main.cpp
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx12/main.cpp
# examples/example_win32_directx9/main.cpp
2019-03-13 15:30:35 +01:00
omar
55c02099c5
Version 1.69, comments, typos
2019-03-13 15:29:43 +01:00
omar
c3f20f6b81
Viewport: DestroyPlatformWindow() skips calling user function if PlatformWindowCreated is set. + Clarified comment about implicit Debug viewport which may be hogging a viewport.
2019-03-13 11:27:30 +01:00
David Maas
e7dca4fec2
Fixed main viewport not being marked as created, which broke updating the IME input position for the main viewport.
...
This change also removes the logic scattered about that compensated for PlatformWindowCreated being wrong for the main viewport.
2019-03-13 10:59:32 +01:00
omar
a26085ed53
Internals: Fixed Navigation from reaching ImGuiItemFlags_Disabled items ( #211 ) + Examples comments
2019-03-12 22:23:56 +01:00
omar
e1acb0b1fa
Docking: Fixed node merging altering window position incorrectly in a way that would make SizeContents incorrect for the next frame (making scrollbar flicker). ( #2414 , #2109 )
2019-03-11 19:46:37 +01:00
omar
3ead9820f7
Viewport: Popups and Tooltips viewports are correctly parented to the parent window's viewport. ( #2409 , #1542 )
2019-03-11 16:51:46 +01:00
omar
f7db4fad31
Merge branch 'master' into docking
...
# Conflicts:
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx12/main.cpp
# examples/example_win32_directx9/main.cpp
# imgui.cpp
2019-03-11 16:08:16 +01:00
omar
cf4fcc4735
Viewports: Fixed delayed window pos->viewport pos sync leading to monitor not being updated at the time of clamping window position in Begin. ( #2415 , #1542 )
2019-03-11 13:15:00 +01:00
omar
3eedb542a6
Viewports: Renamed ConfigViewportsNoParent to ConfigViewportsNoDefaultParent. Fix outdated comments in examples.
2019-03-11 11:07:23 +01:00
omar
ecf7666624
Docking: Fixed an issue where removing the last window from a dockspace node that is not a central node without remove the node. ( #2414 , #2109 )
2019-03-10 22:19:18 +01:00
Bruce Mitchener
b5d57a6615
Fix typos. ( #2413 )
2019-03-09 10:10:17 +01:00
Bruce Mitchener
17c567c3a9
Don't use const qualified parameters in declarations.
...
This fixes warnings from clang-tidy like this:
parameter 'v_max' is const-qualified in the function declaration;
const-qualification of parameters only has an effect in function definitions
Since values (rather than references or pointers) don't need to be
const, they don't need to be marked that way in the function declaration.
2019-03-08 18:21:11 +01:00
omar
66936880ba
Moved placeholder sections to match Docking branch. Comments.
2019-03-08 18:16:41 +01:00
omar
d77d3416d3
Merge branch 'master' into docking
2019-03-07 18:40:55 +01:00
omar
5ce93bc0cc
Refactor: Move viewport code under other subsystem to simplify merging (4) (moving in multiple commits to make diff/patch behave nicely)
2019-03-07 18:39:31 +01:00
omar
54a129a2e2
Refactor: Move viewport code under other subsystem to simplify merging (3) (moving in multiple commits to make diff/patch behave nicely)
2019-03-07 18:38:40 +01:00
omar
bdf60dac6a
Refactor: Move viewport code under other subsystem to simplify merging (2) (moving in multiple commits to make diff/patch behave nicely)
2019-03-07 18:37:17 +01:00
omar
bbb543fc16
Refactor: Move viewport code under other subsystem to simplify merging (1) (moving in multiple commits to make diff/patch behave nicely)
2019-03-07 18:36:11 +01:00
omar
f717df4eb6
Internal: Columns: Allow to use BeginColumns(1) so code designed for variable number of columns can still call NextColumn etc. ( #125 )
2019-03-07 18:22:28 +01:00
omar
28d8eb220b
Fix for Android char being unsigned by default ( #2408 )
2019-03-07 16:07:16 +01:00
omar
e02d6014bf
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-03-05 22:13:38 +01:00
omar
344140004b
Fixed IsItemDeactivated()/IsItemDeactivatedAfterEdit() from not correctly returning true when tabbing out of a focusable widget (Input/Slider/Drag) in most situations. ( #2215 , #1875 )
...
+ Minor renaming of a local variable in widget code.
2019-03-05 22:09:25 +01:00
omar
26328fc9fe
Internal: Tabbing/Focus: Tidying up old code, moved some state to context instead of window. Storing new data will allow us to fix the bug mentioned in #2215 (probably in next commit).
2019-03-05 19:51:27 +01:00
omar
ce4e62649a
Internal: Tabbing: Tweaks to FocusableItemRegister and using the standard mechanism to allow/block Tab being interpreting by tabbing instead of InputText() widget.
2019-03-05 18:24:59 +01:00
omar
ac4842fa17
Nav: Fixed Ctrl+Tab keeping active InputText() of a previous window active after the switch. ( #2380 )
2019-03-05 12:03:54 +01:00
omar
8414c0bb09
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_internal.h
2019-03-04 18:08:19 +01:00
omar
94e794f81b
Renamed GetOverlayDrawList() to GetForegroundDrawList() for consistency. Kept redirection function (will obsolete). ( #2391 )
...
Demo: Using GetBackgroundDrawList() and GetForegroundDrawList() in "Custom Rendering" demo.
2019-03-04 16:35:50 +01:00
omar
96b13760d4
Added GetBackgroundDrawList() helper to quickly get access to a ImDrawList that will be rendered behind every other windows. ( #2391 )
2019-03-04 16:10:51 +01:00
omar
49eb5f0280
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
2019-03-03 23:34:56 +01:00
omar
1d0b4df3d9
Misc: Asserting in NewFrame() if style.WindowMinSize is zero or smaller than (1.0f,1.0f). Internal: ImHash functions tweaks. Added InputText() to query status section.
2019-02-28 22:57:22 +01:00
omar
ff0c6c2bde
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
2019-02-27 19:00:09 +01:00
omar
6de09a5e48
Renamed ColorEdit/ColorPicker's ImGuiColorEditFlags_RGB/_HSV/_HEX flags to respectively ImGuiColorEditFlags_DisplayRGB/_DisplayHSV/_DisplayHex. This is anticipation of adding new flags to ColorEdit/ColorPicker functions which would make those ambiguous. ( #2384 ) [@haldean]
2019-02-27 16:45:58 +01:00
omar
4eecf80a4b
Moved Settings section above Docking to facilitate master<>docking merges.
2019-02-26 15:34:47 +01:00
omar
104294c7e4
Moved Logging/Capturing section above Docking to facilitate master<>docking merges.
2019-02-26 15:33:50 +01:00
omar
8915f7933a
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2019-02-24 23:24:07 +01:00
David Wingrove
5d7bd2309b
Fixes warning caused by a missing switch/case. ( #2382 , #2381 )
2019-02-24 23:19:36 +01:00
omar
9558e327d2
Log/Capture: Fixed extraneous leading carriage return. Fixed an issue when empty string on a new line would not emit a carriage return.
2019-02-23 16:22:55 +01:00
omar
cd67d4d3c1
Log/Capture: Fixed LogXXX functions 'auto_open_depth' parameter being treated as an absolute tree depth instead of a relative one. Fixed CollapsingHeader trailing ascii representation being "#" instead of "##". Minor tidying up the of code.
2019-02-23 16:07:01 +01:00
omar
2cd7de5666
Internal: Log/Capture: Rework to add an internal LogToBuffer() function which is useful for writing automated tests. Clarified logging state by adding an enum.
2019-02-23 15:57:06 +01:00
omar
3eba840053
Nav: Fixed a tap on AltGR (e.g. German keyboard) from navigation to the menu layer. (follow and extend on e.g #369 , #370 )
2019-02-23 14:50:36 +01:00
omar
87ded34f9f
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_opengl3.cpp
# imgui_widgets.cpp
2019-02-22 12:29:18 +01:00
omar
81a8730022
Internal: InputText: Renamed is_editable to !is_readonly, Hopefully more explicit. Renamed internal member. Shuffled some code. Added comments, assert (_will_ trigger on !readonly > readonly edge, old bug).
2019-02-21 19:55:36 +01:00
omar
257f5d204e
Version 1.69 WIP
2019-02-20 00:11:36 +01:00
omar
93b06e6e7c
Internal: Changed Scrollbar() signature. Using GetScrollbarID() in InputTextMultiline().
...
Removed multiple semi-colons (#2368 )
2019-02-20 00:08:21 +01:00
omar
9dc02464a4
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2019-02-19 13:04:35 +01:00
omar
3c15dffc94
Version 1.68
2019-02-19 12:50:46 +01:00
omar
5412cdf2c8
Docking: Made DockBuilderSplitNode/DockNodeTreeSplit work even if the node doesn't have a size yet. ( #2357 , #2109 )
...
Followup to fa0ce4b7d
, at that time I came to the conclusion that programmatic split couldn't work without knowing the size ahead of it. I forgot the reason for that. May bite us back!
2019-02-18 16:23:54 +01:00
omar
3de440fda2
Docking: Fixed assert in DockContextProcessDock() preventing some uses of DockNodeBuilder api. ( #2357 , #2109 )
2019-02-18 16:13:17 +01:00
omar
09c9bf2edb
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
2019-02-14 20:35:11 +01:00
omar
76dbff37cd
Selectable: Tweaks for #2347 (demo, changelog, member position)
2019-02-14 20:29:50 +01:00
haldean
b277cfffc8
Selectable: add support for specifying text alignment on selectables ( #2347 )
...
Adds a style variable to Selectable that allows clients to specify the
text alignment within Selectables, adds a section in the demo to
demonstrate selectable text alignment, and a pair of sliders in the
style editor to change selectable alignment on the fly.
In terms of implementation, this one is extremely simple: Selectable was
already calling an API that supports text alignment, but had hard-coded
it to top-left. This changes that to just pass the style variable
straight through to RenderTextClipped. Backwards-compatibility is
preserved by defaulting the text_align parameter to (0, 0), i.e.,
top-left.
This also fixes a bug with selectable text rendering that caused
right-aligned text in a selectable to be clipped incorrectly, because
the wrong clipping rectangle was being used.
2019-02-14 19:38:57 +01:00
omar
3c07ec6a61
Made it illegal/assert when io.DisplayTime == 0.0f (with an exception for the first frame).
...
Causing too many subtle side-effect, e.g. IsNavInputPressed() would return true multiple times in a row.
2019-02-14 17:14:29 +01:00
omar
2206df9e7a
Demo: Added Auto-Scroll option in Log/Console. Comments. Removed some ImColor() uses.
2019-02-14 14:08:36 +01:00
omar
57a586b4f1
Font: Moved functions to internal block (not enforced). Made ConfigData pointer const. Added link to stb's notes.
2019-02-13 18:21:21 +01:00
omar
417cf2237f
Font: Fixed high-level ImGui::CalcTextSize() used by most widgets from erroneously subtracting 1.0f*scale to calculated text width. Among noticeable side-effects, it would make sequences of repeated Text/SameLine calls not align the same as a single call, and create mismatch between high-level size calculation and those performed with the lower-level ImDrawList api. ( #792 )
2019-02-12 22:43:56 +01:00
omar
2cada3c143
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_opengl2.cpp
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui_widgets.cpp
2019-02-11 18:59:49 +01:00
omar
a79785c0b9
ImDrawData: Added FramebufferScale field (currently a copy of the value from io.DisplayFramebufferScale).
...
This is to allow render functions being written without pulling any data from ImGuiIO, allowing incoming multi-viewport feature to behave on Retina display and with multiple displays. If you are not using a custom binding, please update your render function code ahead of time, and use draw_data->FramebufferScale instead of io.DisplayFramebufferScale. (#2306 , #1676 )
Examples: Metal, OpenGL2, OpenGL3: Fixed offsetting of clipping rectangle with ImDrawData::DisplayPos != (0,0) when the display frame-buffer scale scale is not (1,1). While this doesn't make a difference when using master branch, this is effectively fixing support for multi-viewport with Mac Retina Displays on those examples. (#2306 ) Also using ImDrawData::FramebufferScale instead of io.DisplayFramebufferScale.
Examples: Clarified the use the ImDrawData::DisplayPos to offset clipping rectangles.
2019-02-11 18:52:08 +01:00
omar
afc36cf802
Window: Fixed initial width of collapsed windows not taking account of contents width (broken in 1.67). ( #2336 , #176 )
2019-02-08 14:34:42 +01:00
omar
4a3a895be9
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
2019-02-06 14:47:53 +01:00
omar
f366828dd2
Minor tweaks to reduce false positive of PVS Studio static analyzer.
2019-02-06 13:16:52 +01:00
omar
5bdc7d7a6f
Menus: Tweaked horizontal overlap between parent and child menu (to help convey relative depth) from using style.ItemSpacing.x to style.ItemInnerSpacing.x, the later being expected to be smaller. ( #1086 )
2019-02-06 12:32:10 +01:00
omar
e3dd95d335
Added IsItemActivated() as an extension to the IsItemDeactivated/IsItemDeactivatedAfterEdit functions which are useful to implement variety of undo patterns. ( #820 , #956 , #1875 )
2019-02-06 11:52:42 +01:00
omar
b8c24aff4c
Internals: EndGroup: Removed unnecesary parameter to ItemSize()
2019-02-05 21:16:54 +01:00
omar
521470b3cd
Internals: Removed unnecessary code.
2019-02-05 21:16:32 +01:00
omar
be107ba8f8
Merge branch 'master' into docking
...
# Conflicts:
# imgui_internal.h
# imgui_widgets.cpp
2019-02-05 13:52:32 +01:00
omar
8e44aacc8e
Fonts: Fixed crash if FontGlobalScale is zero. Correctly debug naming default font if not 13 px. Demo: Moved PopupRounding along with other rounding values. Metrics: Displaying indexes with idx to be correct / less misleading.
2019-02-04 23:34:20 +01:00
omar
f902435a53
Docking: Fixed less of node size/pos caused by 1f2bdd37
( #2109 )
2019-02-03 18:58:07 +01:00
omar
80d51c692a
Docking: Fixed dragging docked window with _NoMove flag ( #2325 )
2019-02-03 18:44:30 +01:00
omar
7227454dca
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui.h
2019-02-03 17:31:16 +01:00
omar
c23a19c26f
Internals: Exposed internal SetWindowPos to imgui_internal.h (for imgui-test)
2019-02-03 17:29:51 +01:00
omar
f087359621
Revert part of change from 5536eded
. Fixed drag and drop in docking branch. ( #2331 , reopening #2325 )
2019-02-03 13:54:04 +01:00
omar
e215809c4d
Removed io.DisplayVisibleMin/DisplayVisibleMax (which were marked obsolete and removed from viewport/docking branch already).
2019-02-01 17:06:40 +01:00
omar
ac6d474103
Removed io.DisplayVisibleMin/DisplayVisibleMax (which were marked obsolete and removed from viewport/docking branch already).
2019-02-01 16:37:07 +01:00
omar
d1c45c0d76
Merge branch 'master' into docking (enable range_select merge)
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-02-01 12:25:49 +01:00
omar
5cb7040f66
Internals: Tracking dummy select scope id (currently always zero) to facilitate merging of the range_select branch. ( #1861 )
2019-02-01 12:14:38 +01:00
omar
0d4a2a2cd0
Internals: Track ActiveIdHasBeenPressed (similar to ActiveIdHasBeenEdited). This is currently mostly for the benefit of the range_select branch. ( #1861 )
2019-02-01 12:14:37 +01:00
omar
65a2350a5f
Docking: Extracted code into a DocknodeUpdateTabListMenu() functions + minor other changes.
2019-02-01 11:12:37 +01:00
omar
cbf24a9151
Comments. Fix duplicate entries in About box. Synchronize a few small changes from Master branch.
2019-02-01 11:04:04 +01:00
omar
52a9f8bd3e
Merged from Docking branch: Various small changes, comments, typos fixes, moved blocks. To reduce overall drift. Should be no-op.
2019-02-01 10:26:08 +01:00
omar
f906d53f7d
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2019-01-31 19:19:35 +01:00
omar
1f2bdd37b3
Docking: Builder: Added DockBuilderSetNodePos, DockBuilderSetNodeSize, allow DockBuilderAddNode creating floating node (dockspace requires ImGuiDockNodeFlags_Dockspace) ( #2109 )
2019-01-31 17:01:15 +01:00
omar
dc8ff68871
Docking: VisibleWindow of a node spread its _NoMove attribute to the node (fixed dragging or undocking of dock node host from collapse button). ( #2325 , #2109 )
2019-01-31 15:22:40 +01:00
omar
5536edede9
Docking: Fixed faulty undocking of windows with the _NoMove flag. ( #2325 , #2109 )
...
Whereas BeginAsDockableDragDropTarget could be reworked to filter, we simply set g.HoveredWindowUnderMovingWindow to be NULL when MovingWindow is not set, which was the initial intent.
Also fixed some comments and removed unused braces in TabItemEx().
2019-01-31 14:59:45 +01:00
omar
578e15f006
Docking: Removed unnecessary ImGuiTabItemFlags_DockedWindow internal flag.
2019-01-31 14:55:00 +01:00
omar
e1143377c2
Viewport: Added ImGuiViewportFlags_NoFocusOnClick + support in imgui_impl_win32. Made windows with no decoration always set the _NoFocus flags. ( #1542 , #2117 )
...
Fix e.g. clicking on protruding combo box stealing highlight from parent window with decoration.
2019-01-30 21:39:05 +01:00
omar
8563ef3ce4
Viewport: Popups by default merge into parent/host viewport as they have no decoration (same as menu/child). ( #1542 )
2019-01-30 21:13:07 +01:00
omar
fb4f1ff7f6
InputText: Fixed a bug where ESCAPE would be first captured by the Keyboard Navigation code. ( #2321 , #787 )
2019-01-30 15:16:09 +01:00
omar
0a233a505d
imgui-test: Added extra item info callbacks. Using nav_bb for interactions when possible. Comments, Demo tweaks.
2019-01-30 12:53:01 +01:00
Francisco Gallego
aacf993ee1
ImStrncpy: Fixed -Wstringop-truncation warning on GCC8 ( #2323 )
2019-01-30 10:19:40 +01:00
omar
37fb531d1c
Docking: Comments and tidying up (should be no-op)
2019-01-29 18:54:56 +01:00
omar
86d3bba157
Added ImGuiDockNodeFlags_AutoHideTabBar. ( #2109 )
2019-01-29 18:28:31 +01:00
omar
2ccc6d2ed1
Docking: Exposing extra flag in Configuration panel. Moved some forgotten Changelog entries at the right place.
2019-01-29 18:28:31 +01:00
omar
8a4422b2fa
Fixed CloseCurrentPopup() on a child-menu of a modal incorrectly closing the modal. ( #2308 )
2019-01-27 23:54:17 +01:00
omar
13ca2fe845
Silence XCode static analysis false positive ( #2309 )
2019-01-27 23:30:44 +01:00
omar
13a5f5ba8b
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2019-01-27 16:46:35 +01:00
omar
b26ac92a12
Revert "Added PushID(size_t sz) helper (may not be useful/meaningful for non C/C++ languages)."
...
This reverts commit 20bc06af70
.
2019-01-27 16:43:56 +01:00
omar
f56d9b74cc
Nav: Removed unnecessary test (always failing).
2019-01-27 16:37:02 +01:00
omar
ee3b4f2bf1
Using IM_UNUSED() macro.
2019-01-27 16:23:23 +01:00
omar
c3c2cd1e82
Fix various XCode and PVS-Studio static analyzer warnings ( #2309 )
2019-01-27 16:18:23 +01:00
omar
20bc06af70
Added PushID(size_t sz) helper (may not be useful/meaningful for non C/C++ languages).
2019-01-27 16:18:23 +01:00
omar
07ff47bf1b
Docking: Fixed various border / padding related inconsistency with dock node vs floating windows. ( #2109 )
2019-01-23 19:54:45 +01:00
omar
0737433c71
When resizing from an edge, the border is more visible and better follow the rounded corners. Border rendering moved to RenderOuterBorders so it can be called in a different order for docking. ( #1495 , #822 )
2019-01-23 19:24:35 +01:00
omar
0bda7f196d
Docking: Fixed overlapping issue with greyed out close button.
2019-01-23 19:24:35 +01:00
omar
9f96fcff3c
Docking: Added ImGuiDockNodeFlags_Dockspace instead of node internal IsDockspace toward allowing the DockBuilder API to create non-dockspace nodes.
2019-01-23 19:24:34 +01:00
omar
c362a96a3f
When resizing from an edge, the border is more visible and better follow the rounded corners. Border rendering moved to RenderOuterBorders so it can be called in a different order for docking. ( #1495 , #822 )
2019-01-23 19:21:25 +01:00
omar
bfacbac7c4
Docking: Fix a focusing issue where dock node wouldn't be moved to the front as expected.
2019-01-23 11:05:00 +01:00
omar
86fce79a6c
Comments + clear out VisibleWinodw field (should have no effect)
2019-01-23 10:50:58 +01:00
omar
c81a5a6070
Docking: Comments and renaming locals to facilitate debugging.
2019-01-22 12:38:10 +01:00
omar
0947fa3de0
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-01-21 16:54:37 +01:00
omar
cb9a6b8a8b
Merge branch 'master' into viewport
...
# Conflicts:
# examples/README.txt
# imgui.cpp
2019-01-21 16:52:22 +01:00
omar
f14f93ef6e
Fixed range-version of PushID() and GetID() not honoring the ### operator to restart from the seed value.
2019-01-21 16:50:27 +01:00
omar
28901dd104
Internals: Tweaks. Comments about PushID/GetID public function.
2019-01-21 16:50:27 +01:00
omar
f994b8aab8
ImHash: Moved crc32 table out of the function so it can be shared, also avoid cases were compiler tries to makes its initialization thread-safe.
2019-01-21 16:50:27 +01:00
Thomas Ruf
1e4cf67a53
avoid floating point exception when _EM_OVERFLOW is enabled ( #2303 )
2019-01-21 16:43:07 +01:00
omar
2d21a64fed
Comments
2019-01-21 14:25:13 +01:00
omar
00ffdb9fa9
ImGuiTextBuffer: Added append() function (unformatted).
2019-01-20 22:21:26 +01:00
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