ocornut
41030cbfe2
Tweak computation of io.Framerate so it is less biased toward high-values in the first 120 frames. ( #4138 )
4 years ago
ocornut
4ce6bd8cff
Tables: sharing splitter and sort buffers between tables, reducing memory footprints. ( #3740 )
...
+ GC pass on that data.
4 years ago
ocornut
32c453ae53
Tables: sharing transient buffers between tables, reducing memory footprints. ( #3740 )
4 years ago
ocornut
31290807dc
Merge branch 'master' into docking
...
+ fix warning fix for mingw+dx9
# Conflicts:
# backends/imgui_impl_dx9.cpp
# imgui.cpp
4 years ago
ocornut
393941ceea
Refactor focusable/tabbalbe item registration toward allowing to handle it prior to clipping (not yet the case) ( #343 , #4079 )
...
Now performed in ItemAdd(). It can't be trivially moved above clipping effectively because it would require us to scroll to be useful, meaning we'd be better off locking the bounding box a frame earlier. Still wip.
As-is this commit has no value for end-user, but it's a reengineering that moves us closer to the solution. + Internals: moved internal flags.
4 years ago
ocornut
2c3f25d2d9
Nav: Fixed Tabbing initial activation from skipping the first item if it is tabbable through. ( #787 )
4 years ago
ocornut
9b90639577
Internals: ItemFlags is a shared resource as advertised. Fix Begin/PushItemFlags/End sequence (mostly for consistency)
4 years ago
ocornut
788e91aece
Fixes for MSVC static analyzers (wider range of versions). ( #3938 , #4073 ) + warning fix ( #4089 ) + comments.
4 years ago
ocornut
89162a04f4
Fixes for PVS Studio and MSVC static analyzers. Using a macro to suppress single-use MSVC false positives. ( #3938 , #4073 )
4 years ago
ocornut
d28535f351
Fixes for Visual Studio 2019 static analyzers. ( #3938 , #4073 ) + two minor edge case were invalid scalar input (e.g. a sign only) would return buffer as modified.
4 years ago
ocornut
b493cae8c9
Nav: Fixed pressing Escape to leave menu layer while in a popup or child window. ( #787 )
4 years ago
Rokas Kupstys
21428ad3f4
Nav, InputText: Fixed accidental menu toggling while typing non-ascii characters using AltGR. ( #370 )
4 years ago
ocornut
4540177ce7
Nav: clear activeid on menu toggle (so pressing Alt leaving an InputText will steal ActiveID. Previously wouldn't not, but ButtonBehavior() hover logic would not show Menu layer item as hovered when ActiveId != 0). ( #787 )
...
(Adjacent to #370 )
4 years ago
ocornut
e61e8aea9c
Nav: clear navid in NavInitWindow() when window is marked with ImGuiWindowFlags_NoNavInputs. ( #787 )
...
(no expected side-effects, maybe consistency, but those NavLastIds[] values would likely have been 0 already)
4 years ago
ocornut
daf97832f1
Internals: Nav: renaming.
4 years ago
ocornut
bfc4a3347a
Nav: Fixed using SetItemDefaultFocus() on windows with _NavFlattened flag + tools in metrics.
4 years ago
ocornut
33cdbe97b8
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
4 years ago
ocornut
936f53229d
Internals: maintaining focus order inside windows + only storing root windows in WindowsFocusOrder[] array. (toward #2304 )
4 years ago
ocornut
34d4bc620d
Merge remote-tracking branch 'origin/master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
4 years ago
ocornut
5fed6bdc72
Demo: Improved popups demo and comments.
4 years ago
ocornut
b957300260
Documentation tweaks ( #4042 )
4 years ago
ocornut
e5efa01920
Docking: Fix window menu button. Broken by 3f16a52
( #4043 )
...
Worked on single-frame click.
4 years ago
ocornut
3f16a524c8
Docking: move NavWindow to SelectedTabId application lower to leave a chance for in-between code to alter focus. + store per-node window menu button id to simplify usage.
4 years ago
ocornut
646c873598
Docking: Fixed reappearing docked windows with no close button showing a tab with extraneous space for one frame.
4 years ago
ocornut
e87dd0e65d
Docking: Fixed multiple simultaneously reappearing window from appearing undocked in their initial frame.
4 years ago
ocornut
539de4387b
Docking: Fixed restoring of tab order within a dockspace or a split node.
...
(tests in "docking_tab_order")
4 years ago
ocornut
d6a5cc7934
Metrics: hotfix (fix 6ba13349
+ f08566b4
, #4005 )
4 years ago
ocornut
92b7b1f72b
Scrolling: Fix mouse wheel axis swap when using SHIFT on macOS (system already does it). ( #4010 )
4 years ago
ocornut
00d570e280
Added OpenPopup() ImGuiID overload ( #3993 , #331 )
4 years ago
ocornut
65cd14502c
Fix popup positioning, broken by 84e6fe4
. ( #3991 , #3982 )
4 years ago
ocornut
f0fc822837
Fix popup positioning, broken by 84e6fe4
. ( #3991 , #3982 )
4 years ago
ocornut
6ddcdbe3e8
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_widgets.cpp
4 years ago
ocornut
3c7177c6a7
Internals: storing WindowsHoverPadding in context for external access. + Docs update binaries
4 years ago
ocornut
45c45d2506
Internals: shallow tidying up of the old resize border structure. Make them match the ImGuiDir order. Split GetWindowResizeID() into GetWindowResizeCornerID() and GetWindowResizeBorderID().
4 years ago
ocornut
3ed07a8f0b
Docking: removed io.ConfigDockingWithShift option. ( #2109 )
4 years ago
ocornut
84e6fe4fc7
Fix IsWindowAppearing() from returning true twice in most cases. ( #3982 , #1497 , #1061 )
4 years ago
ocornut
5991851eb9
Docking: DockSpace() returns its node ID + adding branch changelog.
4 years ago
ocornut
b305953bd1
Viewports: Hotfix for crash in monitor array access, caused by 4b9bc4902
. ( #3967 )
4 years ago
ocornut
e7577d570e
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_win32.cpp
# imgui.cpp
# imgui_internal.h
# imgui_widgets.cpp
4 years ago
ocornut
a58271c079
Internals: extracted a more reusable BeginViewportSideBar() out of BeginMainMenuBar(). ( #3966 , #3518 )
...
Complement ca34c81c
in docking branch which removed assumption that we can't tell size ahead of Begin().
4 years ago
ocornut
ca34c81ce9
BeginMainMenuBar(): remove expectation that we don't know menu bar height ahead, allowing up to generalize placement in any direction (will be done in master)
...
Amend 75de34e281
4 years ago
ocornut
aa5431fde2
Tables: Expose TableSetColumnEnabled() in public api. ( #3935 )
4 years ago
ocornut
59da01901e
Scrolling: Fix scroll tracking with e.g. SetScrollHereX/Y() when WindowPadding < ItemSpacing. Fix scroll snapping on edge of scroll region when both scrollbars are enabled.
...
CalcNextScrollFromScrollTargetAndClamp() fixed snapping edge calculation missing ScrollbarSizes.y
4 years ago
ocornut
412d6f7efe
Fixes zealous MSVC static analyzers warnings ( #3938 )
...
Other unfixed as I'm not happy with caving to false positives of every analyzers.
4 years ago
Rokas Kupstys
0c5b0c8b97
Internals: Add a way to request window to not process any interactions for specified number of frames.
4 years ago
Rokas Kupstys
b17bfdd6f4
Docking: Add support for split_outer in DockContextCalcDropPosForDocking().
...
Misc: Add FIXME regarding behavior of some window fields.
4 years ago
ocornut
81e0b18e38
Merge branch 'master' into docking
4 years ago
ocornut
b202fa9063
Docking: undocking nodes/windows covering most of the monitor max their size down to 90% to ease further manipulations.
...
Kind of a welcome hack.
4 years ago
ocornut
a1a39c632a
Version 1.83 WIP
4 years ago
ocornut
2231e1a369
Docking: Dockspace() never draws a background. ( #3924 )
4 years ago
ANF-Studios
ebe6ac5fb5
Improvements to minor mistakes in documentation comments ( #3923 )
4 years ago
ocornut
256594575d
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
4 years ago
ocornut
35b1148efb
Version 1.82
4 years ago
ocornut
352f64697c
Internals: rename legagy tab focus fields to TabFocusXXXX for clarity + removed one unnecessary FocusWindow() call.
4 years ago
CheckmateAt7
cfe83c4b44
Removed deprecated flag stopping compilation ( #3902 )
4 years ago
ocornut
0157502eab
ImDrawFlags: rework/revert c2d6d26
+ 39432bf
in a way that is closer to old version and back to opt-in but with default 0 = all corners.
4 years ago
ocornut
033dfd9d35
ImDrawFlags: rework/revert c2d6d26
+ 39432bf
in a way that is closer to old version and back to opt-in but with default 0 = all corners.
4 years ago
ocornut
f1bf642e8f
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
# misc/debuggers/imgui.natvis
4 years ago
ocornut
39432bfd9c
Amend 0c93238a ImDrawList: upgraded AddRect(), AddRectFilled(), PathRect() to use general ImDrawFlags instead of ImDrawCornersFlags
4 years ago
Rokas Kupstys
c2d6d26139
ImDrawList: upgraded AddRect(), AddRectFilled(), PathRect() to use general ImDrawFlags instead of ImDrawCornersFlags
4 years ago
ocornut
8b9fedba28
Moved Obsolete function block lower in the file + obsoleted old SetScrollHere (->SetScrollHereY)
4 years ago
ocornut
8ed34af6f8
ImDrawList: clarified that PathArcTo()/PathArcToFast() cannot take radius < 0.0f. ( #3491 ) + changed poor-man ceiling in _CalcCircleAutoSegmentCount() to use 0.999999f to reduce gaps
...
Previously it sorts of accidentally worked but would lead to counter-clockwise paths which and have an effect on anti-aliasing.
4 years ago
ocornut
4b9bc49020
Viewports, Internals: added GetViewportPlatformMonitor() will a safety net to keep code portable + simplified handling of disconnected monitor in Begin().
4 years ago
ocornut
6ba1334903
Nav: internals: renaming ImGuiInputSource so it is not specific to nav. Comments.
4 years ago
Rokas Kupstys
01a2bac7d5
DrawList: Replace "bool close" in drawing functions with flags.
4 years ago
ocornut
a64e0eb3a4
Nav: merged SetNavID() and SetNavIDWithRectRel() to improve sanity, moved flags overwrite off them. ( #787 )
4 years ago
ocornut
1c9cc7c117
Nav: tweaks so docking can use same code. NavRestoreLayer restore nav id but Menu key typicallys clears it for menu layer (+ less relying on _ChildWindow flag).
4 years ago
ocornut
4bb5a36f90
Nav: do not clear per-window NavId when window reappears. Process NavInit regardless of current highllight state. Consistently set g.NavLayer in SetNavID(). ( #787 )
4 years ago
ocornut
954b06afe2
Drag and Drop: can use BeginDragDropSource() for other than the left mouse button ( #1637 , #3885 )
...
As long as the item has an ID (for ID-less items will add new functionalities later.
Amend 2c3c5125
4 years ago
ocornut
d5a4d53000
Viewports, Backend: SDL: Fix missing ImGuiBackendFlags_HasSetMousePos flag in docking branch (ok in master), GLFW: Fix application of WantSetMousePos. ( #1542 , #787 )
...
Shows how little this feature is used with nav (was designed for small devices and frankly may be dropped) - but the backend support itself we will make use of for other features.
4 years ago
ocornut
705f082674
Internals: rename RootWindow->RootWindowDockTree, RootWindowDockStop->RootWindow.
...
Why? So by default RootWindow matches user expectation on both branches, and RootWindowDockTree is more intentful.
(Actually should reduce diff between master<>docking)
4 years ago
ocornut
80533ea5e1
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_widgets.cpp
4 years ago
ocornut
fdebb2e093
Internals: removed HoveredRootWindow, tweak IsWindowHovered().
4 years ago
ocornut
ee643b2ad9
IsItemHovered(): fixed return value false positive when used after EndChild(), EndGroup() or widgets using either... ( #3851 , #1370 )
...
...when the hovered location is located within a child window, e.g. InputTextMultiline().
This is intended to have no side effects, but brace yourself for the possible comeback..
This essentially makes IsItemHovered() not accept hover from child windows, but EndChild/EndGroup are forwarded.
More or less should fix/revert c76f014292
which was a revert of 344d48be3
4 years ago
ocornut
3e6dfd3c1a
ImDrawList: AddImageRounded() compare texid from cmdheader as with other functions. + Made the ImGuiMemAllocFunc / ImGuiMemFreeFunc consistent with our other typedefs ( #3836 )
4 years ago
ocornut
6aee4bcdc5
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_win32.cpp
# docs/CHANGELOG.txt
# imgui.cpp
4 years ago
ocornut
25679a411e
Window, Nav: Fixed crash when calling SetWindowFocus(NULL) as the time a new window appears. ( #3865 )
4 years ago
ocornut
b794ecc079
Internals: Docking: some renaming.
4 years ago
Rokas Kupstys
839ecce571
Internals: Add a way to request window to not process any interactions for specified number of frames.
4 years ago
ocornut
760c394707
Added links to Discussions. Closed Discord, yeah! ( #2748 )
4 years ago
ocornut
6f4b9c65ae
Added commentary about DLL boundaries. Added GetAllocatorFunctions(). Tidying up. ( #3836 )
4 years ago
ocornut
edf135c18d
Win32+MinGW: Re-enabled IME functions by default even under MinGW. ( #2590 , #738 )
4 years ago
David Maas
ece854564a
Log/Capture: Added LogTextV, a va_list variant of LogText. ( #3828 )
4 years ago
ocornut
3ec14186cb
Viewports: Fix setting of ImGuiViewportFlags_NoRendererClear. ( #3213 )
4 years ago
ocornut
ffa863a3ba
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_win32.cpp
# docs/CHANGELOG.txt
# examples/example_glfw_vulkan/main.cpp
# examples/example_sdl_vulkan/main.cpp
# imgui.cpp
4 years ago
ocornut
fb15d8c858
Improve on automatic circle segment count calculation. ( #3808 ) Amends
4 years ago
thedmd
f107693d9b
Improve on automatic circle segment count calculation. ( #3808 )
4 years ago
ocornut
30b7545841
Version 1.82 WIP
4 years ago
ocornut
3d75f438bc
Docking: Made close button enable logic consistent on dockspace. When no docked window have a close button or it is disabled on the node, the space is given to tabs.
...
Clarified close_button_is_visible vs close_button_is_enabled behavior in DockNodeUpdateTabBar().. (#3633 , #3521 )
Reduced alpha of disabled close button a little bit further.
Removed 'EnableCloseButton' which was actually unused (can't be infered early, need ->VisibleWindow anyway, which is not == ->ActiveWindow)
4 years ago
ocornut
61b19489f1
Made a change to CalcWindowSizeAfterConstraint() which MSVC optimizer seems to trip on. (read on)
...
We seldomly modify a local ImVec2 passed as parameter. This should be perfectly legal but libigl stumbled on a what may be a MSVC optimizer bug?
Only seven function in the codebase modify as 'ImVec2 parameter' but this is the only static one (and fairly small that is) which may tempt optimizer to perform optimizations over caller-callee boundaries?
While we can't explain it fully yet and I assume it may haunt us back someday. Might also be chain reaction from some unobvious UB but can't see it right now...
Link: https://github.com/libigl/libigl/issues/1669
4 years ago
ocornut
239d09804d
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
4 years ago
ocornut
4df57136e9
Version 1.81
4 years ago
ocornut
04f7ea818d
Viewports: Setting the new (currently dummy) flags on viewports. ( #3789 , #1542 , #3680 , #3350 , #3012 , #2471 )
...
Amend the merging of f14042ca78
(merge ee59d7a266
)
4 years ago
ocornut
ee59d7a266
Merge branch 'features/viewport_in_master' into docking (WIP need adding code for new ImGuiViewportFlags values)
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_demo.cpp
# imgui_internal.h
# imgui_widgets.cpp
4 years ago
ocornut
f14042ca78
Viewports Added ImGui::GetMainViewport() as a way to get the bounds and work area of the host display. ( #3789 , #1542 )
...
Viewports: Backport a few constructs from 'docking' branch.
Viewports: Added ImGuiViewportFlags_IsPlatformWindow, ImGuiViewportFlags_IsPlatformMonitor, ImGuiViewportFlags_OwnedByApp (none of them were in docking branch yet). ImGuiViewportFlags_IsPlatformMonitor is merely there to convey future intent, not yet used.
Reduce uses of io.DisplaySize.
MainMenuBar: Backport work area handling code from 'docking' branch.
Metrics: Backported "Viewports" debug visualizer from 'docking' branch.
Demo: Rework 'Examples->Fullscreen Window'.
Demo: 'Simple Overlay' demo now moves under main menu-bar (if any) using GetMainViewport()'s work area.
4 years ago
ocornut
3607c42bec
Viewports: Fix issue inferring viewport z-order when new popups gets created. ( #3734 ) + Metrics updates.
...
Revert 6bc52667
Showing inferred order and missing flags in metrics.
4 years ago
ocornut
2a5eaf239f
Misc tweaks - mostly toward minimizing diff in upcoming backport merge of a few viewport structures in master
4 years ago
ocornut
7a516a266d
Merge remote-tracking branch 'origin/master' into docking
...
# Conflicts:
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx9.cpp
# imgui.cpp
# imgui.h
4 years ago
ocornut
73ccb7e4b8
Viewports: (Breaking) turned GetWorkPos(), GetWorkSize() into straight fields -> WorkPos, WorkSize before exposing in master branch.
4 years ago
ocornut
1a3af8cb4c
Viewports: trying to treat GetMainViewport() as const. Reducing unnecessary casts of ImGuiViewportP*
...
Metrics: readded root Drawlists node in metrics to match master.
The (void*) casts are implying const-casst but currently left GetMainViewport() as returning non-const.
4 years ago