Skip to content

Commit

Permalink
Squashed 'ext/imgui/' changes from e3e1fbcf0..c71a50deb
Browse files Browse the repository at this point in the history
c71a50deb Version 1.87
e52bb147a Backends: GLFW: Added ImGui_ImplGlfw_InstallCallbacks()/ImGui_ImplGlfw_RestoreCallbacks(). (#4981)
732bc2058 Backends: GLFW: Handle spurious leave/enter sequences apparently submitted by X11/GLFW combo. (#4984)
40fd163a3 Backends: OpenGL3: Fix OpenGL ES2 includes on Apple systems.
2554b512c Backends: OSX: Forward keyDown/keyUp events to OS when unused by Dear ImGui.
c6cab1f35 Backends: SDL: Added SDL_Renderer* parameter to ImGui_ImplSDL2_InitForSDLRenderer(). Use SDL_GetRendererOutputSize() instead of SDL_GL_GetDrawableSize() when bound to a SDL_Renderer. (#4927)
c39192ba6 Backends: SDL_Renderer: Fix texture atlas format on big-endian hardware (#4927)
43177324c Backends: GLFW: Fixed miss untranslation of keypad keys. (#4921, #452)
6f73dbea8 TestEngine: submit window data to item system.
35e197f41 TestEngine: fixed InvisibleButton() and ArrowButton() not calling the info macro.
551ab84c2 Backends: OSX: Fix building with old Xcode versions.
422902dbd Correct typos (#4954, #4955), use IM_STATIC_ASSERT now that old pre-C++11 macro has been obsoleted.
64d910ad3 Removed IMGUI_API from inline templated classes. (#4962)
49e38a5b3 Revert moving ImGuiKeyModFlags to internal.h (amendc906c65)
9def2b04d IO: Added simple (incomplete) filter for duplicates to reduce data spam. (#4921, #4858)
5429f0f6b Backends: OSX, Android: Replaced AddKeyModsEvent() added by 790132a in favor of unified key enum system. (#4921, #4858)
c906c65ca (BREAKING) Replaced AddKeyModsEvent() added by 790132a in favor of unified key enum system. Backends: update most. (#4921, #4858)
718daa153 Rendering: defer responsability of calling _PopUnusedDrawCmd() later so RenderDimmedBackgrounds()/RenderMouseCursor() don't need to deal with the side-effects (#4857, #4317)
075f4ac66 Don't merge ImDrawCmd which have had their IdxOffset changed to not be sequential. Fixed CTRL+Tab into an empty window causing artefacts on the highlight rectangle due to bad reordering on ImDrawCmd.
855533593 Shallow alignment of ImGuiKey stuff + moving some in internals. Internals: add offset to ImBitArray<>, simpify ActiveIdUsingKeyInputMask.
08f3aa897 Popups: Fix b17b2fb (#4936)
4caf1e9b5 Backends: GLFW: fix ImGui_ImplGlfw_TranslateUntranslatedKey() for grave accents. (#456, #2625) + fix preceeding commit.
b17b2fb73 Popups: Fixed an issue when reopening a same popup multiple times would offset them by 1 pixel on the right. (#4936)
cda3db144 Backends: SDL: Fixed key mapping for ImGuiKey_Menu (#4921) + misc typos (#4928)
dd6a44abb Fix compiler warning for Intel compiler (#4934)
4fb0c1f96 Correct some typos in FAQ.md (#4924)
cff034245 Internals: moved lines into a Inputs section.
c2db4c246 Demo: draw a section of keyboard in "Inputs > Keyboard, Gamepad & Navigation state" to visualize keys.
69b697378 Comments, tweaks.
26e59c874 Nav: Fixed gamepad navigation in wrapping popups not wrapping all the way. (#4365)
62d6be374 IO: Removed ImGuiInputSource from public api for now, unnecessary. (#4858, #787)
5ea47d956 Backends: OSX: Add full gamepad support using io.AddKeyEvent(), io.AddKeyAnalogEvent(), stopped writing to io.NavInputs[]. (#4858, #787)
39c3412f9 Backends: SDL: Add full gamepad support using io.AddKeyEvent(), io.AddKeyAnalogEvent(), stopped writing to io.NavInputs[]. (#4858, #787)
3d8543374 Backends: GLFW: Add full gamepad support using io.AddKeyEvent(), io.AddKeyAnalogEvent(), stopped writing to io.NavInputs[]. (#4858, #787)
9f8c599ca Backends: Win32: Add full gamepad support using io.AddKeyEvent(), io.AddKeyAnalogEvent(), stopped writing to io.NavInputs[]. (#4858, #787)
f33bb9982 IO: added AddKeyAnalogEvent() and support for ImGuiKey_GamepadXXXX. (#4858, #787)
6e63fcaca Backends: Vulkan: Amends, fix miscast on 32-bit systems with the right ImTextureID=ImU64. (#914)
ceb26bac4 Backends: Vulkan: Added support for ImTextureID as VkDescriptorSet, amends. (#914)
29f104319 Backends: Vulkan: Added support for ImTextureID as VkDescriptorSet, add ImGui_ImplVulkan_AddTexture(). (#914)
19471da3f Popups: Fix a crash when a new window is created after a modal on the same frame. (#4920)
7ad42ff43 IO: renamed io.ConfigInputEventQueue to io.ConfigInputTrickleEventQueue. (#4858)
26d04c948 Tables: Fixed positioning of Sort icon on right-most column with some settings (not resizable + no borders). (#4918).
97b1ffcb3 IO: Reorder enums, compact a little in header. Removed const from internal GetKeyData().
91ae56af4 Removed support for legacy arithmetic operators (+*/) when inputing text into a slider/drag. (#4917, #3184)
673f5e588 IO: moved fields to put more focus on the new functions + update misc docs/references + update main.mm in Apple+Metal example (#4858)
90a696163 IO: apply same flooring as UpdateMouseInputs() in dupe event processing. (#4858) + provision for test engine.
7374b96f5 IO: Added input queue. (#4858, #2787, #1992, #3383, #2525, #1320)
b8e56dce8 IO: Added AddMousePosEvent(), AddMouseButtonEvent(), AddMouseWheelEvent() api + updated all Backends. (#4858) (input queue code will be next commit)
b6582a471 Backends: OSX: Fix Game Controller nav mapping to use shoulder for both focusing and tweak speed. (#4759)
92c4ff1c2 Rename ImGuiKey_LeftControl to ImGuiKey_LeftCtrl, ImGuiKey_RightControl to ImGuiKey_RightCtrl + made key order match mods order. (#4858)
075576744 Backends: move io.AddKeyModsEvent() next to io.AddKeyEvent() submission, rely on mods from platform/source. (#4858) + fix #2622 again broken by 746c9f7
eb823655a Removed support for pre-C++11 compilers. We'll stop supporting VS2010. (#4537)
f84c93d83 Update BACKENDS.md (#4909)
45c4365ec Backends: GLFW: glfwGetKeyName is not implemented in emscripten (#4907, #4858)
6188e9410 Examples: Vulkan: fill Subpass and MSAASamples to increase discoverability (#4886) + IO docs update (#4858)
553b04883 Backends: SDL: Fix for Emscriptem. Amend 98ce013.
955163568 IO: fix SetKeyEventNativeData() not handling ImGuiKey_None the same way as AddKeyEvent(). (#4905, #4858)
200a8f1ea Backends: GLFW: Update mouse inputs using glfwSetCursorPosCallback() (breaking) + fallback to provide it when focused but not hovered/captured + update MousePos before MouseButtons.
98ce01324 Backends: SDL: Update mouse inputs using SDL_MOUSEMOTION/SDL_WINDOWEVENT_LEAVE + fallback to provide it when focused but not hovered/captured + update MousePos before MouseButtons.
bf4de2a46 Backends: Win32: Update mouse inputs using WM_MOUSEMOVE/WM_MOUSELEAVE + fallback to provide it when focused but not hovered/captured + update MousePos before Key Modifiers.
7f8a89c25 Backends: Win32, SDL: maintain MouseButtonsDown instead of using IsAnyMouseDown(). Internals: added GetInputSourceName().
457d4b7b7 Backends: OSX: Adedd basic IME support for macOS. (#3108, #2598)
290c51735 Fixed warning in ImFloorSigned(). (#4889)
0818a4239 Backend: WebGPU: Fixed incorrect size parameters in WGPU backend (#4891)
96186a93b Typo correction in imgui_demo.cpp (#4892)
956e03009 Backends: OSX: Build fIx. Made GetKeyName() input tolerant. Internals: added GetNavInputName().
e8172fdfb Rename io.AddKeyModEvent() -> io.AddKeyModsEvent() and updated backends accordingly. (#2625, #4858)
b2e2cc44c Backends: OSX: Fixed typo.
790132a67 Added io.AddKeyModEvent() and updated backends accordingly. (#2625, #4858)
1797135db Backends: Android: Update to use io.AddEventKey() will full key map (#2625, #4858)
ee436aa80 Backends: OSX: Update to use io.AddEventKey() will full key map (#2625, #1873, #4858)
da1864d79 Backends: GLUT: Update to use io.AddEventKey() will full key map (#2625, #4858)
1bfe4a75b Backends: Allegro5: Update to use io.AddEventKey() will full key map (#2625, #4858)
fe646ea59 Backends: SDL2: Update to use io.AddEventKey() will full key map (#2625, #4858) + created localized key (using keycode instead of scancode) (#456)
ecd212c01 Backends: GLFW: Update to use io.AddEventKey() will full key map (#2625, #4858)
746c9f76e Backends: Win32: Update to use io.AddEventKey() will full key map (#2625, #4858)
bf08c13e9 Inputs: Extra Keys / AddKeyEvent(): bidirectional mapping, basic CI, simplify backends, asserts on misuses, tested backward compat. (#2625, #4858, #2787)
3b6692930 Inputs: Extra Keys / AddKeyEvent(): Added ImGuiKey values, io.AddKeyEvent(), GetKeyName(), IMGUI_DISABLE_OBSOLETE_KEYIO. Obsoleted GetKeyIndex(), io.KeyMap[], io.KeysDown[]. (#2625, #4858, #2787)
afffcd581 Inputs: rename ImGuiKey_KeyPadEnter > ImGuiKey_KeypadEnter (#2625)
100ede576 Backends: GLFW: Fix CTRL+A, CTRL+Y, CTRL+Z to match keyboard layout. Converting GLFW untranslated keycodes back to translated keycodes. (#456, #2625)
4d023bd7f Fix for using IMGUI_DISABLE_OBSOLETE_FUNCTIONS
de36ff043 Platform IME: add ImGuiPlatformImeData::InputLineHeight (unused by win32). (#3113)
29a8ee082 Platform IME: add ImGuiPlatformImeData::WantVisible, hide IME when not used. (#2589)
1cbfe9352 Platform IME: [windows] call ImmSetCandidateWindow() to position candidate window.
2706c9d66 Platform IME: reworked internals to simplify adding new features.
3a90dc389 Platform IME: changed io.ImeSetInputScreenPosFn() to io.SetPlatformImeDataFn() API.
04bc0b0bb Fix IdxBuffer related comments. (#4845, #4863)
28eabcb09 Internals: refactor: mouse input functions into their own section.
206b9ead8 IO: removed unused MouseDragMaxDistanceAbs(). Using a shortcut variable in UpdateMouseInputs().
c5a3cae83 Reordered some IO fields. Misc comments. Removed beta marker from tables comments.
efa50f72a Backends: Metal: Ignore ImDrawCmd where ElemCount == 0. (#4857)
b0a6cd630 Fixed a situation where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles, (#4857)
2402958ae Commented out redirecting functions/enums names that were marked obsolete in 1.69, 1.70, 1.71, 1.72
92d7869fc Happy new year!
83d22f4e4 Tables, ImDrawListSplitter: Fixed erroneously stripping trailing ImDrawList::AddCallback().(#4843, #4844)
41e39ea6e Backends: Metal: Add Metal C++ bindings support. (#4824, #4746)
dbeea7220 Backends: Silence overzealous warnings. (#4834) Add comments about SetDragDropPayload() return value. (#4835)
89a28209e Version 1.87 WIP + Backends: OpenGL3: Fixed a buffer overflow in imgui_impl_opengl3_loader.h init, added in 1.86 (#4468, #4830)
980deb4c9 Add missing include guard to avoid declaring ImFontAtlasGetBuilderForStbTruetype() function.
512c54bbc Version 1.86
612b787b0 Menus: fixed top-level menu from not consistently using style.PopupRounding. (#4788)
4bad852a7 Backends: SDL_Renderer: Handle change to SDL_RenderGeometryRaw() function signature in SDL 2.0.19 (#4819)
0636f9ada InputText: fixed Shift+Delete from not cutting into clipboard. (#4818, #1541)
d9bc1e44a Backends: Marmalade: Removed obsolete Marmalade backend (imgui_impl_marmalade.cpp) + example. (#368, #375)
0cdc4a956 Backends: Win32: Store left/right variants of Ctrl/Shift/Alt mods in KeysDown[] array. (#2625)
4a43dcb94 Internals: reduced side-effects of setting window->HiddenFramesForRenderOnly > 0
1c4066cd9 Internals: UpdateWindowInFocusOrderList: amend a528398 to fix docking. (#3496, #4797)
389982eb5 Backends: OpenGL3: Using buffer orphaning + glBufferSubData(), seems to fix leaks with multi-viewports with some Intel HD drivers.. (#4468, #4504, #2981, #3381)
48f263336 Menus: fixed closing a menu inside a popup/modal. Fixed menu inside a popup/modal not inhibiting hovering of items in the popup/modal. (#3496, #4797)
a528398c7 Internals: support for varying _ChildWindow flag for menu windows. (#3496, #4797)
11638fdf7 Menus: reuse more menu windows when stacked over popups.
0e8c199e8 CI: Use regex to fix vcxproj platform and toolset versions. (#3249) Remove Discord integration.
d7350668d Fix OSX warnings + Examples/Apple+GL2 calls super reshape. (#4759, #1873)
1b6b8602c Backends: OSX: Fix keyboard support. Handle scroll cancel. Don't set mouse cursor shape unconditionally. (#4759, #4253, #1873)
f71ee5203 Fix infinite loop in ImFontGlyphRangesBuilder::AddRanges if the user passes upper range = UINT16_MAX without IMGUI_USE_WCHAR32. (#4802)
b720f1f03 Backends: OSX: Add Game Controller support. (#4759)
8a9fe2686 Menus: fixed closing a menu by clicking on its menu-bar item when inside a popup. (#3496, #4797)
c80179921 Added an assertion for the common user mistake of using "" as an identifier at the root level of a window. (#1414, #2562, #2807, #4008, #4158, #4375, #4548, #4657, #4796)
a8e1dde35 Fix static analyser, update readme.
e03383d08 Fixes for tooltip over modals leading to incorrect modal dimming. (#4729)
bdd2a9431 InputTextMultiline: fixed vertical tracking with large values of FramePadding.y. (#3781, #4794)
072caa4a9 InputText: fixed incorrect padding when FrameBorder > 0. (#4794, #3781)
270d4d085 Nav, Docking: Fix crash on dimming docked window and DockSpaceOverViewport() with PassthruCentralNode.
a19815dc6 Backends: Allegro5: Fixed mishandling of the ImDrawCmd::IdxOffset field. (#4790)
c80e8b964 Backends: OpenGL2, Marmalade: Fixed mishandling of the ImDrawCmd::IdxOffset field. (#4790)
b38af0f52 Popups: Fix popups being closed by newly appearing windows. (#4317)
657073a65 Nav, Docking: fix dimming crash with accessing zero-cmd ImDrawList (amend 1dc3af3, 23ef6c1)
20e040c85 Clipper, Tables: remove table specific code path should now be ok (added assert).
926addbfe Clipper: fixed invalid state when number of frozen table row is smaller than ItemCount.
027a7ba3e Clipper: use line size instead of cursor comparaison when range are large. (#3609, #3962 + ocornut/imgui_club#20)
a76bc52da Window, Clipper: store initial precision loss and apply in clipper. (#3609, #3962 + ocornut/imgui_club#20)
6e141a9ca Internals: made ScrollbarEx() use ImS64 to facilitate use with larger ranges (not fully tested) + clipper tweaks (#3609, #3962 + ocornut/imgui_club#20)
eea836135 InputText: fix buffer modifications in callbacks while using resize callback (#4784)
aa41f1658 Separator: fixed cover all columns while called inside a table. (#4787, #205)
23ef6c149 Reworked modal/ctrl+tab dimming system to be entirely processed at end of the frame (backported 1dc3af3 from docking)
da3a36eef Backport from docking branch: minor stuff.
78c6435db Inputs: (breaking wip) removed IsMouseTripleClicked() added recently (during 1.86 WIP), replaced with GetMouseClickedCount(). (#3229)
5c388c39f Backends: SDL_Renderer: Added support for large meshes (64k+ vertices) with 16-bit indices, enable 'ImGuiBackendFlags_RendererHasVtxOffset' in this backend. (#3926)
5b1a70aa2 Fixed RenderRectFilledWithHole() (used by docking) + added dummy EndFrameDrawDimmedBackgrounds() stub in master.
440824d43 Backends: Fixed early out on empty clip rect. In particular, DX12 backend would warn about it (others not so much). (#4775, #4464)
f087a5b85 Metrics: Added a node showing windows in submission order and showing the Begin() stack.
c5db27652 InputText, Nav: fixed tabbing through InputTextMultiline(). (#4761, #3092)
9d704d99d Internals: wrapped ImQsort() in an inline function + added a define guard.
66f0fb986 Inputtext, Nav: fixed using SetKeyboardFocusHere() on InputTextMultiline(). (#4761)
5ccb66794 Backends: WebGPU: Passing explicit buffer sizes  as validation layers appears to not do what the in-flux specs says. (#4766
cb5c73f64 Fix: IM_DEBUG_BREAK macro on ARM GCC (#4767)
65f4be1a1 InputText: Internals: moved "apply_new_text" application code to reduce noise in a future commit (will be for #4714) + removed unused fields.
5ac25e7c7 InputText: fixed ReadOnly flag preventing callbacks from receiving the text buffer. (#4762)
4d9a3b19d Internals: Implement a continuable IM_DEBUG_BREAK on GCC for common archs. (#2673)
764f9e606 Fixed crash on right-click without modal, introduced by previous commit a3667f46,  (#4729)
a3667f462 Fixed tooltip in own viewport over modal from being incorrectly dimmed. (#4729)
3fde445b9 Misc: Added missing ImGuiMouseCursor_NotAllowed cursor for software rendering (when io.MouseDrawCursor is enabled). (#4713)
d80a9123b Internals: move chunks of IsItemHovered() so upcoming commit can be less noisy. This commit should be a no-op (check by comparing without white-space changes)
2c29e391d Drag and Drop: BeginDragDropSource() with ImGuiDragDropFlags_SourceAllowNullID doesn't lose tooltip when scrolling. (#143)
f8a806ad9 Tooltips, Internal: (Breaking) swapped parameter order to accomodate for future tooltip api rework.
7cd3cfa58 Demo: Add IMGUI_DEMO_MARKER (currently unused, but usage by altering GImGuiDemoMarkerCallback) (#3689)
cad790d43 Nav: fixed backwrap tabbing wrap on sibling child windows with _NavFlattened flag. (#4449)
e790fc0e7 Nav: prevent child from clipping items when using _NavFlattened and parent has a pending nav request. (#787)
a9ea1ae85 Nav: fixing assert using Tab in a window without any tabbable element (#4449)
eb02dcf87 Nav: enable move/resize window with keyboard in Ctrl+Tabbing windowing menu even without _NavEnableKeyboard. (#4023, #787).
8ce23b3cc Nav: Ctrl+tabbing to cycle through windows is now enabled regardless of _NavEnableKeyboard. (#4023, #767)
bce1ba400 Clipper: add ForceDisplayRangeByIndices (#3841, #3578)
ebac37579 Docs: added info about Freetype, editing sponsors.
1a7526dcd Nav, Tabbing: refactor tabbing system to support clipped items, scrolling, using nav queries. (#4449)
f01a6d3e8 InputText, Nav: fixed repeated calls to SetKeyboardFocusHere() preventing to use InputText(). (#4682)
32779c5b6 Clipper: hotfix (amend 93cccd2, was broken) (#3841, #1725)
64daeddf6 Removed CalcListClipping() function. (#3841)
6a7e2c74f Clipper: remove ForceDisplayRangeByIndices/ForceDisplayRangeByPositions functions until we find a need for them, since #3841 is now solved automatically.
93cccd27f Clipper: bunch of rework. (#3841, #1725)
cd1b5f788 Clipper: enhanced ImGuiListClipper (#3841)
b409df34d Clipper: Fixed content height declaration slightly mismatching the one of when not using a clipper.
14466a6d1 Nav: Page/Home/End doesn't immediately restore highlight (before results comes) + pressing Esc to exit a child window re-enable the Nav highlight if it was disabled by mouse.
978598b17 Nav: pressing PageUp/PageDown/Home/End when in Menu layer automatically moves back to Main layer. + fixed resizing window from borders setting navigation to Menu layer.
d1eb7b575 ScrollToItem: amend fully visible tests to take account of spacing used (fix nav in one axis scrolling back and forth between axises when space is tight by just < ItemSpacing*2) (#3692, #2812, #4242, #2900)
eb654f1ba Typo
b1a68d899 Fix misplaced backtick in FAQ.md (#4669)
a67f7dce3 Nav: relative rectangle positions are now stored relative to CursorStartPos to be independent of scrolling. Will facilitate rework of clipper (#3841)
8d361c47f Nav: rework NavEnableSetMousePos application so scrolling is applied more consistently in NavCalcPreferredRefPos() + moved at end of NavUpdate() after the last SetScroll have been done.
8361ed1f5 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.
19c72cd52 Nav: fixed absolute mouse position (with NavEnableSetMousePos config flag) when using Home/End leads to scrolling.
c363b6df2 Modals: fixed issue hovering popups inside a child inside a modal. Fixed IsWindowFocused()/IsWindowHovered() issues with childs inside popups. (#4676)(#4676, #4527)
0f2898ea8 Demo: Tree selection demo use !IsItemToggledOpen() (#1896) + update FAQ (#4366)
99552420a InputText: triple-click avoid scroll + include end of line character. (#2244)
126a6f894 InputText: made double-click select word, triple-line select line. Word delimitation logic differs slightly from the one used by CTRL+arrows. (#2244)
9c78fc928 Inputs: Mouse: Amend c8e3a01 for tracking multiple clicks, renaming. (#3229)
2318c764c Inputs: Mouse: Add support for tracking multiple clicks more than just double (#3229)
39b99072f ImVector: fix Clang warning (implicit conversion changes signedness: 'const ptrdiff_t' (aka 'const long long') to  'unsigned long long')
ad3f54ff1 Examples: Emscripten comments (#4650, #4662), standardize readme
19c3773cc Backends: Vulkan: Call vkCmdSetScissor() with a full-viewport at end of render. (#4644)
bbd5119a2 Backends: Vulkan: comments about user using VK_DYNAMIC_STATE_VIEWPORT / VK_DYNAMIC_STATE_SCISSOR and not calling vkCmdSetViewport() / vkCmdSetScissor(). (#4644)
e3bd9434b 1.86 WIP + internals: tweaks table temp data code.
13cdf2ff0 CI: Add MinGW DLL builds,
be03b8ff9 Misc: Fix build with MinGW when using IMGUI_API.
55d35d838 Version 1.85
75c54e638 Nav: Fixed vertical scoring offset when wrapping on Y in a decorated window.
ba5c105c0 Menus: Fixed an assertion happening in some situations when closing nested menus (broken in 1.83). (#4640)
44f801186 SetItemDefaultFocus() use ScrollToRectEx(), don't tab when Alt is held either, TabItemEx() uses ItemAdd's extra_flags, misc comments.
ec6ca0689 InputText: Fixed selection rectangle appearing one frame late when selecting all.
dde31030e Backends: SDL_Renderer: use SDL_RenderIsClipEnabled() to pass NULL to SDL_RenderSetClipRect (#3926, #4582, #4633)
30a6873a4 Backends: WebGPU: Fix missing initialization of local variable (#4634)
31d033c9d Nav: refactor SetKeyboardFocusHere() into using Nav facility. Fix it for clipped items. (#343, #4079, #2352, #432)
fbe78b1a3 Stack Tool: Docs (#4631) + also prevent Metrics window from displaying twice.
25332fa5a Backends: Emscripten: Update the webgpu API to be compatible with chrome 4633 (#4512)
2de96c4bd Stack Tool: Added Stack Tool (ShowStackToolWindow() function and available from Demo and Metrics window). (#4631)
e443ea139 Backends: SDL_Renderer: Backup and restore modified ClipRect/Viewport. (#3926, #4582)
30db67414 Fix printf format warnings on mingw clang (#4626, #4183, #3592)
164a86d3b Moved !IsActiveIdUsingKey(ImGuiKey_Tab) check to UpdateTabFocus(). Added asserts to IsItemHovered() and IsWindowHovered().
677fe3399 Backends: DX12: use dxgiformat.h to fix using forward declared DXGI_FORMAT (#4594)
8f495e554 Internal: added ScrollToItem() upcoming replacement to ScrollToBringRectIntoView() + ImGuiScrollFlags (WIP) (#3692, #3208, #2812, #4242, #2900)
fc4988ffb Added ImGuiFocusedFlags_NoPopupHierarchy and ImGuiHoveredFlags_NoPopupHierarchy (followup #4527)
24a77824f Added ClosePopupsExceptModals() helper, unused for now (aimed at user being able to close popups on app focus loss, not necessarily a suitable default)
bbb95a5e0 IO: modify io.AddFocusEvent() to tolerate in/out for multi-viewports. Amend 2f40be6. (merged from docking) (#3532)
fba756176 Backends: SDL_Renderer: Amend 1d2d246, various tweaks, fixes, sync to latest. (#3926)
62b17f928 Backends: SDL_Renderer: Added renderer backend for SDL 2.0.17+ (#3926)
d7260104b Added comments about sliders clamping and ImGuiSliderFlags_AlwaysClamp (#4573)
15fe7ba31 ColorPicker: Fix not being able to pick exactly (1.0f, 1.0f, 1.0f) color by dragging toward the edges of the SV square. (#3517)
30546bc0e ColorEdit: Fix multiple issues. (#4014)
15132217a Nav: Fixed an issue with losing focus on docked windows when pressing Alt while keyboard navigation is disabled. (#4547, #4439)
bc3d267c5 Backends: OSX: Use mach_absolute_time as CFAbsoluteTimeGetCurrent can jump backwards. (#4557, #4563)
c6ca327fb Backends: Added more implicit asserts to detect invalid/redundant calls to Shutdown functions. (#4562)
ddddabdcc InputText: amend validation test to allow pushing Activate events remotely. (#4552, #2321)
2cffcbdc6 InputText: fix Space key with nav enabled interfering with input text boxes (fix bd6c9e99). made it possible to activate InputText with tweak gamepad button (why not, now that we can cancel) (#4552, #2321)
3973de793 Internals: removed last parameter to IsClippedEx() + fix PVS studio warnings.
2d0a6a496 Misc: moved StacSizeOnBegin out of window instance into window stack data.
66cd21db8 Misc: extracted ErrorCheckEndWindowRecover() out of ErrorCheckEndFrameRecover(). (#1651)
d36669406 Disabled: Added assert guard for mismatching BeginDisabled()/EndDisabled() blocks. (#211) + Added asserts for missing PopItemFlag() calls. Added both to ErrorCheckEndFrameRecover (#1651)
4f10fe0a2 TreePush: removed arbitrary/weird suppot for TreePush((const char*)NULL)
7b8bc864e Menus: Fixed vertical alignments of MenuItem() calls within a menu bar. (broken by f8fae022). (#4538)
82754561e Nav: Fixed a few widgets from not setting reference keyboard/gamepad navigation ID when activated with mouse.
17a7084b5 Menus: Fixed crash when navigating left inside a child window inside a sub-menu. (#4510).
321b84f01 Internals: refactored IsWindowHovered()/IsWindowFocused() to make their logic more similar + change underlying value of ImGuiHoveredFlags_AllowWhenBlockedByPopup + comment out docking only flags.
d9b427cce Nav: clarified/renamed NavInputId as NavAcivateInputId, added flags shared by both.
755bf985d Backends: OpenGL3: Made our custom GL loader a bit more tolerant of use of another loader in same compilation unit. (#4445, #4514)
607ad8c94 Drag and Drop: Fixed using BeginDragDropSource() within a Begin()/BeginChild() that returned false. (#4515) + BeginDragDropTarget()
bd6c9e99f InputText: Allow cancelling/validating input with gamepad nav events.
0a154b30a Nav, ButtonBehavior: reworked old code which ended up 1) calling SetActiveId repeately and 2) misleadingly set g.NavActivateId (amend af38749e)
ade4c15ee Nav: Tidying up, renaming + update AnyRequest flag in NavMoveRequestSubmit().
528104a89 Menus: adjust closing logic to accomodate for varying font size and dpi + remove seemingly redundant use of g.NavActivateId where pressed was enough.
5ee40c8d3 Nav: always disable highlight if nav is disabled, fix for IMGUI_DEBUG_NAV_SCORING, minor renaming.
dff15acdb Nav: Fixed toggling menu layer with Alt exiting menu layer with Esc not moving mouse when NavEnableSetMousePos config flag is set.
3d9d3b49a Internals: folded ImGuiItemAddFlags into ImGuiItemFlags. ImGuiItemAddFlags_Focusable > ImGuiItemFlags_Inputable. One step in the big nav/tab/focus rework.
73a5e82e0 Nav: removed parameters from NavScoreItem(), NavProcessItem(), NavApplyItemToResult(): made little sense / misleading because pulling from other current state anyway.
a735a8c08 Nav: storing NavRect in LastItemData. Fix race condition where framed items (Rect != NavRect) calling SetFocusID() would store the wrong NavRectRel until next frame
ee351d354 Nav: move code into NavMoveRequestSubmit(). NavApplyItemToResult() takes absolute rect., comments
7b913db1c 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.
eb6c16d3d PlotHistogram: Fixed zero-line position when manually specifying min<0 and max>0. (#4349)
03ce17f0a Backends: Allegro: Fixed clipping rectangles (#4498) broken by 2b0bd40b (#4464)
7c4ffe490 Menus: added internal's BeginMenuEx() matching MenuItemEx() with icon parameter. (amend f8fae022)
4aea1c5ad IO: added io.WantCaptureMouseAllowPopupClose (#4480) + comments
66102880a Updated links to Discussions
333807b48 Windows: fixed background order of overlapping childs submitted sequentially. (#4493)
11103f825 Examples: SDL+OpenGL3: fixed build on ES2 target. (#4492)
bb6a60b1f Nav: extracted sections of NavUpdate() into a NavUpdateCreateMoveRequest() function. Only clearing results when a request is activated.
ccfb20095 Nav: small refactor of forwarding, clarified that MoveDir only set when RequestActive, removed one indent level in NavUpdatePageUpPageDown().
4351febe9 Nav: moved enums/struct declarations in imgui_internal.h
20a1edef8 Nav: made EndMenuBar() use NavMoveRequestForward() for consistency. Moved forward clearing to NavMoveRequestApplyResult(). Improved/fixed comments.
b08ed6190 CI: Build with empty IM_ASSERT() macro.
84890a307 Nav: simplify wrap requests code (may soon be useable for tabbing)
4c31c98d2 Nav: extracted code out of NavUpdate() into NavUpdateCancelRequest()
80ed4eba8 Backends: Vulkan: non-dispatchable handles should compare to VK_NULL_HANDLE, not NULL (#4475)
780c1ee26 TextUnformatted: Accept null ranges including (NULL,NULL) without asserting. (#3615)
2b0bd40b9 Backends: Metal: Fixed a crash when clipping rect larger than framebuffer is submitted. (#4464)
f8bad7e1e Backends: OpenGL3: Add TargetConditionals.h (#4473) + standardize include
4a7c21d33 Fonts: Fixed ImFontAtlas::ClearInputData() marking atlas as not built. (#4455, #3487)
e65252731 Backends: WebGPU: Update impl_wgpu for an emscripten change
51d841dcf Fix warnings and remove IM_RETURN (#4470)
4c22b3e5d Backends: OpenGL3: Fix gl3wProcs colliding with gl3w. (#4445)
0608887fb InputTextMultiline: Fixed label size not being included into window contents rect unless the whole widget is clipped.
68f428b44 imgui_freetype: Fixed crash when FT_Render_Glyph() returns NULL (which apparently happens  with Freetype 2.11). (#4394, #4145 ?)
6afe9bbb4 Projects: added GLFW Vulkan to default solution.
e23bee353 Removed GetWindowContentRegionWidth() function
0649f750b Version 1.85 WIP

git-subtree-dir: ext/imgui
git-subtree-split: c71a50deb5ddf1ea386b91e60fa2e4a26d080074
  • Loading branch information
gergondet committed Mar 11, 2022
1 parent 25489ce commit 7b97aa9
Show file tree
Hide file tree
Showing 79 changed files with 7,564 additions and 3,668 deletions.
8 changes: 4 additions & 4 deletions .github/issue_template.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
(Click "Preview" above ^ to turn URL into clickable links)

1. PLEASE CAREFULLY READ: [FAQ](https://github.com/ocornut/imgui/blob/master/docs/FAQ.md)
1. FOR FIRST-TIME USERS ISSUES COMPILING/LINKING/RUNNING or LOADING FONTS, please use [GitHub Discussions](https://github.com/ocornut/imgui/discussions).

2. PLEASE CAREFULLY READ: [Issue Submitting Guidelines](https://github.com/ocornut/imgui/issues/2261)
2. PLEASE CAREFULLY READ: [FAQ](https://github.com/ocornut/imgui/blob/master/docs/FAQ.md)

3. FOR FIRST-TIME USERS ISSUES COMPILING/LINKING/RUNNING/LOADING FONTS, please use [GitHub Discussions](https://github.com/ocornut/imgui/discussions).
3. PLEASE CAREFULLY READ: [Issue Submitting Guidelines](https://github.com/ocornut/imgui/issues/2261)

4. PLEASE MAKE SURE that you have: read the FAQ; explored the contents of `ShowDemoWindow()` including the Examples menu; searched among Issues; used your IDE to search for keywords in all sources and text files; and read the link provided in (1) (2).
4. PLEASE MAKE SURE that you have: read the FAQ; explored the contents of `ShowDemoWindow()` including the Examples menu; searched among Issues; used your IDE to search for keywords in all sources and text files; and read the links above.

5. Be mindful that messages are being sent to the e-mail box of "Watching" users. Try to proof-read your messages before sending them. Edits are not seen by those users.

Expand Down
6 changes: 3 additions & 3 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
(Click "Preview" to turn any http URL into a clickable link)

PLEASE CAREFULLY READ:
https://github.com/ocornut/imgui/issues/2261
1. PLEASE CAREFULLY READ: [Issue Submitting Guidelines](https://github.com/ocornut/imgui/issues/2261)

2. Clear this template before submitting your PR.

(Clear this template before submitting your PR)
79 changes: 41 additions & 38 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,20 +37,30 @@ jobs:
- name: Fix Projects
shell: powershell
run: |
# WARNING: This will need updating if toolset/sdk change in project files!
# CI workers do not supporter older Visual Studio versions. Fix projects to target newer available version.
gci -recurse -filter "*.vcxproj" | ForEach-Object {
# Fix SDK and toolset for most samples.
(Get-Content $_.FullName) -Replace "<PlatformToolset>v110</PlatformToolset>","<PlatformToolset>v142</PlatformToolset>" | Set-Content -Path $_.FullName
(Get-Content $_.FullName) -Replace "<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>","<WindowsTargetPlatformVersion>10.0.18362.0</WindowsTargetPlatformVersion>" | Set-Content -Path $_.FullName
# Fix SDK and toolset for samples that require newer SDK/toolset. At the moment it is only dx12.
(Get-Content $_.FullName) -Replace "<PlatformToolset>v140</PlatformToolset>","<PlatformToolset>v142</PlatformToolset>" | Set-Content -Path $_.FullName
(Get-Content $_.FullName) -Replace "<WindowsTargetPlatformVersion>10.0.14393.0</WindowsTargetPlatformVersion>","<WindowsTargetPlatformVersion>10.0.18362.0</WindowsTargetPlatformVersion>" | Set-Content -Path $_.FullName
(Get-Content $_.FullName) -Replace "<PlatformToolset>v\d{3}</PlatformToolset>","<PlatformToolset>v142</PlatformToolset>" | Set-Content -Path $_.FullName
(Get-Content $_.FullName) -Replace "<WindowsTargetPlatformVersion>[\d\.]+</WindowsTargetPlatformVersion>","<WindowsTargetPlatformVersion>10.0.18362.0</WindowsTargetPlatformVersion>" | Set-Content -Path $_.FullName
}
# Not using matrix here because it would inflate job count too much. Check out and setup is done for every job and that makes build times way too long.
- name: Build example_null (extra warnings, mingw 64-bit)
run: mingw32-make -C examples/example_null WITH_EXTRA_WARNINGS=1

- name: Build example_null (mingw 64-bit, as DLL)
shell: bash
run: |
echo '#ifdef _EXPORT' > example_single_file.cpp
echo '# define IMGUI_API __declspec(dllexport)' >> example_single_file.cpp
echo '#else' >> example_single_file.cpp
echo '# define IMGUI_API __declspec(dllimport)' >> example_single_file.cpp
echo '#endif' >> example_single_file.cpp
echo '#define IMGUI_IMPLEMENTATION' >> example_single_file.cpp
echo '#include "misc/single_file/imgui_single_file.h"' >> example_single_file.cpp
g++ -I. -Wall -Wformat -D_EXPORT -shared -o libimgui.dll -Wl,--out-implib,libimgui.a example_single_file.cpp -limm32
g++ -I. -Wall -Wformat -o example_null.exe examples/example_null/main.cpp -L. -limgui
rm -f example_null.exe libimgui.* example_single_file.*
- name: Build example_null (extra warnings, msvc 64-bit)
shell: cmd
run: |
Expand Down Expand Up @@ -226,6 +236,18 @@ jobs:
make -C examples/example_null clean
CXXFLAGS="$CXXFLAGS -m64 -Werror" CXX=clang++ make -C examples/example_null WITH_EXTRA_WARNINGS=1
- name: Build example_null (extra warnings, empty IM_ASSERT)
run: |
cat > example_single_file.cpp <<'EOF'
#define IM_ASSERT(x)
#define IMGUI_IMPLEMENTATION
#include "misc/single_file/imgui_single_file.h"
#include "examples/example_null/main.cpp"
EOF
g++ -I. -Wall -Wformat -Wextra -Werror -Wno-zero-as-null-pointer-constant -Wno-double-promotion -Wno-variadic-macros -Wno-empty-body -o example_single_file example_single_file.cpp
- name: Build example_null (freetype)
run: |
make -C examples/example_null clean
Expand Down Expand Up @@ -279,6 +301,18 @@ jobs:
EOF
g++ -I. -Wall -Wformat -o example_single_file example_single_file.cpp
- name: Build example_null (with IMGUI_DISABLE_OBSOLETE_KEYIO)
run: |
cat > example_single_file.cpp <<'EOF'
#define IMGUI_DISABLE_OBSOLETE_KEYIO
#define IMGUI_IMPLEMENTATION
#include "misc/single_file/imgui_single_file.h"
#include "examples/example_null/main.cpp"
EOF
g++ -I. -Wall -Wformat -o example_single_file example_single_file.cpp
- name: Build example_null (with IMGUI_DISABLE_DEMO_WINDOWS and IMGUI_DISABLE_METRICS_WINDOW)
run: |
cat > example_single_file.cpp <<'EOF'
Expand Down Expand Up @@ -471,34 +505,3 @@ jobs:
run: |
cd examples/example_android_opengl3/android
gradle assembleDebug
Discord-CI:
runs-on: ubuntu-18.04
if: always()
needs: [Windows, Linux, MacOS, iOS, Emscripten, Android]
steps:
- uses: dearimgui/github_discord_notifier@latest
with:
discord-webhook: ${{ secrets.DISCORD_CI_WEBHOOK }}
github-token: ${{ github.token }}
action-task: discord-jobs
discord-filter: "'{{ github.branch }}'.match(/master|docking/g) != null && '{{ run.conclusion }}' != '{{ last_run.conclusion }}'"
discord-username: GitHub Actions
discord-job-new-failure-message: ''
discord-job-fixed-failure-message: ''
discord-job-new-failure-embed: |
{
"title": "`{{ job.name }}` job is failing on `{{ github.branch }}`!",
"description": "Commit [{{ github.context.payload.head_commit.title }}]({{ github.context.payload.head_commit.url }}) pushed to [{{ github.branch }}]({{ github.branch_url }}) broke [{{ job.name }}]({{ job.url }}) build job.\nFailing steps: {{ failing_steps }}",
"url": "{{ job.url }}",
"color": "0xFF0000",
"timestamp": "{{ run.updated_at }}"
}
discord-job-fixed-failure-embed: |
{
"title": "`{{ github.branch }}` branch is no longer failing!",
"description": "Build failures were fixed on [{{ github.branch }}]({{ github.branch_url }}) branch.",
"color": "0x00FF00",
"url": "{{ github.context.payload.head_commit.url }}",
"timestamp": "{{ run.completed_at }}"
}
2 changes: 1 addition & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2014-2021 Omar Cornut
Copyright (c) 2014-2022 Omar Cornut

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
Loading

0 comments on commit 7b97aa9

Please sign in to comment.