omar
a4cc3d4637
Minor tweaks/comments. Note that the reordering the one subtraction caused subtle havoc before the patch in 9ac8820ee2
.
7 years ago
omar
9ac8820ee2
Fixed non-pixel aligned bounding box of window resize grip, / which triumphally led to any re-arrangement of operations inside the resize grip code outputting non-exact size_target values which led to unstable window position because clamping code uses size in a subtraction, etc etc. Lovely how a whole system can be made to act weird with a single bad input.
7 years ago
omar
2ab27be3de
Child window with MenuBar use regular WindowPadding.y so layout look consistent in child or in a regular window.
7 years ago
omar
41862b8c0e
ButtonBehavior: Fixed ImGuiButtonFlags_NoHoldingActiveID from incorrectly setting ActiveIdClickOffset, which probably have no known effect, but it is more correct this way. ( #1418 )
7 years ago
omar
1870738880
LowerBound() minor tweaks
7 years ago
omar
571b08f315
Internal: FindWindowByName() faster and doesn't touch every windows
7 years ago
omar
2c7ba21417
Fixed auto-resize allocating too much space for scrollbar when SizeContents is bigger than maximum window size (fixes c0547d358d
) ( #1417 )
7 years ago
omar
0d4c320f88
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_draw.cpp
7 years ago
omar
f0b4097c54
Begin: Simplified code and fixed a bug where appending into a window a second time (from a remote window) would incorrectly overwrite RootWindow with the current window in the stack. Our docking code uses this pattern.
7 years ago
omar
16a5da9521
RenderTriangle() minor tweak to align Left/Right and Up/Down arrow extents visually
7 years ago
omar
982ce50b37
IsWindowHovered() returns true when moving window ( #1382 , #1404 )
7 years ago
omar
ff4d4ca651
IsWindowHovered(): Added ImGuiHoveredFlags_FlattenChilds flag. Made IsRootWindowOrAnyChildHovered() obsolete in favor of IsWindowHovered( ImGuiHoveredFlags_FlattenChilds) ( #1382 , #1404 )
7 years ago
omar
803ac3a5c6
IsWindowHovered() Fix behavior when an item is active to use the same logic as IsItemHovered() ( #1382 , #1404 )
7 years ago
omar
63f6f2dd13
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui.h
7 years ago
omar
6ab20ff9bf
Minor tweaks to the user guide.
7 years ago
omar
e55caf0b95
Merge pull request #1402 from elect86/patch-1
...
Minor fix typo
7 years ago
omar
7f06d385a1
Added assertions and comments for incorrect use/understanding of IsWindowFocused() etc. functions
7 years ago
Giuseppe Barbieri
9e3f9fc2dd
Update imgui.cpp
7 years ago
omar
b13d281356
Maintaining ActiveIdTimer and HoveredIdTimer (the later is useful for drag and drop, both will be of course for creators of custom widgets)
7 years ago
omar
17dd8e7c30
Merge branch 'master' into navigation
7 years ago
omar
b9ebb34a04
Nav: ColorButton: Fixed a case of not using local 'hovered' flag directly, messes with some of my drag and drop work, and I can't find/understand the reason why this was left as is (there _was_ a reason at the time but it appears to be obsolete now?)
7 years ago
omar
f962ca0b01
ColorTooltip: Resize ColorButton to align better with text, now that ColorButton provides a text baseline ( 0260fdd1c6
)
7 years ago
omar
edafbcd630
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui.h
7 years ago
omar
c503a50cff
Styles: Moved Classic colors code to imgui_draw.cpp. Sneakily added a StyleColorsDark() function.
7 years ago
omar
77df1ba9e0
Version 1.53 WIP
7 years ago
omar
b422f35872
IO: Tracking extra mouse dragging data which is convenient for implementating various manual drag and drop patterns.
7 years ago
omar
c0b366b316
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.h
7 years ago
omar
9f200d10d5
Version 1.52
7 years ago
omar
cc78e9a213
Merge branch 'master' into navigation
7 years ago
omar
267ea506de
Begin: Fix for unused "Debug" (fix for 3b83cd24f5
)
7 years ago
omar
5afee1c6f3
Merge branch 'master' into navigation
...
# Conflicts:
# imgui_internal.h
7 years ago
omar
3b83cd24f5
Begin: Moved some code inside of the big if (first_begin_of_the_frame) scope
7 years ago
omar
3656f2c769
NewFrame: Allow MovedWindow setting the ImGuiWindowFlags_NoInputs after moving has started in order to be able to detect windows below it, which is useful for e.g. docking mechanisms.
7 years ago
omar
a6edd10ee6
NewFrame: Removed unnecessary call to FindHoveredWindow() and simplified code (went through this multiple times, hopefully haven't broken anything)
7 years ago
omar
6243252d5a
Internal: BeginTooltipEx() in imgui_internal.h
7 years ago
omar
f10a1d7b9e
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
7 years ago
omar
d42f6bb6cc
Merged a bit of code from Navigation branch to ease further merging (InnerRect is currently not required in the Master branch)
7 years ago
omar
c432fcf2bb
Minor renaming.
7 years ago
omar
549f9e3f03
Merge branch 'master' into navigation
...
# Conflicts:
# imgui_internal.h
7 years ago
omar
daef33e268
Comments about mouse setup and clearing HoveredWindow when mouse down isn't owned by imgui (will affect some future hovered test and drag'n drop patterns) ( #143 , #1382 , #1392 )
7 years ago
omar
4faf99eff5
Added most basic form of Disabled flag to disable interactions (but visuals aren't altered), in imgui_internals.h, undocumented/unsupported ( #211 , #1012 )
7 years ago
omar
fc25881207
Merge branch 'master' into navigation
7 years ago
omar
efcd53a0c3
Removed direct dependency on sprintf() in imgui.cpp ( #1038 )
...
(NB: imgui_demo stills uses it)
7 years ago
omar
1f3372b7f1
ImFormatString, ImFormatStringV(): clarifying specs so that passing a NULL buffer should return the desired length. ( #1038 )
7 years ago
omar
8fd5620277
Renamed IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCS/IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCS to IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCTIONS/IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCTIONS for consistency. (ref #238 , #520 , #738 )
7 years ago
omar
7d2cd0e6ff
Added IMGUI_DISABLE_FORMAT_STRING_FUNCTIONS support in imconfig.h ( #1038 )
7 years ago
Patrick Doane
70cb427469
Add missing CloseClipboard call
7 years ago
omar
d513546325
Merge branch 'master' into navigation
7 years ago
omar
5b062c4c29
Fixed typos
7 years ago
omar
0260fdd1c6
ColorButton: As a small convenience, provide a text baseline.
7 years ago
omar
e9ff7162bc
ColorButton: Fixed rendering color button with a checkerboard if the transparency comes from the global style.Alpha and not from the actual source color.
7 years ago
omar
97bf2131e2
Fixed calling SetNextTreeNodeOpen() on a collapsed window leaking to next frame.
7 years ago
omar
20983773f1
Nav: MainMenuBar now releases focus when user gets out of the menu layer. WindowingTarget when applying focus to a window with only menus automatically sets the layer. ( #787 )
...
This is enough for basic mouse/gamepad usage, but 1- previous window gets an unfocused title bar color temporarily, 2- generaly for gamepad and especially keyboard we need much more to get this done right
7 years ago
omar
025d4f0c97
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
7 years ago
omar
e7922b3fa0
Factorized some code (+ declared as static function without namespace, a pattern with the Nav branch has started to use)
7 years ago
omar
2ef2c104a1
Begin: Minor tweaks
7 years ago
omar
be12f8c55d
Nav: Fixed handling of ImGuiNavInput_KeyMenu so it doesn't set g.NavWindowingTarget at all, reducing size effects + handling menu layer toggle on Alt Release ( #787 )
7 years ago
omar
6f0aa766e1
Nav: Added internal ImGuiNavReadMode_Released test for key releases.
7 years ago
omar
d769e2515a
Merge branch 'master' into navigation
7 years ago
omar
1bc1751670
MenuItem(): Tweaks to mimic exact spacing of BeginMenu() when inside a menu bar, which is a little misleading imho but may be useful. ( #1387 )
7 years ago
omar
b177f2432d
MenuItem(): Tweak to not draw over all horizontal space when in horizontal layout mode. ( #1387 )
7 years ago
omar
5fa81f2a26
Nav: Added ImGuiNavInput_KeyMenu aside from ImGuiNavInput_PadMenu as it is one differenciator between pad and keyboard that's very annoying with the keyboard.
...
Remove the move/resize behavior that appears than holding the button for a while. (#787 )
7 years ago
omar
1c5b3fb1d2
Merge branch 'master' into navigation
7 years ago
omar
f7259e60ee
Comments
7 years ago
omar
23b9060468
Nav: Honoring ImGuiItemFlags_NoNav which is used by color picker ( #787 )
7 years ago
omar
e4bb9102f9
Merge branch 'master' into navigation
7 years ago
omar
6ab737a4bb
Popups: Fixed right-click to close popups not handling modal windows properly. (~#439)
7 years ago
omar
aca23fd3f0
Popups: similarly to previous commit, we fix reopening a popup within a popup stack from truncating the whole stack. This is done by properly refocusing the lower level popup. (~#439)
7 years ago
omar
59a89774d7
Popups: fixed CloseInactivePopups() so that right-clicking to close one level of popups in a popups stack won't close the whole stack. This is done by properly refocusing the lower level popup. Fixes 87ae40843c
(~#439)
7 years ago
omar
43df7eb5ea
Added OpenPopupOnItemClick(); helper which mimic BeginPopupContextItem() but doesn't do the open.
...
Made the color popups uses this standard function so they handle reopening a context menu.
7 years ago
omar
0ea66dc260
Fixed bad merge from Master
7 years ago
omar
1172ff62e1
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_demo.cpp
# imgui_internal.h
7 years ago
omar
3cc10d25a9
BeginPopupContextItem(), BeginPopupContextWindow(): Using newly introduced IsItemHovered() flags to allow reopening another context menu (over same or not same item) with right-click. ( #439 ) (+1 squashed commits)
7 years ago
omar
695ea45fca
IsWindowHovered(): Changed default behavior to now return false is a widget from another window is active + Added support for ImGuiHoveredFlags_AllowWhenBlockedByActiveItem. (relate to drag'n drop idoms: #143 )
7 years ago
omar
564ff2dfd3
IsItemHovered(), IsWindowHovered(): added flags to enable various and more specific behavior. Will enable improvements for popups/context menus and drag'n drop. (relate ~#439, #1013 , #143 , #925 )
...
The legacy confusing IsItemRectHovered(), IsWindowRectHovered() can be completely removed now.
Changed IsWindowHovered() behavior with default parameter: it now return false is the window is blocked by a popup.
Demo: Added tests for those two functions.
7 years ago
omar
d29a6a5a5a
Moved IMGUI_DISABLE_OBSOLETE_FUNCTIONS block lower in the imgui.h file so obsolete functions can use flags. Also sane to quarantine them outside of the respectable area.
7 years ago
omar
e6f06627e9
Made the ImGuiWindowFlags_NoMove flag inherited from parent to child, so in a setup with RootWindow (no flag) -> Child (NoMove flag) -> SubChild (no flag) user won't be able to move the root window by clicking on SubChild. ( #1381 )
7 years ago
omar
3b485cda51
Fixed a bug allowing to move a _NoMove window from a child that doesn't have the flag. ( #1381 )
...
broken by e56eba44fe
(#1337 )
7 years ago
omar
87ae40843c
Popups: popups can be closed with a right-click anywhere, without altering focus under the popup.(~#439)
7 years ago
omar
853018dd4d
Popups: Fixed a bug introduced in 1a35766356
which made the BeginPopupContextXXX functions create popups without border. (nb: all that border mess is going away in styling clean up)
7 years ago
omar
5f7299e15a
Refactor EndFrame() code that process focusing window with left mouse button. This commit should be no-op.
7 years ago
omar
51eed2f257
Merge branch 'master' into navigation
7 years ago
omar
5b699517d4
Internals: PaintVerts** renamed to ShadeVerts**, moved to imgui_draw.cpp and exposed in imgui_internal.h (+1 squashed commits)
7 years ago
omar
22977ffedb
Documentation: Extra comments + tweaks to make usage of long-line more bearable.
7 years ago
omar
938f1b720f
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
7 years ago
omar
370a48c10b
Internals: RenderCollapseTriangle() -> RenderTriangle(), takes a ImGuiDir
7 years ago
omar
a03093b2d4
CollapsingHeader(bool*) variant: fixed for IsItemHovered() to work properly in the nav branch.Basically the close button now has to use ItemAdd() to be navable into, which overwrite the IsItemHovered data. ( #600 , #787 )
7 years ago
omar
29a652adee
CollapsingHeader(bool*) variant: fixed for IsItemHovered() to work properly in the nav branch.Basically the close button now has to use ItemAdd() to be navable into, which overwrite the IsItemHovered data. ( #600 , #787 )
7 years ago
omar
a126c702d9
Merge branch 'master' into navigation
...
# Conflicts:
# imgui_internal.h
7 years ago
omar
ef3f87eec5
Internals: ButtonBehavior: made ImGuiButtonFlags_PressedOnClick and ImGuiButtonFlags_PressedOnDoubleClick set the click offset correctly + hold on g.ActiveId so Held state can be reported. Added ImGuiButtonFlags_NoHoldingActiveId flag to disable the later.
7 years ago
omar
bf778ebb7e
Checkbox: Using checkmark. MenuItem: Tweaked checkmark, thicker.
7 years ago
omar
d96b6ecf88
Merge branch 'master' into navigation
...
# Conflicts:
# imgui_demo.cpp
7 years ago
omar
03b76bf05b
Begin: Marked 5 parameters version of Begin() as obsolete. Now waiting for a riot to happen!
7 years ago
omar
78a85ba3fe
Begin: Work toward obsoleting the 5-arguments Begin() overload. Internal BeginEx() becomes the normal public Begin() again! (4)
7 years ago
omar
2739b6ebcd
Begin: Work toward obsoleting the 5-arguments Begin() overload. Removed bg_alpha from internal BeginEx(). (3)
7 years ago
omar
4aa9d2089d
Begin: Work toward obsoleting the 5-arguments Begin() overload. Removed size_on_first_use from internal BeginEx(). (2)
7 years ago
omar
55d873875e
Begin: Work toward obsoleting the 5-arguments Begin() overload. (1)
7 years ago
omar
1a35766356
BeginPopupContextItem() now supports a NULL string identifier and uses the last item ID if available. For interactive items (that have an ID) this works! For non interactive items we assert.
7 years ago
omar
c76f014292
Fix IsItemHovered() issue on child by temporarily reverting 344d48be31
. This is not the ideal solution. ( Fix #1370 )
7 years ago
omar
af565ea828
Nav: InputTextMultiline: Fixed navigation/selection. Disabled selecting all when activating a multi-line text editor. ( #787 )
7 years ago
omar
7ea52ac1e4
Nav: InputTextMultiline: Fixed navigation/selection. Disabled selecting all when activating a multi-line text editor. ( #787 )
7 years ago
omar
82a27fd3aa
Nav: InputText: Fixed using Up/Down history callback feature when Nav is enabled ( #787 )
7 years ago
omar
b70c2fa887
Nav: Internals: Moved some internal code to namespace, comments
7 years ago
omar
ae1866c424
Nav: NavProcessItem() updates current NavLayer. Basically we're hearing toward rebuilidng nav info from an id. ( #787 ).
7 years ago
omar
97851f7376
Nav: NavProcessItem() computes window-relative rectangle using own Window rather than NavWindow. Not sure what it may mean for child-flattened-nav (disabled). ( #787 )
7 years ago
omar
7d14262202
Nav: SetFocusID() update NavWindow and NavRectRel just as we get them. Needed by upcoming commit, committing separately as I'm curious if it has any side-effect. ( #787 )
7 years ago
omar
83416fa5da
Merge branch 'master' into navigation
7 years ago
omar
d761825cfb
Nav: Renaming a field + Comments.
7 years ago
omar
ce7b04e8b9
Removed apparently unncessary code in InputFloatN() and InputInt().
7 years ago
omar
db5f1b79cd
Nav: ButtonBehavior() keep _displaying_ NavId item as howered when refocusing or moving window, which is consistent with IsItemHovered() and reduce noise/flicker ( #787 )
7 years ago
omar
c42baf392a
Reluctantly exposed GetActiveID(), GetHoveredID() in imgui_internal because the demo code will need it.
7 years ago
omar
53780a4fcc
Nav: Shallow tweaks.
7 years ago
omar
f852b9a52a
Exposed Scrollbar() in imgui_internal.h and removed a bool arg
7 years ago
omar
b667d5a9e7
Nav: Internals: Renamed ImGuiButtonFlags_NoNavOverride to ImGuiButtonFlags_NoNavFocus + fixed a theorically missing test in ButtonBehavior() ( #787 )
7 years ago
omar
0371219222
Nav: Internals: Renamed SetActiveIDNoNav -> SetActiveID() and old SetActiveID() -> SetFocusID(), both functions needs to be called when both are desirabled. ( #787 )
...
May break code relying on imgui_internal.h, relying on nav and not calling ButtonBehavior().
7 years ago
omar
8b095e483b
Internals: Moved SetNavID() and renamed casing to be consistent with stuff exposed in imgui_internal.h
7 years ago
omar
4be967823f
Exposed Scrollbar() in imgui_internal.h and removed a bool arg
7 years ago
omar
48498b337d
Internals: SetActiveID window cannot be NULL
7 years ago
omar
4548bcb5c9
Nav: commiting shallow bits to reduce noise from working copy/upcoming commit.
7 years ago
omar
17519c313a
Nav: Extract part of NavUpdate() into a saner NavUpdateWindowingTarget() ( #787 )
7 years ago
omar
b05b31e690
Nav: Made NavWindow always refresh from NavId so we can lazily retrieve the window for user functions that don't have it. This is not required by current commit but I'd rather test it earlier. Idea: eventually if we switch to 64-bit identifiers we could reserve e.g. 20 bits to store a simplified window identifier so we can always retrieve a window from an id. ( #787 )
7 years ago
omar
f0d437dd9c
Nav: SetActiveId() uses SetActiveIDNoNav() to avoid duplicating logic. ( #787 )
7 years ago
omar
2047c58efb
Nav: Extract part of NavUpdate() into a saner NavScrollToBringItemIntoView() ( #787 )
7 years ago
omar
7a14d7dfdc
Nav: More consistently drawing a (thin) navigation rectangle hover filled frames such as tree nodes, collapsing header, menus. ( #787 )
7 years ago
omar
3833f1f7a2
Merge branch 'master' into navigation
7 years ago
omar
43b4a81b3e
Rnamed AlignFirstTextHeightToWidgets() to AlignTextToFramePadding(). Kept inline redirection function (will obsolete).
7 years ago
omar
c6e370a77a
TreeNode: Added ImGuiTreeNodeFlags_FramePadding flag
7 years ago
omar
69dd895358
Nav: Renaming NavInitDefaultRequest -> NavInitRequest
7 years ago
omar
4d83078885
Nav: Moving code next to its peers
7 years ago
omar
d2975115cd
Nav: Caching into g.NavAnyRequest to minimize hot path cost (and so we can add many more request sources)
7 years ago
omar
d91b093be6
Nav: Minor tweaks in NavProcessItem() used by ItemAdd()
7 years ago
omar
c3105919ba
Nav: Minor tweaks also toward removing processing from ItemAdd()
7 years ago
omar
d16309ca77
Internal: ItemAdd() minor shallow tweaks
7 years ago
omar
64ce83b9ed
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
7 years ago
omar
042153d254
Internal: ItemAdd(), IsClippedEx(): removed unnecessary indirection for ID parameter
7 years ago
omar
acb6f12d2c
Removed extraneous calls to GetCurrentWindowRead() when we already have a ImGuiContext. Internal RenderXXX functions also don't need to write into the Accessed field at all.
7 years ago
omar
6e1199c603
Merge branch 'master' into navigation
7 years ago
omar
f451785c9e
Nav: Shuffled code in ItemAdd() so that NavProcessItem() may have access to LastItemId (will be required by tabbing)
7 years ago
omar
e12cfa9dfd
Nav: Minor midying up and comments,
7 years ago
omar
40df7a5155
Nav: Removed possibly redundant test prior to calling NavProcessItem() from ItemAdd()
7 years ago
omar
a77dd02e8a
Nav: Moving code next to its peers
7 years ago
omar
f5bd4663dd
Nav: Moving the big chunk of code from ItemAdd() to NavProcessItem()
7 years ago
omar
59c6f35bf6
Added ActivateItem(), GetItemID() functions.
7 years ago
omar
80c4e2fe7b
Nav: Tidying up activation mechanism so that setting NavActivateId can trigger buttons.
7 years ago
omar
d851775c80
ColorButton: Reduced bordering artefact that would be particularly visible with opaque Col_FrameBg and FrameRounding enabled.
7 years ago
omar
726dcf0dd2
TextUnformatted(): minor tweak
7 years ago
omar
a0d724b450
Made AlignFirstTextHeightToWidgets() saner and faster (still disliking its name very much!)
7 years ago
omar
a3d0755181
Merge branch 'master' into navigation
7 years ago
omar
f326fac64a
Nav: Menus and popups now have move request wrap around vertically (using the move request forward thing added recently). ( #787 )
7 years ago
omar
a8788e51a7
SetKeyboardFocusHere() added assert to prevent passing values smaller than -1 as we may have to outlaw them (I think nobody was using that)
7 years ago