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
27004aca70
Revert moving ImGuiKeyModFlags to internal.h (amendc906c65)
...
# Conflicts:
# imgui.cpp
2022-01-28 15:53:41 +01:00
ocornut
49e38a5b32
Revert moving ImGuiKeyModFlags to internal.h (amendc906c65)
2022-01-28 15:53:09 +01:00
ocornut
d5f0d45ae4
Merge branch 'master' into docking + remove two _PopUnusedDrawCmd() from docking branch, following 718daa1
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_win32.cpp
# imgui.cpp
# imgui_internal.h
2022-01-27 17:50:31 +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
3e0d6ec895
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_vulkan.cpp
# backends/imgui_impl_vulkan.h
# backends/imgui_impl_win32.cpp
# imgui.cpp
# imgui.h
# imgui_demo.cpp
# imgui_internal.h
2022-01-21 12:39:15 +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
e278277d53
IO: added AddMouseViewportEvent() + used in backends.
2022-01-18 17:24:59 +01:00
ocornut
8567a4cca3
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_win32.cpp
# imgui_demo.cpp
# imgui_internal.h
2022-01-17 18:19:20 +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
0647ba3bad
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_osx.h
# backends/imgui_impl_osx.mm
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_win32.cpp
2022-01-13 18:36:23 +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
ef681e7019
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_glfw.h
# backends/imgui_impl_osx.h
# backends/imgui_impl_osx.mm
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_sdl.h
# backends/imgui_impl_win32.cpp
# backends/imgui_impl_win32.h
# imgui.cpp
2022-01-10 15:24:21 +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
704ab1114a
Merge branch 'master' into docking. Remove Platform_SetImeInputPos. Remove backend-side IME implementation. Rrevert removal of MouseDragMaxDistanceAbs in 206b9ea
. ( #2589 , #3113 )
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_win32.cpp
# imgui.cpp
# imgui.h
# imgui_internal.h
# imgui_widgets.cpp
2022-01-05 14:30:20 +01:00
ocornut
2706c9d66e
Platform IME: reworked internals to simplify adding new features.
2022-01-05 13:47:20 +01:00
ocornut
9c8f288d1a
Viewports: Fixed a CTRL+TAB crash with viewports enabled ( #4023 , #787 ) (amend 1dc3af3
, 23ef6c1
, 657073a
)
...
+ Expose FindHoveredViewportFromPlatformWindowStack() in imgui_internal.h
2021-12-30 21:46:09 +01:00
ocornut
2aa9959553
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_opengl3.cpp
# docs/CHANGELOG.txt
2021-12-30 21:42:19 +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
15b4a064f9
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_win32.cpp
# examples/example_marmalade/main.cpp
# imgui.cpp
# imgui.h
2021-12-22 16:02:04 +01:00
ocornut
512c54bbc0
Version 1.86
2021-12-22 15:31:13 +01:00
ocornut
248ed1b01d
Internals: UpdateWindowInFocusOrderList: amend a528398
to fix docking. ( #3496 , #4797 )
2021-12-15 14:28:10 +01:00
ocornut
1c4066cd9e
Internals: UpdateWindowInFocusOrderList: amend a528398
to fix docking. ( #3496 , #4797 )
2021-12-15 14:27:56 +01:00
ocornut
cd36acc88b
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_osx.h
# backends/imgui_impl_osx.mm
# imgui.cpp
2021-12-15 12:10:03 +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
ocornut
e31d116d37
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl2.cpp
# imgui.cpp
# imgui_internal.h
2021-12-09 11:52:23 +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
c1b70e0391
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2021-12-06 19:17:03 +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
1dc3af381a
Nav, Docking: reworked modal/ctrl+tab dimming system to be entirely processed at end of the frame, which will simplify things for an upcoming commit.
...
(Will backport some of this back to master now.)
2021-12-03 19:18:57 +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
b16f738d04
Docking: docked windows honor ImGuiCol_WindowBg. Host window in charge of rendering seams. ( #2700 , #2539 + Docked windows honor display their border properly. ( #2522 )
...
Plus: better support for transparent one in nodes
Side effects: DockContextBindNodeToWindow doesn't alter node->IsVisible.
Side effects: ImDrawList:: _ResetForNewFrame() needs to merge, sane (in case of
(Amended, force-pushed)
2021-12-03 14:46:34 +01:00
ocornut
bf80204e63
Docking: internals: extracted rounding corner calculation into reusable CalcRoundingFlagsForRectInRect() function.
2021-12-02 20:22:03 +01:00
ocornut
8733ca49b0
Docking: Fixed single-frame node pos/size inconsistencies when window stop or start being submitted.
...
Fix 718e15c7d
while preserving its intended property. Tested by "docking_window_appearing_layout". (#2109 )
2021-12-02 18:46:42 +01:00
ocornut
848d21b6b5
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_sdlrenderer.cpp
# backends/imgui_impl_sdlrenderer.h
# imgui.cpp
# imgui_widgets.cpp
2021-12-01 15:37:40 +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
dc8c3618e8
Merge branch 'master' into docking
...
# Conflicts:
# imgui_demo.cpp
2021-11-10 15:26:03 +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
b17dffffb3
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2021-11-04 20:52:54 +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
c1d2793580
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2021-11-04 15:26:01 +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
0b4edf4e94
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_vulkan.cpp
# imgui.cpp
2021-11-03 11:51:37 +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
9b59455184
Merge branch 'master' into docking
...
# Conflicts:
# imgui.h
2021-10-15 11:49:30 +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
1b215ecb01
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2021-10-11 19:25:50 +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
1780579403
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2021-10-06 17:57: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
835a5344b0
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_win32.cpp
# imgui.cpp
# imgui.h
# imgui_demo.cpp
# imgui_internal.h
2021-09-24 15:49:28 +02:00
ocornut
65ad63de84
Added ImGuiFocusedFlags_NoPopupHierarchy and ImGuiHoveredFlags_NoPopupHierarchy (followup #4527 )
...
IsWindowFocused: fix flag usage (amend 6b1e094c
) was technically harmless because of light typing.
2021-09-24 15:41:30 +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
e7cc534367
Docking: Improved resizing system so that non-central zone are better at keeping their fixed size.
2021-09-14 17:57:47 +02:00
ocornut
29828d0469
Docking: floating node with a central node hides properly when nothing is docked + rename.
2021-09-14 17:56:09 +02:00
ocornut
6b1e094cfb
Fixed _ChildWindows from leaking docking hierarchy. Added ImGuiFocusedFlags_DockHierarchy and ImGuiHoveredFlags_DockHierarchy.
2021-09-08 19:10:25 +02:00
ocornut
fa9fc05ac6
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2021-09-07 18:20:12 +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
dedb381c51
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# examples/imgui_examples.sln
# imgui.cpp
# imgui.h
2021-08-30 20:01:16 +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