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
ocornut
fa55b0cb60
Viewports: (breaking) removed ImGuiPlatformIO::MainViewport which is now pretty much unused and duplicate (and misleading as we will evolve the concept)
...
Use GetMainViewport() if stuck.
4 years ago
ocornut
58a0a7058c
Backends: Using SetTexID() consistently instead of assigning to ->TexID. May make the later obsolete eventually.
4 years ago
ocornut
03d74a293d
ListBox: renamed ListBoxHeader>BeginListBox, ListBoxFooter>EndListBox. Added demo bits.
4 years ago
ocornut
e5cbf60def
ListBox: tweaked default height calculation. simplifying code internally (rework passing of full rect). Should have no visible side-effects + misc comments.
4 years ago
ocornut
22d9a61b33
Docking: fix gap in hit test hold when using ImGuiDockNodeFlags_PassthruCentralNode touching the edge of a viewport. ( #3733 )
4 years ago
ocornut
a3f0393351
Menus: Fixed an issue with child-menu auto-sizing (issue introduced by 6af92b0
) ( #3779 )
4 years ago
ocornut
929563c3a7
Log/Capture: Fixes for handling \n in strings. Improve the look of various widgets. Added LogSetNextTextDecoration helper. Fixup/amend dbaf74d75
.
...
For now removed LogRenderedTextNewLine() - it is eventually desirable but currently carries too much ambiguities, so reverted until we have a better system and test suite.
4 years ago
Louis Schnellbach
dbaf74d758
Log/Capture: Fix various new line/spacing issue by using same render text position when there are both RenderText and LogRenderedText call in widget code.
...
Also Buttons are now enclosed in bracket
4 years ago
GamingMinds-DanielC
84e8802891
Docking: on node split, update memorized DockId for currently closed windows ( #3716 )
...
Amended by @ocornut with same fix in DockBuilderRemoveNodeChildNodes().
4 years ago
ocornut
4622fa4b66
Fonts: Fixed CalcTextSize() width rounding so it behaves more like a ceil. ( #3776 )
...
his is in order for text wrapping to have enough space when provided width precisely calculated with CalcTextSize().x. Amend 7b0bf230
.
Note that the rounding of either positions and widths are technically undesirable (e.g. #3437 , #791 ) but variety of code is currently on it so we are first fixing current behavior before we'll eventually change it.
4 years ago
ocornut
577e7cb493
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_win32.cpp
# docs/CHANGELOG.txt
# imgui.cpp
4 years ago
ocornut
9499afdf5e
imgui_freetype: clarify breaking changes, and add BuildFontAtlas() to be consistent with planned obsolescence. Rename mislabelled internal helper. Demo: clarify labels in nested table demo. ( #3765 )
4 years ago
ocornut
e28b51786e
Tables: Fixed PopItemWidth() or multi-components items not restoring per-colum ItemWidth correctly. ( #3760 ) rework local stacks to facilitate modifying current value without altering the stack.
...
May consider doing the same for ItemFlags and moving to g.ItemFlags...
4 years ago
ocornut
3867c6c5f0
Fonts: (Breaking) Rename ImGuiFreeType:: flags to ImGuiFreeTypeBuilderFlags_XXX. Remove ImGuiFreeType::BuildFontAtlas() flags. Rename ImFontConfig::RasterizerFlags to FontBuilderFlags. Add ImFontBuilderIO (opaque). Amend 53d59f3 with a dozen of small fixes.
4 years ago
ocornut
6b32d0ebc7
Fixed minor title bar text clipping issue when FramePadding is small/zero and there are no close button in the window. ( #3731 )
4 years ago
Sammy Fatnassi
f3f2578e8f
Internals: Added context hook removal support ( #3580 , #3626 , #3753 )
4 years ago
Sammy Fatnassi
376c88a864
Fixed some compile warnings with Clang on Windows ( #3754 )
4 years ago
ocornut
2ed47e5822
Version 1.81 WIP
4 years ago
ocornut
f144c67676
ImDrawList: fixed AddCircle, AddCircleFilled buffer read overflow with (rad > 0.0f && rad < 1.0f && num_segments == 0). ( #3738 )
...
Amend 051ce076
. Maximum cached count becomes 63 instead of 64.
4 years ago
ocornut
bb26751b94
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
4 years ago
ocornut
58075c4414
Version 1.80
4 years ago
ocornut
3b409d2b68
BeginChild: half-fixed child window name longer than 255 conflicting, merely raised the limit by using our shared large buffer. Comments.
4 years ago
ocornut
ebbb98d519
Docking: docked window honor tab and text colors by storing them. ( #2771 )
...
Later to lead into #2700 and #2539
Move tab submission block above in DockNodeUpdateTabBar(), not strictly necessary for this change as is, but useful if needing to apply override for TitleBg* as we'd need a value for node->VisibleWindow earlier than currently set.
4 years ago
ocornut
9e4956d86b
Docking: added comments. added experimental TabItemFlagsOverrideSet to ImGuiWindowClass.
...
(Could probably do something similar with TabBarFlagsOverrideSet+Clear for #2700 later.)
4 years ago
ocornut
6af92b05bf
Internals: Layout: maintain two content sizes, optionally writing to IdealMaxPos to distinguish used from ideal size, later is used for auto-fit. Unused in this commit, should be no-op. ( #3414 )
...
# Conflicts:
# imgui.cpp
4 years ago
ocornut
388ca563db
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx12.cpp
4 years ago
ocornut
626e3e2b3b
Tables: fix reported inner-width for scrolling tables off by a small padding amount + moved code.
...
Makes not much difference for inner-scrolling but makes a difference when reported to outer-window.
4 years ago
ocornut
3edfc042ff
Tables: Internals: Renaming, tweaks preparing ahead for trickier changes (should be all no-op).
4 years ago
ocornut
b11518d7d7
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl2.cpp
# backends/imgui_impl_opengl3.cpp
# imgui.cpp
4 years ago
ocornut
0a5f399805
Tables: Fix hiding column right after the frozen line. Fix hovering/resising column delimiter scrolled under frozen columns. ( #3678 )
4 years ago
ocornut
fa963b9aaf
Inputs: Internal: added SetItemUsingMouseWheel() and mechanism to request mouse wheel for both HoveredId and ActiveId. ( #2891 )
...
Based on @kudaba PR.
4 years ago
ocornut
b015ea93fd
Style tweaks, disabled default window rounding by default, reduced size of resize grip, made less prominent, increased WindowBg alpha in classic style.
...
TestEngine: Fixed Checkbox() not reporting its checkable state when clipped.
4 years ago
ocornut
7b53551032
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
4 years ago
ocornut
1aa59f90d0
Minor API comments and tweaks, standardize index used in imgui.h. Tables: tweaked TableSetupColumn() assert to use IM_ASSERT_USER_ERROR().
4 years ago
ocornut
2e48c2da81
Removed redirecting functions/enums names that were marked obsolete in 1.63 (August 2018) + tables tweaks.
4 years ago
ocornut
4d8e839ddf
Renamed ImDrawList::AddBezierCurve() to ImDrawList::AddBezierCubic(), ImDrawList::PathBezierCurveTo() to ImDrawList::PathBezierCubicCurveTo(). ( #3127 , #3664 , #3665 )
...
Renamed corresponding internal functions as well.
4 years ago
nyorain
a640698123
Clipper: Fixed incorrect end-list positioning when using ImGuiListClipper with 1 item (bug in 1.79). ( #3663 )
4 years ago
ocornut
30468829c2
Tables: Internal: Maintain InnerRect to further clarify some code. Renamed Bg1 fields to Bg2 (used by Selectable) as the other handles Bg0+Bg1.
4 years ago
ocornut
f2df804fcc
Tables: four small fixes.
...
Fixed last item flags leaking to disabled column, affecting IsItemHovered(). (#3651 ).
Validate and fix invalid DisplayOrder data from ini file.
Allow TableHeaderRows() to function will missing TableSetupColumn() calls.
Made TableHeader() use AllowItemOverlap mode to allow submit subsequent item in same cell, since it covers the whole cell area.
4 years ago
ocornut
06e87014f2
Merge branch 'master' into docking
...
# Conflicts:
# imgui.h
# imgui_internal.h
4 years ago
ocornut
bff1836922
Internals: added facility to hide windows from render without interfering with the HiddenFramesCanSkipItems/HiddenFramesCannotSkipItems fields which have effects on layout. Compact some fields.
...
Ideally we'd have a simpler system but it's not easy to make the capture system change to hook at the right spot. Will rework.
4 years ago
ocornut
dd4ca70b0d
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_win32.cpp
# imgui.cpp
# imgui_demo.cpp
4 years ago
ocornut
7a61f3407b
Tables: support internal TableResetSettings(), clarify lifetime, fixed missing auto-fit on column unhidden after first run, fixed resize assert when changing column sizing policy to stretch mid-frame (before of -1.0f weight)
4 years ago
ocornut
e09454aec4
Tables: removed TableGetColumnIsVisible from public api, re-specced as TableGetColumnIsHidden() returning same flag as setter, clipper increase CurrentRow.
4 years ago
ocornut
bf197c74f6
Tables: storing WorkMaxX, made offset_x == MinX to be clearer, clip rect merge uses ClipRect.max.x directly, removed unused ShrinkWidth code, metrics.
4 years ago
ocornut
10db896813
Tables: store RawData in a simple void* pointer, rename ContentMinX > WorkMinX, misc tidying up.
...
Removed unnecessary casts when using CheckboxFlags().
4 years ago
ocornut
507db499e4
Tables: work on background draw channel handling (amend "create a separate background draw channel") + Selectable disable spacing when spanning.
4 years ago
ocornut
e5a5256971
Tables: Garbage collection to relieve draw splitter buffers + for test engine: compact settings, remove table.
4 years ago
ocornut
d3222086f0
Tables: Moved TableSetupScrollFreeze(), TableUpdateDrawChannels() lower in more adequate spots.
...
+ rename IsFreezeRowsPassed to IsUnfrozen.
4 years ago
ocornut
d9ca3939e1
Tables: Tidy up comments. Replaced some Columns by Tables in demo. Removed ImGuiTableFlags_Scroll (combining ScrollX/ScrollY) because each axis inccur different requirements/constraints.
4 years ago
ocornut
51abdd53e3
Tables: renamed somehow-duplicate ContentWidth members (implicitly == Max - Min), renamed StartX to ContentMinX for consistency.
4 years ago
ocornut
ac5b1648e6
Tables: Various internal renaming + merge StartXHeaders/StartXRows into StartX.
4 years ago
omar
25b5cc2f95
Tables: Fixes to support any number of frozen rows (over modifications to clipper code in master) + make clipper run eval after clipect update
4 years ago
omar
8ec05fc034
Tables: Fixed holding on table pointers accross resize/invalidation of the pool buffer.
4 years ago
ocornut
9372601322
Tables: Fixed stacked popups incorrectly accessing g.CurrentTable of parent-in-stack windows.
4 years ago
ocornut
af992d1321
Tables: Tweak settings functions to more prominently clarify the two levels of function.
4 years ago
omar
95c273618e
Tables: Allow hot-reload of settings (merge policy), tidying up settings code
4 years ago
omar
9f43aae226
Tables: Calculating ideal total width, some renaming, comments. Clarify that inner_width is unused with ScrollX=0. Clip many comments to 120 columns.
4 years ago
omar
b7ff85d9ad
Tables: Browse settings list in Metrics (outside of Table entry).
4 years ago
omar
164caa2db7
Tables: Support for multi-line columns name. Renaming of some fields from BackupXXX to HostXXX. Comments.
4 years ago
omar
325b4c69ba
Tables: Moved border colors to the Style (maybe temporarily?) instead of hardcoding them.
4 years ago
omar
883c236eda
Tables: Handle columns clipped due to host rect
...
Return false in user functions, set SkipItems in window, redirect to dummy draw channel.
4 years ago
omar
8da7d3c3e5
Tables: Initial commit. [Squashed 123+5 commits from tables_wip/]
4 years ago
omar
9c8671e7b0
Tables: Add empty file, skeleton.
4 years ago
ocornut
c1ffac2fee
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
4 years ago
ocornut
998d7303b1
Log/Capture: fix capture to work on clipped child windows.
...
+ Tweak ErrorCheckEndFrameRecover() to use local window pointer.
4 years ago
ocornut
ae3e2406ec
Misc tweaks/fixes (see details).
...
Combo: ultra minor fix for popup positioning policy mismatch depending on ImGuiComboFlags_PopupAlignLeft flag.
Made ImHashXXX functions return ImGuiID.
IsWindowNavFocusable use !WasActive.. it worked because it was only called in NewFrame()->NavUpdate() before the transition loop + EndFrame() only.
Fix unused variable warning.
4 years ago
ocornut
e0cae25c3c
Clarify usage of right-aligned items in Layout>Widgets Width. Tweaks FAQ, added missing syntax coloring.
4 years ago
ocornut
4da92b89ed
Viewports: fix incorrect whitening of popups above a modal if both use their own viewport + fix pvs warning.
4 years ago
ocornut
3dcbcd8bf0
Internals: added IsWindowAbove() for use for modal/viewport bugfix.
4 years ago
ocornut
97265602c4
Internals: added IsWindowAbove() for use for modal/viewport bugfix.
4 years ago
ocornut
cecf6b4209
Viewports: made standalone modals appear in taskbar + new window perform z-check before merging in main host viewport. ( #3511 , #1542 )
...
This should fix a good amount of "lost modal" problems, however it is still possible to loose a modal in a host viewport if secondary viewports are configured as children above the host.
4 years ago
ocornut
9712bff0bb
Internals: added experimental ErrorCheckEndFrameRecover() to unroll/end/pop. ( #1651 , #3600 )
4 years ago
ocornut
c0ac4fb788
Columns/Internals: (Breaking): Renamed data structures. ( #125 , #513 , #913 , #1204 , #1444 , #2142 , #2707 )
4 years ago
ocornut
72de6f3360
Columns/Internals: (Breaking) renamed ImGuiColumnsFlags_* to ImGuiOldColumnFlags_*. ( #125 , #513 , #913 , #1204 , #1444 , #2142 , #2707 )
...
Affected: ImGuiColumnsFlags_None, ImGuiColumnsFlags_NoBorder, ImGuiColumnsFlags_NoResize, ImGuiColumnsFlags_NoPreserveWidths, ImGuiColumnsFlags_NoForceWithinWindow, ImGuiColumnsFlags_GrowParentContentsSize. Added redirection enums. Did not add redirection type.
4 years ago
ocornut
b2a91dc390
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
4 years ago
ocornut
71cc636696
Metrics: Rebranded as "Dear ImGui Metrics/Debugger". Fix Show Window Rectangle. Fix Clang OSX warnings. Amend #3592 for Mingw only.
4 years ago
ocornut
e736039538
Nav: Fixed IsItemFocused() from returning false when Nav highlight is hidden because mouse has moved. ( #787 )
4 years ago
ocornut
8119759329
Internals: extracted stack checking code into a ImGuiStackSizes helper struct + added test for FocusScope
...
+ renamed g.ColorModifiers > g.ColorStack, g.StyleModifiers > g.StyleVarStack
4 years ago
ocornut
6e94013a3d
Made ItemFlagsStack and GroupStack shared stacks.
4 years ago
ocornut
12ba6f4606
Fix PushFocusScopeID() + using shared stack. Renamed GetFocusScopeID() to GetFocusedFocusScope() - the two existing functions name are very error prone.
4 years ago
ocornut
a138855d56
Hotfix for PushFocusScope() being utterly wrong (until we split the stacks), Added asserts on PopID to help catch bugs, Added GC trigger.
4 years ago
ocornut
13258f5957
Internals: zero-clearing ImGuiWindow / ImGuiWindowTempData for simplicity. (amend)
...
All the non-zero fields previously initialized in ImGuiWindowTempData() are in fact setup in Begin: FocusCounterRegular, FocusCounterTabStop, TextWrapPos, LayoutType, ParentLayoutType
4 years ago
ocornut
dcfb986fa8
Made EndFrame() assertion for key modifiers being unchanged during the frame more lenient. ( #3575 )
4 years ago
ocornut
ac08593b96
Merge branch 'master' into docking + tweak dock node padding + use CheckboxFlags with int
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
# imgui_internal.h
4 years ago
ocornut
5f97809cab
Misc tidying up (zero-clear structures, more unused default in ClipRetFullscreen, NavApplyItemToResult() coding style fix)
...
Zero-clearing more structures
Remove arbitrary default ClipRetFullscreen value in ImDrawListSharedData.
Nav extracted NavApplyItemToResult() function.
Coding style fixes in OSX Backends.
4 years ago
ocornut
2fa00656a4
Fix for IMGUI_DISABLE_METRICS_WINDOW
4 years ago
Rokas Kupstys
9cca1b2e97
Replace UTF-8 decoder with one based on branchless version by Christopher Wellons. (not branchless anymore tho)
...
Decoding performance increase ~30%
4 years ago
ocornut
3777fbbd81
Renamed io.ConfigWindowsMemoryCompactTimer to io.ConfigMemoryCompactTimer as the feature will apply to other data structures.
4 years ago
ocornut
e3ac52630a
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# imgui.cpp
4 years ago
ocornut
047d4c4500
Metrics: Extracted most functions.
...
+ avoid using full namesapce prefix
4 years ago
ocornut
044ed22379
Metrics: Fixed mishandling of ImDrawCmd::VtxOffset in wireframe mesh renderer + omitting trailing empty ImDrawCmd in count + relying on IdxOffset value.
4 years ago
ocornut
df35157397
Drag and Drop: Fix losing drop source ActiveID (and often source tooltip) when opening a TreeNode() or CollapsingHeader() while dragging. ( #1738 )
...
Amend 7b3d379
, 8241cd62
etc.
4 years ago
ocornut
b7530e5d04
Revert "Replace UTF-8 decoder with branchless version by Christopher Wellons." ( #3558 )
...
This reverts commit b3576dd354
.
4 years ago
Rokas Kupstys
b3576dd354
Replace UTF-8 decoder with branchless version by Christopher Wellons.
...
Decoding performance increase ranges from 30-40%.
Changes:
* Errors handling near the end of string changed. If input does not contain enough bytes, decoder returns `IM_UNICODE_CODEPOINT_INVALID`, consuming all remaining bytes while old decoder consumed only one byte.
Guarantees:
* At least one byte is consumed, if input had at least one byte available.
* Number of consumed bytes will never seek past end of string.
Requirements:
* `in_text` is a valid pointer.
* String pointed by `in_text` must be zero-terminated, or `in_text_end` is not NULL.
4 years ago
ocornut
455c21df71
Merge branch 'master' into docking + dockspace demo comments
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# docs/CHANGELOG.txt
# imgui_internal.h
# imgui_widgets.cpp
4 years ago
Black Cat!
c9fafd5ea4
Drag and Drop: Fix drag and drop to tie same-size drop targets by choosen the later one. Fixes dragging into a full-window-sized dockspace inside a zero-padded window. ( #3519 , #2717 )
4 years ago
ocornut
d3a80d9f1b
Internals: Docking: More fixes to make DockNodeBeginAmendTabBar() viable (probably some issues left)
4 years ago
ocornut
b26f1530b7
Internals: Docking, Tab Bar: Add DockNodeBeginAmendTabBar() and work toward making hybrid dock node with windows tab bars somehow work (not done).
4 years ago
ocornut
042a3b01d2
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx10.h
# backends/imgui_impl_vulkan.h
# backends/imgui_impl_win32.cpp
# docs/CHANGELOG.txt
# examples/README.txt
# examples/example_glfw_opengl2/main.cpp
# examples/example_glfw_opengl3/main.cpp
# examples/example_glfw_vulkan/main.cpp
# examples/example_sdl_directx11/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
# imgui.cpp
# imgui.h
# imgui_demo.cpp
# imgui_internal.h
4 years ago
ocornut
b1a18d82e3
Moving backends code from examples/ to backends/ (step 6: update markdown documentation)
4 years ago
ocornut
d9b2fb7338
Moving backends code from examples/ to backends/ (step 1: moving source files)
4 years ago
ocornut
124c2608f1
Docs: Renamed all occurences of "binding" and "back-end" to "backend" in comments and documentations, for consistency.
4 years ago
ocornut
041ef01b33
Removed redirecting functions/enums names that were marked obsolete in 1.61: InputFloat, InputFloat2, InputFloat3, InputFloat4 with int decimal_precision parameter. ( #648 , #712 )
4 years ago
ocornut
0f13fdd177
Removed redirecting functions/enums names that were marked obsolete in 1.60: io.RenderDrawListsFn, IsAnyWindowFocused(), IsAnyWindowHovered(), etc.
4 years ago
ocornut
04de5ef819
Version 1.80 WIP
4 years ago
ocornut
a38c6dfcc8
Internals: Added support for context hooks (for test engine or other extensions)
4 years ago
ocornut
682249396f
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
4 years ago
ocornut
e5cb04b132
Version 1.79
...
+ Update readme and mission statement.
Removed "Minimize screen reel-estate usage", removed details on memory consumption (still very valid, just too much noise in a mission statement)
4 years ago
Christian
ae5b4991be
Docs: update gallery links. ( #3514 )
4 years ago
ocornut
4fd43a8b64
Internals: removed NavLayerCurrentMask (redundant, add extra shift in ItemAdd().
4 years ago
ocornut
01cc666039
ImGuiListClipper: Renamed constructor parameters which created an ambiguous alternative to using the ImGuiListClipper::Begin() function, with misleading edge cases.
4 years ago
ocornut
958e58b06b
Merge branch 'master' into docking
...
# Conflicts:
# examples/example_apple_opengl2/main.mm
# imgui.cpp
4 years ago
ocornut
c49330fc52
Docking: Fix handling of WindowMenuButtonPosition == ImGuiDir_None in Docking Nodes. ( #3499 )
4 years ago
ocornut
52c0b1a340
ImGuiListClipper: internal rework and tidying up to facilitate supporting frozen rows in tables + stop promoting using constructors parameters.
4 years ago
ocornut
324e0310ad
Renamed ImGuiSliderFlags_ClampOnInput to ImGuiSliderFlags_AlwaysClamp. ( #1829 , #3209 , #946 , #413 )
4 years ago
ocornut
fbabf651f4
Style: Renamed style.TabMinWidthForUnselectedCloseButton to style.TabMinWidthForCloseButton. Fixed README links.
4 years ago
ocornut
fa004ae79a
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_examples.sln
# examples/imgui_impl_dx12.cpp
# examples/imgui_impl_dx12.h
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui_demo.cpp
# imgui_internal.h
# imgui_widgets.cpp
4 years ago
ocornut
1ec464eb9a
Tab Bar: Further simplification of section/clip rect handling. ( #3291 )
4 years ago
ocornut
5e5f25e2dd
Tab Bar: Rename named sections members into array. Various tidying up. ( #3291 )
4 years ago
Louis Schnellbach
7ac16c02cc
Tab Bar: Fix multiple width and position computation issue. ( #3291 )
4 years ago
ocornut
f23c39c395
Tab Bar: Fixed handling of scrolling policy with leading/trailing tabs. + warning fixes + bunch of renaming. ( #3291 )
...
Demo tweaks.
4 years ago
ocornut
29836412e1
Internals, CollapsingHeader, TabItem: Standardized using a #CLOSE id prefix for TabItem and ColllapsingHeader (same as window)
4 years ago
ocornut
795cf6fcb5
Removed return value from OpenPopupOnItemClick(). Use IsWindowAppearing() after BeginPopup() for a similar result.
4 years ago
ocornut
a58a727781
Renamed OpenPopupContextItem() back to OpenPopupOnItemClick(), reverting 99ab5210
4 years ago
ocornut
c206a19373
Removed ImFont::DisplayOffset in favor of ImFontConfig::GlyphOffset. ( #1619 )
...
+ Fonts: AddFontDefault() adjust its vertical offset based on floor(size/13) instead of always +1.
4 years ago
ocornut
c47bcb25ed
Fix popup and tooltip positioning when not fitting in the screen. Amend fa42ccea8.
...
# Conflicts:
# docs/CHANGELOG.txt
4 years ago
Rokas Kupstys
b7b08f52a4
Fix popup and tooltip positioning when not fitting in the screen.
4 years ago
ocornut
6bc526676c
Viewports: Comments, removed unnecessary use of ViewportFrontMostStampCount (the LastFrontMostStampCount is enough)
4 years ago
omar
78f753ffff
Merge branch 'master' into docking + incl add wd->Pipeline in ImGui_ImplVulkan_RenderDrawData platform code ( #3455 , #3459 )
4 years ago
ocornut
70289ab42c
Scrolling: Fixed edge snapping being applied prior to knowing ContentSize. ( #3452 )
...
Fix 473a01adb
.
4 years ago
ocornut
8db94cd992
Internals: Scroll related, comments & shallow tweaks.
4 years ago
ocornut
36c331ff74
Merge branch 'master' into docking
...
# Conflicts:
# examples/example_glfw_vulkan/main.cpp
# examples/example_sdl_vulkan/main.cpp
# imgui.cpp
# imgui_internal.h
4 years ago
ocornut
8dacb4da20
Docking: Fixed DockNode tab bar initial order broken by 8c80d533d
4 years ago
Valentin Vanelslande
9a9ee7f813
NavInitWindow: Change IMGUI_DEBUG_LOG to IMGUI_DEBUG_LOG_NAV ( #3450 )
4 years ago
ocornut
f4d062fa11
Nav: Added debug logging, extract bits of code into NavUpdateInitResult().
4 years ago
ocornut
fc625d249f
Internals: Begin: update ->Hidden flags only on first begin of the frame. (ignore whitespace to see simple diff)
...
# Conflicts:
# imgui.cpp
4 years ago
ocornut
a456d17dfc
Internals: Begin: update ->Hidden flags only on first begin of the frame. (ignore whitespace to see simple diff)
4 years ago
ocornut
34077c0140
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
4 years ago
ocornut
ce230fc370
Internals: TabBar renaming and shuffling stuff around.
...
+ sneaking a readme change
4 years ago
ocornut
600b8f60b4
Docking: Fixed crash in metrics.
4 years ago
ocornut
13f718337a
Internals: Added support for overriding locale decimal point, undocumented. ( #2278 ) + Misc doc update.
...
Doc: Mention IMGUI_VERSION_NUM in recent api breaking changes + textwrap some demo code.
4 years ago
ocornut
901d432cb7
Nav: Fixed using Alt to toggle the Menu layer when inside a Modal window. ( #787 ) Tidying up todo items.
4 years ago
ocornut
093afd4f7f
Internals: Added Name to ImGuiDataTypeInfo + minor misc comments in BeginGroup().
4 years ago
ocornut
45499b8f2f
Window: Fixed using non-zero pivot in SetNextWindowPos() when the window is collapsed. ( #3433 )
4 years ago
ocornut
b30d33378d
Nav: Activate InputSource as Gamepad when pressing any of the digital d-pad button.
4 years ago
ocornut
8d71bc2132
Internals: Nav: shallow refactor.
4 years ago
Rokas Kupstys
833eb771f2
Nav: Fix navigation resuming on first visible item when using gamepad.
...
In cases where navigation was requested with focused item out of view, clipping of current item rect resulted in an inverted rect, which was completely discarded and ImRect(0,0,0,0) was used as current point from which navigation scoring was calculated. IsInverted() check is completely removed as rect can no longer be inverted. Since rects are not initialized to ImRect(0,0,0,0) - old .Min.x != FLT_MAX check (which was changed in c7835dd189
) is not necessary either.
4 years ago
ocornut
1e8b9f84da
Nav: Removed stateful NavMoveFromClampedRefRect and made it more explicit that nav move request from gamepad start from a clipped location.
4 years ago
ocornut
e9053515bb
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/example_glfw_vulkan/main.cpp
# examples/example_sdl_vulkan/main.cpp
4 years ago
ocornut
30f0900b1c
Docking: Fix honoring payload filter with overlapping nodes. (we incorrectly over-relied on g.HoveredDockNode when making change for #3398 )
...
Essentially undo part of 85a661d
(#3398 ) + ref cf31254
(#3420 )
4 years ago
Rokas Kupstys
021c28ae39
Nav: Fix ScrollToBringRectIntoView() not bringing entire item into view when nav moves to the left. Correct some comments.
4 years ago
omar
d451f6cc30
Nav tweaks. Demo: Fixed drag and drop demo state (broken by f152fac4f1
). Fixed incorrect format string (which would work without IMGUI_DISABLE_OBSOLETE_FUNCTIONS).
4 years ago