Commit Graph
100 Commits
Author SHA1 Message Date
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 52c115fb2c Refactor: Added imgui_widgets.cpp headers to easily merge in the functions in all our branches. (#2036) 2018-08-30 14:50:32 +02:00
omar 01586d33f3 Refactor: Added empty imgui_widgets.cpp + updated project files / makefiles etc. accordingly (#2036) 2018-08-30 14:29:11 +02:00
omar f2aa124eb8 Version 1.64 WIP 2018-08-30 14:25:23 +02:00
omar 1c4008aa97 Changelog tweaks/typos 2018-08-29 17:34:08 +02:00
omar 9e0f24dcb6 Version 1.63 2018-08-29 16:20:25 +02:00
omar ac0fcbca46 Changelog: fixed inconsistent white space before list items. 2018-08-29 16:20:02 +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 ec148988f0 Reordered some declarations in imgui.h (in prevision of 1.64 refactor) 2018-08-29 16:12:23 +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 220e6a55b7 Travis: Fix (still not sure there is a way to test those files). (#1044) 2018-08-28 18:40:51 +02:00
omar 1b61b6b208 Examples: Vulkan: Minor tweaks. 2018-08-28 18:22:36 +02:00
omar db790dab4c Travis: Added xcode build for the OSX+Metal example. (#1044) [@petmac] 2018-08-28 18:15:22 +02:00
omar b127027cbd Examples: OpenGL: Added support for glew and glad OpenGL loaders out of the box. (#2001, #2002). Changelog, tweaks, applied changes to SDL+OpenGL3 example. 2018-08-28 16:08:04 +02:00
omar af50ebe7b6 Documentation 2018-08-27 09:36:15 +02:00
omar 4dea0327e7 Examples: Vulkan: Fixed handling of VkSurfaceCapabilitiesKHR::maxImageCount = 0 case. Tweaked present mode selections. 2018-08-25 21:16:08 +02:00
omar a082692b0a ImFontAtlas Comments (#2042) + added ImGuiFontAtlas_None for consistency. 2018-08-25 20:06:17 +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 042f88e5f0 Removed obsolete redirection functions: CollapsingHeader() variation with 2 bools - marked obsolete in v1.49, May 2016. 2018-08-23 13:40:38 +02:00
omar 3612885dea Comments, demo 2018-08-23 13:37:06 +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 7268c65d73 Examples: imgui_impl_vulkan: Comments (re) 2018-08-22 17:59:58 +02:00
omar 3fdfac3377 Examples: imgui_impl_vulkan: Comments 2018-08-22 16:43:29 +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 975b5a7310 ImDrawList: Fixed clipping of leading lines above the clipping rectangle from counting in the worst case vertices reservation. (fix code added in #200!) 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 4e33aeed82 Selectable: Added ImGuiSelectableFlags_Disabled flag in the public API. (#211) 2018-08-14 16:07:01 -07:00
omar caaa746424 Nav: NavWindowingList doesn't save to .ini file. TODO entries. 2018-08-13 17:29:20 -07:00
omar d4cd121ae1 TODO + added missing _None enum for some internals flags. 2018-08-09 21:03:17 +02: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 35124cdd07 imgui_impl_opengl3.cpp Using GLES3 on IOS instead of gl3w. (#2002, #1873)
Not modifying the main.cpp yet because we need to test GL ES 3 context creation on iOS (only imgui_impl_opengl3.cpp was tested).
2018-08-08 17:41:30 +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 9e9c8a8991 Update to Contributing, and Issue/PR templates. 2018-08-05 18:13:15 +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 00e29832d4 Examples: OpenGL2: Disabling/restoring GL_LIGHTING and GL_COLOR_MATERIAL to increase compatibility with legacy OpenGL applications. (#1996) 2018-08-03 15:04:35 +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 d69b2a1c1d Changelog for #1989 2018-08-01 12:23:59 +02:00
omar cc64bd9e3c Comments 2018-08-01 11:54:54 +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 b1fc988c6b imgui_impl_glfw, imgui_impl_sdl: Workaround for Emscripten which doesn't seem to handle focus related calls. (#1941) 2018-08-01 11:34:17 +02:00
omar b217251a63 Added Visual Studio 2017+ build cruft to Ignore List (.vs/ folder) 2018-07-31 18:48:24 +02:00
omar 671e516377 Demo: Fix using ambiguous InputFloat() call which redirect to obsolete version. (#1990) 2018-07-31 18:38:15 +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 067edd09f9 imgui_impl_opengl3: Comments. (#1987) 2018-07-30 18:44:58 +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 d5400d9517 Fixes for pre-C++11 compilers.
That said, I think we can consider upgrading requirement to an early VS-friendly subset of C++11. The thing I would like the most from C++11 are forward-declared enum (from VS 2012 onward).
2018-07-30 17:42:27 +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 6d78045ff8 Demo: Added extra demo in the Basic Horizontal Layout section. (#1977) + PR guidelines 2018-07-30 14:33:27 +02:00
omar 544db70852 Examples: OpenGL3: Tweaks, added changelog. (#1941) 2018-07-30 14:00:53 +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
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 ff83d0e369 Examples: Using fully qualified "Dear ImGui" name in window titles. 2018-07-23 17:31:13 +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