Commit Graph

3628 Commits (179dc04d8a3969654def9c60c7db31864b07580c)

Author SHA1 Message Date
omar 3e30bfd6c9 Revert "Fixes crash/assert bug introduced in d845135 (): would assert when showing the CTRL+Tab list and or fallback "...." tooltip."
This reverts commit 1b0e38df47.
omar 1b0e38df47 Fixes crash/assert bug introduced in d845135 (): would assert when showing the CTRL+Tab list and or fallback "...." tooltip.
omar 6b97ded438 Happy new year! & comments
omar e21bc44684 Comments: fixed missing line in the "how a simple rendering function may look like" section ()
omar d845135273 Error recovery: Extraneous/undesired calls to End() are now being caught by an assert in the End() function itself at the call site (instead of being reported in EndFrame). Past the assert, they don't lead to crashes any more. Missing calls to End(), pass the assert, should not lead to crashes any more, nor to the fallback/debug window appearing on screen. ().
omar a9a60a24c1 Tweaked asserts
omar b471813f54 Made it illegal to call Begin("") with an empty string. This somehow accidentally worked before but had various undesirable side-effect as the window would have ID zero. In particular it is causing problems in viewport/docking branches.
omar 5691385a33 IO: Added BackendPlatformUserData, BackendRendererUserData, BackendLanguageUserData void* for storage use by back-ends. ( + for cimgui)
omar 6890e08bc5 Fixed using SetNextWindowPos() on a child window (which wasn't really documented) position the cursor as expected in the parent window, so there is no mismatch between the layout in parent and the position of the child window. Demo tweak and adding some child window stuff
omar 89ac0ea7c1 Various user-facing comments
omar 84d1ce3958 Tidying up README, moved entries to FAQ, updated screenshots, removed comma in title.
omar ca953f0fee Fix merge issue on master.
omar ae76a1fda7 Window, Focus, Popup: Fixed an issue where closing a popup by clicking another window with the _NoMove flag would refocus the parent window of the popup instead of the newly clicked window.
omar 510ca373a2 Moved setting up NavHideHighlightOneFrame from lower-level ClosePopupToLevel() to CloseCurrentPopup() with an explanation. (Followup on 68d3e139a7)
omar 65dac02171 Internals: Popups: Renamed CurrentPopupStack to BeginPopupStack which is much less ambiguous.
omar f1c7596409 Internals: Popup related comments. Renamed the misleading internal ClosePopup() function. Added bool* test to BeginPopupModal in demo.
omar 587506dd57 Tests: Changed prototype of ImGuiTestEngineHook_ItemAdd to match functions called in same spot. Made ButtonBehavior submit fallback item info if ItemAdd() was not called (for resize grips, resize borders, scrollbar, columns, etc.)
omar 8497948ba0 Comments, minor tweaks.
omar febc3e6aa1 Internals: Windows hidden with HiddenFramesRegular (but NOT HiddenFramesForResize) preserve their SizeContents, so restoring a auto-resize window after it's been hidden by tabs won't reset its size for a frame. Arguable. Let's see how it goes. (Followup to b48e295bddbf965d7382ec5578ed05d2fe601114)
omar d9a84de9d9 Contents size is preserved while a window collapsed. Fix auto-resizing window losing their size for one frame when uncollapsed.
omar 54a60aaa40 Added BETA api for Tab Bar/Tabs widgets. (, ) (merged this feature from the from Docking branch so it can be used earlier as as standalone feature)
- Added BeginTabBar(), EndTabBar(), BeginTabItem(), EndTabItem(), SetTabItemClosed() API.
- Added ImGuiTabBarFlags flags for BeginTabBar().
- Added ImGuiTabItemFlags flags for BeginTabItem().
- Style: Added ImGuiCol_Tab, ImGuiCol_TabHovered, ImGuiCol_TabActive, ImGuiCol_TabUnfocused, ImGuiCol_TabUnfocusedActive colors.
- Demo: Added Layout->Tabs demo code.
- Demo: Added "Documents" example app showcasing possible use for tabs.
omar cc1283fb78 Added ImGuiWindowFlags_UnsavedDocument window flag to append '*' to title without altering the ID, as a convenience to avoid using the ### operator. (merged from Docking branch)
omar 15447f5b7b Using named flags instead of 0 + shallow formatting tweaks from other branches.
omar 9476e07d5a Added io.ConfigWindowsMoveFromTitleBarOnly option. Still is ignored by window with no title bars (often popups). This affects clamping window within the visible area: with this option enabled title bars need to be visible. ()
Tweaked default value of style.DisplayWindowPadding from (20,20) to (19,19) so the default style as a value which is the same as the title bar height.
omar 59f3c4fc20 Renamed io.ConfigResizeWindowsFromEdges to io.ConfigWindowsResizeFromEdges and removed its [Beta] mark. Resizing windows from edge is now enabled by default (io.ConfigWindowsResizeFromEdges=true). Note that it only works _if_ the back-end sets ImGuiBackendFlags_HasMouseCursors, which the standard back-end do.
omar d20e3ee710 Tests: Adding imgui-test engine hooks (experimental) to provide missing widget state to the testing system.
omar 125e62491e Internals: Nav: Added ImGuiNavLayer_ to clarify semantic of previously integer NavLayer values, and not pretend that increment/decrement operators on them super flexible. + Storage tweaks.
omar fb6ef8b1db Comments, tweak
omar 10e13dd6bb Version 1.67 WIP (again, this time IMGUI_VERSION_NUM has leeway for another hot-fix).
omar 801645d350 Version 1.66b (will revisit how to change IMGUI_VERSION_NUM across versions, this commit reduces the numerical IMGUI_VERSION_NUM compared to the commit on Nov 22).
omar 7658035e5a About, IO: Added io.BackendPlatformName, io.BackendRendererName for informational/QA purpose.
omar 3849def253 Added ShowAboutWindow(), About Window now showing various config/build information.
omar baf67d393f When the focused window become inactive don't restore focus to a window with the ImGuiWindowFlags_NoInputs flag. ()
omar 4105cc7e97 Added ImGuiConfigFlags_None, ImGuiBackendFlags_None for good measure.
omar d27ffefbd4 Version 1.67 WIP
omar da3c4330c1 Version 1.66
omar cc4b1f9e47 Nav: Fixed explicit directional input not re-highlighting current nav item if there is a single item in the window and highlight has been previously disabled by the mouse. ()
omar b9ae9bb1e3 Internals: Using GetOverlayDrawList(ImGuiWindow*) to match syntax of viewport/master branches. Fixed compiling with IMGUI_DEBUG_NAV_RECTS
omar 50c43d1c8e Removed unnecessary ImGui:: prefixes.
omar 6b4443755d Internals: Added FindWindowByID() helper. ()
omar aa668c410a Nav: Fixed an assert in certain circumstance (mostly when using popups) when mouse positions stop being valid. () + adding a else block to make NavCalcPreferredRefPos() more explicit.
omar 19b4fcdacb Made IsWindowFocused() work outside of NewFrame()-EndFrame() and added comments about how ImGuiFocusedFlags_AnyWindow should NOT be used in place of io.WantCaptureMouse. ()
omar c808eb92c6 Config: Added IMGUI_DISABLE_WIN32_FUNCTIONS to disable linking with _any_ Win32 function, as a general forward compatible measure.
Torkel Bjørnson-Langen 1441756a0f Doc: Fixed comments referring to LoadFromFileTTF() instead of AddFontFromFileTTF() ()
omar 12c72d2893 Fixed OpenGL texture loading example in comment + Discourse link to root of discourse
omar a72d5ada61 Misc comments improvements
omar ac9aaf4b6e Comments in demo and opengl code + Internals: Added HoveredIdNotActiveTimer tracking hovering time unless the item is active, which is a commonly useful pattern.
omar 5be915d6ab Added ImGuiWindowFlags_NoMouseInputs which is basically the old ImGuiWindowFlags_NoInputs (essentially we have renamed ImGuiWindowFlags_NoInputs to ImGuiWindowFlags_NoMouseInputs). Made the new ImGuiWindowFlags_NoInputs encompass both NoMouseInputs+NoNav, which is consistent with its description. (, )
omar 90b50bd4c3 Window: Added ImGuiWindowFlags_NoBackground flag for consistency and to ease creating new flag combinations. Added ImGuiWindowFlags_NoDecoration helper flag which is essentially NoTitleBar+NoResize+NoScrollbar+NoCollapse. ()
omar ca753829cb Revert using wchar_t functions (9cf94d5 + 2eaf5b0). Big mistake, wchar_t is not guaranteed to be 16-bits.
omar 28953208d4 Tests: Added imgui-test engine hooks (experimental).
omar 9cf94d5dd6 RenderText(), InputTextMultiline(): Optimization for large text by using memchr, wmemchr, wcschr when appropriate.
omar 0fe48cbb61 Renamed misc/stl/imgui_stl.h,.cpp to misc/cpp/imgui_stdlib.h in prevision for other files.(, )
Added misc/README file.
omar ed4dcd9072 Shutdown: Unlock font atlas before destroying context, so we can destroy a context between NewFrame and EndFrame if we wait (facilitate main loop structures). Internals: GetWindowScrollMaxX(), GetWindowScrollMaxY()
omar cf0afb48ac TextUnformatted: Using memchr(), fixed not properly testing for text_end bound + comments.
Internals: Added ImStreolRange() + used in LogRenderedText() + comments.
omar d02b11dfbd ImGuiTextBuffer: Avoid heap allocation when empty.
omar 1efafa1d29 Comments + internal using Tab Stop terminology (ImGuiItemFlags_NoTabStop instead of !ImGuiItemFlags_AllowKeyboardFocus)
omar fbfe193fcd Window, Inputs: Fixed resizing from edges when io.MousePos is not pixel-rounded by rounding mouse position input. ()
omar ae7f833c69 Window: Resizing from edges (with io.ConfigResizeWindowsFromEdges Beta flag) extends the hit region of root floating windows outside the window, making it easier to resize windows. Resize grips are also extended accordingly so there are no discontinuity when hovering between borders and corners. (, , )
omar e623be998d Drag and Drop: Added GetDragDropPayload() to peek directly into the payload (if any) from anywhere. ()
omar 3dcd552628 Fixed extraneous static attribute. ()
Loïc HAMOT 9aae21483a Fix missing IMGUI_API and mismatching namespace internal's CreateNewWindowSettings ()
omar 61d94ff88e Renamed SetScrollHere() to SetScrollHereY(). Kept redirection function (will obsolete).
omar a7d3ae8937 BeginChild(): Fixed BeginChild(const char*, ...) variation erroneously not applying the ID stack to the provided string to uniquely identify the child window. This was undoing an intentional change introduced in 1.50 and broken in 1.60. (, , ) + reworked the Begin/BeginChild comments in imgui.h.
omar e2436ca625 Nav, Focus: Fixed ImGuiWindowFlags_NoBringToFrontOnFocus windows not being restoring focus properly after the main menu bar or last focused window is deactivated.
omar 062b1f0463 Fixed calling SetNextWindowSize()/SetWindowSize() with non-integer values leading to accidental alteration of window position. We now round the provided size. ()
omar 2eaf722fd7 Fixed calling DestroyContext() always saving .ini data with the current context instead of the supplied context pointer. ()
omar eb7033e75b Version 1.66 WIP
omar e0cab5664a Version 1.65
omar 5a679a45cc Renamed stb_truetype.h to imstb_truetype.h, stb_textedit.h to imstb_textedit.h, and stb_rect_pack.h to imstb_rectpack.h. (, )
If you were conveniently using the imgui copy of those STB headers in your project, you will have to update your include paths.
The reason for this change is to avoid conflicts for projects that may also be importing their own copy of the STB libraries. Note that imgui's copy of stb_textedit.h is modified.
omar e58bc3d5b7 Refactor: Tweaked and improved the sectioning to facilitate grepping/moving around and applied to all files. ()
omar 0b18c11440 Refactor: Moved ImFile functions. ()
omar ab64e8f993 Refactor: Moved one indentation level in the bulk of the ShowMetricsWindow() function. Should appear as a small diff if whitespaces changes are ignored. ()
omar bb3184af74 Refactor: moved low-layout helpers to imgui_widgets.cpp (Spacing, Dummy, NewLine, Separator, etc.) ()
omar cbdce80837 Internals: Refactor: Moved render functions to their own section. ()
omar 65876f348a Nav: Removed the [Beta] tag from various descriptions of the gamepad/keyboard navigation system. Although it is not perfect and will keep being improved, it is fairly functional and used by many. ()
omar 77ba883f23 Renamed io.OptCursorBlink/io.ConfigCursorBlink to io.ConfigInputTextCursorBlink. () + changed ImGuiIO layout.
omar bbcc976739 Demo: Added a "Configuration" block to make io.ConfigFlags/io.BackendFlags more prominent.
omar b944aa623c Minor mostly inconsequential merges from Viewport + LoadIniSettingsFromMemory() entirely skip lines starting with ';'
omar 40db2ca098 Fixed a build issue with non-Cygwin GCC under Windows.
omar bcb1441ce7 Version 1.65 WIP
omar 5d40d295b3 Comments, readme updates
omar 48db5713d6 Version 1.64
omar 38cfcf9fbc Tweak comments and indexes
omar 8a216fe756 Refactor: Internals: Moved Tooltip functions in imgui.cpp in their own section + comments. ()
omar fd2bfb7e07 Refactor: Internals: Moved Popup functions in imgui.cpp in their own section. (part 3) ()
omar 064b949bc2 Refactor: Internals: Moved Popup functions in imgui.cpp in their own section. (part 2) ()
omar 2a0d26e603 Refactor: Internals: Moved Popup functions in imgui.cpp in their own section. (part 1) ()
omar df37a156e8 Refactor: Moved Scrollbar function from imgui.cpp to imgui_widgets.cpp, added file index ()
omar 728b2ef026 Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. DONE! (part 9) (, )
omar cda45737ab Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. (part 8) (, )
omar acf3cc4c3f Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. (part 7) (, )
omar 8a6fd237f6 Refactor: Internals: Restored new lines in NavUpdate() ... (part 6) (, )
omar 84eb2682b7 Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section (moved NavUpdate which would not diff properly unless empty lines were removed, hence the previous patch). (part 5) (, )
omar 73052dc00c Refactor: Internals: Removing new lines from NavUpdate solely because I couldn't find another way to get a neat diff/patch when moving it. (part 4) (, )
omar 6bda59e5b7 Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section (extracted some code out of NavUpdate()). (part 3) (, )
omar 60ee4de56d Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. (part 2) (, )
omar ce58795bdf Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. (part 1) (, )
omar f2926f910f Refactor: Internals: Moved Logging functions in imgui.cpp in their own section. ()
omar 15172f0742 Refactor: Internals: Moved Settings functions in imgui.cpp in their own section. ()
omar 98f618ed18 Refactor: Internals: Moved various functions in imgui.cpp ()
omar 2714f8fa23 Refactor: Moved Slider/Drag/Input functions + support DataType stuff from imgui.cpp to imgui_widgets.cpp ()
omar c25f48b902 Refactor: Moved InputText functions from imgui.cpp to imgui_widgets.cpp ()
omar ad0bfdcd95 Refactor: Moved ColorEdit/ColorPicker/ColorButton/etc. functions from imgui.cpp to imgui_widgets.cpp ()
omar 5dc954f5d7 Refactor: Moved Tree/Selectable functions from imgui.cpp to imgui_widgets.cpp ()
omar a265c62636 Refactor: Moved Plot/Value functions from imgui.cpp to imgui_widgets.cpp ()
omar 0e9577d0da Refactor: Moved Menu functions from imgui.cpp to imgui_widgets.cpp ()
omar f26b8c1e07 Refactor: Moved Combo/ListBox functions from imgui.cpp to imgui_widgets.cpp ()
omar 6468a3c0ce Refactor: Moved Button/Image/Checkbox/RadioButton/Bullet/ProgressBar functions from imgui.cpp to imgui_widgets.cpp ()
omar 3eaa063984 Refactor: Moved Text functions from imgui.cpp to imgui_widgets.cpp ()
omar f2aa124eb8 Version 1.64 WIP
omar 9e0f24dcb6 Version 1.63
omar 92edb7a4e3 Internals: Tidying up, moving helpers to imgui_internal.h (in prevision of 1.64 refactor)
omar 2598d26c73 ColorEdit4: Fixed a bug when text input or drag and drop leading to unsaturated HSL values would erroneously alter the resulting color. ()
omar f9634feb66 Internals: Merged some changes to facilitate 1D->2D transition for some elements, and merging the stack layout PR ()
omar 06e917f135 Internals: Renaming of non-user facing parts from ValueChanged to Edited terminology. (, , , )
omar 0810d57819 Renamed IsItemDeactivatedAfterChange() to IsItemDeactivatedAfterEdit() for consistency with new IsItemEdited() API. Kept redirection function (will obsolete fast as IsItemDeactivatedAfterChange() is very recent). (, , , )
omar e28b1078f5 Added IsItemEdited() to query if the last item modified its value (or was pressed). This is equivalent to the bool returned by most widgets. It is useful in some situation e.g. using InputText() with ImGuiInputTextFlags_EnterReturnsTrue. ()
omar abaa274592 Internals: Wired a ImGuiItemStatusFlags_ValueChanged into ItemStatusFlags, for an hypothetical IsItemValueChanged() function. ()
omar 102d5e6de6 Rearrange header comments to find enums easily + fixed inconsistent sorting.
omar 7011d87bf8 InputText: Improved sturdiness if the ResizeCallback purposefully modify data->BufTextLen or data->BufSize. (, , )
omar 7d9d9bc34e InputText: Fix ResizeCallback callback on restoring initial value with Escape key. Avoid over-allocating for InitialText storage. (, , )
omar ea9f5d7600 Added optional misc/stl/imgui_stl.h wrapper to use with STL types (e.g. InputText with std::string). (, , , )
omar 8d639ec60d InputText: callback InsertChars() support resize callbacks correctly (followup to 24ff259) + fixed demo to use those functions. (, , ).
omar ea1906004b InputText: Fixed a few pathological crash cases on single-line InputText widget with multiple millions characters worth of contents. Because the current text drawing function reserve for a worst-case amount of vertices and how we handle horizontal clipping, we currently just avoid displaying those single-line widgets when they are over a threshold of 2 millions characters, until a better solution is found.
omar 5122c76441 InputText: Fixed not tracking the cursor horizontally When modifying the text buffer through a callback.
omar 68448c5faa ImDrawList: Large text passed to AddText() are being scanned for their end in order to avoid pre-reserving too many vertices.
omar 2dc5ec95d7 Internals: InputText: Renaming. Comments.
omar 9f393c38e9 InputText: Renamed ImGuiTextEditCallback to ImGuiInputTextCallback, ImGuiTextEditCallbackData to ImGuiInputTextCallbackData for consistency. Kept redirection types (will obsolete).
omar 24ff259816 InputText: Added support for buffer size/capacity changes via the ImGuiInputTextFlags_CallbackResize flag. (, , ).
omar 4de6e1f7e4 InputText: Internal renaming of some fields + final copy uses edit_state.CurLenA+1 instead of buf_size.
omar 0fd6e9bc0d InputText: Fixed minor off-by-one issue when submitting a buffer size smaller than the initial zero-terminated buffer contents.
omar e6c78f9470 InputText: (Breaking change) removed ImGuiTextEditCallbackData::ReadOnly since it is a duplication of (ImGuiTextEditCallbackData::Flags & ImGuiInputTextFlags_ReadOnly) ()
omar 5942c08143 Added IMGUI_VERSION_NUM for easy compile-time testing. ()
omar f23d29b481 Added links to Discourse forums.
omar 4910629f6a Internals: Moved code out of SliderBehaviorT to reduce code bloat and also because caller may have use for the grab_bb for styling purposes.
omar bb2de30e3e Internals: Added ImTextCountUtf8BytesFromChar() helper.
omar ac39c4b2a8 SplitterBehavior: Fix for when the sizes are already under the minimum desired size.
omar 341ebd961b Fixed assertion when transitioning from an active ID to another within a group, affecting ColorPicker (broken in 1.62). Made ActiveIdIsAlive track the actual ID to avoid incorrect polling in BeginGroup/EndGroup when the ID changes within the group. (, , , ).
omar 8972ebae73 Metrics: Added io.MetricsActiveAllocations, moving away from the cross-context global counters than we previously used. (, , )
omar caaa746424 Nav: NavWindowingList doesn't save to .ini file. TODO entries.
omar fda9dc8e18 Internals: Extracted RenderMouseCursor() out of EndFrame(). Moved to imgui_draw.cpp along with RenderArrowPointingAt(). Comments. ()
omar 421dc19798 Examples: Cast to ImTextureID instead of void* when assigning to TexId. Applied to all examples. ()
omar d5793102db imgui_impl_opengl3: Advertised as a ES2/ES3 renderer. Defaults to ES3 on Android. Default on "#version 300 es" on ES 3. (, )
omar 0065fe16a2 Nav: Made CTRL+TAB skip menus + skip the current navigation window if is has the ImGuiWindow_NoNavFocus set. ()
While it was previously possible, you won't be able to CTRL-TAB out and immediately back in a window with the ImGuiWindow_NoNavFocus flag.
omar 9d8a0374d3 Use literals in place of LLONG_MIN, LLONG_MAX ULLONG_MAX if they are not available. Amend 498c0dcb4c. We prefer using the defines if available in limits.h because they somehow tend to work without warnings when enabling strict C++03 compilation. The 3 literals are fallbacks.. ().
omar 0905202f44 Internals: Minor renaming for consistency.
omar bc6ac8b2ae Metrics: Changed io.MetricsActiveWindows to reflect the number of active windows (!= from visible windows), which is useful for lazy/idle render mechanisms as new windows are typically not visible for one frame.
Metrics: Added io.MetricsRenderWindow to reflect the number of visible windows.
omar 498c0dcb4c Using limits.h LLONG_MIN etc. to increase old-compiler compatibility (as ll and ull prefixes were not standard). Not tested much on old compilers, relying on Clang/GCC warnings.
omar 87e2fea09d Renamed io.OptResizeWindowsFromEdges to ConfigResizeWindowsFromEdges, io.OptCursorBlink to io.ConfigCursorBlink, io.OptMacOSXBehaviors to ConfigMacOSXBehaviors for consistency. (, , , , )
Demo: Exposed flags in Demo.
omar 65b46f62ef Fixed PushID() from keeping alive the new ID Stack top value (if a previously active widget shared the ID it would be erroneously kept alive) (drag and drop demo could soft-lock the UI until pressing Escape!)
omar 7e1678ff00 Drag and Drop: Elapse payload as soon as delivery is made. ()
omar faf2c34149 Drag and Drop: Added ImGuiDragDropFlags_SourceAutoExpirePayload flag to force payload to expire if the source stops being submitted. (, ).
omar 79ae6d3bf6 Drag and Drop: Clear payload buffers more consistently in ClearDragAndDrop() + BeginDragDropTargetCustom() can't succeed with hidden contents. ()
omar e13e5982ff Drag and Drop: Payload stays available and under the mouse if the source stops being submitted, however the tooltip is replaced by "..." + moved FrameScopeActive = false at the bottom of EndFrame() for safety. ()
omar f88bf9cea3 InvisibleButton: Added an assert to catch common type of passing zero-sized dimensions. ()
omar a7ac9e8346 Made assertion more clear when trying to call Begin() outside of the NewFrame()..EndFrame() scope. ()
omar 4d5dcdb57a Internals: Changed signature of ShadeVerts functions to remove pointers. (, , )
omar f05aede098 Revert "Assert that fmt != NULL before calling vsnprintf ()"
This reverts commit 84183f5bb6.
omar 80db2383d8 Speculative va_copy() fix for old versions of GCC/Clang. (cannot repro) ()
omar 2a67aeaa3d Visual Studio: calling into _vsnprintf. ()
omar 15a93d6fe3 Internals: Fixed HoveredIdTimer so it is safe to call SetHoveredId() multiple times without altering the timer.
omar f9e8b5c652 CollapseButton: Added hovering highlight + minor consistency tweaks.
omar 6211f40f3d Internals: Drag and Drop: default drop preview use a narrower clipping rectangle (no effect here, but other branches uses a narrow clipping rectangle that was too small so this is a fix for it) + Comments
omar 28c1a9857e Internals: Changed SplitterBehavior() signature to be consistent with other similar signatures. ().
omar 63df9d6311 Internals: Extracted part of Begin into UpdateWindowParentAndRootLinks(). Useful to call to keep state updated immediately (namely useful for docking) + small tidying up of imgui_internal.h
OswaldHurlem 84183f5bb6 Assert that fmt != NULL before calling vsnprintf ()
In the case of Visual Studio 15.6 + Windows SDK 10.0, vsnprintf() with NULL format string appears to corrupt the stack...
omar dd0d5debef Internals: Child windows that are clipped or part of a collapsed parent are not marked as collapsed anymore, but just a separate hidden marker set. We distinguish hiding for size measurement vs hiding for other reasons. Cleaned a little the end of Begin.
omar 0b045d8de5 Nav: Tweaked CTRL+TAB to hide visual noise on fast switch + fading out screen dimming and highlight to make the experience less harsh
omar 7adac4ab3e FAQ update
omar 0c88fad6c2 Internals: SplitterBehavior() added hover_visibility_delay parameter which is helpful to reduce visual noise. ()
omar 357534e588 Made it possible to move a window by dragging from the Collapse button (past the drag threshold). Extracted some code out to a CollapseButton() function.
omar 3a522b2400 Internals: Renamed one of the arrow functions so their name don't collide.
omar 528b50a89f Fixed horizontal mouse wheel not forwarding the request to the parent window if ImGuiWindowFlags_NoScrollWithMouse is set. (, , )
omar 4b8ce24e46 Internals: Extracted part of NewFrame() into a UpdateMouseWheel() function.
omar 4ebd442a24 Added asserts to catch illegal modifications of the font atlas between NewFrame() and EndFrame()/Render(). ()
omar e07f5d4c78 Changed ImGui::GetTime() return value from float to double to avoid accumulating floating point imprecisions over time.
omar 048add5ef2 ImGuiTextFilter, TextRange: removed cruft from TextRange since it's not a publicly and generic helper at the moment + marked internal stuff + changed a reference to a pointer. ()
omar 93321d3280 Nav: Fixed CTRL+TAB windowing list from always showing the implicit Debug window. ()
Rokas Kupstys 7e59eb026b Fix warning when IMGUI_DEFINE_MATH_OPERATORS is already defined by build system. ()
omar 5e73e969fb Comments, exposed a few things in imgui_internal.h for consistency, added ImQsort wrapper.
omar 23288547ec Revert part of c7016c2 incorrectly renaming ImGuiCol_NavWindowingHighlight to ImGuiCol_NavWindowListHighlight, that was wholly unnecessary (and not documented!). (also invalidate )
omar 9007dff5eb IsItemHovered(): Added ImGuiHoveredFlags_AllowWhenDisabled flag to query hovered status on disabled items. (, )
+ shallow changelog tweaks
omar b829671df1 Fixed missing value in GetStyleColorName(). () broken with c7016c2
omar 4dfb9ef751 Internals: Extracted StartMouseMovingWindow so we can add code to turn an arbitrary widget into a window mover (will be useful to make the Collapse button a window mover past a mouse drag threshold) + added a couple of _None flags.
omar dc021f1c23 Internals: Fixed CalcSizeContents() returning negative value on first run (inconsequential afaik, but fixing for sanity)
omar 17f36038e0 Internals: Misc/shallow merge from Docking branch.
omar 7033b2043b Internals: Move IMGUI_CDECL declaration to imgui_internal.h so everyone can profit.
omar c7016c25e8 Nav: Added a CTRL+TAB window list and changed the highlight system accordingly. ()
omar 0708f91617 Internals: Removed RootWindowForTabbing, won't be needed. Nav: Not starting NavWindowingTarget when a modal is active (was not noticeable).
omar bd6097ac6f Drag and Drop: Calling BeginTooltip() between a BeginDragSource()/EndDragSource() or BeginDropTarget()/EndDropTarget() uses adjusted tooltip settings matching the one created when calling BeginDragSource() without the ImGuiDragDropFlags_SourceNoPreviewTooltip flag. () + additional safety checks.
omar 64938178b7 Internals: Moved selectable flags to avoid collision with public flags + rewrote some tests so we can consistently grep for (held && hovered)
omar a33f0d1f7f Drag and Drop: Fixed ImGuiDragDropFlags_SourceNoDisableHover to affect hovering state prior to calling IsItemHovered() + fixed description. ()
vby 3a42eb6620 Fix missing ImmReleaseContext in default Win32 IME handler ()
omar b0cdfe0ece Generalized d11d211e so regular popups (without the AlwaysAutoResize flag) also have a smaller minimum size, but reduced it to an arbitrary 4.0f instead of 1.0f to ease debugging of faulty situations. ()
omar c790723cfa Drag and Drop: Fixed an incorrect assert when dropping a source that is submitted after the target (bug introduced with 1.62 changes related to the addition of IsItemDeactivated()). (, )
omar d11d211e5d Allow popup from ignoring the style.WindowMinSize values so short menus are not padded. () Wider generalization of b16603745c.
omar 42bf149ac6 Removed per-window ImGuiWindowFlags_ResizeFromAnySide beta flag in favor `io.OptResizeWindowsFromEdges=true` to enable the feature globally. () The feature is not currently enabled by default because it is not satisfying enough.
omar 0146f4b456 Internals: BeginChildEx tweaks.
omar 7b2662d245 Examples: Comments, bits of documentation
omar 665bd1e140 Links and thanks. Comments on using BeginCombo/EndCombo + moved the Combo() implementations closer to each others to maximize user seeing how it is implemented from any of the secondary function body.
omar 004fe8916a Internals: Settings: Simple optimization caching index into the settings buffer, to remove an unnecessary O(N*M) search during saving. (with N=active root windows during the session, M=stored settings which grows over time)
omar b16603745c Allow menu windows from ignoring the style.WindowMinSize values so short menus are not padded. ()
omar 7adae3299e Double-click on resize grip doesn't need to test HoveredWindow (as button has the flattenchild flag anyway) + double-click on title bar verify that we don't have overlapping items to allow contents in title bar. + Comments
omar 79153cf19f Internals: Various renaming. e.g. NewFrameUpdateHoveredWindowAndCaptureFlags() to UpdateHoveredWindowAndCaptureFlags() + exposed UpdateMovingWindow() in imgui_internal.h.
omar 14ceaaf460 ArrowButton: Fixed to honor PushButtonRepeat() setting (and internals' ImGuiItemFlags_ButtonRepeat). Setup current line text baseline so that ArrowButton() + SameLine() + Text() are aligned properly.
omar 9d67d18d86 Internals: Moved some of the SliderBehaviorT code into SliderBehavior to reduce the amount of instanciated code.
omar c1d8dee6c5 Version 1.63 WIP
omar 1b74e3be02 Version 1.62
omar 40845852b9 Fixed warnings + readme
omar b5d385824d Added assert in TreePop() to ease catching ID stack underflow earlier.
omar 826d77185e Revert 640c0566: TreeNode: Fixed nodes with ImGuiTreeNodeFlags_Leaf flag always returning true which was meaningless -> more flexible to keep allowing it by default so it setup an ID scope.
omar ce0b36ba10 Added _None values to various enum flags, useful for readability and some coding style likes it. (Unfortunately we can't refer to them as default value in imgui.h functions because they need to be declared below).
omar 2a6fbb2197 Speculative fix for Win32 clipboard handler if SetClipboardText() fails + Minor fix for static analyzer + using :: prefix when calling in Win32 functions.
omar d57fc7fb97 Added IsItemDeactivatedAfterChange() if the last item was active previously, isn't anymore, and during its active state modified a value. Note that you may still get false positive. (, , )
omar be4b8b5615 Internals: Added GetItemID(), GetFocusID() for consistency. Made GetActiveID() inline. Comments, fixed typos, demo tweaks.
omar cd455a4600 Added IsItemDeactivated() to query if the last item was active previously but isn't anymore. Useful for Undo/Redo patterns. (, , )
omar c725710c6d Comments
omar cdf51cad2d Comments, documentation
omar 85f9694bd4 Big example binding refactor (manually imported from Viewport branch, stripped out of Viewport code). ()
Read examples/README.txt for some details.
ImDrawData: Added DisplayPos, DisplaySize fields honored by all backends (not strictly necessary to honor just now, but doing it to be ahead)
omar 8e48ab6b19 Nav: Addendum: only set io.WantSetMousePos if necessary. ()
omar e3710448ae Nav: Removed an unnecessary assertion that could fail when using Mouse and Keyboard simultaneously with the NavEnableSetMousePos flag. ()
omar 929529a0db SliderFloat(): When using keyboard/gamepad and a zero precision format string (e.g. "%.0f"), always step in integer units. ()
omar b3a5b8debd Popup: Improved handling of (erroneously) repeating calls to OpenPopup() to not fully close/re-open the popup so its child popups won't get closed. (, , ).
Followup/fix the change made in deab2ab015
omar 5a288b2d3a Readme, FAQ tweaks ()
omar d44faa165a Added GetGlyphRangesChineseSimplifiedCommon() helper that returns a list of ~2500 most common Simplified Chinese characters. Renamed GetGlyphRangesChinese() to GetGlyphRangesChineseFull() to distinguish other variants and discourage using the full set. ()
Changed the accumulative encoding to remove the implicit +1 which only saved a little space and made things more confusing.
omar 2a56105f85 TreeNodeEx(): The helper ImGuiTreeNodeFlags_CollapsingHeader flag now include ImGuiTreeNodeFlags_NoTreePushOnOpen. The flag was already set by CollapsingHeader(). The only difference is if you were using TreeNodeEx() manually with ImGuiTreeNodeFlags_CollapsingHeader and without ImGuiTreeNodeFlags_NoTreePushOnOpen. In which case you can remove the ImGuiTreeNodeFlags_NoTreePushOnOpen flag from your call (ImGuiTreeNodeFlags_CollapsingHeader & ~ImGuiTreeNodeFlags_NoTreePushOnOpen). ()
omar 916528080e InputTextMultiline(): Fixed double navigation highlight when scrollbar is active. ()
omar 512ffa37bd Nav: Fixed clipped scoring when exiting a NavFlattened child back to a parent item (clipping not desirable then). (followup and fix to c665c15). ()
omar 6d98c0323b Nav: Added support for PageUp/PageDown (explorer-style: first aim at bottom/top most item, when scroll a page worth of contents). ()
omar 2bdf0b54a2 Changelog formatting update, Todo, comments. Tweak Child demo. Shuffle some code in NavUpdate().
omar c665c15a7d Nav: When entering into a NavFlattened child we only consider the visible items for scoring (note that this only work assuming the NavFlattened child window has interactive items). Fixes accidentally hoping into a NavFlattened child. ()
omar f4120e20d5 Nav: NavFlattened: Fixed navigation miscrolling parent window when the current window is scrolling enough to keep the item in view. Fix feature added in e11610d6, typically affect large navigation steps (used by PageUp/PageDown). + comments ()
omar 5a7e98c7cf Internals: Nav: Removed ParentID from move result (unused, would need to be full-filled for PageUp/PageDown code) + FAQ typo fix.
omar 948009a8b2 Intensive FAQ answer for the million of people asking the same questions over and over again. (, , , , )
omar a2198bcf6b Made mouse drag distance calculation more robust to invalid mouse position. ()
omar 08e20ae465 Internals: Reintroducing LastActiveIdTimer because it is useful and to reduce merge conflicts. ()
omar d4b151076c Internals: Added BeginDragDropTooltip() internal function to convey semantic (drag and drop tooltip doesn't get clipped within display boundaries). Revert part of 3218666fb9. (, ).
omar 3218666fb9 Made drag source tooltip display at the same position as a regular tooltip to avoid discontinuity where dynamically swapping tooltip at the target site. Made drag source tooltip override previous tooltip if any. (, ).
omar 92b7d6bc4f Added ImGuiDragDropFlags_AcceptNoPreviewTooltip flag to disable drag source tooltip from the target site ()
omar 7fd9199a1d Internals: Selectable: Renamed variables. Todo update.
omar f843facba4 Internals: PushItemFlag() flags are inherited by BeginChild().
omar 0e83d74698 Documentation: FAQ, ID Stack, Fonts (, ), )
omar 251f178a6f Drag and Drop: Source doesn't report as hovered (at a lower-level). Source disable AllowOverlap flag if any set. ()
omar b88fbd69cc Drag and Drop: BeginDragDropSource(): Offset tooltip position so it is off the mouse cursor, but also closer to it than regular tooltips, and not clamped by viewport. ()
omar 09ea376a6a BeginCombo(), BeginMainMenuBar(), BeginChildFrame(): restore modified style at end of Begin instead of End so doesn't affect child windows, BeginTooltip() etc.. (allowed since 7b6b7038c5)
omar bf56b6b9a5 ColorEdit3, ColorEdit4, ColorButton: Added ImGuiColorEditFlags_NoDragDrop flag to disable ColorEditX as drag target and ColorButton as drag source. ()
omar 6c684ae39b Fixed GCC pre-8 build. () + added bonus the non-ASCII character pasted from GCC breaks my SourceTree/Git combo
omar 64b1645deb Disabled GCC 8.1.0 warnings -Wclass-memaccess ()
omar d5c8f404b2 Remove trailing white spaces.
omar ede5059e69 Internals: Forward declaring and commenting internal structures. Renamed ImGuiDrawContext to ImGuiWindowTempData, but kept .DC member name for backward compatibility purpose
omar 86f8cdbd98 Comments + Internals: Selectable: decoupled internal flags and removed their menu / menu-item semantic as upcoming changes are requiring more flexibility.
omar 640c056602 TreeNode: Fixed nodes with ImGuiTreeNodeFlags_Leaf flag always returning true which was meaningless. Tweak demo.
omar 99ff6fc7e4 Nav: Draft internal api to forward move request with loop/wrap options. Will rework for parallel scoring of two paths (as a generalization of the NavFlattened concept). ()
omar e11610d6ff Nav: To keep the navigated item in view we also attempt to scroll the parent window as well as the current window. ()
omar 036dce634e Version 1.62 WIP
omar 78b28d545f Version 1.61 + todo additions
omar 3f29ed6fd5 ColorEdit: Fixed not being able to pass the ImGuiColorEditFlags_NoAlpha or ImGuiColorEditFlags_HDR flags to SetColorEditOptions(). Demo tweak.
omar 725c13ca68 Fix for atof with glibc.
omar 2a2bb8970d Added ImAtof, ImCeil, ImFloorStd to IMGUI_DISABLE_MATH_FUNCTIONS for consistency. Configuration comments.
omar ff033f431b Added IMGUI_DISABLE_MATH_FUNCTIONS in imconfig.h to make it slightly easier to redefine wrappers to std maths functions such as fabsf(), fmodf(), etc. Comments.
omar 7475c1e7dd Data types: DragScalar: Fixed speed of integer values tweaking with keyboard/gamepad when speed < 1. Enforce min/max bounds when power curves are used. SliderScalar: Fixed integer/slow tweaking. ()
omar fc7fc83f9e Data types: DragScalar, InputScalar: default parameters. Added IM_STATIC_ASSERT(). Comments.
omar 0dc18a6ca6 Documentation tweaks, comments
omar 8149408408 Merge branch 'data_types'
# Conflicts:
#	CHANGELOG.txt
#	imgui.cpp
omar 14f575ff76 Scrolling: Fixed a case where using SetScrollHere(1.0f) at the bottom of a window on the same frame the window height has been growing would have the scroll clamped using the previous height. ()
omar 91e39e72a3 Combo: Horizontally offset items using WindowPadding instead of Indent, for consistency.
omar 773d484009 Internals: Made ContentsRegionRect absolute to reduce confusion. Renamed InnerRect to InnerMainRect, renamed WindowRectClipper to OuterRectClipped.
omar f83f566530 Internals: Nav: Extracted code into a NavClampToVisibleAreaForMoveDir() + fix debug code + inline some functions, removed obsolete EndChild() comment.
omar 4cabf599c4 Data types: Fix format srtings with leading blanks. Fix ColorEdit4() to not use obsolete formats (when using IMGUI_DISABLE_OBSOLETE_FUNCTIONS) ()
omar ad2927888b Apply fix from data_types branch, some widgets broken when format string doesn't contains a %. Broken by 92f0165f85. Data_types branch fix c5fb929555.
omar 5f464877ed Internals: Declaring DragBehavior, SliderBehavior in there (no warantee given) as they may be useful to custom widgets.
omar c5fb929555 Data types: Fixed empty format string (or no % specifier) breaking the parsing back of values.
omar 280c05e4f8 Fix to allow compiling in unity builds where stb_rectpack/stb_truetype may be already included in the same compilation unit.
omar 0bf43b3a1b Settings: Added LoadIniSettingsFromDisk(), LoadIniSettingsFromMemory(), SaveIniSettingsToDisk(), SaveIniSettingsToMemory(), io.WantSaveIniSettings. (, )
omar 023cc25c7c Internals: Removed unnecessary allocation indirection for g.LogClipboard (this only made sense when there was a global context instance)
omar 3e8087458d SliderScalar, VSliderScalar(): Support for any data types. Tested with various ranges/limits. Note that Drag/Slider/Input currently fail if the format string doesn't preview the actual value. Will fix next. (, , , )
omar 944f414cc6 Internals: A few selected math helpers are now using template to handle all supported types. Added ImPow() to wrap float/double in a standard manner without calling pow(double) when not needed in Drag code.
omar f4c16fbb99 Internals: Data types: Made format string optional. DragBehavior: Moved a bit of code outside of the template. Slider tidying up. Removed unnecessary call to fabsf().
omar dcd26f1295 DragFloat, DragInt: Default format string is none is passed to the function. Fixed demo using old style %.0f.
omar f47c756755 Internals: Missing const, some renaming. Tweak legacy fast path.
omar 0699ae161f DragInt, DragScalar: Actually made the fast-past handle the now-most-common case..
omar 7640439747 DragInt: Patch old format strings to replace %f by %d when using the DragInt() entry point. (, , , )
omar 069b284f17 Internals: Tidying up internal helpers. Fixed a case ImParseFormatTrimDecorations() can return an off by one (out of bound) pointer if the format string is invalid. Extracted ImParseFormatFindEnd() out of TrimDecorations so we can use it to find the format type and replace the %f in old Int apis.
omar 086c3925c4 Internals: Fixed DragInt* default format string. InputScalar(), InputScalarN(), removed InputFloatN(), InputInt(). Note that DragInt2/3/4 will %f format strings will currently be broken. (, , , )
omar 6c932479f2 Internal: DragScalar(), InputScalar() now support signed/unsigned, 32/64 bits, float/double data types. (, , , )
omar 93b8580a8d Internals: DragFloat: Fixed power handling. Use an temporary accumulator and no absolute values so we will be able to manipulate double as well as 64-bit integers. (, , )
omar 3f04fd0644 Internals: DragFloat: Removed DragSpeedScaleFast/DragSpeedScaleSlow since it's not yet usable and Nav version doesn't have an equivalent.
omar 4780ac1ca4 Internals: Data types: Added s64, u64 data types. Added support in InputScalar(). Removed internal.h InputScalarEx() to InputScalar(). Removed cheap-relative-operators support in recently added U32 data path, since this is heading toward being legacy code. + Fixed InputDouble parsing code. (, , )
omar d9fa1f869e Comments about using "power curves". Demo tweaks. ()
omar 8a370f6491 SliderFloat: Fixed grab size and steps with %g format. (, )
omar 10e3f17235 DragFloat/SliderFloat internal InputScalar trim leading/trailing spaces emitted from the format string when presenting an edit box to the user. ()
Follow up to 6881d065b8
omar a62f195e83 Internals: Renamed IsCharIsSpace() to IsCharIsBlank*() to match standard terminlogy and added ascii/u16 variations.
omar ef05141a06 Internals: InputScalarEx: Tweak internals so there is a fast path for the simple case.
(in particular because it makes it clear what the extra code is for, so people tempted to create their own InputText data transform/handler understand how little is actually needed)
omar ed756d474e Internals: Added ImGuiDataType_Uint32 data type which is usable with InputScalarEx().
omar 7df985bc5c Nav: Fixed hovering a Selectable() with the mouse so that it update the navigation cursor. Fixed c8b9b2c6 which was incorrect ()
omar a1da7f9860 Internals: Tweaked ParseFormatPrecision(), clarified its more limited purpose, allowing 2-digits precisions since it makes (some) sense for doubles. ()
omar 92f0165f85 DragFloat, SliderFloat: Rounding scalar using the provided format string instead of parsed precision. ()
omar 6881d065b8 DragFloat/SliderFloat internal InputScalar trip trailing decoration off the format string when presenting an edit box to the user. ()
omar d7e24416dd DragFloat/SliderFloat internal InputScalar relies on the user supplied format string to format and parse value. ()
The trailing text after the format will be displayed in the InputText but not affect back parsing. Ideally we can try to strip it later.
omar f2e9dddeca DragDrop: Removed const qualifier from ImGuiPayload 's void* data, easing casting on user side.
omar f80314754c InputFloat,InputFloat2,InputFloat3,InputFloat4: Added variations taking a more flexible and consistent optional "const char* format" parameter instead of "int decimal_precision". This allow using custom formats to display values in scientific notation, and is generally more consistent with other API. Obsoleted functions using the optional "int decimal_precision" parameter. ()
omar 73445ff248 Renamed all "display_format" arguments to "format" to emphasis that they also affect rounding of values. (, )
omar 8a38271a7c SliderFloat, DragFloat: Fix to allow input of scientific notation when Ctrl+Clicking a slider or drag, matching the change done in c19b2781 for InputFloat(). (, )
omar 066550de68 DragFloat, DragInt: Cancel mouse tweak when current value is initially past the min/max boundaries and mouse is pushing in the same direction (keyboard/gamepad version already did this).
omar a84aff1875 Internals: DragBehavior: tweaks internals.
omar 1d99b5f963 Internals: Reordered parameters of DataTypeFormatString() internal helper functions and shallow tweaks.
omar 101f9b42b7 InputText: Fixed returning true when edition is cancelled with Esc and the current buffer matches the initial value.
Bruce Mitchener f8c9c33d33 Fixed static analyzers warnings with bool literals ()
* Use `false` instead of `0` for a bool literal.
* Simplify calls to RadioButton to not need bool literals.
omar eb1c36fdfb Added IMGUI_CHECKVERSION() macro to compare version string and data structure sizes in order to catch issues with mismatching compilation unit settings. (, )
omar 711a63befc Misc: Stop moving window if mouse position becomes invalid. Flagged menus are _NoMove for sanity.
omar d317d90610 Misc: NavCalcPreferredRefPos selects between mouse and nav reference position + added sanity assert (merged from viewport branch to minimize branch drift).
omar 9cbca8c127 Begin: Shuffled some code, _should_ have no side-effect. Clear NextWindowData in one call and more consistently. (merged from viewport branch to minimize branch drift).
omar e3453d0dc4 Misc: Comments and shallow/small changes (merged from viewport branch to minimize branch drift).
Bruce Mitchener b28535d1da ImGuiTextBuffer::appendfv needs to va_end the args_copy.
omar 01fa934222 Internals: Removed unecessary Pos/PosFloat separation, only reason appears to be mostly pre-1.0. The only piece of code that I expected sub-pixel window position to matter actually already round its delta (wrongly so, will fix later/separately if we want).
Bruce Mitchener 7ebdadf92b Fix various typos.
omar 46698c96c5 Removed presumably obsolete MovingWindow tests which prevent move/merge logic in viewport branch from working in all situations (e.g. docking away when ActiveId is the ID of a tab)
omar dc03c93164 Internals: Removed misleading ImRect::FixInverted + fix minor formatting in Readme.
Demo: Fixed Overlay: Added a context menu item to enable freely moving the window.
omar 7b6b7038c5 Window: Relaxed the internal stack size checker to allow Push/Begin/Pop/.../End patterns to be used with PushStyleColor, PushStyleVar, PushFont without causing a false positive assert. ()
omar 22773e03a2 InputText: On Mac OS X, support Cmd+Shift+Z for Redo. Cmd+Y is also supported as major apps seems to default to support both. ()
omar e2f831c80e InputText: tweaks, minor refactoring, renaming + comments ()
omar 037d5a7e98 Columns: Fixed a bug introduced in 1.51 where columns would affect the contents size of their container, often creating feedback loops when ImGuiWindowFlags_AlwaysAutoResize was used. ()
omar 49a451d247 Window: Fixed windows using the ImGuiWindowFlags_NoSavedSettings flag from not using the same default position as other windows. ()
omar f93dce9513 InputText: Tweak to make the if statement more readable + update Changelog ()
Mikko Sivulainen 1554d97492 on OSX, ignore text input when CMD key is down
omar f5700f238d Documentations for Github users. Metrics: Fixed display of NavRectRel, added display of ParentWindow.
omar 6d6f4a85f6 Fixed DisplaySafeAreaPadding not affecting popups/tooltips/menus at it should have (partly broken in 2e5577f44f).
omar 6a0b2627ad BeginMainMenuBar: Followup to 1e41bad9. Removed public window flag. DisplaySafeAreaPadding defaults to (3,3) instead of (4.4). Comments, tab to spaces, Changelog. ()
Doug Binks 1e41bad90f Added DisplaySafeAreaPadding to MainMenuBar height and fixed starting x position. Fixes main menu bar problems with TVs. ()
omar 7241dc61d4 Fixed default proportional item width lagging by one frame on resize + miscellaneous minor tweaks.
daniel-murray 83d97d4a9b Fix typos KeyDown => KeysDown
omar d1c16d4ccd Documentation bits. Misc comments.
Guillaume Chereau 58fd8ea303 Fix minor error in doc
Not a big deal.
omar d1d2bbf86a Internals: Popup: Moved popup/menu/tooltip positioning code (viewport branch needs it organized in a different manner, so we are pushing the bulk of it here to minimize differences).
omar bfc0efaae9 Internals: Window: Aggregating ImDrawList into the ImGuiWindow structure.
omar 84fe711bdf Settings: Fixed saving an empty .ini file if CreateContext/DestroyContext are called without a single call to NewFrame(). ()
omar 296f03374b NewFrame: Prevent division by zero in frame rate calculation if io.DeltaTime is continuously zero. (, )
omar 928a4ad315 Begin: moved tooltip position code in an else block. Misc comments
omar 52cac135c9 Internals: Renamed GetFrontMostModalRootWindow() to GetFrontMostPopupModal() and exposed in imgui_internal.h ()
omar 9117632bf0 Misc: IM_DELETE() helper function added in 1.60 doesn't clear the input _pointer_ reference, more consistent with expectation and allows passing r-value.
omar 6f1f5cbc20 Version 1.61 WIP
omar 3a29ddbcfa Version 1.60
omar 6d0c720451 Internals: Removed unused internal variant of ArrowButton().
omar 82b7a39f31 Fixed a few zealous warnings.
omar c712f7275d Fixed unused variable warning.
omar c2fc978983 Style: Default style is now StyleColorsDark()! Toward a 1.60 release :) ()
omar 0734a12d25 IO: ImGuiConfigFlags_NoMouse disable hovering so it is not destructive. Amend 2464e62a1a
omar e88fb10d7c NewFrame: Extract some code into a NewFrameUpdateHoveredWindowAndCaptureFlags() which can be of use with touch-based inputs systems.
omar c1bdab6d5b Comments about io.WantCapture flags + todo entries.
omar ac2027c415 NewFrame: Extract some code into a NewFrameUpdateMouseInputs function. Moved settings saving higher up in the function so it is next to its peers.
omar 2464e62a1a IO: Added ImGuiConfigFlags_NoMouse to force clear/disable mouse inputs in NewFrame().
omar 18a243bef0 Columns: Fixed calling Columns() again with the same number of columns. ()
omar fc30462f18 Hide new windows for one frame until they calculate their size. Also fixes SetNextWindowPos() given a non-zero pivot. ()
omar 5aa3f99b4c Internal: using more consistent comparaison with HiddenFrames to not imply it could be -1. Tweaked comments.
omar 4649967112 Added extra comments and assertions to avoid user combining ImGuiCond flags. ()
omar cd1e6e384f Tooltip windows uses PopupBorderSize () + commented out debug stuff.
omar 1e116e6c17 Removed need for -Wnocast-qual on modern Clang/Xcode as a token of good behavior. Unfortunately the old stb_ decompress code is a little const clunky. + warning fix in stb_textedit which is already in master afaik.
omar 84fbc49403 BeginChild: named child don't include the full id inside their name ()
omar 78610a54d2 Fixed Clang zealous cast-call warning (on par with GCC) which decided to warn against explicit C-style casts now.
omar 77e234d9df Comments
omar c461401b21 Comments, FAQ
omar cc96477b1c Comments ()
omar b69dc45f6e Internals: Removed ImGuiDataType_Float2.
omar c19b27813d Added InputDouble() function. We use a format string instead of a decimal_precision parameter to also for "%e" and variants. () May transition the other InputXXX function to use format strings as well.
omar c796960ff9 InputFloat: Scientific input. InputText: Added ImGuiInputTextFlags_CharsScientific to add 'e' 'E' to list of characters that can be input. (later useful for )
omar 21ac470a8a Nav: Fixed a crash with IMGUI_DEBUG_NAV_SCORING enabled + added info to Metrics.
omar 75c3793db5 IO: Added ImGuiConfigFlags_NoSetMouseCursors. Added ImGuiBackendFlags_HasMouseCursors, ImGuiBackendFlags_HasSetMousePos. (, , )
omar dcf7c3d188 Added ImGuiBackendFlags for backend to expose its capabilities. Added ImGuiBackendFlags_HasGamepad. (, )
omar 170f44e6f0 IO: Renamed io.WantMoveMouse to io.WantSetMousePos (was added in 1.52, _not_ used by core and only honored by some binding ahead of merging the Nav branch) + internal renaming ()
omar d1c45db9e8 Fixed enum typo.
omar 62e94717eb Nav: InputText: Allow editing text input fields with NavActivate (space). Not sure about that, on one hand it feels more consistent but you can't finish the editing with space to double space (activate + input space) could feel inconsistent. ()
omar 33ad8b2f0c Nav: Track nav input source more generally (gamepad vs keyboard) () + update todos and demo tweaks
omar e7670c0bcc Style: CloseButton() now display a proper cross. Using Button colors for background. Removed ImGuiCol_CloseButton, ImGuiCol_CloseButtonActive, ImGuiCol_CloseButtonHovered as the closing cross uses regular button colors now. ()
omar b9ac127b0b Internals: Columns renaming fields
omar 351b3fa7b0 Updated Changelog following merge of + fixed entry added to wrong version Changelog in 1ef1acbd8d
omar a3d5f92214 Merge branch 'master' into font_offset
omar 642c6748ac Comments, Changelog
omar cea7492bab Render: Removed the code that disable render if style.Alpha is 0.0f, it is both incorrect (as style Alpha can be modified mid-frame), not really necessary (just tested that full Alpha = 0 will lead to empty draw lists!) and misleading (bulk of the work was already done).
omar 51afaf7117 Fixed type cast warning.
omar 0ec356eb6e Comments, FAQ update.
omar 5ed45d0aec Columns: Fixed destructive small resize. (). The OffsetNorm clamp introduced by was ok as it didn't write back into the storage, which started doing making it destructive. Right now I don't think the clamp is needed at all. It had uses (eg: hide the issue fixed by bf7481eba0).
omar bf7481eba0 Columns: Extent stop at the right-most clipped pixel. The right-most column might appear a little wider but it's usable space matches the others. (). +9 Internal: Store InnerClipRect.
omar 968a8d2a3f Columns: Clamping MaxX above MinX. This shouldn't have much of a benefit / affect, but the internal values are more sane this way. ()
omar ee770af72c Columns: Adding per-window display in Metrics. Tidying up, removing old code/comments. (, , )
omar 69e700f869 Renamed ImGuiStyleVar_Count_ to ImGuiStyleVar_COUNT for consistency with other enums. Added
omar 8a4093f38b Added ArrowButton(). Exposed ImGuiDir.
omar 1549c5cf5e BeginCombo(): Added ImGuiComboFlags_NoArrowButton and ImGuiComboFlags_NoPreview flags + hover color matches drag and sliders.
omar ad7ff7504e Merge branch 'patch-1' of https://github.com/stfx/imgui into stfx-patch-1
omar 839cdd37a3 Combo: Arrow button isn't displayed over frame color, so color is consistent with other button + the button doesn't have inner rounding.
omar 11f13ab24f Internal: renamed RenderTriangle() to RenderArrow().
omar 6797ee4b68 Nav: Added links to PNG/PSD files for PS4 and Switch. Fixed suggested Joy-con mapping as per typical Nintendo-style mapping. ()
omar c994796e26 Internal: Moved IM_NEWLINE helper to imgui_internal.h
omar 2c9f45bbe7 Renamed ImGuiNavFlags io.NavFlags to ImGuiConfigFlags io.ConfigFlags. ()
omar c7835dd189 ImRect: Removed misleading IsFinite() function used by some Nav code.
omar 5427eca960 Compacted some old Breaking Changes notes (Pre July 2015 stuff)
omar bd267ad739 Changelog: Added all change infos since 1.53 up to the current version.
omar 27667fc035 TreeNode: Renamed Beta ImGuiTreeNodeFlags_NavCloseFromChild to ImGuiTreeNodeFlags_NavLeftJumpsBackHere. ()
omar 8040cf1425 Merge branch 'master' of https://github.com/podgorskiy/imgui into podgorskiy-master
Podgorskiy 94466745bb A tiny optimization to ImLineClosestPoint. Removed unnecessary sqrtf call.
ab_lenSqr -> ab_len_sqr
Moved line where ab_len_sqr is computed after the first return
omar b28995b667 Nav: Internals: Exposed NavMoveRequestCancel in imgui_internal.h ()
omar 2c3c5125b3 Drag and Drop: BeginDragDropSource(): temporarily removed the optional mouse_button=0 parameter because it is really usable in typical conditions at the moment. (, )
omar 7cbcccd96b Update Breaking Change section with moved misc/fonts/ ()
omar 7ee2bc8f5e FAQ about backslashes in string literal since the one in main.cpp isn't being noticed enough. ()
omar b33f0e215f Initialization happens during CreateContext(), which makes it easier for platform layers to interact with the context during their initialization.
omar 1399c9c8a9 Merged a bunch of small inconsequential things from my work branch, to reduce the diff noise.
omar bdb27366e7 Nav: Tweak windowing highlighting for full viewport windows.
omar 63332d152a Obsoleted the io.RenderDrawListsFn callback, you can call your graphics engine render function after ImGui::Render(). Use ImGui::GetDrawData() to retrieve the ImDrawData* to display..()
Examples: Updated examples.
omar 20c14f9589 Fixed GCC zealous warnings ()
omar 1cbfe0700c Plot: plot a flat line if scale_min==scale_max ()
omar 30c469f7c5 ImFont: DisplayOffset.y defaults to 0 instead of +1.
omar eb1d481915 Comments (, )
omar d8d1da27fd Merge branch 'master' of https://github.com/RandyGaul/imgui into RandyGaul-master
Randy Gaul 2c4a761982 __cdecl markup for non-standard calling conventions via MSVC
omar 64e0666803 Internals: Moved some of NewFrame() into UpdateMovingWindow().
omar 7cc1bc7635 Added IsAnyMouseDown() helper.
Examples: DirectX9/10/11: Using IsAnyMouseDown() instead of local function.
omar 3b163ac35b Internals: Clarified internal storage for RootWindow with specific semantic (the Docking branch will need to introduce finer differenciation there.)
omar d17d21da1b Warning fix. ()
omar 7c16d52f72 Updated version to 1.60 WIP to emphasis on the addition of required calls CreateContext/DestroyContext + merged the massive Navigation branch (, )
omar f0364aa359 Merge branch 'context'
# Conflicts:
#	examples/allegro5_example/main.cpp
#	examples/directx10_example/main.cpp
#	examples/directx11_example/main.cpp
#	examples/directx9_example/main.cpp
#	examples/marmalade_example/main.cpp
#	examples/opengl2_example/main.cpp
#	examples/opengl3_example/main.cpp
#	examples/sdl_opengl2_example/main.cpp
#	examples/sdl_opengl3_example/main.cpp
#	examples/vulkan_example/main.cpp
omar 4e5b7612ae Nav: Documentation tweaks. ()
omar 3171f90a1a Nav: Keyboard is now automatically mapped based on io.KeyDown[]. ()
omar 7e32fc7109 Nav: Toward automatically mapping keyboard input. Renamed ImGuiNavInput_PadXXX to ImGuiNavInput_XXX. Renamed ImGuiNavInput_KeyXXX to ImGuiNavInput_KeyXXX_ (internal). ()
omar ed4bbc4fd4 Nav: Comments, guides.
omar cea8017e0b Merge branch 'master' into context
omar db071184a0 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
omar b50dce54ea Drag and Drop: TreeNode as drop target displays rectangle over full frame. Added optional internal storage for item display rect. Will expose later. (, )
omar c6ba7c8231 Internals: TreeNode: Renaming local to be more consistent with other widgets.
omar e6926d9f7c Internals: Refactored bool LastItemRectHovered into flags. ()
omar ce2b8d3255 Nav: Comments, removed extraneous parameter.
omar 0c0d811859 Nav: SetItemDefaultFocus() doesn't make the navigation cursorr highlight visible. Renamed NavInitResultExplicit to NavInitRequestFromMove. ()
omar fb9fecea5e Nav: Sliders and Drags are toggle activated instead of requiring user to cross Cross/Space. ()
omar 4932303e62 Nav: DragBehavior: Tweaks (to take the noise out of the next commit).
omar e5e3cc617e Nav: Maintaining a NavActivatePressedId field that widget can conveniently use along with NavActivateDownId.
omar fb7cf4a475 Nav: Removed old unnecessary ifdefs.
omar f35734c925 Nav: Debugging code. ()
omar 92ee6b1185 Nav: Sets io.WantCaptureKeyboard when navigation is active. This is a little agressive but probably the best default and also a good way to get feedback. Added ImGuiNavFlags_NoCaptureKeyboard to disable this behavior. Comments. ()
omar 348c46d21e Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
omar 11d0fc8220 Tooltip: BeginTooltip() sets NoInputs flag.
omar 1dedbf8091 Style: Fixed missing style.MouseCursorScale initialization (), messed up original commit badly.
omar 533fe8cb55 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
omar 8ad88f725c Nav: Minor tidying up. ()
omar 3f297e74e4 Merging the minor/shallow changes from Navigation branch.
omar 2081fc15b5 Added assert in BeginChild(ImGuiId id).
omar 223be68d77 Nav: Debugging stuff.
omar 66ff820eaa Nav: Ensure g.NavScoringRectScreen is always finite and not inverted. ()
omar 0bd15b52a6 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
omar 147ec8d1e2 Style Added style.MouseCursorScale, may remove ().
omar 648de2fc00 Nav: Press Left on a child with ImGuiTreeNodeFlags_NavCloseFromChild moves you to parent node instead of closing it immediately. More standard. (, )
omar ce9d7baaba Nav: TreeNode: Added ImGuiTreeNodeFlags_NavCloseFromChild flag, allow closing a TreeNode() from any of child. The explicit flag is not great, perhaps allowing some form of inheritance would help. (, )
omar 9120938200 Nav: Revert 5c9ea4d53a with comments. ()
omar 96ddfbc973 Nav: Modal windows can't be closed with Nav PadCancel. ()
omar efbd8cebe7 Nav: Comments ()
omar c4fc879508 CloseButton: Fixed cross positioning.
omar 942c140710 CloseButton: Fixed cross positioning.
omar 68d3e139a7 Nav: When focusing a parent window while closing a popup, hide its highlight for one frame to avoid potential double highlight and flicker with the common pattern of menu items leading to the opening other windows. ()
omar 950f260a32 Nav: Fixed Selectable/MenuItem Nav Highlight from using rounding when outer highlight stays square. ()
omar c7b7b181b5 Nav: CloseButton reacts when clipped. ()
omar 5c9ea4d53a Nav: Fixed press Left on sub-menu when parent wasn't a menu - we were just checking at the wrong level. ()
omar eb737e0a42 Nav: Child window is restored on focus follow up. Fix bdd868704f. (, ~#727) One visible issue was pressing Left to leave a child menu.
omar 95f9c74b9a Metrics: Displaying some of the important internal window flags.
omar 79ff3c2d49 Merge branch 'master' into navigation
omar 07163804df Internals: Renamed CloseInactivePopups() to a better ClosePopupsOverWindow(). Exposed in imgui_internal.h
omar 5812d0b751 Nav: Using CTRL+TAB / PadFocusNext/Prev to Focus a window closes the previous window popups. ()
omar fd6d8863f7 Nav: SetFocusID() clears NavInitRequest for consistency (repro would a same frame interaction / race condition). ()
omar ef2c3bcdee Nav: Fixed InitRequest leaking when changing window (repro was to navigate inside File->Options->[Child] then press Left and notice how we would land on parent window on the fist item after the current one). ()
omar 8cc2dbc3bd Internals: Nav: Extracted code into IsWindowNavFocusable(). ()
omar bdd868704f Nav: Child window is restored on focus when returning to layer 0 or refocusing. This is a little experimental and potentially error-prone right now. (, vaguely relate to ~#727) Ideally we should maintain a non-sorted last-focused list that include childs windows.
omar 7b22a91578 Nav / Slider: Fixed reaching edge of integer slider with navigation input, bug introduced on January 25 in Nav branch 10a4a77b27. ()
omar eaa6f490a2 Merge branch 'master' into navigation
# Conflicts:
#	imgui_demo.cpp
omar 9bc5c089b6 Internal: Avoid needlessly bringing parent of front-most child back to front. This is mostly to reduce flicker/confusion in Metrics when traversing windows. We could aim at separating the child windows from non-child windows at some point.
omar 76d8af4036 Nav: when browsing a window that has no activable items (scroll only) we keep a highlight on the child. ()
omar aa2dda7610 Nav: Tweak code to be easier to follow + updated todo list after clarifying an issue.
omar e6c0b212e8 Nav: Fixed initial movement (which sends an InitRequest) from clearing NavDisableHighlight and fully enabling Nav feedbacks. ()
NB: Setting g.NavInitResultExplicit = false on InitRequest match was added in initial commit c2cb2a6928
omar 9c8fb804ed Log: Comments and extraneous assets to clarify intent. ()
omar 27980d9688 Merge branch 'master' into context
omar 47e81a6194 Merge branch 'master' into navigation
omar cd3dd886de Moved extra_fonts/ to misc/fonts/. Moved .natvis file to misc/natvis/ ()
omar 23c11e9764 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
omar 596b6d6de2 Style: Enable window border by default. ()
omar bebe03db05 Metrics: Minor formatting tweaks
omar bd579e5429 Nav: Removed io.NavUsable --> io.NavActive, io.NavActive --> io.NavVisible. (). NavActive takes account of NavFlags enable flags.
omar 9fc6f5907b Nav: Fixed NavRectRel being cleared for one frame when restoring layer 0 with Alt/Menu key or Escape. Maybe was inconsequential. ()
omar 1ed7bce3ed Nav: Removed old unused code. ()
omar a8763d14c5 Internals: Renaming.
omar 38197a236d Internals: Renaming.
omar a7ad5134e5 Nav: window that are filling the entire display/viewport gets their windowing highlight clamped within. ()
omar acf21ee429 Nav: Windows with ImGuiWindowFlags_NoBringToFrontOnFocus flag aren't temporarily displayed on the front when using CTRL-TAB. ()
omar bed6ef03f5 Nav: workaround to kindly handle ALT-TAB without detecting TAB-release on backends that clear all keys on unfocus. ()
omar c851b33352 Nav: Added proper version of ImGuiWindowFlags_NavFlattened that handles scrolling nicely. Marked as private as I'm not happy with the name. ()
omar b40dc5c4f2 Nav: NavScoreItem uses g.CurrentWindow and not g.NavWindow. This was changed as part of b3cba62b80 when first trying to implement the NavFlattenedFlag. As it turns out we won't need it. Committing separately for safety. ()
omar 020b153d35 Nav: calling NavMoveRequestCancel() more consistently when hijacking a request. Not strictly necessary. ()
omar c8d8dc7f0a Nav: Internals: Renamed RootNavWindow to NavRootWindow ()
omar 72485a5d04 Nav: Refactor NavMoveResult** flags into ImGuiNavMoveResult structure as we are going to want two instances of it. () (+1 squashed commits)
+ store window inside result.
omar 1cf38d0334 Internals: Nav: Renamed ImGuiNavForward enum ()
omar 4654040bcb Nav: Comments, added enum to clarify NavForward code. ()
omar c8b9b2c6bd Nav: Mouse hovering selectable / menu items only activate them if they are on the active NavLayer. ()
omar 21771adb94 Nav: Debug overlay uses default font. ()
omar 3ded262776 Merge branch 'master' into navigation
omar 2d9d7a10ca Scrollbar: Fix for ScrollbarY enable check after ScrollbarX has been enabled. () Looks like a bug introduced in c36e586cce.
omar 1f3b66b10a Scrollbar: Fix ScrollbarX enable test subtracting WindowPadding.x. This has been here since 65a191c005 () tho at the time it is possible that SizeContents wasn't calculated as evenly.
Test: auto-resize with: ImGui::Begin("Test", NULL, ImGuiWindowFlags_HorizontalScrollbar); ImGui::Button("##xxx", ImVec2(500,500)); ImGui::End();
omar 10a4a77b27 Nav: Drag, Slider: When already past a limit and pushing in the direction of the limit, we don't clamp values again. ()
omar 04d5783ffd Nav: Cleaning up + using ImGuiInputSource source enum instead of a silly bool. ()
omar d088bd86ad Nav: Added keyboard moving and resizing via the CTRL-TAB windowing mode. ()
omar 486f0a8ba0 Fixed potential warning (forward declaration and definition didn't match signature. forward declaration only here for consistency)
omar f2d5300408 Nav: Keyboard: Added CTRL+TAB (and CTRL+Shift+TAB) style window selection. ()
omar ed088b00be Nav: Style: Improved display of windowing highlight (for focus selection via PadMenu or Ctrl+TAB). (, )
omar e9070e768e Nav: Fixed renaming of c09016b12a that were incorrect. ImGuiNavInput_PadLeft -> PadDpadLeft, _PadScrollLeft -> PadLStickLeft. ()
omar 5d31e1696f Fix SetNextWindowContentSize() with 0.0f on Y axis (or SetNextWindowContentWidth()) overwriting the contents size. Broken in eab6333a0b. ()
omar 5f7f27c8de Nav: Comments. ()
omar d404b93b6b Nav: Mouse clicking on a window (to select/move) disables hides nav highlight. () + comments
omar 89b0ca1f8f Nav: FocusWindow() doesn't reset NavRectRel (which was flickering e.g. when returning to a parent menu). This was added in the initial nav branch commit and I don't see a reason for it. ()
omar f3776055d6 Merge branch 'master' into context
omar 455989b8b1 Nav: Added io.NavFlags to hold various options. Added ImGuiNavFlags_EnableGamepad and ImGuiNavFlags_EnableKeyboard for bindings to use ()
omar 28671aa821 Nav: Internals: Moved some enums and functions to internals, renamed ImGuiNavReadMode to ImGuiInputReadMode as well. ()
omar 8227176c17 Nav: Menus: Fix for using Left direction inside a menu with widgets layed out horizontally. Left to close is now handled as a fallback inside EndMenu(). ()
omar c09016b12a Nav: Renamed ImGuiNavInput_PadLeft / etc. to ImGuiNavInput_PadLStickLeft. Renamed ImGuiNavInput_PadScrollLeft to ImGuiNavInput_PadRStickLeft, aka removing trying-too-hard semantic from the enums. ()
omar bd278e958e Nav: Added ImGuiNavInput_KeyLeft/Right/Up/Down set so we can differenciate gamepad/keyboard inputs. ()
ocornut 680162eb32 Merge branch 'master' into navigation
omar 5148937d4d Fixed old Begin() calling SetNextWindowBgAlpha() with negative values. (, )
omar 37ee99983f Clear BgAlphaCond properly after consuming it. Fixes 9a76fd30fd ()
omar 64b786c2aa Nav: Tweak/fixed popup positioning when using nav without the io.NavMovesMouse flag (it was always assuming a mouse cursor and allocating space for it) ()
Note that this bit include badly hardcoded sizes, expecting an improvement later.
omar cea78cc576 Nav: Update hovered logic, so IsItemHovered and ButtonBehavior are more consistent with each other. The known case this fixes is nav focusing on a color button, tooltip appears, mouse move: previously tooltip would stay up. ()
omar eb7ec781dc Nav: Tweak GetNavInputAmount(). Split debug defines.
omar f6ee8d30fb Comments ()
omar d500113f1d Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_demo.cpp
omar 9a76fd30fd Added SetNextWindowBgAlpha() helper. () particularly helpul with the marking of the old 5-parameters version of Begin() as obsolete.
omar 13c407591e Nav: Comments, tweaks
omar db2ba13154 Internals: Exposed SetCurrentFont() in imgui_internal.h
omar 9076366c17 Style: Exposed ImGuiStyleVar_WindowTitleAlign, ImGuiStyleVar_ScrollbarSize, ImGuiStyleVar_ScrollbarRounding, ImGuiStyleVar_GrabRounding + added an assert to reduce accidental breakage. ()
omar 1acb155419 Internals: Moved unnecessary MovingWindowMoveId field.
omar 5097368bd5 Tweaked FAQ.
omar 2026e792cd Context: NewFrame() asserts ()
omar 9edf211c0e Merge branch 'master' into navigation
omar 3ed2ddbfbe Metrics: Removed context size display.
omar 5e2aa6185c Reorganized context handling to be more explicit,
- YOU NOW NEED TO CALL ImGui::CreateContext() AT THE BEGINNING OF YOUR APP, AND CALL ImGui::DestroyContext() AT THE END.
- removed Shutdown() function, as DestroyContext() serve this purpose.
- you may pass a ImFontAtlas* pointer to CreateContext() to share a font atlas between contexts. Otherwhise CreateContext() will create its own font atlas instance.
- removed allocator parameters from CreateContext(), they are now setup with SetAllocatorFunctions(), and shared by all contexts.
- removed the default global context and font atlas instance, which were confusing for users of DLL reloading and users of multiple contexts
(, , , , )
omar 7e4d28a49d Context: Renamed SetMemoryAllocators() to SetAllocatorFunctions(). Tweaked comments. (, , , , )
omar e45d7a7060 Context: Added IMGUI_DISABLE_DEFAULT_ALLOCATORS to disable linking with malloc/free. (, , , , )
omar 5a301c29dc Context: Removed allocator parameters from CreateContext(), they are now setup with SetMemoryAllocators() and shared by all contexts. (, , , , )
omar ac5b7a1bdf Comments
Panos Karabelas 7c8a19978d Simplified return of ImGui::IsKeyReleased()
omar cd1409f4bf ImFontAtlas: Moved mouse cursor data out of ImGuiContext, fix drawing them with multiple context. Also remove the last remaining undesirable dependency on GImGui in imgui_draw.cpp, finishing the work recently done with ImDrawListSharedData. Hurra! ()
omar 0b1fecb792 Horizontal mouse wheel: renamed io.MouseHorizWheel to io.MouseWheelH. Reorganized the code in NewFrame(). Examples: Updated GLFW+GL and SDL+GL accordingly. ()
omar 6f6b6194b2 Merge branch 'tseeker/20171127-feature-horiz-wheel' of https://github.com/tseeker/imgui into tseeker-tseeker/20171127-feature-horiz-wheel
# Conflicts:
#	examples/sdl_opengl2_example/imgui_impl_sdl_gl2.cpp
#	examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
omar d4bf9b4686 Renaming for consistency.
omar 8877622fa8 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
omar e5a6e85f6d Basic undocumented/unsupported combination of Child+Tooltip. The full feature needs substancially more work but this is enough for simplest cases. ()
omar 42a612d7c9 Begin: Removed asserts that got in the way of some flags combination. ()
omar 0978f00911 MovingWindow: Track click offset based on root window (undo 514d30d8cd). This should not affect the patch used for as the RootWindow for Child+Tooltip window points to itself now.
omar 74dc70c543 DragFloat: Fix/workaround for backends which do not preserve a valid mouse position when dragged out of bounds. ()