4170 Commits (3930472f34f4f96e1881dad9293cda20d1974951)

Author SHA1 Message Date
ocornut 871727dd2f Viewports: Software mouse cursor is also scaled by current DpiScale. (amend #939) 5 years ago
Rokas Kupstys 3ff13edad9 Viewports: Improve menu positioning in multi-monitor setups.
This change uses mouse position for initial positioning of popup menus. It ensures that menu appears in expected location on monitor mouse is currently hovering. This change fixes incorrect menu positioning (permanent or on the first frame) when menu item spans multiple monitors.
5 years ago
ocornut e547f898a9 Demo: Added color gradient in demo to identify srgb/linear issues better. Tweaks. 5 years ago
ocornut 3c80d57dc7 Viewports, Window: Avoid manually clipping resize grips and borders, which messes up with automation ability to locate the items. Also simpler and more standard.
Amend d8f9f6ba2a and 377f730054.
5 years ago
ocornut 02a6c06080 Window: Fixed a bug with child window inheriting ItemFlags from their parent when the child window also manipulate the ItemFlags stack. (#3024) [@Stanbroek]
Amend f843facba4 and 8828889d5e
5 years ago
Omar bb1e6f8af6 Merge branch 'master' into docking
# Conflicts:
#	docs/CHANGELOG.txt
#	examples/example_win32_directx11/main.cpp
#	examples/example_win32_directx9/main.cpp
#	examples/imgui_impl_win32.cpp
#	examples/imgui_impl_win32.h
#	imgui.cpp
5 years ago
Omar 8836975dcf Drag and Drop, Nav: Disabling navigation arrow keys when drag and drop is active. (#3025) 5 years ago
omar ccaec1a270 Version 1.76 WIP 5 years ago
omar 30bb15672d Remove trailing spaces 5 years ago
omar 8432d1bfc7 Merge branch 'master' into docking
# Conflicts:
#	docs/CHANGELOG.txt
5 years ago
omar 58b3e02b95 Version 1.75
Comments
5 years ago
omar 7e2d172ae5 Backends: GLFW, SDL: Platform monitors declared properly even if multi-viewport is not enabled. 5 years ago
omar d37d25470a Added IMGUI_DISABLE compile-time definition to make all headers and sources empty. 5 years ago
omar 3bde375078 Nav, Docking: Fixed failing to restore NavId when refocusing due to missing nav window. 5 years ago
omar 365b639981 Nav, Docking: Fixed failing to restore NavId when refocusing a child within a docked window. 5 years ago
omar d4fc525614 Nav, Focus: Fixed messed up Ctrl+Tab order with Docked windows.
Amend d9bca0d853, fc41839cab, fc42528f13 for docking.
5 years ago
omar 5be649e082 Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
5 years ago
omar fc42528f13 When testing for the presence of the ImGuiWindowFlags_NoBringToFrontOnFocus flag we test both the focused/clicked window (which could be a child window) and the root window. 5 years ago
omar fc41839cab Focus: Reworking FocusWindow() so in Docking branch we can fix CTRL+Tab being out of order on Docked windows because WindowsFocusOreder is poorly maintained.
When merging this and d9bca0d8 in Docking we'll replace two ocurrences of RootWindow with RootWindowDockStop.
5 years ago
omar fb257eef3e Internals: Update ->RootWindow and other links before applying the SetNextWindowXXX stuff. This is so FocusWindow() can always assume that ->RootWindow != NULL. 5 years ago
omar 4b4be11fd2 Docking: Clarifying that DockNode!=NULL when DockIsActive. Comments. Cleanup. 5 years ago
omar d9bca0d853 Nav: Fixed a bug where the initial CTRL-Tab press while in a child window sometimes selected the current root window instead of always selecting the previous root window. (#787) 5 years ago
omar 47fab0e166 Misc renaming, comments. Docs: add missing spacing to Changelog. 5 years ago
omar e7bfcb970e Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
#	imgui.h
#	imgui_demo.cpp
#	imgui_internal.h
5 years ago
omar 6e1f8be07b Window: Fix SetNextWindowBgAlpha(1.0f) failing to override alpha component. (#3007) 5 years ago
omar 3b828e6f96 Fix following bbe946f (ImRect <> ImVec4) 5 years ago
omar bbe946fb6c Minor fixes/tweaks (some to reduce drift wiih master branch) 5 years ago
omar 5f4dfad5b7 Merge misc/shallow changes from Docking to reduce drift.
Most are comments. Fix menu bar clipping: 07ff47bf1b
5 years ago
omar 6c1a73774d Tooltip: Testing DragDropWithinSourceOrTarget in BeginTooltipEx() instead of just BeginTooltip() - feel this was an overlook. Added tooltip flags instead of using bool. 5 years ago
omar 377f730054 Fix resizing viewport-owning windows when mouse pos is outside the InnerClipRect (can happen with OS decoration on). (#1542) 5 years ago
omar f5528001f6 Merge branch 'master' into docking
# Conflicts:
#	examples/imgui_impl_glfw.cpp
#	examples/imgui_impl_opengl2.cpp
#	imgui.cpp
#	imgui_internal.h
5 years ago
omar f68075b333 Docking: Added DockNodeFlagsOverrideSet/DockNodeFlagsOverrideClear (experimental) 5 years ago
omar 5363af7f47 AddCircle, AddCircleFilled: Add auto-calculation of circle segment counts (amends)
Tweak default max error value, Changelog, comments, path-fast for 12 segments circles, made LUT store ImU8
5 years ago
Ben Carter 051ce0765e AddCircle, AddCircleFilled: Add auto-calculation of circle segment counts 5 years ago
omar 2eda3585e7 Fixed hoverable/focus bug introduced in 3fe6ae97 (#2997)
+ ArrowButtonEx() internal bits.
5 years ago
omar f1b5c742ff Viewports: Add various comments 5 years ago
omar 7e068da2bd Docking: Internals: Renamed members from XxxxID to XxxxxId to be more consistent with rest of the codebase (still some inconsistency left that are harder to fix) 5 years ago
omar 3fe6ae9732 Internals: Move some Nav functions and members around (no functional change) + Misc comments 5 years ago
omar 2478dbfdb7 Disable warning C5054 introduced in VS 2019 16.2 (#2983) 5 years ago
Loïc Molinari 6c00d1916e Disable format checks when using stb_sprintf.h
STB sprintf allows extra formats like %b or %$d. If ImGui is configured
to use STB sprintf, it generates warnings with GCC and clang when using
such formats because it keeps applying default printf-style warnings.
This commit disables printf-style warnings when using STB sprintf.

Since the printf-style warnings are defined in imgui.h based on the
compiler, IMGUI_USE_STB_SPRINTF can't just be defined in the cpp file
anymore and it's been moved as a proper config in imconfig.h.
5 years ago
omar 9ad4c5da7e Fix zealous warnings + Internals: Renamed members from XxxxID to XxxxxId to be more consistent with rest of the codebase (still some inconsistency left that are harder to fix) 5 years ago
omar f6d6880a61 Internals: Nav: PushFocusScope, PopFocusScope, GetFocusScopeID() helpers 5 years ago
omar 44174b1fa1 Merge branch 'master' into docking
# Conflicts:
#	examples/imgui_impl_win32.cpp
#	examples/imgui_impl_win32.h
#	imgui.cpp
#	imgui_internal.h
5 years ago
omar 2ebe08be40 Focus, Nav: Merged bits from RangeSelect features to enable early manipulation of focus scope for styling purpose.
FocusScopeId is tracked by nav scoring/request and stored in result.
It's all rather WIP and we should reorganize the SetNavIDXXX functions fiasco at some point (soon?).
Didn't separate FocusScope from SelectionScope for now, will re-investigate this later, this is the minimum commit to be able to do some styling.
5 years ago
omar e2eb0b4bc4 Internals: Begin tries to setup WindowTemp/DC members in same order as their declaration. Readme: remove Coverity banner (PVS is better) 5 years ago
omar 02c2d18aa3 Internals: Renaming and marking of legacy focus/tabbing system 5 years ago
omar 52334ad8df Internals: Minor ordering/comments of ImGuiWindowTempData. 5 years ago
omar ff5299e0e0 Docs: FAQ, Comments. 5 years ago
Rokas Kupstys 97a8dc6514 CI: Added PVS-Studio static analysis on the continuous-integration server. 5 years ago
Rokas Kupstys ae1e3619f6 Disable some PVS studio warnings.
V1048: While they are technically correct we want to emphasize assigned values must remain same.
5 years ago
omar 861f786d81 Merge branch 'master' into docking
# Conflicts:
#	docs/CHANGELOG.txt
#	examples/imgui_impl_opengl3.cpp
#	imgui.cpp
5 years ago
omar f9630e60c5 Metrics: Fix not being able to expand "ParentWindow" when parent window is same as root window. 5 years ago
omar d581939387 Removed trailing spaces. 5 years ago
omar 22d7f26e06 Tweak wording
Remove Patreon
5 years ago
omar 3b1b5266e5 Docking: Fixed a bug where the tab bar of a hidden dockspace would keep requesting focus. (#2960) 5 years ago
omar c163b856d7 Docking: Fix for IMGUI_DEBUG_INI_SETTINGS=1, comments 5 years ago
omar 07eb7adbb4 Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
5 years ago
omar 854fc08194 Amend f70204f2 to facilitate merges. 5 years ago
omar 4c108d22f0 Minor bits, placeholder aimed at facilitating merging of Tables branch into Docking
# Conflicts:
#	imgui.cpp
5 years ago
omar f70204f2f4 Minor bits, placeholder aimed at facilitating merging of Tables branch into Docking 5 years ago
omar c706ff6f3a Merge branch 'master' into docking
# Conflicts:
#	examples/imgui_impl_sdl.cpp
#	imgui.cpp
5 years ago
omar a610f1da52 Bezier Tweaks, fixed parameter order of 3831d50 5 years ago
Rokas Kupstys 3831d50ab9 Add ImBezierClosestPoint() function which returns a point on bezier curve which is closed to a specified point. 5 years ago
omar 9d444062f9 Limiting Columns()/BeginColumns() api to 64 columns (#125)
While the current code technically supports it, future code may not so we're putting the restriction ahead.
5 years ago
omar 10fdc03a46 Clarification about Im helpers + moving GetColorXXX functions outside of that block. 5 years ago
omar 992736dc5d Merge branch 'refs/heads/master' into docking
# Conflicts:
#	docs/CHANGELOG.txt
#	examples/imgui_impl_glfw.cpp
#	examples/imgui_impl_sdl.cpp
#	examples/imgui_impl_win32.cpp
#	imgui.cpp
#	imgui_internal.h
#	imgui_widgets.cpp
5 years ago
omar 43bd80a40d Internals: Breaking: ImRect() default constructor initializes all fields with 0.0f
Instead of (FLT_MAX,FLT_MAX,-FLT_MAX,-FLT_MAX). Previous behavior was designed for adding into a bounding box but rarely relied on and not worth it.
5 years ago
omar 6fdde67be2 Documentation, FAQ, todo tweaks 5 years ago
omar f9c26d23de Removed redirecting functions/enums that were marked obsolete in 1.53 (December 2017).
Comments
5 years ago
Ben Carter 697f15e339 Added PrimUnreserve() API. Obsoleted calling ImDrawList::PrimReserve() with a negative count. 5 years ago
omar f656e7775e Inputs: Added ImGuiMouseButton enum for convenience (e.g. ImGuiMouseButton_Right=1).
We forever guarantee that the existing value will not changes so existing code is free to use 0/1/2.
5 years ago
omar 6cbed03d4a Comments, clarified mouse button ordering. 5 years ago
omar b521cd357d Removed implicit default parameter to IsMouseDragging(int button = 0) to be consistent with other mouse functions.
(none of the other functions have it).
5 years ago
omar 8342e5b91a Amend previous commits (added ImGuiMouseCursor_NotAllowed enum + new cursors in GLFW 3.4)
Amend b5cad20d79, 945a509773
+ unrelated minor typos
5 years ago
omar 927580d4a8 Docking: Cleanup, rename DockNodePreviewDockCalc() -> DockNodePreviewDockSetup() 5 years ago
omar abaf0256b8 Version 1.75 WIP
Added message to font file loading assert.
5 years ago
omar a1e4af62d3 Docking: Fix bug added in 71a58261 + Misc docking omments 5 years ago
omar 4dff49b2f1 Docking, Viewports: Moving code.
Moved NewFrame() sanity checks in NewFrameSanityChecks().
Moved some of DockNodeUpdate() into DockNodeUpdateForRootNode().
5 years ago
omar 71a58261f6 Docking: Internals: Removed redundancy in code path leading to the BeginAsDockableDragDropSource(), clarified UpdateMouseMovingWindowEndFrame()
Note that the ConfigWindowsMoveFromTitleBarOnly path for UpdateMouseMovingWindowEndFrame() would previously test the window->RootWindow title bar instead of window->RootWindowDockStop. This didn't have any side effect afaik because we wouldn't enter that function anyway as clicking on any tab bar would trigger the move before UpdateMouseMovingWindowEndFrame() does it. However for consistency made the UpdateMouseMovingWindowEndFrame()code more correct.
+ minor renaming
5 years ago
omar 8d1b82d596 Docking: Internals: Rename StartMouseDragFromTitleBar() -> StartMouseMovingWindowOrNode(), clarify. 5 years ago
omar 3096e7a9cd Viewports: Preserve last known size for minimized main viewport to be consistent with secondary viewports.
Amend 606175b9, d8ab2c1a.
However becomes inconsistent with viewport-enabled setup. Should report some of that logic in master, need back-end rework.
5 years ago
omar 1c3a9c8e74 Docking: Remove Size > 0.0f asserts added in 718e15c7 and 7c183dc6. (#2690, #2109, #2906)
In #2906 the zero input came from a minimized viewport, but even without it we cannot prevent DockNode size from eventually reaching zero as padding are taken from the starting size.
In a separate commit we'll however shortcut some of the existing codepath on zero-sized viewport to reduce the likehood of lossy side-effects (just like we don't call ClampWindowRect in Begin)
5 years ago
omar 813e0c18e6 Merge branch 'master' into docking
# Conflicts:
#	docs/CHANGELOG.txt
#	examples/imgui_impl_dx10.cpp
#	examples/imgui_impl_dx10.h
#	examples/imgui_impl_dx11.cpp
#	examples/imgui_impl_dx11.h
#	examples/imgui_impl_dx12.cpp
#	examples/imgui_impl_dx12.h
#	examples/imgui_impl_dx9.cpp
#	examples/imgui_impl_dx9.h
#	examples/imgui_impl_metal.h
#	examples/imgui_impl_metal.mm
#	examples/imgui_impl_opengl3.cpp
#	examples/imgui_impl_opengl3.h
#	examples/imgui_impl_vulkan.cpp
#	imgui.cpp
#	imgui.h
#	imgui_internal.h
5 years ago
omar bdce833636 Version 1.74 5 years ago
omar 26d177bc03 Docs: Moved misc/fonts/README.txt to docs/FONTS.txt. + tweaks 5 years ago
omar bbe0409942 Metrics: Show wire-frame mesh and approximate surface area when hovering ImDrawCmd. Amend aeb5795.
Internals: Added ImTriangleArea()
5 years ago
Ben Carter aeb57952d6 Added area calculation for draw lists in metrics
Added ability to hover over a draw list's summary stats and see all the contents in wireframe

(cherry picked from commit fd808347bd68a07ad318af6c151028bc9f7b82e7)
5 years ago
omar 3a82994429 Docking: Can undock from the small triangle button. (#2109,. #2645) 5 years ago
omar 106184bbea Docking: Fixed node->HasCloseButton not honoring ImGuiDockNodeFlags_NoCloseButton in a floating node, leading to empty space at the right of tab-bars with those flags. (#2109) 5 years ago
omar 51e2e9b239 ImVector: Added shrink() helper. ImFont::RenderText minor optimisation for debug build. Misc: Metrics shows tab names because we now have them. 5 years ago
omar 51a02b319c Added IM_UNICODE_CODEPOINT_MAX. Changed specs of ImFontAtlas::AddCustomRectRegular() (breaking change). 5 years ago
omar ca63349eb4 Renamed XX-bits -> XX-bit in comments to match what the world appears to be using. 5 years ago
omar a899c1e570 Internals: Using ImU64 for internal ImFile api so we can later wrap them to fseeko/ftello//_fseeki64/_ftelli64 (#2734) 5 years ago
omar ecbedc8c26 Tweaks, ammend 93efa54, rename to IMGUI_DISABLE_DEFAULT_FORMAT_FUNCTIONS (#1038) 5 years ago
omar 4e90906b04 Added IMGUI_DISABLE_DEFAULT_FILE_FUNCTIONS / IMGUI_DISABLE_FILE_FUNCTIONS #2734)
Using in Emscripten example.
5 years ago
omar 93efa5415f Renamed IMGUI_DISABLE_FORMAT_STRING_FUNCTIONS to IMGUI_DISABLE_DEFAULT_FORMAT_STRING_FUNCTIONS. (#1038)
Renamed IMGUI_DISABLE_MATH_FUNCTIONS to IMGUI_DISABLE_DEFAULT_MATH_FUNCTIONS.
5 years ago
omar 9efaf2828b Doc comments. Removed .ini parsing code from 1.53 that parsed entries without the [Window] tag (which enabled importing an old .ini file) 5 years ago
omar 3895363432 Merge branch 'master' into docking inc alter GetWindowResizeID
# Conflicts:
#	imgui.cpp
5 years ago
omar 7e232092a6 Internals: Added GetWindowResizeID(), renamed GetScrollbarID() to GetWindowScrollbarID(). Using integer for resize ID so they matches regardless of the pointer size.
Internals: Renamed IMGUI_USER_ERROR to IM_ASSERT_USER_ERROR().
5 years ago
omar a1e43c682a Merge branch 'master' into docking (with fixes)
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
5 years ago