Rokas Kupstys
0b1bcfcc20
Menus: Separate menu sets by nav layer. ( #3496 , #4797 ) + Demo: Remove incorrect and useless suggestion to use PushID().
...
Fixes a common case where opening menu in one nav layer and hovering a menu in another nav layer would open that menu without a click.
2022-06-08 17:17:54 +02:00
ocornut
23a785aeb3
Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
...
This leaves us room for growing the buffer if needed, and gives us a resizable buffer available for other work.
2022-06-07 19:20:03 +02:00
ocornut
64d6c30562
InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. ( #4947 ) + Metrics: Added "InputText" section.
2022-06-07 15:34:21 +02:00
ocornut
7bf07d2526
Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. ( #5304 , #4831 , #4480 , #533 )
2022-05-23 11:22:46 +02:00
ocornut
9e0517a134
DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. ( #5249 , #5293 , #3491 )
...
Amend 8ed34af6f8
2022-05-13 17:19:51 +02:00
ocornut
9779cc2fe2
Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
2022-05-06 14:20:01 +02:00
ocornut
6d27fecce1
Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
...
Helper to diagnose issues such as #4866 , #3558 , #3436 , #2233 , #1880 , #1780 , #905 , #832 , #762 , #726 , #609 , #565 , #307 )
2022-05-03 19:23:54 +02:00
ocornut
3e5dde9a26
Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. ( #5276 )
2022-05-02 16:45:27 +02:00
ocornut
314c7bd12f
Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
2022-04-28 17:29:47 +02:00
ocornut
5b29d14783
Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
...
+ minor unrelatedcomments.
2022-04-22 17:48:06 +02:00
ocornut
28b2089ee4
Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list ( #5191 )
2022-04-13 21:48:21 +02:00
ocornut
6d15a506fa
Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). ( #5181 )
...
Amend 9038678
2022-04-12 14:49:21 +02:00
ocornut
2c03aac6d3
Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
2022-04-05 15:45:00 +02:00
ocornut
c521883be4
Sliders, Drags: Fixed manual input when using hexadecimal display format string. ( #5165 , #3133 )
...
InputScalar: Fixed manual input when using %03d style width in display format string.
(amended once)
2022-04-04 18:42:04 +02:00
ocornut
508c9aaf60
Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). ( #5165 , #3133 )
...
Ditched unnecessary code. When transitioning from float in 3e8087458
we added an unnecessary path there, which evolved in c5fb92955
.
2022-04-04 14:43:30 +02:00
ocornut
f5c5926fb9
Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
2022-03-29 15:43:47 +02:00
ocornut
2747a8ca40
Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
2022-03-29 12:13:31 +02:00
ocornut
3587ee492b
Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
2022-03-25 15:40:20 +01:00
ocornut
16ddc1698d
Fixed creating multiple-context (regression in 28ba54a
). ( #5135 )
2022-03-24 11:01:46 +01:00
ocornut
28ba54a32a
Internals: add AddSettingsHandler(), RemoveSettingsHandler().
2022-03-14 10:23:30 +07:00
ocornut
fd06ed833b
Misc: tweaks + fix warnings on backends withtout -wno-memaccess ( #4995 , #5104 )
2022-03-13 17:57:32 +07:00
ocornut
0f14933577
Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. ( #3955 , #3565 )
2022-03-01 18:47:03 +01:00
ocornut
2dfa71fad5
Inputs: Fixed IsMouseClicked() repeat mode rate being half of keyboard repeat rate. Using KeyModAlt. Removed KeyModsPrev.
2022-02-16 20:08:58 +01:00
ocornut
5854da10e6
Declare other structures as constexpr ( #4995 ) + rename ImGuiInputEventType_Char to ImGuiInputEventType_Text for consistency with event structure.
2022-02-11 12:29:55 +01:00
ocornut
aa79d0cd2f
Stack Tool: Added option to copy item path to clipboard. ( #4631 )
2022-02-08 16:36:54 +01:00
ocornut
88de982071
Version 1.88 WIP
2022-02-08 14:45:26 +01:00
ocornut
97b1abd6dd
Internals: rework RenderMouseCursor() signature so we can use it in docking branch more naturally.
2022-02-08 12:22:46 +01:00
ocornut
c71a50deb5
Version 1.87
2022-02-07 18:16:54 +01:00
ocornut
6f73dbea80
TestEngine: submit window data to item system.
2022-02-01 15:20:32 +01:00
ocornut
35e197f413
TestEngine: fixed InvisibleButton() and ArrowButton() not calling the info macro.
2022-02-01 11:52:38 +01:00
ocornut
64d910ad37
Removed IMGUI_API from inline templated classes. ( #4962 )
2022-01-29 18:10:36 +01:00
ocornut
49e38a5b32
Revert moving ImGuiKeyModFlags to internal.h (amendc906c65)
2022-01-28 15:53:09 +01:00
ocornut
c906c65cac
(BREAKING) Replaced AddKeyModsEvent() added by 790132a
in favor of unified key enum system. Backends: update most. ( #4921 , #4858 )
...
Sorry this is an unusual breaking but since we are WIP it is a good time to make a correction.
2022-01-27 17:46:48 +01:00
ocornut
8555335935
Shallow alignment of ImGuiKey stuff + moving some in internals. Internals: add offset to ImBitArray<>, simpify ActiveIdUsingKeyInputMask.
2022-01-25 18:11:34 +01:00
ocornut
cff0342454
Internals: moved lines into a Inputs section.
2022-01-21 17:49:04 +01:00
ocornut
62d6be3747
IO: Removed ImGuiInputSource from public api for now, unnecessary. ( #4858 , #787 )
2022-01-20 17:39:25 +01:00
ocornut
f33bb99821
IO: added AddKeyAnalogEvent() and support for ImGuiKey_GamepadXXXX. ( #4858 , #787 )
2022-01-20 17:24:52 +01:00
ocornut
26d04c948f
Tables: Fixed positioning of Sort icon on right-most column with some settings (not resizable + no borders). ( #4918 ).
2022-01-19 18:03:36 +01:00
ocornut
97b1ffcb3b
IO: Reorder enums, compact a little in header. Removed const from internal GetKeyData().
2022-01-19 15:42:27 +01:00
ocornut
91ae56af45
Removed support for legacy arithmetic operators (+*/) when inputing text into a slider/drag. ( #4917 , #3184 )
2022-01-19 15:10:42 +01:00
ocornut
90a6961638
IO: apply same flooring as UpdateMouseInputs() in dupe event processing. ( #4858 ) + provision for test engine.
2022-01-17 18:10:51 +01:00
ocornut
7374b96f5c
IO: Added input queue. ( #4858 , #2787 , #1992 , #3383 , #2525 , #1320 )
2022-01-17 17:36:55 +01:00
ocornut
eb823655af
Removed support for pre-C++11 compilers. We'll stop supporting VS2010. ( #4537 )
...
Build all
2022-01-17 11:54:11 +01:00
ocornut
290c51735e
Fixed warning in ImFloorSigned(). ( #4889 )
2022-01-12 14:18:34 +01:00
ocornut
956e03009a
Backends: OSX: Build fIx. Made GetKeyName() input tolerant. Internals: added GetNavInputName().
2022-01-11 18:48:16 +01:00
ocornut
bf08c13e9b
Inputs: Extra Keys / AddKeyEvent(): bidirectional mapping, basic CI, simplify backends, asserts on misuses, tested backward compat. ( #2625 , #4858 , #2787 )
...
(edit: simplified backends merged into previous commits to make history clearer)
2022-01-10 15:09:56 +01:00
thedmd
3b66929301
Inputs: Extra Keys / AddKeyEvent(): Added ImGuiKey values, io.AddKeyEvent(), GetKeyName(), IMGUI_DISABLE_OBSOLETE_KEYIO. Obsoleted GetKeyIndex(), io.KeyMap[], io.KeysDown[]. ( #2625 , #4858 , #2787 )
2022-01-10 15:09:56 +01:00
ocornut
2706c9d66e
Platform IME: reworked internals to simplify adding new features.
2022-01-05 13:47:20 +01:00
ocornut
89a28209e8
Version 1.87 WIP + Backends: OpenGL3: Fixed a buffer overflow in imgui_impl_opengl3_loader.h init, added in 1.86 ( #4468 , #4830 )
2021-12-26 20:02:02 +01:00
ocornut
980deb4c9e
Add missing include guard to avoid declaring ImFontAtlasGetBuilderForStbTruetype() function.
...
https://github.com/cimgui/cimgui/issues/193
https://github.com/imgui-rs/imgui-rs/pull/582
2021-12-26 19:51:10 +01:00
ocornut
512c54bbc0
Version 1.86
2021-12-22 15:31:13 +01:00
ocornut
1c4066cd9e
Internals: UpdateWindowInFocusOrderList: amend a528398
to fix docking. ( #3496 , #4797 )
2021-12-15 14:27:56 +01:00
ocornut
11638fdf7d
Menus: reuse more menu windows when stacked over popups.
...
This is actually mostly aimed at ensuring the _ChildWindow flag on menu window doesn't vary as this would cause issues with our current g.WindowsFocusOrder[] scheme
2021-12-13 19:35:16 +01:00
Rokas Kupstys
b38af0f522
Popups: Fix popups being closed by newly appearing windows. ( #4317 )
...
* Popups/modals now remain open when new windows are created from within popup/modal begin stack.
* Modals are not closed when new window appears behind active modal.
Tested by "window_popup_interruptions"
2021-12-07 15:52:13 +01:00
ocornut
027a7ba3eb
Clipper: use line size instead of cursor comparaison when range are large. ( #3609 , #3962 + https://github.com/ocornut/imgui_club/issues/20 )
2021-12-06 17:17:43 +01:00
ocornut
a76bc52da5
Window, Clipper: store initial precision loss and apply in clipper. ( #3609 , #3962 + https://github.com/ocornut/imgui_club/issues/20 )
2021-12-06 16:19:47 +01:00
ocornut
6e141a9cae
Internals: made ScrollbarEx() use ImS64 to facilitate use with larger ranges (not fully tested) + clipper tweaks ( #3609 , #3962 + https://github.com/ocornut/imgui_club/issues/20 )
...
This does NOT fix all problems with large ranges and floating point precision, it merely attenuate them.
2021-12-06 12:09:38 +01:00
ocornut
23ef6c149e
Reworked modal/ctrl+tab dimming system to be entirely processed at end of the frame (backported 1dc3af3
from docking)
2021-12-03 19:21:39 +01:00
ocornut
da3a36eefd
Backport from docking branch: minor stuff.
...
Fixed software mouse cursor being rendered multiple times if Render() is called more than once.
2021-12-03 19:11:58 +01:00
ocornut
f087a5b856
Metrics: Added a node showing windows in submission order and showing the Begin() stack.
2021-11-30 16:04:19 +01:00
ocornut
9d704d99d3
Internals: wrapped ImQsort() in an inline function + added a define guard.
2021-11-30 12:59:00 +01:00
averne
cb5c73f64a
Fix: IM_DEBUG_BREAK macro on ARM GCC ( #4767 )
2021-11-29 00:05:57 +01:00
ocornut
65f4be1a10
InputText: Internals: moved "apply_new_text" application code to reduce noise in a future commit (will be for #4714 ) + removed unused fields.
...
The move would ideally be no-op. technically we now clear state->Flags before calling ResizeCallback but those are unrelated. The 2 unused fields were incorrectly added by 24ff25981
.
2021-11-25 15:12:23 +01:00
Rokas Kupstys
4d9a3b19d5
Internals: Implement a continuable IM_DEBUG_BREAK on GCC for common archs. ( #2673 )
2021-11-22 12:35:07 +01:00
ocornut
f8a806ad9f
Tooltips, Internal: (Breaking) swapped parameter order to accomodate for future tooltip api rework.
2021-11-10 17:53:58 +01:00
ocornut
eb02dcf87f
Nav: enable move/resize window with keyboard in Ctrl+Tabbing windowing menu even without _NavEnableKeyboard. ( #4023 , #787 ).
2021-11-08 18:42:07 +01:00
ocornut
1a7526dcd4
Nav, Tabbing: refactor tabbing system to support clipped items, scrolling, using nav queries. ( #4449 )
...
Not using counter/modulo anymore and special provisions to handle tab wrapping with ImGuiListClipper. Wrapping may be done better as a next-frame forwarded request.
Also one extra step toward #3949 #3985
2021-11-04 20:48:12 +01:00
ocornut
93cccd27f6
Clipper: bunch of rework. ( #3841 , #1725 )
...
- Focused/NavId now always included in display range.
- Any number of steps (while preserving zero-alloc policy).
- Non contiguous ranges for nav processing
- Moved new fields internally (+ moved StepNo away from sight so it doesn't get missused).
- Generally tweaks/refactors.
2021-11-04 14:05:14 +01:00
ocornut
a67f7dce31
Nav: relative rectangle positions are now stored relative to CursorStartPos to be independent of scrolling. Will facilitate rework of clipper ( #3841 )
...
+ Extracted code into NavUpdateCreateWrappingRequest()
+ Fix for PVS in NavUpdate() assigning g.NavMousePosDirty twice.
2021-10-27 14:18:03 +02:00
ocornut
8361ed1f54
Nav: wrap abs<>rel rectangle conversions before we attempt to switch the reference point from window->Pos to window->DC.CursorStartPos. This commit should have no effect.
...
Current point makes rectangle invalid right after a scroll, for interactive actions it's rarely a problem but e.g. clipper will want to use g.NavID rect rel while scrolling. (#3841 )
2021-10-27 12:28:45 +02:00
ocornut
e3bd9434b1
1.86 WIP + internals: tweaks table temp data code.
2021-10-14 16:58:14 +02:00
Rokas Kupstys
be03b8ff93
Misc: Fix build with MinGW when using IMGUI_API.
2021-10-12 16:43:28 +02:00
ocornut
55d35d8387
Version 1.85
2021-10-11 19:24:25 +02:00
ocornut
44f801186f
SetItemDefaultFocus() use ScrollToRectEx(), don't tab when Alt is held either, TabItemEx() uses ItemAdd's extra_flags, misc comments.
2021-10-08 15:24:54 +02:00
ocornut
31d033c9d8
Nav: refactor SetKeyboardFocusHere() into using Nav facility. Fix it for clipped items. ( #343 , #4079 , #2352 , #432 )
...
+ Removed references to counter used by previous implementation of SetKeyboardFocus functions (the TabStop ones will be removed after)
2021-10-06 18:42:11 +02:00
ocornut
2de96c4bd5
Stack Tool: Added Stack Tool (ShowStackToolWindow() function and available from Demo and Metrics window). ( #4631 )
2021-10-06 17:47:27 +02:00
ocornut
8f495e5543
Internal: added ScrollToItem() upcoming replacement to ScrollToBringRectIntoView() + ImGuiScrollFlags (WIP) ( #3692 , #3208 , #2812 , #4242 , #2900 )
2021-09-29 17:13:45 +02:00
ocornut
fc4988ffb0
Added ImGuiFocusedFlags_NoPopupHierarchy and ImGuiHoveredFlags_NoPopupHierarchy (followup #4527 )
2021-09-24 15:39:38 +02:00
ocornut
24a77824f2
Added ClosePopupsExceptModals() helper, unused for now (aimed at user being able to close popups on app focus loss, not necessarily a suitable default)
2021-09-22 15:50:40 +02:00
Rokas Kupstys
30546bc0e7
ColorEdit: Fix multiple issues. ( #4014 )
...
* Change g.ColorEditLastColor type to ImU32 and store RGB color value.
- Fixes inability to change hue when saturation is 0. (#4014 )
- Fixes edgecases where lossy color conversion prevent restoration of hue/saturation.
- Fixes hue value jitter when modifying color using SV square.
* Fix hue resetting to 0 when it is set to 255 by explicitly restoring hue if it is 0 and previous value was 1.
* Further reduce hue jitter by restoring hue when color is modified using SV square.
2021-09-21 15:10:07 +02:00
ocornut
3973de7933
Internals: removed last parameter to IsClippedEx() + fix PVS studio warnings.
2021-09-16 18:07:17 +02:00
ocornut
2d0a6a4969
Misc: moved StacSizeOnBegin out of window instance into window stack data.
2021-09-15 15:36:03 +02:00
ocornut
66cd21db88
Misc: extracted ErrorCheckEndWindowRecover() out of ErrorCheckEndFrameRecover(). ( #1651 )
2021-09-15 15:26:29 +02:00
ocornut
d366694062
Disabled: Added assert guard for mismatching BeginDisabled()/EndDisabled() blocks. ( #211 ) + Added asserts for missing PopItemFlag() calls. Added both to ErrorCheckEndFrameRecover ( #1651 )
2021-09-15 15:26:29 +02:00
ocornut
d9b427cce0
Nav: clarified/renamed NavInputId as NavAcivateInputId, added flags shared by both.
...
(this commit should have no visible side effect but is designed to introduce the followup commit refactoring SetKeyboardFocusHere into using a Nav request)
2021-09-07 18:10:31 +02:00
ocornut
ade4c15eea
Nav: Tidying up, renaming + update AnyRequest flag in NavMoveRequestSubmit().
2021-09-03 16:35:41 +02:00
ocornut
5ee40c8d34
Nav: always disable highlight if nav is disabled, fix for IMGUI_DEBUG_NAV_SCORING, minor renaming.
2021-09-02 12:05:32 +02:00
ocornut
3d9d3b49ae
Internals: folded ImGuiItemAddFlags into ImGuiItemFlags. ImGuiItemAddFlags_Focusable > ImGuiItemFlags_Inputable. One step in the big nav/tab/focus rework.
...
Bonus simplified Selectable() handling of its custom disabled flag. (#211 )
2021-09-01 14:46:08 +02:00
ocornut
73a5e82e04
Nav: removed parameters from NavScoreItem(), NavProcessItem(), NavApplyItemToResult(): made little sense / misleading because pulling from other current state anyway.
...
Will readd in a more thorough manner is actually needed.
2021-09-01 14:13:40 +02:00
ocornut
a735a8c084
Nav: storing NavRect in LastItemData. Fix race condition where framed items (Rect != NavRect) calling SetFocusID() would store the wrong NavRectRel until next frame
...
(haven't dugged in the possible side-effects of that race condition)
2021-09-01 12:12:51 +02:00
ocornut
ee351d3548
Nav: move code into NavMoveRequestSubmit(). NavApplyItemToResult() takes absolute rect., comments
2021-09-01 12:06:15 +02:00
ocornut
7b913db1ce
Nav: split NavMoveRequest into NavMoveSubmitted + NavMoveScoringItems to allow operation to defer a move request and provide result immediately + fix regular scoring needlesly running during init + some renaming.
2021-08-31 18:19:52 +02:00
ocornut
7c4ffe490d
Menus: added internal's BeginMenuEx() matching MenuItemEx() with icon parameter. (amend f8fae022
)
2021-08-30 19:54:42 +02:00
ocornut
ccfb20095e
Nav: small refactor of forwarding, clarified that MoveDir only set when RequestActive, removed one indent level in NavUpdatePageUpPageDown().
2021-08-27 20:48:01 +02:00
ocornut
4351febe9f
Nav: moved enums/struct declarations in imgui_internal.h
2021-08-27 18:01:38 +02:00
ocornut
20a1edef89
Nav: made EndMenuBar() use NavMoveRequestForward() for consistency. Moved forward clearing to NavMoveRequestApplyResult(). Improved/fixed comments.
2021-08-27 17:21:10 +02:00
ocornut
84890a3074
Nav: simplify wrap requests code (may soon be useable for tabbing)
2021-08-27 12:31:11 +02:00
ocornut
51d841dcf3
Fix warnings and remove IM_RETURN ( #4470 )
...
Amend f24abbc4
2021-08-24 14:37:11 +02:00
ocornut
0649f750b4
Version 1.85 WIP
2021-08-23 15:31:06 +02:00
ocornut
d2ffbd9b86
Version 1.84
...
Fix PVS Studio false positive //-V1020
Fix missing #ifndef for IMGUI_IMPL_OPENGL_LOADER_CUSTOM path
2021-08-20 18:03:55 +02:00