3853 Commits (164a86d3b0d7af4afb6092e580838ec1b4694733)

Author SHA1 Message Date
ocornut fb4bbeb033 Disabled: fixed IsItemHovered() if popped disabled state after item, or when using Selectable_Disabled. (#211) 3 years ago
ocornut 246ad6c03c Disabled: items more consistently release active id if the active item got disabled. (#211) (amend 2952525) 3 years ago
ocornut 638e1a721b Disabled: fixed IsItemHovered() returning true on disabled item when navigated to. (#211) 3 years ago
Rokas Kupstys 5dd1e38b7a Disabled: disabled items set HoveredId, allowing e.g. HoveredIdTimer to function. (#211, #3419) + Menus: fix hovering a disabled menu or menu item not closing other menus.
Rework of https://github.com/rokups/imgui/commit/c24b470
Note that the declared intent of that commit "Prevents window from being dragged if mouse hovers a disabled item." was already fullfilled by a876ad87.
Changes in ButtonBehavior() not needed anymore since ImGuiButtonFlags_Disabled is gone
3 years ago
ocornut 4a100f7f11 Nav: Disabled items are not candidate for default focus. (#211, #787) + simplify handling of ImGuiButtonFlags_PressedOnDragDropHold path. 3 years ago
ocornut cc40ae2101 PushDisabled(): added bool + clarify support for stacked disabled (#211) 3 years ago
ocornut 30d164eb26 Backends: Win32: IME functions are disabled by default for non-Visual Studio compilers (MinGW etc.) (#2590, #738, #4185, #4301)
Enable with '#define IMGUI_ENABLE_WIN32_DEFAULT_IME_FUNCTIONS' for those compilers. Undo change from 1.82.
3 years ago
ocornut 3512f2c2c2 Internals: Menus: minor tidying up + renaming in ImGuiMenuColumns + removing extraneous offset field which is always zero + using smaller types.
sizeof() 36 -> 20
3 years ago
ocornut 4ddb6b46c3 Drag and Drop: drop target highlight doesn't try to bypass host clipping rectangle. (#4281, #3272)
Revert 4b94738c
3 years ago
ocornut b5a2bd1a5b Backends: amends to 1db1066 + merge minor bits from docking incl SetActiveIdUsingNavAndKeys().
No need to clear fields before deletion. DX12: renamed to match docking branch.
3 years ago
ocornut 0aeb978e61 Comments + adding spacing in headers because VS IDE parser display blocks so badly. Add helper in internal's ImGuiInputTextState. (#4275) 3 years ago
ocornut 95db098477 ImFontAtlas: move implicit AddFontDefault call to Build() function + remove unnecessary asserts in backend. 3 years ago
ocornut 38165f420f Fonts: Prefer using U+FFFD character for fallback instead of '?'. Use U+FF0E dot character to construct an ellipsis if U+002E '.' is not available. (#4269) 3 years ago
ocornut 1965f38e9e ImGuiWindowFlags_UnsavedDocument/ImGuiTabItmeFlags_UnsavedDocument display a dot instead of a '*'. 3 years ago
ocornut f0c4d609a6 Default window focus scope not 0. Added ImGuiSelectableFlags_SelectOnNav with comments and caveats. (#1861, #4242,)
Focus scope default value: amend 7ee623d9 a5041c88 2ebe08be
3 years ago
ocornut d0c6dd9baf ImVector: added clear_delete(), clear_destruct() helpers. 3 years ago
ocornut 61f4aec868 Added PushDisabled(), PopDisabled() currently only exposed in imgui_internal.h (#211) 3 years ago
ocornut 94b680e830 Internals: fixed ImPool:: iteration, rename GetBufSize to GetMapSize. Amend c6c82b9f 3 years ago
ocornut c6c82b9f1d Internals: fixed iterating ImPool, fix after use of TableRemove() (was only used by TestEngine)
Merge metrics bits from 646c87359
3 years ago
ocornut 5b4bc985ad Nav, Combo: removed unnecessary window->LastNavIds[] assignment in combo code. + minor renaming. 3 years ago
ocornut c2bf4abfa1 Internals: Added ImTextCharToUtf8() helper. Added "out_" markers in more UTF-8 functions. Metrics: Fonts: Fixed display of EllipsisChar by feeding proper utf-8. 3 years ago
ocornut 3a941f95e9 Metrics, Demo: moved font details display to metrics code. (#4171) 3 years ago
ocornut e31d13fa76 Version 1.84 WIP 3 years ago
ocornut ad5d1a8429 Version 1.83 3 years ago
ocornut 88a24fb896 Fix build with IMGUI_DISABLE_DEMO_WINDOWS 3 years ago
ocornut 029c83c73e Combos: Changed the combo popup to use a different id to also using a context menu with the default item id. (#4167) 3 years ago
ocornut c708299ca9 Docs: Improvements to description of using colored glyphes/emojis. (#4169, #3369) + Add Fonts to Metrics. Removed IMGUI_HAS_TABLE markers. 3 years ago
ocornut b474bff6c6 Nav: Fixed single frame CTRL+Tab from properly enabling the menu layer of target window if it doesn't have other active layers. 3 years ago
thedmd 3c72e5142b Backends: Replace direct access to TextureId with GetTexID() call in ImDrawCmd. (#3761) 3 years ago
ocornut 41030cbfe2 Tweak computation of io.Framerate so it is less biased toward high-values in the first 120 frames. (#4138) 3 years ago
ocornut 4ce6bd8cff Tables: sharing splitter and sort buffers between tables, reducing memory footprints. (#3740)
+ GC pass on that data.
3 years ago
ocornut 32c453ae53 Tables: sharing transient buffers between tables, reducing memory footprints. (#3740) 3 years ago
ocornut 393941ceea Refactor focusable/tabbalbe item registration toward allowing to handle it prior to clipping (not yet the case) (#343, #4079)
Now performed in ItemAdd(). It can't be trivially moved above clipping effectively because it would require us to scroll to be useful, meaning we'd be better off locking the bounding box a frame earlier. Still wip.
As-is this commit has no value for end-user, but it's a reengineering that moves us closer to the solution. + Internals: moved internal flags.
3 years ago
ocornut 2c3f25d2d9 Nav: Fixed Tabbing initial activation from skipping the first item if it is tabbable through. (#787) 3 years ago
ocornut 9b90639577 Internals: ItemFlags is a shared resource as advertised. Fix Begin/PushItemFlags/End sequence (mostly for consistency) 3 years ago
ocornut 788e91aece Fixes for MSVC static analyzers (wider range of versions). (#3938, #4073) + warning fix (#4089) + comments. 3 years ago
ocornut 89162a04f4 Fixes for PVS Studio and MSVC static analyzers. Using a macro to suppress single-use MSVC false positives. (#3938, #4073) 3 years ago
ocornut d28535f351 Fixes for Visual Studio 2019 static analyzers. (#3938, #4073) + two minor edge case were invalid scalar input (e.g. a sign only) would return buffer as modified. 3 years ago
ocornut b493cae8c9 Nav: Fixed pressing Escape to leave menu layer while in a popup or child window. (#787) 4 years ago
Rokas Kupstys 21428ad3f4 Nav, InputText: Fixed accidental menu toggling while typing non-ascii characters using AltGR. (#370) 4 years ago
ocornut 4540177ce7 Nav: clear activeid on menu toggle (so pressing Alt leaving an InputText will steal ActiveID. Previously wouldn't not, but ButtonBehavior() hover logic would not show Menu layer item as hovered when ActiveId != 0). (#787)
(Adjacent to #370)
4 years ago
ocornut e61e8aea9c Nav: clear navid in NavInitWindow() when window is marked with ImGuiWindowFlags_NoNavInputs. (#787)
(no expected side-effects, maybe consistency, but those NavLastIds[] values would likely have been 0 already)
4 years ago
ocornut daf97832f1 Internals: Nav: renaming. 4 years ago
ocornut bfc4a3347a Nav: Fixed using SetItemDefaultFocus() on windows with _NavFlattened flag + tools in metrics. 4 years ago
ocornut 936f53229d Internals: maintaining focus order inside windows + only storing root windows in WindowsFocusOrder[] array. (toward #2304) 4 years ago
ocornut 5fed6bdc72 Demo: Improved popups demo and comments. 4 years ago
ocornut b957300260 Documentation tweaks (#4042) 4 years ago
ocornut d6a5cc7934 Metrics: hotfix (fix 6ba13349 + f08566b4, #4005) 4 years ago
ocornut 92b7b1f72b Scrolling: Fix mouse wheel axis swap when using SHIFT on macOS (system already does it). (#4010) 4 years ago
ocornut 00d570e280 Added OpenPopup() ImGuiID overload (#3993, #331) 4 years ago
ocornut f0fc822837 Fix popup positioning, broken by 84e6fe4. (#3991, #3982) 4 years ago
ocornut 3c7177c6a7 Internals: storing WindowsHoverPadding in context for external access. + Docs update binaries 4 years ago
ocornut 45c45d2506 Internals: shallow tidying up of the old resize border structure. Make them match the ImGuiDir order. Split GetWindowResizeID() into GetWindowResizeCornerID() and GetWindowResizeBorderID(). 4 years ago
ocornut 84e6fe4fc7 Fix IsWindowAppearing() from returning true twice in most cases. (#3982, #1497, #1061) 4 years ago
ocornut a58271c079 Internals: extracted a more reusable BeginViewportSideBar() out of BeginMainMenuBar(). (#3966, #3518)
Complement ca34c81c in docking branch which removed assumption that we can't tell size ahead of Begin().
4 years ago
ocornut aa5431fde2 Tables: Expose TableSetColumnEnabled() in public api. (#3935) 4 years ago
ocornut 59da01901e Scrolling: Fix scroll tracking with e.g. SetScrollHereX/Y() when WindowPadding < ItemSpacing. Fix scroll snapping on edge of scroll region when both scrollbars are enabled.
CalcNextScrollFromScrollTargetAndClamp() fixed snapping edge calculation missing ScrollbarSizes.y
4 years ago
ocornut 412d6f7efe Fixes zealous MSVC static analyzers warnings (#3938)
Other unfixed as I'm not happy with caving to false positives of every analyzers.
4 years ago
Rokas Kupstys 0c5b0c8b97 Internals: Add a way to request window to not process any interactions for specified number of frames. 4 years ago
ocornut a1a39c632a Version 1.83 WIP 4 years ago
ANF-Studios ebe6ac5fb5 Improvements to minor mistakes in documentation comments (#3923) 4 years ago
ocornut 35b1148efb Version 1.82 4 years ago
ocornut 352f64697c Internals: rename legagy tab focus fields to TabFocusXXXX for clarity + removed one unnecessary FocusWindow() call. 4 years ago
ocornut 033dfd9d35 ImDrawFlags: rework/revert c2d6d26 + 39432bf in a way that is closer to old version and back to opt-in but with default 0 = all corners. 4 years ago
ocornut 39432bfd9c Amend 0c93238a ImDrawList: upgraded AddRect(), AddRectFilled(), PathRect() to use general ImDrawFlags instead of ImDrawCornersFlags 4 years ago
Rokas Kupstys c2d6d26139 ImDrawList: upgraded AddRect(), AddRectFilled(), PathRect() to use general ImDrawFlags instead of ImDrawCornersFlags 4 years ago
ocornut 8b9fedba28 Moved Obsolete function block lower in the file + obsoleted old SetScrollHere (->SetScrollHereY) 4 years ago
ocornut 8ed34af6f8 ImDrawList: clarified that PathArcTo()/PathArcToFast() cannot take radius < 0.0f. (#3491) + changed poor-man ceiling in _CalcCircleAutoSegmentCount() to use 0.999999f to reduce gaps
Previously it sorts of accidentally worked but would lead to counter-clockwise paths which and have an effect on anti-aliasing.
4 years ago
ocornut 6ba1334903 Nav: internals: renaming ImGuiInputSource so it is not specific to nav. Comments. 4 years ago
Rokas Kupstys 01a2bac7d5 DrawList: Replace "bool close" in drawing functions with flags. 4 years ago
ocornut a64e0eb3a4 Nav: merged SetNavID() and SetNavIDWithRectRel() to improve sanity, moved flags overwrite off them. (#787) 4 years ago
ocornut 1c9cc7c117 Nav: tweaks so docking can use same code. NavRestoreLayer restore nav id but Menu key typicallys clears it for menu layer (+ less relying on _ChildWindow flag). 4 years ago
ocornut 4bb5a36f90 Nav: do not clear per-window NavId when window reappears. Process NavInit regardless of current highllight state. Consistently set g.NavLayer in SetNavID(). (#787) 4 years ago
ocornut 954b06afe2 Drag and Drop: can use BeginDragDropSource() for other than the left mouse button (#1637, #3885)
As long as the item has an ID (for ID-less items will add new functionalities later.
Amend 2c3c5125
4 years ago
ocornut fdebb2e093 Internals: removed HoveredRootWindow, tweak IsWindowHovered(). 4 years ago
ocornut ee643b2ad9 IsItemHovered(): fixed return value false positive when used after EndChild(), EndGroup() or widgets using either... (#3851, #1370)
...when the hovered location is located within a child window, e.g. InputTextMultiline().
This is intended to have no side effects, but brace yourself for the possible comeback..
This essentially makes IsItemHovered() not accept hover from child windows, but EndChild/EndGroup are forwarded.
More or less should fix/revert c76f014292 which was a revert of 344d48be3
4 years ago
ocornut 3e6dfd3c1a ImDrawList: AddImageRounded() compare texid from cmdheader as with other functions. + Made the ImGuiMemAllocFunc / ImGuiMemFreeFunc consistent with our other typedefs (#3836) 4 years ago
ocornut 25679a411e Window, Nav: Fixed crash when calling SetWindowFocus(NULL) as the time a new window appears. (#3865) 4 years ago
ocornut 760c394707 Added links to Discussions. Closed Discord, yeah! (#2748) 4 years ago
ocornut 6f4b9c65ae Added commentary about DLL boundaries. Added GetAllocatorFunctions(). Tidying up. (#3836) 4 years ago
ocornut edf135c18d Win32+MinGW: Re-enabled IME functions by default even under MinGW. (#2590, #738) 4 years ago
David Maas ece854564a
Log/Capture: Added LogTextV, a va_list variant of LogText. (#3828) 4 years ago
ocornut fb15d8c858 Improve on automatic circle segment count calculation. (#3808) Amends 4 years ago
thedmd f107693d9b Improve on automatic circle segment count calculation. (#3808) 4 years ago
ocornut 30b7545841 Version 1.82 WIP 4 years ago
ocornut 61b19489f1 Made a change to CalcWindowSizeAfterConstraint() which MSVC optimizer seems to trip on. (read on)
We seldomly modify a local ImVec2 passed as parameter. This should be perfectly legal but libigl stumbled on a what may be a MSVC optimizer bug?
Only seven function in the codebase modify as 'ImVec2 parameter' but this is the only static one (and fairly small that is) which may tempt optimizer to perform optimizations over caller-callee boundaries?
While we can't explain it fully yet and I assume it may haunt us back someday. Might also be chain reaction from some unobvious UB but can't see it right now...
Link: https://github.com/libigl/libigl/issues/1669
4 years ago
ocornut 4df57136e9 Version 1.81 4 years ago
ocornut f14042ca78 Viewports Added ImGui::GetMainViewport() as a way to get the bounds and work area of the host display. (#3789, #1542)
Viewports: Backport a few constructs from 'docking' branch.
Viewports: Added ImGuiViewportFlags_IsPlatformWindow, ImGuiViewportFlags_IsPlatformMonitor, ImGuiViewportFlags_OwnedByApp (none of them were in docking branch yet). ImGuiViewportFlags_IsPlatformMonitor is merely there to convey future intent, not yet used.
Reduce uses of io.DisplaySize.
MainMenuBar: Backport work area handling code from 'docking' branch.
Metrics: Backported "Viewports" debug visualizer from 'docking' branch.
Demo: Rework 'Examples->Fullscreen Window'.
Demo: 'Simple Overlay' demo now moves under main menu-bar (if any) using GetMainViewport()'s work area.
4 years ago
ocornut 58a0a7058c Backends: Using SetTexID() consistently instead of assigning to ->TexID. May make the later obsolete eventually. 4 years ago
ocornut 03d74a293d ListBox: renamed ListBoxHeader>BeginListBox, ListBoxFooter>EndListBox. Added demo bits. 4 years ago
ocornut e5cbf60def ListBox: tweaked default height calculation. simplifying code internally (rework passing of full rect). Should have no visible side-effects + misc comments. 4 years ago
ocornut a3f0393351 Menus: Fixed an issue with child-menu auto-sizing (issue introduced by 6af92b0) (#3779) 4 years ago
ocornut 929563c3a7 Log/Capture: Fixes for handling \n in strings. Improve the look of various widgets. Added LogSetNextTextDecoration helper. Fixup/amend dbaf74d75.
For now removed LogRenderedTextNewLine() - it is eventually desirable but currently carries too much ambiguities, so reverted until we have a better system and test suite.
4 years ago
Louis Schnellbach dbaf74d758 Log/Capture: Fix various new line/spacing issue by using same render text position when there are both RenderText and LogRenderedText call in widget code.
Also Buttons are now enclosed in bracket
4 years ago
ocornut 4622fa4b66 Fonts: Fixed CalcTextSize() width rounding so it behaves more like a ceil. (#3776)
his is in order for text wrapping to have enough space when provided width precisely calculated with CalcTextSize().x. Amend 7b0bf230.
Note that the rounding of either positions and widths are technically undesirable (e.g. #3437, #791) but variety of code is currently on it so we are first fixing current behavior before we'll eventually change it.
4 years ago
ocornut 9499afdf5e imgui_freetype: clarify breaking changes, and add BuildFontAtlas() to be consistent with planned obsolescence. Rename mislabelled internal helper. Demo: clarify labels in nested table demo. (#3765) 4 years ago
ocornut e28b51786e Tables: Fixed PopItemWidth() or multi-components items not restoring per-colum ItemWidth correctly. (#3760) rework local stacks to facilitate modifying current value without altering the stack.
May consider doing the same for ItemFlags and moving to g.ItemFlags...
4 years ago
ocornut 3867c6c5f0 Fonts: (Breaking) Rename ImGuiFreeType:: flags to ImGuiFreeTypeBuilderFlags_XXX. Remove ImGuiFreeType::BuildFontAtlas() flags. Rename ImFontConfig::RasterizerFlags to FontBuilderFlags. Add ImFontBuilderIO (opaque). Amend 53d59f3 with a dozen of small fixes. 4 years ago
ocornut 6b32d0ebc7 Fixed minor title bar text clipping issue when FramePadding is small/zero and there are no close button in the window. (#3731) 4 years ago
Sammy Fatnassi f3f2578e8f Internals: Added context hook removal support (#3580, #3626, #3753) 4 years ago