Commit Graph

3286 Commits

Author SHA1 Message Date
omar
3997e8b555 Fixed animated window titles from being updated when displayed in the CTRL+Tab list. + Adding overkill helpers for reusing buffers. (#787) 2019-01-07 22:46:42 +01:00
omar
5cb7ce2085 Renamed ImFont::GlyphRangesBuilder to ImFontGlyphRangesBuilder. Keep redirection typedef (will obsolete). 2019-01-06 16:59:51 +01:00
omar
c3af134cc8 IO: Renamed InputCharacters[], marked internal as was always intended. AddInputCharacter() goes into a queue which can receive as many characters as needed during the frame. This is useful for automation to not have an upper limit on typing speed. Will later transition key/mouse to use the event queue later. 2019-01-06 16:37:42 +01:00
omar
9ba202821f Nav: Fixed an keyboard issue where holding Activate/Space for longer than two frames on a button would unnecessary keep the focus on the parent window, which could steal it from newly appearing windows. (#787) 2019-01-04 19:03:56 +01:00
omar
d223d1e951 Added bindings in Readme. Added internal IMGUI_DEBUG_LOG() helper. Comments, missing breaking changes note relative to imgui_impl_xxxx changes, not really part of core but worth adding in the imgui.cpp breaking change section. 2019-01-04 18:01:43 +01:00
omar
6777544855 Added sanity check to debug parent/child ordering issues (they would generally manifest with an assert/crash in EndFrame bu tthis assert will catch some earlier). 2019-01-03 21:42:36 +01:00
omar
237109caa5 Internals: Extracted code out of EndFrame() into UpdateMouseMovingWindowEndFrame() 2019-01-02 23:08:32 +01:00
omar
b3469fa94b Alternative fix for bug introduced in d845135 (#1651), fix CTRL+Tab and fallback tooltip. 2019-01-02 23:08:32 +01:00
omar
3e30bfd6c9 Revert "Fixes crash/assert bug introduced in d845135 (#1651): would assert when showing the CTRL+Tab list and or fallback "...." tooltip."
This reverts commit 1b0e38df47.
2019-01-02 22:56:17 +01:00
omar
1b0e38df47 Fixes crash/assert bug introduced in d845135 (#1651): would assert when showing the CTRL+Tab list and or fallback "...." tooltip. 2019-01-02 22:14:28 +01:00
omar
6b97ded438 Happy new year! & comments 2019-01-02 10:57:57 +01:00
omar
e21bc44684 Comments: fixed missing line in the "how a simple rendering function may look like" section (#2258) 2019-01-02 09:57:25 +01:00
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. (#1651). 2018-12-23 18:00:37 +01:00
omar
a9a60a24c1 Tweaked asserts 2018-12-23 17:51:50 +01:00
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. 2018-12-20 20:01:02 +01:00
omar
5691385a33 IO: Added BackendPlatformUserData, BackendRendererUserData, BackendLanguageUserData void* for storage use by back-ends. (#2004 + for cimgui) 2018-12-20 11:41:24 +01:00
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 2018-12-19 15:19:31 +01:00
omar
89ac0ea7c1 Various user-facing comments 2018-12-19 11:19:55 +01:00
omar
84d1ce3958 Tidying up README, moved entries to FAQ, updated screenshots, removed comma in title. 2018-12-18 16:17:27 +01:00
omar
ca953f0fee Fix merge issue on master. 2018-12-18 15:11:11 +01:00
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. 2018-12-18 15:01:15 +01:00
omar
510ca373a2 Moved setting up NavHideHighlightOneFrame from lower-level ClosePopupToLevel() to CloseCurrentPopup() with an explanation. (Followup on 68d3e139a7) 2018-12-18 14:59:22 +01:00
omar
65dac02171 Internals: Popups: Renamed CurrentPopupStack to BeginPopupStack which is much less ambiguous. 2018-12-14 18:44:17 +01:00
omar
f1c7596409 Internals: Popup related comments. Renamed the misleading internal ClosePopup() function. Added bool* test to BeginPopupModal in demo. 2018-12-14 18:42:22 +01:00
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.) 2018-12-14 11:27:02 +01:00
omar
8497948ba0 Comments, minor tweaks. 2018-12-13 19:17:36 +01:00
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) 2018-12-11 19:19:12 +01:00
omar
d9a84de9d9 Contents size is preserved while a window collapsed. Fix auto-resizing window losing their size for one frame when uncollapsed. 2018-12-11 19:08:06 +01:00
omar
54a60aaa40 Added BETA api for Tab Bar/Tabs widgets. (#261, #351) (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.
2018-12-11 12:36:47 +01:00
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) 2018-12-11 12:20:48 +01:00
omar
15447f5b7b Using named flags instead of 0 + shallow formatting tweaks from other branches. 2018-12-11 12:14:27 +01:00
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. (#899)
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.
2018-12-10 16:05:30 +01:00
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. 2018-12-10 15:41:01 +01:00
omar
d20e3ee710 Tests: Adding imgui-test engine hooks (experimental) to provide missing widget state to the testing system. 2018-12-10 14:30:41 +01:00
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. 2018-12-04 14:34:49 +01:00
omar
fb6ef8b1db Comments, tweak 2018-12-03 23:50:59 +01:00
omar
10e13dd6bb Version 1.67 WIP (again, this time IMGUI_VERSION_NUM has leeway for another hot-fix). 2018-12-03 12:19:23 +01:00
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). 2018-12-03 10:17:17 +01:00
omar
7658035e5a About, IO: Added io.BackendPlatformName, io.BackendRendererName for informational/QA purpose. 2018-11-30 18:30:21 +01:00
omar
3849def253 Added ShowAboutWindow(), About Window now showing various config/build information. 2018-11-30 18:30:21 +01:00
omar
baf67d393f When the focused window become inactive don't restore focus to a window with the ImGuiWindowFlags_NoInputs flag. (#2213) 2018-11-29 23:25:29 +01:00
omar
4105cc7e97 Added ImGuiConfigFlags_None, ImGuiBackendFlags_None for good measure. 2018-11-27 19:46:14 +01:00
omar
d27ffefbd4 Version 1.67 WIP 2018-11-22 18:59:57 +01:00
omar
da3c4330c1 Version 1.66 2018-11-22 15:11:52 +01:00
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. (#787) 2018-11-21 16:07:04 +01:00
omar
b9ae9bb1e3 Internals: Using GetOverlayDrawList(ImGuiWindow*) to match syntax of viewport/master branches. Fixed compiling with IMGUI_DEBUG_NAV_RECTS 2018-11-21 15:37:29 +01:00
omar
50c43d1c8e Removed unnecessary ImGui:: prefixes. 2018-11-15 16:43:05 +01:00
omar
6b4443755d Internals: Added FindWindowByID() helper. (#2190) 2018-11-15 16:41:48 +01:00
omar
aa668c410a Nav: Fixed an assert in certain circumstance (mostly when using popups) when mouse positions stop being valid. (#2168) + adding a else block to make NavCalcPreferredRefPos() more explicit. 2018-11-15 13:56:27 +01:00
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. (#2185) 2018-11-13 11:23:15 +01:00
omar
c808eb92c6 Config: Added IMGUI_DISABLE_WIN32_FUNCTIONS to disable linking with _any_ Win32 function, as a general forward compatible measure. 2018-11-05 17:28:00 +01:00
Torkel Bjørnson-Langen
1441756a0f Doc: Fixed comments referring to LoadFromFileTTF() instead of AddFontFromFileTTF() (#2153) 2018-11-05 14:17:51 +01:00
omar
12c72d2893 Fixed OpenGL texture loading example in comment + Discourse link to root of discourse 2018-10-25 21:32:29 +02:00
omar
a72d5ada61 Misc comments improvements 2018-10-25 19:02:43 +02:00
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. 2018-10-25 17:45:48 +02:00
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. (#1660, #787) 2018-10-15 18:23:18 +02:00
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. (#1660) 2018-10-15 18:16:49 +02:00
omar
ca753829cb Revert using wchar_t functions (9cf94d5 + 2eaf5b0). Big mistake, wchar_t is not guaranteed to be 16-bits. 2018-10-12 15:48:38 +02:00
omar
28953208d4 Tests: Added imgui-test engine hooks (experimental). 2018-10-12 15:47:15 +02:00
omar
9cf94d5dd6 RenderText(), InputTextMultiline(): Optimization for large text by using memchr, wmemchr, wcschr when appropriate. 2018-10-12 12:34:47 +02:00
omar
0fe48cbb61 Renamed misc/stl/imgui_stl.h,.cpp to misc/cpp/imgui_stdlib.h in prevision for other files.(#2035, #2096)
Added misc/README file.
2018-10-12 11:16:51 +02:00
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() 2018-10-11 22:38:26 +02:00
omar
cf0afb48ac TextUnformatted: Using memchr(), fixed not properly testing for text_end bound + comments.
Internals: Added ImStreolRange() + used in LogRenderedText() + comments.
2018-10-11 12:53:10 +02:00
omar
d02b11dfbd ImGuiTextBuffer: Avoid heap allocation when empty. 2018-10-11 12:08:09 +02:00
omar
1efafa1d29 Comments + internal using Tab Stop terminology (ImGuiItemFlags_NoTabStop instead of !ImGuiItemFlags_AllowKeyboardFocus) 2018-10-10 12:09:06 +02:00
omar
fbfe193fcd Window, Inputs: Fixed resizing from edges when io.MousePos is not pixel-rounded by rounding mouse position input. (#2110) 2018-10-02 18:49:55 +02:00
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. (#1495, #822, #2110) 2018-10-02 18:43:10 +02:00
omar
e623be998d Drag and Drop: Added GetDragDropPayload() to peek directly into the payload (if any) from anywhere. (#143) 2018-10-01 15:53:18 +02:00
omar
3dcd552628 Fixed extraneous static attribute. (#2105) 2018-09-27 13:01:51 +02:00
Loïc HAMOT
9aae21483a Fix missing IMGUI_API and mismatching namespace internal's CreateNewWindowSettings (#2105) 2018-09-27 12:59:22 +02:00
omar
61d94ff88e Renamed SetScrollHere() to SetScrollHereY(). Kept redirection function (will obsolete). 2018-09-26 21:30:37 +02:00
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. (#1698, #894, #713) + reworked the Begin/BeginChild comments in imgui.h. 2018-09-26 21:24:42 +02:00
omar
e2436ca625 Nav, Focus: Fixed ImGuiWindowFlags_NoBringToFrontOnFocus windows not being restoring focus properly after the main menu bar or last focused window is deactivated. 2018-09-10 20:40:21 +02:00
omar
062b1f0463 Fixed calling SetNextWindowSize()/SetWindowSize() with non-integer values leading to accidental alteration of window position. We now round the provided size. (#2067) 2018-09-07 22:30:46 +02:00
omar
2eaf722fd7 Fixed calling DestroyContext() always saving .ini data with the current context instead of the supplied context pointer. (#2066) 2018-09-07 17:24:56 +02:00
omar
eb7033e75b Version 1.66 WIP 2018-09-06 21:44:59 +02:00
omar
e0cab5664a Version 1.65 2018-09-06 15:58:58 +02:00
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. (#1718, #2036)
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.
2018-09-06 15:58:25 +02:00
omar
e58bc3d5b7 Refactor: Tweaked and improved the sectioning to facilitate grepping/moving around and applied to all files. (#2036) 2018-09-06 11:36:00 +02:00
omar
0b18c11440 Refactor: Moved ImFile functions. (#2036) 2018-09-06 11:36:00 +02:00
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. (#2036) 2018-09-06 11:36:00 +02:00
omar
bb3184af74 Refactor: moved low-layout helpers to imgui_widgets.cpp (Spacing, Dummy, NewLine, Separator, etc.) (#2036) 2018-09-05 20:54:28 +02:00
omar
cbdce80837 Internals: Refactor: Moved render functions to their own section. (#2036) 2018-09-05 20:46:57 +02:00
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. (#787) 2018-09-05 17:33:00 +02:00
omar
77ba883f23 Renamed io.OptCursorBlink/io.ConfigCursorBlink to io.ConfigInputTextCursorBlink. (#1427) + changed ImGuiIO layout. 2018-09-05 17:29:47 +02:00
omar
bbcc976739 Demo: Added a "Configuration" block to make io.ConfigFlags/io.BackendFlags more prominent. 2018-09-05 17:29:47 +02:00
omar
b944aa623c Minor mostly inconsequential merges from Viewport + LoadIniSettingsFromMemory() entirely skip lines starting with ';' 2018-09-05 11:52:48 +02:00
omar
40db2ca098 Fixed a build issue with non-Cygwin GCC under Windows. 2018-09-04 18:58:20 +02:00
omar
bcb1441ce7 Version 1.65 WIP 2018-09-03 14:38:04 +02:00
omar
5d40d295b3 Comments, readme updates 2018-08-31 11:37:14 +02:00
omar
48db5713d6 Version 1.64 2018-08-31 10:00:03 +02:00
omar
38cfcf9fbc Tweak comments and indexes 2018-08-31 09:59:58 +02:00
omar
8a216fe756 Refactor: Internals: Moved Tooltip functions in imgui.cpp in their own section + comments. (#2036) 2018-08-30 21:15:12 +02:00
omar
fd2bfb7e07 Refactor: Internals: Moved Popup functions in imgui.cpp in their own section. (part 3) (#2036) 2018-08-30 21:00:51 +02:00
omar
064b949bc2 Refactor: Internals: Moved Popup functions in imgui.cpp in their own section. (part 2) (#2036) 2018-08-30 20:59:24 +02:00
omar
2a0d26e603 Refactor: Internals: Moved Popup functions in imgui.cpp in their own section. (part 1) (#2036) 2018-08-30 20:58:36 +02:00
omar
df37a156e8 Refactor: Moved Scrollbar function from imgui.cpp to imgui_widgets.cpp, added file index (#2036) 2018-08-30 20:51:57 +02:00
omar
728b2ef026 Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. DONE! (part 9) (#2036, #787) 2018-08-30 19:23:11 +02:00
omar
cda45737ab Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. (part 8) (#2036, #787) 2018-08-30 19:23:11 +02:00
omar
acf3cc4c3f Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. (part 7) (#2036, #787) 2018-08-30 19:23:11 +02:00
omar
8a6fd237f6 Refactor: Internals: Restored new lines in NavUpdate() ... (part 6) (#2036, #787) 2018-08-30 19:23:11 +02:00
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) (#2036, #787) 2018-08-30 19:23:11 +02:00
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) (#2036, #787) 2018-08-30 19:23:11 +02:00
omar
6bda59e5b7 Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section (extracted some code out of NavUpdate()). (part 3) (#2036, #787) 2018-08-30 19:23:11 +02:00
omar
60ee4de56d Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. (part 2) (#2036, #787) 2018-08-30 19:23:10 +02:00
omar
ce58795bdf Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. (part 1) (#2036, #787) 2018-08-30 19:23:10 +02:00
omar
f2926f910f Refactor: Internals: Moved Logging functions in imgui.cpp in their own section. (#2036) 2018-08-30 19:23:10 +02:00
omar
15172f0742 Refactor: Internals: Moved Settings functions in imgui.cpp in their own section. (#2036) 2018-08-30 19:23:10 +02:00
omar
98f618ed18 Refactor: Internals: Moved various functions in imgui.cpp (#2036) 2018-08-30 19:23:10 +02:00
omar
2714f8fa23 Refactor: Moved Slider/Drag/Input functions + support DataType stuff from imgui.cpp to imgui_widgets.cpp (#2036) 2018-08-30 15:40:46 +02:00
omar
c25f48b902 Refactor: Moved InputText functions from imgui.cpp to imgui_widgets.cpp (#2036) 2018-08-30 15:40:46 +02:00
omar
ad0bfdcd95 Refactor: Moved ColorEdit/ColorPicker/ColorButton/etc. functions from imgui.cpp to imgui_widgets.cpp (#2036) 2018-08-30 15:40:45 +02:00
omar
5dc954f5d7 Refactor: Moved Tree/Selectable functions from imgui.cpp to imgui_widgets.cpp (#2036) 2018-08-30 15:40:45 +02:00
omar
a265c62636 Refactor: Moved Plot/Value functions from imgui.cpp to imgui_widgets.cpp (#2036) 2018-08-30 15:40:45 +02:00
omar
0e9577d0da Refactor: Moved Menu functions from imgui.cpp to imgui_widgets.cpp (#2036) 2018-08-30 15:40:44 +02:00
omar
f26b8c1e07 Refactor: Moved Combo/ListBox functions from imgui.cpp to imgui_widgets.cpp (#2036) 2018-08-30 14:55:27 +02:00
omar
6468a3c0ce Refactor: Moved Button/Image/Checkbox/RadioButton/Bullet/ProgressBar functions from imgui.cpp to imgui_widgets.cpp (#2036) 2018-08-30 14:50:32 +02:00
omar
3eaa063984 Refactor: Moved Text functions from imgui.cpp to imgui_widgets.cpp (#2036) 2018-08-30 14:50:32 +02:00
omar
f2aa124eb8 Version 1.64 WIP 2018-08-30 14:25:23 +02:00
omar
9e0f24dcb6 Version 1.63 2018-08-29 16:20:25 +02:00
omar
92edb7a4e3 Internals: Tidying up, moving helpers to imgui_internal.h (in prevision of 1.64 refactor) 2018-08-29 16:12:54 +02:00
omar
2598d26c73 ColorEdit4: Fixed a bug when text input or drag and drop leading to unsaturated HSL values would erroneously alter the resulting color. (#2050) 2018-08-29 13:30:46 +02:00
omar
f9634feb66 Internals: Merged some changes to facilitate 1D->2D transition for some elements, and merging the stack layout PR (#846) 2018-08-28 19:10:59 +02:00
omar
06e917f135 Internals: Renaming of non-user facing parts from ValueChanged to Edited terminology. (#2034, #820, #956, #1875) 2018-08-23 13:47:37 +02:00
omar
0810d57819 Renamed IsItemDeactivatedAfterChange() to IsItemDeactivatedAfterEdit() for consistency with new IsItemEdited() API. Kept redirection function (will obsolete fast as IsItemDeactivatedAfterChange() is very recent). (#820, #956, #1875, #2034) 2018-08-23 13:26:14 +02:00
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. (#2034) 2018-08-23 13:21:01 +02:00
omar
abaa274592 Internals: Wired a ImGuiItemStatusFlags_ValueChanged into ItemStatusFlags, for an hypothetical IsItemValueChanged() function. (#2034) 2018-08-22 22:31:51 +02:00
omar
102d5e6de6 Rearrange header comments to find enums easily + fixed inconsistent sorting. 2018-08-22 22:13:05 +02:00
omar
7011d87bf8 InputText: Improved sturdiness if the ResizeCallback purposefully modify data->BufTextLen or data->BufSize. (#2006, #1443, #1008) 2018-08-22 21:27:27 +02:00
omar
7d9d9bc34e InputText: Fix ResizeCallback callback on restoring initial value with Escape key. Avoid over-allocating for InitialText storage. (#2006, #1443, #1008) 2018-08-22 21:11:55 +02:00
omar
ea9f5d7600 Added optional misc/stl/imgui_stl.h wrapper to use with STL types (e.g. InputText with std::string). (#2035, #2006, #1443, #1008) 2018-08-22 13:25:08 +02:00
omar
8d639ec60d InputText: callback InsertChars() support resize callbacks correctly (followup to 24ff259) + fixed demo to use those functions. (#2006, #1443, #1008). 2018-08-22 13:09:44 +02:00
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. 2018-08-22 12:46:47 +02:00
omar
5122c76441 InputText: Fixed not tracking the cursor horizontally When modifying the text buffer through a callback. 2018-08-22 12:46:47 +02:00
omar
68448c5faa ImDrawList: Large text passed to AddText() are being scanned for their end in order to avoid pre-reserving too many vertices. 2018-08-22 12:46:47 +02:00
omar
2dc5ec95d7 Internals: InputText: Renaming. Comments. 2018-08-22 12:46:46 +02:00
omar
9f393c38e9 InputText: Renamed ImGuiTextEditCallback to ImGuiInputTextCallback, ImGuiTextEditCallbackData to ImGuiInputTextCallbackData for consistency. Kept redirection types (will obsolete). 2018-08-22 12:46:45 +02:00
omar
24ff259816 InputText: Added support for buffer size/capacity changes via the ImGuiInputTextFlags_CallbackResize flag. (#2006, #1443, #1008). 2018-08-21 21:36:07 +02:00
omar
4de6e1f7e4 InputText: Internal renaming of some fields + final copy uses edit_state.CurLenA+1 instead of buf_size. 2018-08-21 15:14:10 +02:00
omar
0fd6e9bc0d InputText: Fixed minor off-by-one issue when submitting a buffer size smaller than the initial zero-terminated buffer contents. 2018-08-21 14:27:57 +02:00
omar
e6c78f9470 InputText: (Breaking change) removed ImGuiTextEditCallbackData::ReadOnly since it is a duplication of (ImGuiTextEditCallbackData::Flags & ImGuiInputTextFlags_ReadOnly) (#211) 2018-08-21 14:27:57 +02:00
omar
5942c08143 Added IMGUI_VERSION_NUM for easy compile-time testing. (#2025) 2018-08-21 14:27:57 +02:00
omar
f23d29b481 Added links to Discourse forums. 2018-08-20 10:45:10 +02:00
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. 2018-08-20 09:59:51 +02:00
omar
bb2de30e3e Internals: Added ImTextCountUtf8BytesFromChar() helper. 2018-08-17 11:33:45 -07:00
omar
ac39c4b2a8 SplitterBehavior: Fix for when the sizes are already under the minimum desired size. 2018-08-17 11:33:40 -07:00
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. (#2023, #820, #956, #1875). 2018-08-16 13:33:16 -07:00
omar
8972ebae73 Metrics: Added io.MetricsActiveAllocations, moving away from the cross-context global counters than we previously used. (#1565, #1599, #586) 2018-08-15 16:28:39 -07:00
omar
caaa746424 Nav: NavWindowingList doesn't save to .ini file. TODO entries. 2018-08-13 17:29:20 -07:00
omar
fda9dc8e18 Internals: Extracted RenderMouseCursor() out of EndFrame(). Moved to imgui_draw.cpp along with RenderArrowPointingAt(). Comments. (#2013) 2018-08-09 18:07:49 +02:00
omar
421dc19798 Examples: Cast to ImTextureID instead of void* when assigning to TexId. Applied to all examples. (#2015) 2018-08-09 17:49:48 +02:00
omar
d5793102db imgui_impl_opengl3: Advertised as a ES2/ES3 renderer. Defaults to ES3 on Android. Default on "#version 300 es" on ES 3. (#2002, #1873) 2018-08-09 17:42:53 +02:00
omar
0065fe16a2 Nav: Made CTRL+TAB skip menus + skip the current navigation window if is has the ImGuiWindow_NoNavFocus set. (#787)
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.
2018-08-08 16:03:13 +02:00
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.. (#1926). 2018-08-06 13:07:19 +02:00
omar
0905202f44 Internals: Minor renaming for consistency. 2018-08-05 18:13:24 +02:00
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.
2018-08-03 18:12:36 +02:00
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. 2018-08-03 11:41:07 +02:00
omar
87e2fea09d Renamed io.OptResizeWindowsFromEdges to ConfigResizeWindowsFromEdges, io.OptCursorBlink to io.ConfigCursorBlink, io.OptMacOSXBehaviors to ConfigMacOSXBehaviors for consistency. (#1427, #1495, #822, #473, #650)
Demo: Exposed flags in Demo.
2018-08-01 11:50:57 +02:00
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!) 2018-07-31 17:28:18 +02:00
omar
7e1678ff00 Drag and Drop: Elapse payload as soon as delivery is made. (#153) 2018-07-31 17:28:08 +02:00
omar
faf2c34149 Drag and Drop: Added ImGuiDragDropFlags_SourceAutoExpirePayload flag to force payload to expire if the source stops being submitted. (#1725, #143). 2018-07-31 13:46:19 +02:00
omar
79ae6d3bf6 Drag and Drop: Clear payload buffers more consistently in ClearDragAndDrop() + BeginDragDropTargetCustom() can't succeed with hidden contents. (#143) 2018-07-31 13:45:25 +02:00
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. (#1725) 2018-07-31 12:11:18 +02:00
omar
f88bf9cea3 InvisibleButton: Added an assert to catch common type of passing zero-sized dimensions. (#1983) 2018-07-30 18:48:10 +02:00
omar
a7ac9e8346 Made assertion more clear when trying to call Begin() outside of the NewFrame()..EndFrame() scope. (#1987) 2018-07-30 18:20:25 +02:00
omar
4d5dcdb57a Internals: Changed signature of ShadeVerts functions to remove pointers. (#1286, #1700, #1986) 2018-07-30 17:24:04 +02:00
omar
f05aede098 Revert "Assert that fmt != NULL before calling vsnprintf (#1969)"
This reverts commit 84183f5bb6.
2018-07-30 16:50:47 +02:00
omar
80db2383d8 Speculative va_copy() fix for old versions of GCC/Clang. (cannot repro) (#1085) 2018-07-30 16:01:06 +02:00
omar
2a67aeaa3d Visual Studio: calling into _vsnprintf. (#1085) 2018-07-30 16:01:06 +02:00
omar
15a93d6fe3 Internals: Fixed HoveredIdTimer so it is safe to call SetHoveredId() multiple times without altering the timer. 2018-07-30 14:36:33 +02:00
omar
f9e8b5c652 CollapseButton: Added hovering highlight + minor consistency tweaks. 2018-07-27 13:32:33 +02:00
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 2018-07-27 12:39:42 +02:00
omar
28c1a9857e Internals: Changed SplitterBehavior() signature to be consistent with other similar signatures. (#319). 2018-07-26 23:50:05 +02:00
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 2018-07-26 23:49:36 +02:00
OswaldHurlem
84183f5bb6 Assert that fmt != NULL before calling vsnprintf (#1969)
In the case of Visual Studio 15.6 + Windows SDK 10.0, vsnprintf() with NULL format string appears to corrupt the stack...
2018-07-26 22:26:50 +02:00
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. 2018-07-26 19:24:27 +02:00
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 2018-07-26 19:03:02 +02:00
omar
7adac4ab3e FAQ update 2018-07-26 12:55:40 +02:00
omar
0c88fad6c2 Internals: SplitterBehavior() added hover_visibility_delay parameter which is helpful to reduce visual noise. (#319) 2018-07-25 16:07:05 +02:00
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. 2018-07-24 16:45:11 +02:00
omar
3a522b2400 Internals: Renamed one of the arrow functions so their name don't collide. 2018-07-24 16:41:17 +02:00
omar
528b50a89f Fixed horizontal mouse wheel not forwarding the request to the parent window if ImGuiWindowFlags_NoScrollWithMouse is set. (#1463, #1380, #1502) 2018-07-22 19:04:15 +02:00
omar
4b8ce24e46 Internals: Extracted part of NewFrame() into a UpdateMouseWheel() function. 2018-07-22 18:57:28 +02:00
omar
4ebd442a24 Added asserts to catch illegal modifications of the font atlas between NewFrame() and EndFrame()/Render(). (#1958) 2018-07-22 18:53:27 +02:00
omar
e07f5d4c78 Changed ImGui::GetTime() return value from float to double to avoid accumulating floating point imprecisions over time. 2018-07-22 18:46:41 +02:00
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. (#1879) 2018-07-19 15:22:18 +02:00
omar
93321d3280 Nav: Fixed CTRL+TAB windowing list from always showing the implicit Debug window. (#787) 2018-07-17 19:48:53 +02:00
Rokas Kupstys
7e59eb026b Fix warning when IMGUI_DEFINE_MATH_OPERATORS is already defined by build system. (#1950) 2018-07-17 17:17:56 +02:00
omar
5e73e969fb Comments, exposed a few things in imgui_internal.h for consistency, added ImQsort wrapper. 2018-07-12 11:08:24 +02:00
omar
23288547ec Revert part of c7016c2 incorrectly renaming ImGuiCol_NavWindowingHighlight to ImGuiCol_NavWindowListHighlight, that was wholly unnecessary (and not documented!). (also invalidate #1939) 2018-07-12 09:53:10 +02:00
omar
9007dff5eb IsItemHovered(): Added ImGuiHoveredFlags_AllowWhenDisabled flag to query hovered status on disabled items. (#1940, #211)
+ shallow changelog tweaks
2018-07-10 19:16:57 +02:00
omar
b829671df1 Fixed missing value in GetStyleColorName(). (#1939) broken with c7016c2 2018-07-10 16:45:54 +02:00
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. 2018-07-10 11:16:40 +02:00
omar
dc021f1c23 Internals: Fixed CalcSizeContents() returning negative value on first run (inconsequential afaik, but fixing for sanity) 2018-07-09 21:38:37 +02:00
omar
17f36038e0 Internals: Misc/shallow merge from Docking branch. 2018-07-09 21:10:47 +02:00
omar
7033b2043b Internals: Move IMGUI_CDECL declaration to imgui_internal.h so everyone can profit. 2018-07-09 20:34:12 +02:00
omar
c7016c25e8 Nav: Added a CTRL+TAB window list and changed the highlight system accordingly. (#787) 2018-07-09 19:16:48 +02:00
omar
0708f91617 Internals: Removed RootWindowForTabbing, won't be needed. Nav: Not starting NavWindowingTarget when a modal is active (was not noticeable). 2018-07-09 16:20:14 +02:00
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. (#143) + additional safety checks. 2018-07-08 20:06:49 +02:00
omar
64938178b7 Internals: Moved selectable flags to avoid collision with public flags + rewrote some tests so we can consistently grep for (held && hovered) 2018-07-08 18:23:12 +02:00