Commit Graph

489 Commits

Author SHA1 Message Date
Rokas Kupstys
a6f4b0fd70 Nav, Menus: Fix vertical wrap-around in menus or popups created with multiple appending calls to BeginMenu()/EndMenu() or BeginPopup/EndPopup(). (#3223, #1207)
First call to EndPopup() called NavRequestTryWrapWindow() which performed wrap-around operation while we were not done composing menu. This resulted in navigation wrapping around to first item.
Since wrap-around operation is only valid in last call to EndPopup() and there is no way to know which call is last - this operation is delayed to the end of the frame.
2020-05-11 15:30:12 +02:00
Albert Vaca
685ca27d84 Backends: OpenGL: On OSX, if unspecified by app, made default GLSL version 150. (#3199) 2020-05-08 17:32:34 +02:00
omar
9ee442d3f0 Metrics: Added a "Settings" section with some details about persistent ini settings. InputText: Assert early on null buffer. 2020-05-07 21:34:44 +02:00
omar
11a3e75f47 Backends: Win32: Fix _WIN32_WINNT < 0x0600 (MinGW defaults to 0x502 == Windows 2003). (#3183) 2020-05-04 20:46:20 +02:00
omar
b4dd28ffbb Style: Added style.TabMinWidthForUnselectedCloseButton settings.
Set to 0.0f (default) to always make a close button appear on hover (same as Chrome, VS).
Set to FLT_MAX to only display a close button when selected (merely hovering is not enough).
Set to an intermediary value to toggle behavior based on width (same as Firefox).
2020-05-04 14:58:21 +02:00
omar
d5ce3b43ae Backends: Vulkan: Fixed error in if initial frame has no vertices. (#3177) 2020-05-04 11:03:41 +02:00
Rokas Kupstys
2593b6a1c8 Drag and Drop: Fix unintended fallback "..." tooltip during drag operation when drag source uses _SourceNoPreviewTooltip flags. (#3160) 2020-04-27 13:51:07 +02:00
Chris Savoie
73c30aa085 Backends: Vulkan: Don't skip drawing when there's no vertexes to ensure that user callbacks are still processed. 2020-04-26 20:26:06 +02:00
omar
5ac5d3674f Removed unncessary ID (first arg) of ImFontAtlas::AddCustomRectRegular() function. 2020-04-23 19:27:04 +02:00
u3shit
528b12eb7a Fix glClipControl(GL_UPPER_LEFT) handling in opengl3. 2020-04-22 10:10:51 +02:00
omar
37f665b619 Backends: Win32: Support for #define NOGDI, won't try to call GetDeviceCaps(). (#3137, #2327) 2020-04-19 17:52:09 +02:00
omar
1fd9e131e4 TreeNode: Fixed bug where dragging a payload over a TreeNode() with either _OpenOnDoubleClick or _OpenOnArrow would open the node. (#143) 2020-04-15 13:06:05 +02:00
omar
54b38d88f7 TreeNode: Fixed bug where BeginDragDropSource() failed when the _OpenOnDoubleClick flag is set. Added basic demo code. (Amend 05420ea) 2020-04-15 12:31:51 +02:00
omar
e8c986b34e Version 1.77 WIP 2020-04-14 14:55:50 +02:00
omar
5503c0a12e Version 1.76
+ fixed PVS warning, update demo binaries, update readme image
2020-04-12 20:18:47 +02:00
omar
ec7294d890 Backends: OpenGL3: Fixed version check mistakenly testing for GL 4.0+ instead of 3.2+ to enable ImGuiBackendFlags_RendererHasVtxOffset, leaving 3.2 contexts without it. (#3119, #2866, #2852) 2020-04-12 18:01:10 +02:00
SergeyN
977ac53dd8 Examples: Win32+DX12: Fixed resizing main window, enabled debug layer. (#3087, #3115) 2020-04-12 09:55:56 +02:00
omar
fb70d90fef Made default clipboard handlers for Win32 and OSX use a buffer inside the main context instead of a static buffer, so it can be freed properly on Shutdown. (#3110) 2020-04-09 13:34:39 +02:00
omar
752436219d Metrics: Made Tools section more prominent, added options, made mesh viewer more accessible. 2020-04-06 18:10:24 +02:00
omar
cc0d4e346a Misc: Added an explicit compile-time test for non-scoped IM_ASSERT() macros to redirect users to a solution + fixed our stb wrappers.
+ Nav: Use nav layer enum, comments.
2020-04-03 12:41:33 +02:00
omar
11116eee80 Columns: undid the change in 1.75 were Columns()/BeginColumns() were preemptively limited to 64 columns with an assert. (#3037, #125)
Essentially reverting 9d444062f9.
2020-04-02 20:01:48 +02:00
omar
3490046c97 Nav: Disabled clipping g.NavId and fixed interactions with ImGuiListClipper. (#787) 2020-04-02 17:56:35 +02:00
omar
05420ea2cf TreeNode: Made clicking on arrow with _OpenOnArrow toggle the open state on the Mouse Down event rather than the Mouse Down+Up sequence (this is rather standard behavior). 2020-04-02 14:26:33 +02:00
omar
ec2a24a5f1 Selectable: Allow using ImGuiSelectableFlags_SpanAllColumns in other columns than first. Comments. (#125) 2020-03-26 20:33:39 +01:00
omar
7c11997bcc Selectable: Fixed honoring style.SelectableTextAlign with unspecified size. (#2347, #2601) 2020-03-26 15:02:03 +01:00
omar
670367e51d Added IMGUI_USE_WCHAR32 instead of "#define ImWchar ImWchar32" to faclitate C-binding. (#2538, #2541, #2815) 2020-03-24 20:15:17 +01:00
omar
f2b01c3436 Changelog, tweak OpenGL3 backends. (#3061), update Gallery thread links. 2020-03-24 18:45:05 +01:00
omar
4986dba270 Scrolling: Fixed scrolling centering API leading to non-integer scrolling values and initial cursor position. (#3073)
This would often get fixed after the fix item submission, but using the ImGuiListClipper as the first thing after Begin() could largely break size calculations. (#3073)
2020-03-24 11:56:21 +01:00
omar
ccf0cc8584 Added ImGuiKeyModFlags. Added additional checks in EndFrame() to verify that io.KeyXXX values have not been tampered with between NewFrame() and EndFrame(). 2020-03-19 12:24:32 +01:00
omar
d8824f9a9a CI: Clarify purpose of example_null, Changelog 2020-03-19 11:13:52 +01:00
David Kalnischkies
2fd411a83e Support custom stb_rect_pack filename in Freetype (#3062)
Copies the #define magic from imgui_draw.cpp to the imgui_freetype implementation to allow the use of a custom stb rect_pack here as well.
References: fe5347ef94
2020-03-18 22:14:29 +01:00
Rokas Kupstys
75a65f6fb0 CI: Test build with large indices, obsolete functions disabled and demo/metrics windows disabled.
+ amend notes
2020-03-17 20:33:28 +01:00
ocornut
b016f1ad70 Examples: SDL+DX11: Fixed resizing main window. Amend (#3057) 2020-03-11 21:22:52 +01:00
ocornut
b029182a73 Merge branch 'features/unicode' 2020-03-03 18:59:54 +01:00
omar
897704cb49 Menus: Tweak for first-level menu windows to be positioned regardless of MenuBarHeight() which is not stored in window, allowing undocumented modification of the menu bar height). 2020-03-03 18:57:07 +01:00
ocornut
a41332453e Unicode: Changelog, comments, minimum CI integration. (#2541, #2538, #2815) 2020-03-03 18:53:29 +01:00
Rokas Kupstys
0342a3c548 Menus: Implement BeginMenu() appending to existing menu when executed with same ID multiple times. (#1207) 2020-02-28 16:35:33 +01:00
ocornut
e547f898a9 Demo: Added color gradient in demo to identify srgb/linear issues better. Tweaks. 2020-02-24 12:44:19 +01:00
ocornut
0345324646 Backends: SDL: Fixed mapping for ImGuiKey_KeyPadEnter. (#3031) [@Davido71] 2020-02-20 12:28:06 +01:00
ocornut
02a6c06080 Window: Fixed a bug with child window inheriting ItemFlags from their parent when the child window also manipulate the ItemFlags stack. (#3024) [@Stanbroek]
Amend f843facba4 and 8828889d5e
2020-02-18 14:25:50 +01:00
Omar
ea3fc76038 BeginMenu: Fixed a bug where SetNextWindowXXX data before a BeginMenu() would not be cleared when the menu is not open. (#3030) 2020-02-18 12:49:02 +01:00
Omar
8836975dcf Drag and Drop, Nav: Disabling navigation arrow keys when drag and drop is active. (#3025) 2020-02-17 18:28:01 +01:00
Omar
ceec3cd3fd Backends: Win32: Added ImGui_ImplWin32_EnableDpiAwareness(), ImGui_ImplWin32_GetDpiScaleForHwnd(), ImGui_ImplWin32_GetDpiScaleForMonitor() helpers functions.
(backported from the docking branch)
2020-02-17 11:15:40 +01:00
omar
d284a6cffc InputText: Fixed password fields displaying ASCII spaces as blanks. Fixed non-ASCII space occasionally creating unnecessary empty polygons. (#2149, #515) 2020-02-11 19:28:11 +01:00
omar
70975fe44d Demo: Added a black and white gradient to Demo>Examples>Custom Rendering. 2020-02-10 22:08:52 +01:00
omar
d8948b5343 ColorButton: Added ImGuiColorEditFlags_NoBorder flag to remove the border normally enforced by default. 2020-02-10 21:24:03 +01:00
Rokas Kupstys
21b9e42964 Minor fixes to example_sdl_metal and a changelog entry.
Add example_sdl_metal to CI builds.

Closes #3017.
2020-02-10 16:53:37 +01:00
omar
58b3e02b95 Version 1.75
Comments
2020-02-10 14:02:41 +01:00
omar
d37d25470a Added IMGUI_DISABLE compile-time definition to make all headers and sources empty. 2020-02-09 17:08:33 +01:00
omar
f694244dec InputText: Fix using a combination of _CallbackResize + _EnterReturnsTrue + lack of persisting user storage. (#3009)
Amend 24ff25981 (#2006, #1443, #1008)
2020-02-04 15:19:49 +01:00
omar
bdbb2b21f5 Fix 83efdcec from overflowing buffer + make it a single undo records + comments (#3008) 2020-02-03 17:39:20 +01:00
Rokas Kupstys
83efdcec8d Canceling text input with [esc] key uses stb_textedit facilities to restore original value. This makes restoration undoable using hotkeys.
Fixes #3008.
2020-02-03 15:50:17 +01:00
omar
fc42528f13 When testing for the presence of the ImGuiWindowFlags_NoBringToFrontOnFocus flag we test both the focused/clicked window (which could be a child window) and the root window. 2020-01-31 18:28:49 +01:00
omar
d9bca0d853 Nav: Fixed a bug where the initial CTRL-Tab press while in a child window sometimes selected the current root window instead of always selecting the previous root window. (#787) 2020-01-31 14:42:59 +01:00
omar
47fab0e166 Misc renaming, comments. Docs: add missing spacing to Changelog. 2020-01-31 14:42:59 +01:00
Rokas Kupstys
9cff4d6e5e Columns: ImDrawList::Channels* functions now work inside columns.
Use a private splitter in columns, paving way for removal of obsolete ImDrawList::Channels* functions.
2020-01-31 12:02:56 +01:00
omar
05a49f0413 Examples: Emscripten: Demonstrating embedding fonts in Makefile and code. (#2953) [@Oipo] 2020-01-30 17:15:15 +01:00
Konstantin Podsvirov
8cbb693f47 Emscripten: Allow filesystem support. (#3005)
Filesystem functions perfectly work for Emscripten platform. This changes remove extra changes added by #2734.
You can still disable filesystem functions by defining IMGUI_DISABLE_FILE_FUNCTIONS.
2020-01-30 16:26:09 +01:00
omar
6e1f8be07b Window: Fix SetNextWindowBgAlpha(1.0f) failing to override alpha component. (#3007) 2020-01-30 15:13:36 +01:00
omar
5f4dfad5b7 Merge misc/shallow changes from Docking to reduce drift.
Most are comments. Fix menu bar clipping: 07ff47bf1b
2020-01-28 20:06:34 +01:00
omar
4d4e3b97f4 TODO, Readme
(dropped TreeNode_NoIndent flag from todo, as it feels unnecessary)
2020-01-27 12:37:06 +01:00
omar
f6da5000bf Backends: OpenGL2: Explicitly backup, setup and restore GL_TEXTURE_ENV to increase compatibility with legacy OpenGL applications. (#3000) 2020-01-23 16:20:37 +01:00
omar
5363af7f47 AddCircle, AddCircleFilled: Add auto-calculation of circle segment counts (amends)
Tweak default max error value, Changelog, comments, path-fast for 12 segments circles, made LUT store ImU8
2020-01-23 14:55:05 +01:00
omar
8bcac7d95c Backends: GLFW, SDL: report Windows key (io.KeySuper) as always released.
Neither GLFW nor SDL can correctly report the key release in every cases (e.g. when using Win+V) causing problems with some widgets. The next release of GLFW (3.4+) will have a fix for it. However since it is both difficult and discouraged to make use of this key for Windows application anyway, we just hide it. (#2976)
2020-01-17 15:18:33 +01:00
omar
e499497ec5 Backends: Win32: Added support for io.KeySuper (Windows key) for consistency with other backends. (#2976)
Even if realistically it is difficult to make good use of under Windows.
+ Style editor: Use a more explicit form of RadioButton() to avoid being depending on underlying flags type. (#2983)
2020-01-17 15:06:22 +01:00
Loïc Molinari
6c00d1916e Disable format checks when using stb_sprintf.h
STB sprintf allows extra formats like %b or %$d. If ImGui is configured
to use STB sprintf, it generates warnings with GCC and clang when using
such formats because it keeps applying default printf-style warnings.
This commit disables printf-style warnings when using STB sprintf.

Since the printf-style warnings are defined in imgui.h based on the
compiler, IMGUI_USE_STB_SPRINTF can't just be defined in the cpp file
anymore and it's been moved as a proper config in imconfig.h.
2020-01-17 13:27:51 +01:00
omar
4f7bf7e96a Backends: Win32: Added support for #define IMGUI_IMPL_WIN32_DISABLE_GAMEPAD and IMGUI_IMPL_WIN32_DISABLE_LINKING_XINPUT. (#2716) 2020-01-14 14:58:36 +01:00
omar
f56962cb9a ColorEdit: "Copy As" context-menu tool shows hex values with a '#' prefix instead of '0x' + both with/without alpha when available. 2020-01-13 14:09:42 +01:00
omar
ff5299e0e0 Docs: FAQ, Comments. 2020-01-12 22:09:18 +01:00
Rokas Kupstys
f03c00bc89 Added imgui_single_file.h, We use this to validate compiling all *.cpp in same compilation unit.
Removed Unity builds stuff from example_null/. CI builds a temporary .cpp file.
2020-01-10 19:04:35 +01:00
Rokas Kupstys
97a8dc6514 CI: Added PVS-Studio static analysis on the continuous-integration server. 2020-01-10 16:58:39 +01:00
omar
1db78b8ca7 Renaming + missing initialization + missing Changelog update. 2020-01-07 21:26:16 +01:00
Rokas Kupstys
5e2329b98e Backends: GL3: Implement glbinding opengl loader support. (#2870) 2020-01-07 21:06:37 +01:00
Rokas Kupstys
e254167afd ColorEdit: Fix label alignment when using ImGuiColorEditFlags_NoInputs. (#2955) 2020-01-06 16:26:14 +01:00
omar
0f7105e156 Backends: SDL: Wayland: Use SDL_GetMouseState (amend 78ff147) (#2800, 2802) 2019-12-17 14:35:45 +01:00
omar
9d444062f9 Limiting Columns()/BeginColumns() api to 64 columns (#125)
While the current code technically supports it, future code may not so we're putting the restriction ahead.
2019-12-17 13:25:46 +01:00
omar
43bd80a40d Internals: Breaking: ImRect() default constructor initializes all fields with 0.0f
Instead of (FLT_MAX,FLT_MAX,-FLT_MAX,-FLT_MAX). Previous behavior was designed for adding into a bounding box but rarely relied on and not worth it.
2019-12-13 11:56:00 +01:00
Ben Carter
0e74103659 ImDrawList: Add AddNgon(), AddNgonFilled() API. 2019-12-09 11:23:06 +01:00
omar
f9c26d23de Removed redirecting functions/enums that were marked obsolete in 1.53 (December 2017).
Comments
2019-12-08 16:38:27 +01:00
Ben Carter
697f15e339 Added PrimUnreserve() API. Obsoleted calling ImDrawList::PrimReserve() with a negative count. 2019-12-08 16:06:32 +01:00
omar
f656e7775e Inputs: Added ImGuiMouseButton enum for convenience (e.g. ImGuiMouseButton_Right=1).
We forever guarantee that the existing value will not changes so existing code is free to use 0/1/2.
2019-12-06 16:29:36 +01:00
omar
7ff13f4ee1 Examples: Explicitly adding -DIMGUI_IMPL_OPENGL_LOADER_GL3W to Makefile to match linking settings
(otherwise if another loader such as Glew is accessible, the opengl3 backend might automatically use it). [#2919, #2798]
2019-12-06 10:43:27 +01:00
omar
b521cd357d Removed implicit default parameter to IsMouseDragging(int button = 0) to be consistent with other mouse functions.
(none of the other functions have it).
2019-12-05 18:33:36 +01:00
Max Thrun
6d9a54a904 Examples: Metal: Wrap main event loop body in an @autoreleasepool block to ensure allocations get freed even if underlying system event loop gets paused due to app nap (#2910, #2917) 2019-12-05 15:50:33 +01:00
omar
8342e5b91a Amend previous commits (added ImGuiMouseCursor_NotAllowed enum + new cursors in GLFW 3.4)
Amend b5cad20d79, 945a509773
+ unrelated minor typos
2019-12-05 15:45:30 +01:00
omar
abaf0256b8 Version 1.75 WIP
Added message to font file loading assert.
2019-11-28 20:58:16 +01:00
omar
bdce833636 Version 1.74 2019-11-25 18:38:53 +01:00
omar
26d177bc03 Docs: Moved misc/fonts/README.txt to docs/FONTS.txt. + tweaks 2019-11-25 18:29:28 +01:00
omar
bbe0409942 Metrics: Show wire-frame mesh and approximate surface area when hovering ImDrawCmd. Amend aeb5795.
Internals: Added ImTriangleArea()
2019-11-25 12:01:04 +01:00
omar
51a02b319c Added IM_UNICODE_CODEPOINT_MAX. Changed specs of ImFontAtlas::AddCustomRectRegular() (breaking change). 2019-11-21 14:13:17 +01:00
omar
ca63349eb4 Renamed XX-bits -> XX-bit in comments to match what the world appears to be using. 2019-11-20 11:58:25 +01:00
omar
ecbedc8c26 Tweaks, ammend 93efa54, rename to IMGUI_DISABLE_DEFAULT_FORMAT_FUNCTIONS (#1038) 2019-11-19 21:29:12 +01:00
omar
4e90906b04 Added IMGUI_DISABLE_DEFAULT_FILE_FUNCTIONS / IMGUI_DISABLE_FILE_FUNCTIONS #2734)
Using in Emscripten example.
2019-11-19 21:14:44 +01:00
omar
93efa5415f Renamed IMGUI_DISABLE_FORMAT_STRING_FUNCTIONS to IMGUI_DISABLE_DEFAULT_FORMAT_STRING_FUNCTIONS. (#1038)
Renamed IMGUI_DISABLE_MATH_FUNCTIONS to IMGUI_DISABLE_DEFAULT_MATH_FUNCTIONS.
2019-11-19 20:53:17 +01:00
Tracy Ma
8f40020ca6 Disable Win32 clipboard and IME functions when build target UWP (#2892, #2895) 2019-11-15 12:19:44 +01:00
omar
be05e12e21 Misc: Using static_assert() when using C++11, instead of our own construct (avoid zealous Clang warnings). 2019-11-14 18:02:18 +01:00
omar
25eee91542 Error handling: Assert if user mistakenly calls End() instead of EndChild() on a child window. (#1651)
Internals: Moved some error handling code.
2019-11-13 21:51:38 +01:00
omar
6e8e2c0fa9 Scrollbar: Fixed an issue where scrollbars wouldn't display on the frame following a frame where all child window contents would be culled.
Demo: Fixed a small bug with scrolling demo.
Metrics: Tweaks.
2019-11-08 19:01:54 +01:00
omar
57dc34f4e8 TreeNode: Added IsItemToggledOpen() to explicitly query if item was just open/closed, facilitating interactions with custom multi-selections patterns. (#1896, #1861) 2019-11-08 15:30:15 +01:00
omar
011d475532 TreeNode: The collapsing arrow accepts click even if modifier keys are being held, facilitating interactions with multi-select patterns. (#2886, #1896, #1861) 2019-11-08 15:30:15 +01:00