3799 Commits (f6682404e13a956637aa3be03168b3efa3b8869e)

Author SHA1 Message Date
ocornut 97dad66516 Metrics: Various tweaks, listing windows front-to-back, greying inactive items when possible. 4 years ago
ocornut 9262609eaf Version 1.79 WIP 4 years ago
ocornut 5dc5610ad5 Docs: TODO, FAQ 4 years ago
ocornut 95c99aaa4b Version 1.78 4 years ago
ocornut c6b01e8e1d Drag, Sliders: Merged ImGuiDragFlags back into ImGuiSliderFlags. (#3361, #1823, #1316, #642, #1829, #3209)
Technically API breaking (but ImGuiDragFlags were pushed on master 16 hours ago)
4 years ago
omar f32663b33c Drags, Sliders: Removed locking behavior with min > max (added in 1.73) 4 years ago
omar fb0f2ebd41 Drags, Sliders: Tweaks. 4 years ago
Ben Carter fa279a6aa0 Drags, Sliders: Added deadzone to make selecting 0.0 on linear sliders easier, slider navigation delta accumulation. (#3361, #1823, #1316, #642) 4 years ago
omar 7607aea018 Drags, Sliders: Removed power features. Old entry points will pass-through if power=1.0f, otherwise assert + safe fallback. Remove 3 redirection functions (#3361, #1823, #1316, #642) 4 years ago
omar 214dd68ec1 Comments, clarifying ClosePopupsOverWindow(). 4 years ago
omar 8241cd6284 Make moving window prevent its active id from being stolen (#3392, #3243, #1738)
Amend 7b3d379, 615e9ae3

# Conflicts:
#	imgui.cpp
#	imgui_widgets.cpp
4 years ago
omar 89ac87cd91 Internals: Added SetLastItemData, rename ImGuiItemHoveredDataBackup to ImGuiLastItemDataBackup. 4 years ago
omar 8074b49148 Selectable: Fixed highlight/hit extent when used with horizontal scrolling (in or outside columns). (#3187, #3386)
# Conflicts:
#	imgui_widgets.cpp
4 years ago
omar 473a01adb0 Scrolling: Avoid SetScroll, SetScrollFromPos functions from snapping on the edge of scroll limits. (#3379) + Demo: Rename "Layout" to "Layout & Scrolling". 4 years ago
omar db886f3953 Demo: Rework Clipping section. Fix for static analysis. Added bindings in Readme. 4 years ago
omar 963839373c Demo tweaks + general removal of the word dummy were possible with no issues (kept the API call). 4 years ago
omar 4929a8e4a5 InvisibleButton: Made public a small selection of ImGuiButtonFlags (previously in imgui_internal.h) and allowed to pass them to InvisibleButton(). 4 years ago
omar a876ad877d Window: Fixed clicking over an item which hovering has been disabled (e.g inhibited by a popup) from marking the window as moved.
+ comments
4 years ago
omar 76ddacd2a1 Internals: Backport HoveredWindowUnderMovingWindow code from Docking branch.
(effectively allowing a window to be a drag payload without have to make it _NoInputs)
4 years ago
omar 218ff3a2a5 Internals: Backport one ->WasActive test in NavRestoreLastChildNavWindow() from 9bf6509c6 + minor/shallow bits from docking branch. 4 years ago
omar c7f5876f8a Internals: backport window HitTestHole code from docking branch + RenderRectFilledWithHole() helper. (#1512, #3368) 4 years ago
omar eefae08261 Nav: Fixed clicking on void from not clearing focused window. Amend d31fe97f7. (#3344, #2880)
This would be problematic e.g. in situation where the application relies on io.WantCaptureKeyboard flag being cleared accordingly.
4 years ago
omar 3a6c9907cd Texture-based thick lines: Minor tweaks and rename toward merging in master. Changes to allow changing AA_SIZE (disable texture path). 4 years ago
omar 78d6bdf080 Texture-based thick lines: Remove unnecessary indirection in fetching UV data, removed lerp call, renames, tweaks. 4 years ago
omar 222b7ddbfa Texture-based thick lines: Tweaks, fix for truetype builder. 4 years ago
Ben Carter 1d3c3070d8 Texture-based thick lines: Initial version of AA line drawing using textures (press SHIFT to enable) 4 years ago
Ben Carter 8e4046e13b Atlas build use GetCustomRectByIndex() + comments, rename, and shallow merge from tex_antialiasing_lines branch. 4 years ago
omar ab4ef822f0 Version 1.78 WIP 4 years ago
Rokas Kupstys 0738611559 Misc: Bunch of code formatting changes suggested by a pass running 'astyle' 4 years ago
omar dca7c3c629 TestEngine: Added hook to notify test engine of a removed imgui context. 4 years ago
omar 9418dcb693 Version 1.77
+ fix minor clang-tidy warnings which seems reasonable
4 years ago
omar dd02a180b5 Windows: Amend 6b0cf2e6 to facilitate working in viewport branch + handle safe area padding and ConfigWindowsMoveFromTitleBarOnly. 4 years ago
Rokas Kupstys 6b0cf2e6ae Windows: Fix unintended window size changes when resizing windows close to main viewport edges. 4 years ago
omar 45a7cf47ab FAQ update, removed redundant block in imgui.cpp 4 years ago
omar fed80b9537 Popups: Changed 'int mouse_buttons' to ImGuiPopupFlags. Added ImGuiPopupFlags_NoOpenOverExistingPopup, ImGuiPopupFlags_NoOpenOverItems. Refactored signature of BeginPopupContextWindow(). 4 years ago
omar 5acf6d861a Popups: Added ImGuiPopupFlags type, ImGuiPopupFlags_AnyPopupId and ImGuiPopupFlags_AnyPopupLevel flags for IsPopupOpen().
# Conflicts:
#	docs/CHANGELOG.txt
4 years ago
omar b83a1f3b00 BeginPopupModal() doesn't set the ImGuiWindowFlags_NoSavedSettings flag anymore, and will not always be auto-centered. (#915, #3091) 4 years ago
omar 68389200c4 Internals: Comments about CalcWrapWidthForPos() (#778) 4 years ago
omar 1a1dcea1a0 Internals: Initialize drawlist earlier in Begin() to facilitate detecting accidental draw earlier than legal. (#3311) 4 years ago
omar 99f68d7958 Docs: Added FAQ entries removed old one which is misleading today. Misc tweaks. 4 years ago
omar 9c2a36f573 Internals: clarified the code for ClampWindowRect().
As a side-effect, some rounding error may be neutralized however this isn't the intent. (#3309)
4 years ago
omar 8ead38c100 Clang: Reduce uses of __has_warning for overall sanity, as compilers are hostile to software targetting multiple compiler version. 4 years ago
omar 704723744e Disabled latest overzealous warnings from Clang 4 years ago
ocornut 078571b7a9 Popups: added comments, reorganized the functions in imgui.h 4 years ago
ocornut 6e138504c1 Popups: Fix BeginPopupContextVoid() when clicking over the area made unavailable by a modal. (#1636) 4 years ago
ocornut 37eb89371b Popups: Internals: Added IsAnyPopupOpen(). 4 years ago
ocornut d31fe97f74 Popups: Fix an edge case where programatically closing a popup while clicking on its empty space would attempt to focus it and close other popups. (#2880) 4 years ago
ocornut 1dfd0634cb Internals: Allow ItemHoverable() to be used with id==0 to facilitate high-level read-only hover test in widget code. 4 years ago
ocornut 99ab521024 Renamed OpenPopupOnItemClick() to OpenPopupContextItem(). Kept inline redirection function (will obsolete). + Removed CalcItemRectClosestPoint() entry point 4 years ago
omar 90c0c0c163 Columns: Lower overhead on column switches and switching to background channel. (second attempt for 9b3ce49)
Internals: Bits, comments, added ImRect::ToVec4()
4 years ago
ocornut a933cc4f4d Documentation update 4 years ago
ocornut 16da8e6da6 Revert "Columns: Lower overhead on column switches and switching to background channel (some stress tests in debug builds went 3->2 ms). (#125)"
This reverts commit 9b3ce494fd.
4 years ago
ocornut 53f0f97273 Added FAQ entry about DPI. Added Japanese font loading example. 4 years ago
ocornut 40b799023b Docs: Update fonts.md (#2861) + update all references to FONTS.txt 4 years ago
ocornut 9b3ce494fd Columns: Lower overhead on column switches and switching to background channel (some stress tests in debug builds went 3->2 ms). (#125)
This change benefits Columns but was primarily made with Tables in mind.
4 years ago
ocornut b1f2eacdf3 ImDrawList: Prefixed internal functions with underscore, renamed UpdateClipRect() to _OnChangedClipRect(), UpdateTextureID() -> _OnChangedTextureID() 4 years ago
ocornut 117d57df5b ImDrawList: Additional comments and extracted bits into ImDrawList::PopUnusedDrawCmd() 4 years ago
ocornut 57191fe3d0 Comments about limiting WindowRounding to a reasonable size. 4 years ago
ocornut 0320e7257b ImDrawList: Small refactor to create empty command when beginning the frame, allowing to simplify some functions.
+ Missing clearing two fields in ClearFreeMemory() (was hamrless)
4 years ago
ocornut 003153b3ac ImDrawList: Tweaks to make style consistent (using pointers, same local names). Added comments. Should be no-op. 4 years ago
thedmd e22e3f300a ImDrawList: Fixed an issue when draw command merging or cancelling while crossing the VtxOffset boundary would lead to draw command being emitted with wrong VtxOffset value. (#3129, #3163, #3232) 4 years ago
ocornut 79fbab543d Minor fix to avoid undefined behavior sanitizer triggering (#3276) 4 years ago
ocornut 41e8837f59 Comments, adding some spacing in ImVec2() constructors. 4 years ago
ocornut 5ddf60d8ce Commit to facilitate branches merges 4 years ago
omar d29157ce58 Moved static array with non-trivial constructors outside of function seems to remove requirement of linking with libstdc++ on some compilers. 4 years ago
omar c8cde28cf3 IO: AddInputCharacters function ignore 0 input. (#3252)
Amend ef13d954 + c8ea0a01 (#2541, #2538, #2815)
4 years ago
omar 476daf9aac Settings: Added ReadInitFn pre-load handler.
(docking branch already has it, so it'll probably conflict with same contents)
4 years ago
Rokas Kupstys a6f4b0fd70 Nav, Menus: Fix vertical wrap-around in menus or popups created with multiple appending calls to BeginMenu()/EndMenu() or BeginPopup/EndPopup(). (#3223, #1207)
First call to EndPopup() called NavRequestTryWrapWindow() which performed wrap-around operation while we were not done composing menu. This resulted in navigation wrapping around to first item.
Since wrap-around operation is only valid in last call to EndPopup() and there is no way to know which call is last - this operation is delayed to the end of the frame.
4 years ago
omar 7b3d379819 FocusWindow(NULL) correctly steal active id from previous window. (#1738) amend b0a9bbf6 4 years ago
omar 3aa1684129 Comments 4 years ago
omar c0d5b3f55a Fix to facilitate branch merges 4 years ago
omar 53ebd6a02f Metrics: Added Table settings block. 4 years ago
omar d33021d828 Settings: Made it possible to load window .ini data mid-frame. Added clear and post-read handlers. (#2573) 4 years ago
omar b6a04d7750 Settings: Added Clear Settings in Metrics. (#2188) + Preserve last loaded copy in internal buffer used for save (so it can be browsed easily). 4 years ago
omar 9ee442d3f0 Metrics: Added a "Settings" section with some details about persistent ini settings. InputText: Assert early on null buffer. 4 years ago
omar 510f301c9f Internals: Removed seemingly unnecessary size_on_first_use arg to CreateNewWindow(), extracted code into ApplyWindowSettings. 4 years ago
omar 673d6df85f Demo: Clamping font scale. Added helpers in demo. Comments. Update sponsors. (#3206) 4 years ago
omar f152fac4f1 Demo: Wrapped many (not all) code and comments lines to 120 characters to fit below GitHub viewer limit. (#3193) 4 years ago
omar b4dd28ffbb Style: Added style.TabMinWidthForUnselectedCloseButton settings.
Set to 0.0f (default) to always make a close button appear on hover (same as Chrome, VS).
Set to FLT_MAX to only display a close button when selected (merely hovering is not enough).
Set to an intermediary value to toggle behavior based on width (same as Firefox).
4 years ago
Ryan Pavlik 8cbff5ccb2 Fix various typos. (#3161)
(found by Debian's lintian on a package that uses imgui.)
(found by codespell.)
5 years ago
Rokas Kupstys 2593b6a1c8 Drag and Drop: Fix unintended fallback "..." tooltip during drag operation when drag source uses _SourceNoPreviewTooltip flags. (#3160) 5 years ago
omar 5ac5d3674f Removed unncessary ID (first arg) of ImFontAtlas::AddCustomRectRegular() function. 5 years ago
ocornut c0283c1289 TestEngine: Changed PushID hooks into GetID(), makes more sense and catches more information. 5 years ago
omar 9f9ff84ba1 TestEngine: Added PushID() hooks. 5 years ago
omar 3233fbff0e Internals: Added SetNextWindowScroll() (#1526) 5 years ago
omar 1fd9e131e4 TreeNode: Fixed bug where dragging a payload over a TreeNode() with either _OpenOnDoubleClick or _OpenOnArrow would open the node. (#143) 5 years ago
omar e8c986b34e Version 1.77 WIP 5 years ago
omar 5503c0a12e Version 1.76
+ fixed PVS warning, update demo binaries, update readme image
5 years ago
omar 7ee623d9b1 Internals: FocusScope not inherited by popups, modals. Amend a5041c88 2ebe08be) 5 years ago
omar fb70d90fef Made default clipboard handlers for Win32 and OSX use a buffer inside the main context instead of a static buffer, so it can be freed properly on Shutdown. (#3110) 5 years ago
omar 832fda8488 Fixed stray end of line blanks, added comments in .editorconfig, tweaked some headers. 5 years ago
omar 752436219d Metrics: Made Tools section more prominent, added options, made mesh viewer more accessible. 5 years ago
omar cc0d4e346a Misc: Added an explicit compile-time test for non-scoped IM_ASSERT() macros to redirect users to a solution + fixed our stb wrappers.
+ Nav: Use nav layer enum, comments.
5 years ago
omar b7e1b13ca7 Update docs, FAQ, comments (mainly related to io.WantCaptureMouse / WantCaptureKeyboard flags). 5 years ago
omar 11116eee80 Columns: undid the change in 1.75 were Columns()/BeginColumns() were preemptively limited to 64 columns with an assert. (#3037, #125)
Essentially reverting 9d444062f9.
5 years ago
omar 3490046c97 Nav: Disabled clipping g.NavId and fixed interactions with ImGuiListClipper. (#787) 5 years ago
omar fd56de1144 Nav: Store key mods associated to a nav request (for range_select) + use io.KeyMods.
+ renamed NavScoringRectScreen > NavScoringRect
5 years ago
omar ec2a24a5f1 Selectable: Allow using ImGuiSelectableFlags_SpanAllColumns in other columns than first. Comments. (#125) 5 years ago
omar b4d1287011 Selectable: Clarifying the code around use of ImGuiSelectableFlags_DrawFillAvailWidth (with intent of trying to remove it).
Amend old 6251d379, 2bcafc86
5 years ago
omar 670367e51d Added IMGUI_USE_WCHAR32 instead of "#define ImWchar ImWchar32" to faclitate C-binding. (#2538, #2541, #2815) 5 years ago
omar f2b01c3436 Changelog, tweak OpenGL3 backends. (#3061), update Gallery thread links. 5 years ago
omar 4986dba270 Scrolling: Fixed scrolling centering API leading to non-integer scrolling values and initial cursor position. (#3073)
This would often get fixed after the fix item submission, but using the ImGuiListClipper as the first thing after Begin() could largely break size calculations. (#3073)
5 years ago
omar fbc93debf9 Internal: Refactor: Moved NewFrameSanityChecks as ErrorCheckNewFrameSanityChecks() 5 years ago
omar ccf0cc8584 Added ImGuiKeyModFlags. Added additional checks in EndFrame() to verify that io.KeyXXX values have not been tampered with between NewFrame() and EndFrame(). 5 years ago
omar bdd31ec4db Internal: Refactor: Moved RenderColorRectWithAlphaCheckerboard() to imgui_draw.cpp, tweaked signature. 5 years ago
omar 0bbbbe0f68 Internal: Refactor: Moved RenderArrow, RenderBullet, RenderCheckMark to imgui_draw.cpp, changed RenderCheckMark to avoid using ImGui context 5 years ago
ocornut 1d5612a05e Internal: Added two missing ImVec2 operators for consistency. Split up DragDropWithinSourceOrTarget
ImVec2 *= ImVec2 to match  ImVec2 * ImVec2, likewise with /
5 years ago
ocornut a5041c8820 Focus: Child inherit focus scope from parent (amend 2ebe08be). 5 years ago
ocornut 4a10af2bda Unicode, Windows: Remove stringapiset.h include (breaks vs2010 and seems unnecessary?). (#2541, #2815) 5 years ago
ocornut aef057e975 Internals: Added GetInputTextState() + comments. 5 years ago
ocornut 2dcf8df9f4 Internals: Shuffled some of the windows-specific includes to avoid duplication. Might have undesirable side-effects on some compilers, please report! 5 years ago
ocornut de37a0bfab Internals: fix potential warning. Comments around include sections. Moved a few bits. 5 years ago
ocornut 1b5b87a40e Internals: Added #define NOMINMAX before windows.h include for single-compile-unit builds. 5 years ago
ocornut b029182a73 Merge branch 'features/unicode' 5 years ago
omar 897704cb49 Menus: Tweak for first-level menu windows to be positioned regardless of MenuBarHeight() which is not stored in window, allowing undocumented modification of the menu bar height). 5 years ago
ocornut a41332453e Unicode: Changelog, comments, minimum CI integration. (#2541, #2538, #2815) 5 years ago
Sam Hocevar c8ea0a017d Unicode: UTF32 support improvements (#2541, #2538, #2815)
- Make ImWchar32 unsigned.
 - Fix Win32 version of ImFileOpen by including windows.h sooner.
 - Make ImGuiIO::AddInputCharacterUTF16() more robust by disallowing illegal
surrogate pairs.
 - Allow pushing higher plane codepoints through ImGuiIO::AddInputCharacter().
 - Minor cleaning up in the high-plane Unicode support.
 - Fix Clang -Wunreachable-code warning
5 years ago
Cloud Wu 6d59653e82 Unicode: full Unicode Support (6 squashed commits) (#2541, #2538)
fix build for WideCharToMultiByte
[3181ff1e] Full Unicode Support
[6c9e73ac] Fix ImTextCountUtf8BytesFromChar and ImTextCharToUtf8, these APIs assume the input is an unicode code point, not UTF-16
[ba85665b] Add AddInputCharacterUTF16 for windows backend to handle WM_CHAR
[fafdcaf0] Use Windows API to convert UTF-16 for ImFileOpen
[dc7d5925] Use windows API to convert UTF-16 for clipboard
5 years ago
ocornut 8c683de33f Internals: Refactor: Moved get height and contents regions functions, to Layout section. IF YOU GREAT CONFLICTS WHILE MERGING (NOT REBASING) THOSE 6 PREV COMMITS, TRY MERGING THEM INDIVIDUALLY 1 by 1 or 2 by 2 etc. 5 years ago
ocornut 602df11f19 Internals: Refactor: Moved item width/size functions to Layout section. 5 years ago
ocornut 6c1810e503 Internals: Refactor: Moved cursor position functions to Layout section. 5 years ago
ocornut 3ce26f65d4 Internals: Refactor: Moved ItemAdd(), ItemSize(), BeginGroup(), EndGroup(), SameLine(), Indent(), Unindent() to Layout section. 5 years ago
ocornut caca55c642 Internals: Refactor: Moved code into a Styling section and some code into the Error Handling section. 5 years ago
ocornut 2679bee28d Internals: Refactor: Moved code out of NewFrame() into UpdateTabFocus() and UpdateSettings() 5 years ago
ocornut 24bd33ace8 Menus: Some renaming, comments, add to demo. Amend 0342a3c. (#1207) 5 years ago
Rokas Kupstys 0342a3c548 Menus: Implement BeginMenu() appending to existing menu when executed with same ID multiple times. (#1207) 5 years ago
ocornut 898e91f20d Internals: Added TempInputText() to facilitate creation of custom widgets, renamed TempInputTextScalar() to TempInputScalar() etc. (#2718)
+ Minor imgui.h/todo comments
5 years ago
ocornut e547f898a9 Demo: Added color gradient in demo to identify srgb/linear issues better. Tweaks. 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 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 58b3e02b95 Version 1.75
Comments
5 years ago
omar d37d25470a Added IMGUI_DISABLE compile-time definition to make all headers and sources empty. 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 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 6e1f8be07b Window: Fix SetNextWindowBgAlpha(1.0f) failing to override alpha component. (#3007) 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 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 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 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 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 854fc08194 Amend f70204f2 to facilitate merges. 5 years ago
omar f70204f2f4 Minor bits, placeholder aimed at facilitating merging of Tables branch into Docking 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 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 abaf0256b8 Version 1.75 WIP
Added message to font file loading assert.
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 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 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
Tracy Ma 8f40020ca6 Disable Win32 clipboard and IME functions when build target UWP (#2892, #2895) 5 years ago
omar b23dcab6e1 Fix 25eee91 incorrect assert when ending a child-popup (rarely used but used by sub-nenus) 5 years ago
omar be436e2b0b Fix HelpMarker() symbol collision for unity builds (#2893) 5 years ago
omar 03852470de Internals: Routing recoverable user errors via IMGUI_USER_ERROR() macro. (#1651) 5 years ago
omar 25eee91542 Error handling: Assert if user mistakenly calls End() instead of EndChild() on a child window. (#1651)
Internals: Moved some error handling code.
5 years ago
omar b138f8cbcd Internal: Nav rename preparing for nav inputs ownership changes. IsNavInputPressed() -> IsNavInputTest() 5 years ago
omar 7c441e37fa CI: Update jobs to MacOS latest (Catalina)
Metrics: Added description to Item Picker.
5 years ago
omar 6e8e2c0fa9 Scrollbar: Fixed an issue where scrollbars wouldn't display on the frame following a frame where all child window contents would be culled.
Demo: Fixed a small bug with scrolling demo.
Metrics: Tweaks.
5 years ago
omar 57dc34f4e8 TreeNode: Added IsItemToggledOpen() to explicitly query if item was just open/closed, facilitating interactions with custom multi-selections patterns. (#1896, #1861) 5 years ago
omar d003674f2c Internals: Added ImChunkStream, used by window settings. (more generic followup to 4c13807, the class will be used more extensively by Tables) 5 years ago
omar a337e219b6 Internals: ImPool: Renaming. 5 years ago
omar 28f1d60de1 Internals: Renaming + added ImStrSkipBlank() from docking branch.
(cherry picked from commit a573943fa0ce323ffb4080e57f5e8fe1bc777c36)
5 years ago
omar 4c13807b7d Misc: Optimized storage of window settings data (reducing allocation count). 5 years ago
omar 792a8631aa Metrics: Expose basic details of each window key/value state storage. 5 years ago
omar 8fee5a4349 Internals: Renaming for consistency. 5 years ago
omar d62a413476 Misc: Windows: Do not use _wfopen() if IMGUI_DISABLE_WIN32_FUNCTIONS is defined. (#2815) 5 years ago
Rokas Kupstys c863c1f6a1 Clean up number rounding. Now it is more obvious what code is doing. (#2862)
Add IM_ROUND() macro
Replace IM_FLOOR(n + 0.5f) and ImFloor(n + 0.5f) with IM_ROUND(n)
5 years ago
omar 4e56de757c Doc: Promote Discord over Discourse. Obsoleting Discourse server. 5 years ago
omar ec0e953cca Fixed a couple of subtle bounding box vertical positioning issues relating to text baseline alignment.
The issue would generally manifest when laying out multiple items on a same line, with varying heights and text baseline offsets. (#2833)
Some specific examples, e.g. a button with regular frame padding followed by another item with a multi-line label and no frame padding, such as: multi-line text, small button, tree node item, etc. The second item was correctly offset to match text baseline, and would interact/display correctly,but it wouldn't push the contents area boundary low enough.
Note: previously the second parameter to ItemSize() was 0.0f was default, now -1.0f to signify "no text baseline offset request". If you have code using ItemSize() with an hardcoded zero you may need to change it. (+1 squashed commits)
5 years ago
omar 23c1ff4907 Removed redirecting functions/enums names that were marked obsolete in 1.52 (October 2017).
- Begin() [old 5 args version]     -> use Begin() [3 args], use SetNextWindowSize() SetNextWindowBgAlpha() if needed
- IsRootWindowOrAnyChildHovered()  -> use IsWindowHovered(ImGuiHoveredFlags_RootAndChildWindows)
- AlignFirstTextHeightToWidgets()  -> use AlignTextToFramePadding();
- SetNextWindowPosCenter()         -> use SetNextWindowPos() with a pivot of (0.5f, 0.5f)
- ImFont::Glyph                    -> use ImFontGlyph
If you were still using the old names, read "API Breaking Changes" section of imgui.cpp to find out the new names or equivalent features, or see how they were implemented until 1.73.
5 years ago
Rokas Kupstys 714fe29d1a Replace manual flooring with IM_FLOOR() macro. (#2850)
Macro is used to ensure that flooring operation is always inlined even in debug builds. __forceinline does not force inlining in /Od builds with MSVC.

(cherry picked from commit bc165df6fd7969605bbc07b8a6d3d28f9109e8f3)
5 years ago
omar 53278be61f FAQ, Readme. Use = {} instead of = { 0 }, wasn't problematic because they were all static variables or one stack array not read. But hey. 5 years ago
omar 5fc427a49e Improved and moved FAQ to docs/FAQ.md so it can be readable on the web. (#2848) 5 years ago
Rokas Kupstys 6892b81578 Remove trailing spaces from bunch of files.
(cherry picked from commit 50e0f8d4ddf4c426f62f346c8260a927f6b7c779)
5 years ago
omar c21fdabb43 Doc: Readme: moving contents to FAQ. 5 years ago
omar a41f0b2df4 Inputs: Fixed a miscalculation in the keyboard/mouse "typematic" repeat delay/rate calculation, used by keys and e.g. repeating mouse buttons as well as the GetKeyPressedAmount() function.
IMPORTANT: Renamed internal CalcTypematicPressedRepeatAmount to CalcTypematicRepeatAmount and reordered the t1, t0 arguments to t0, t1 !!
If you were using a non-default value for io.KeyRepeatRate (previous default was 0.250), you can add +io.KeyRepeatDelay to it to compensate for the fix.  The function was triggering on: 0.0 and (delay+rate*N) where (N>=1). Fixed formula responds to (N>=0).
Effectively it made io.KeyRepeatRate behave like it was set to (io.KeyRepeatRate + io.KeyRepeatDelay).
Fixed the code and altered default io.KeyRepeatRate,Delay from 0.250,0.050 to 0.300,0.050 to compensate.
If you never altered io.KeyRepeatRate nor used GetKeyPressedAmount() this won't affect you.
5 years ago
omar 67e4cd5cc6 Comments, some logging for NavInitRequest debugging Moved OpenPopupOnItemClick() next to BeginPopupContextItem() 5 years ago
omar 73fa6509a5 Internal: InputTextEx: tweaked a bit of code (should be a no-op) 5 years ago
omar a6c3be4bda Internals: Tweaks to ItemSize() should be harmless. Added DebugDrawItemRect() helper. 5 years ago
omar 892dfb1dea InputText, Nav: Fixed Home/End key broken when activating Keyboard Navigation. (#787)
Small refactor of ActiveIdUsingXXX inputs flags toward a little more consistent system. (#2637)
5 years ago
omar 0dad3f436b Fix harmless float calculation overflow. (#2813) 5 years ago
omar c262276988 Version 1.74 WIP 5 years ago
omar d5efe16157 Version 1.73 5 years ago
omar ca858c084b Demo tweaks. Comments. Compacting the rarely used AutoFitXXX fields in ImGuiWindowTempData. 5 years ago
omar 52deb415e0 Internal: Refactored internal RenderMouseCursor so colors can be specified. (#2614) 5 years ago
omar 25849234f6 Internal: Tree: tweaks (initially tried to implement auto-scrolling, stashed) 5 years ago
omar a45e3b5bb3 Readme, Wiki: Image loading examples. 5 years ago
omar 74e01e62ce Fixed unused static function warning for some compilers. (#2793) 5 years ago
omar b48dc067ae Style: Allow style.WindowMenuButtonPosition to be set to ImGuiDir_None to hide the collapse button. (#2634, #2639)
+ Fix #2775
5 years ago
omar 3b014d0c31 Merge branch 'features/ellipsis_rendering'
# Conflicts:
#	imgui.cpp
5 years ago
omar 7d5a17e5e4 Remove trailing spaces (grep for ' \r?$' in visual studio) 5 years ago
omar 1c951dca97 Font: Narrow ellipsis: once we know an ellipsis is going to be drawn, we can claim the space between pos_max.x and ellipsis_max.x which gives us enough extra space to not requires the further (and otherwise valid) optimizations. Gets us vastly simplified code, yay. (#2775) 5 years ago
omar 57623c15dd Font: Narrow ellipsis: various minor stylistic tweaks (#2775) 5 years ago
Rokas Kupstys 45405f0dc9 Font: implement a way to draw narrow ellipsis without relying on hardcoded 1 pixel dots. (#2775)
This changeset implements several pieces of the puzzle that add up to a narrow ellipsis rendering.

## EllipsisCodePoint

`ImFontConfig` and `ImFont` received `ImWchar EllipsisCodePoint = -1;` field. User may configure `ImFontConfig::EllipsisCodePoint` a unicode codepoint that will be used for rendering narrow ellipsis. Not setting this field will automatically detect a suitable character or fall back to rendering 3 dots with minimal spacing between them. Autodetection prefers codepoint 0x2026 (narrow ellipsis) and falls back to 0x0085 (NEXT LINE) when missing. Wikipedia indicates that codepoint 0x0085 was used as ellipsis in some older windows fonts. So does default Dear ImGui font. When user is merging fonts - first configured and present ellipsis codepoint will be used, ellipsis characters from subsequently merged fonts will be ignored.

## Narrow ellipsis

Rendering a narrow ellipsis is surprisingly not straightforward task. There are cases when ellipsis is bigger than the last visible character therefore `RenderTextEllipsis()` has to hide last two characters. In a subset of those cases ellipsis is as big as last visible character + space before it. `RenderTextEllipsis()` tries to work around this case by taking free space between glyph edges into account. Code responsible for this functionality is within `if (text_end_ellipsis != text_end_full) { ... }`.

## Fallback (manually rendered dots)

There are cases when font does not have ellipsis character defined. In this case RenderTextEllipsis() falls back to rendering ellipsis as 3 dots, but with reduced spacing between them. 1 pixel space is used in all cases. This results in a somewhat wider ellipsis, but avoids issues where spaces between dots are uneven (visible in larger/monospace fonts) or squish dots way too much (visible in default font where dot is essentially a pixel). This fallback method obsoleted `RenderPixelEllipsis()` and this function was removed. Note that fallback ellipsis will always be somewhat wider than it could be, however it will fit in visually into every font used unlike what `RenderPixelEllipsis()` produced.
5 years ago
Qix 561e7dd490 Fix signed types warning in pasteboard handler (#2786) 5 years ago
omar b05f6f6f50 Nav, Scrolling: Added support for Home/End key. (#787) 5 years ago
omar bfcdaeb610 Disable with ConfigWindowsMemoryCompactTimer < 0.0f (#2636) 5 years ago
omar 62f75c7fb1 Added a mechanism to compact/free the larger allocations of unused windows (buffers are compacted when a window is unused for 60 seconds, as per io.ConfigWindowsMemoryCompactTimer = 60.0f). Note that memory usage has never been reported as a problem, so this is merely a touch of overzealous luxury. (#2636) 5 years ago
omar cb538fadfe Internals: Storing settings using ImVec2ih to match what we are doing with dock node. + removed ImMax from reading Size value (done in Begin) + removed seemingly unnecessary FLT_MAX compare in SettingsHandlerWindow_WriteAll.
About: Added backquote to text copied into clipboard so it doesn't mess up with github formatting when pasted.
5 years ago
omar 3fb5cf3541 Using offsetof() when available in C++11. Avoids Clang sanitizer complaining about old-style macros. (#94) 5 years ago
omar c4b0bf718a More typos in comments (#2738) 5 years ago
omar a856c670c1 TabBar: fixed single-tab not shrinking their width down.
+ minor typo fixes (#2738)
5 years ago
omar a33cedda14 Internals: Renaming window size calc functions. 5 years ago
omar 9fce278918 ColorPicker: Made rendering aware of global style alpha of the picker can be faded out. (#2711)
Note that some elements won't accurately fade down with the same intensity, and the color wheel when enabled will have small overlap glitches with (style.Alpha < 1.0).
5 years ago
omar f624455d7b Version 1.73 WIP 5 years ago
omar 9bd7846f07 Internal: Made ScrollToBringRectIntoView() handle recursing back to scroll parent window, so the function can be called elsewhere (instead of 1 deep recursion done in NavUpdateMoveResult(). 5 years ago
omar 6a0d0dab5a Version 1.72b (patch for nav) 5 years ago
omar 4cfaf7d89c Scrolling, Nav: Fixed programmatic scroll leading to a slightly incorrect scroll offset when the window has decorations or a menu-bar (broken in 1.71). This was mostly noticeable when a keyboard/gamepad movement led to scrolling the view, or using e.g. SetScrollHereY() function. Fix/amend a0994d74. 5 years ago
omar 3548fb8013 Internal refactor: moved all Scroll related functions in a same spot. 5 years ago
omar 1b1e539288 Internal: Moved NavScrollToBringItemIntoView() declaration to imgui_internal.h. Fixed spacing missing in 494d804. Fixed changelog wreck from 1.72. 5 years ago
omar 5ef7445d92 Internal: Avoid using GImGui multiple times in same function. 5 years ago
omar 85ad8e0e2e Nav: Fixed an issue with NavFlattened window flag where widgets not entirely fitting in child window (often selectable because of their extruded bits) would be not considered to navigate toward the child window. (#787)
This creates a little bit of tension because g.NavDisableHighlight tends to makes the reference point not always visible.
Amend c665c15a7d
5 years ago