thedmd and ocornut
3c72e5142b
Backends: Replace direct access to TextureId with GetTexID() call in ImDrawCmd. ( #3761 )
2021-05-19 18:39:18 +02:00
ocornut
e7e170c534
InputText: Internal renaming to use our own types to clarify code a little bit.
2021-05-18 14:48:54 +02:00
ocornut
26a1bbfe1e
InputText: Fixed CTRL+Arrow or OSX double-click leaking the presence of spaces when ImGuiInputTextFlags_Password is used. ( #4155 , #4156 ) [@michael-swan]
2021-05-18 14:46:25 +02:00
ocornut
41030cbfe2
Tweak computation of io.Framerate so it is less biased toward high-values in the first 120 frames. ( #4138 )
2021-05-16 20:37:38 +02:00
Basil Fierz and ocornut
83bdfef8e0
Backends: WGPU: update to latest specs. ( #4116 , #3632 )
...
Merged 13 commits.
2021-05-16 19:09:22 +02:00
ocornut
4ce6bd8cff
Tables: sharing splitter and sort buffers between tables, reducing memory footprints. ( #3740 )
...
+ GC pass on that data.
2021-05-07 20:49:52 +02:00
ocornut
32c453ae53
Tables: sharing transient buffers between tables, reducing memory footprints. ( #3740 )
2021-05-07 20:49:52 +02:00
Mertcan Davulcu and GitHub
cbcd89152b
Backends: Android: Tweaks. ( #4034 )
2021-05-07 17:43:42 +02:00
Hattrick HttrckCldHKS and ocornut
a8dcab8e2a
Backends: DX9: Fix potential resource leak ( #4093 )
2021-05-07 15:17:24 +02:00
ITotalJustice and GitHub
ea9122b0ac
Examples: add backends include path in readmes. ( #4106 )
2021-05-07 15:12:09 +02:00
Bartosz Taudul and ocornut
4c9f0cec27
Add and use SSE-enabled ImRsqrt() in place of 1.0f / ImSqrt(). ( #4091 )
...
Squashed 3 commits.
2021-05-06 17:27:19 +02:00
ocornut
84545dbe6f
Disabling some of MSVC most aggressive Debug runtime checks for some simple/low-level functions
...
(e.g. ImVec2, ImVector) leading to a 10-20% increase of performances with MSVC "default" Debug settings.
2021-05-06 13:04:35 +02:00
ocornut
393941ceea
Refactor focusable/tabbalbe item registration toward allowing to handle it prior to clipping (not yet the case) ( #343 , #4079 )
...
Now performed in ItemAdd(). It can't be trivially moved above clipping effectively because it would require us to scroll to be useful, meaning we'd be better off locking the bounding box a frame earlier. Still wip.
As-is this commit has no value for end-user, but it's a reengineering that moves us closer to the solution. + Internals: moved internal flags.
2021-04-30 22:40:02 +02:00
ocornut
2c3f25d2d9
Nav: Fixed Tabbing initial activation from skipping the first item if it is tabbable through. ( #787 )
2021-04-30 21:49:40 +02:00
ocornut
9b90639577
Internals: ItemFlags is a shared resource as advertised. Fix Begin/PushItemFlags/End sequence (mostly for consistency)
2021-04-30 21:34:17 +02:00
ocornut
10a1c5b021
TestEngine: fixed wrong flags passed to ItemInfo queries. Was luckily/misleadingly not causing issues as the test-engine flags we tested were upper bits not colliding with the other type.
...
Moved those flags higher as well. (unrelated to the fix itself)
2021-04-30 19:32:41 +02:00
ocornut
788e91aece
Fixes for MSVC static analyzers (wider range of versions). ( #3938 , #4073 ) + warning fix ( #4089 ) + comments.
2021-04-30 18:21:07 +02:00
ocornut
89162a04f4
Fixes for PVS Studio and MSVC static analyzers. Using a macro to suppress single-use MSVC false positives. ( #3938 , #4073 )
2021-04-29 21:20:32 +02:00
ocornut
d28535f351
Fixes for Visual Studio 2019 static analyzers. ( #3938 , #4073 ) + two minor edge case were invalid scalar input (e.g. a sign only) would return buffer as modified.
2021-04-29 17:10:27 +02:00
ocornut
2dec7b3301
InputText: Align caret/cursor to pixel coordinates. ( #4080 )
2021-04-27 13:31:32 +02:00
ocornut
7cdb3850e7
CI: test with ImTextureID as pointer to catch accidental reuse of const ( #4060 )
2021-04-26 10:18:28 +02:00
Nick Lange and GitHub
04e98fbe6b
Remove const qualifier on ImTextureID local ( #4060 )
...
When defining ImTextureID to a type such as Texture*, the const-qualifier here stops us from using the texture ID. const Texture* is not valid to be pushed as a texture ID anymore.
2021-04-26 10:15:55 +02:00
Jarhmander and GitHub
7b8932554e
Backends: Win32: Change the case of XInput.h include, so it cross-compile nicely on unices. ( #4074 )
2021-04-26 09:29:38 +02:00
ocornut
b493cae8c9
Nav: Fixed pressing Escape to leave menu layer while in a popup or child window. ( #787 )
2021-04-23 19:17:20 +02:00
Rokas Kupstys and ocornut
21428ad3f4
Nav, InputText: Fixed accidental menu toggling while typing non-ascii characters using AltGR. ( #370 )
2021-04-23 18:50:46 +02:00
ocornut
4540177ce7
Nav: clear activeid on menu toggle (so pressing Alt leaving an InputText will steal ActiveID. Previously wouldn't not, but ButtonBehavior() hover logic would not show Menu layer item as hovered when ActiveId != 0). ( #787 )
...
(Adjacent to #370 )
2021-04-23 18:50:46 +02:00
ocornut
e61e8aea9c
Nav: clear navid in NavInitWindow() when window is marked with ImGuiWindowFlags_NoNavInputs. ( #787 )
...
(no expected side-effects, maybe consistency, but those NavLastIds[] values would likely have been 0 already)
2021-04-23 18:50:46 +02:00
ocornut
daf97832f1
Internals: Nav: renaming.
2021-04-23 18:39:08 +02:00
ocornut
06545c4f2a
Backends: DirectX9: explicitely setting up more graphics states to increase compatibility with unusual non-default states. ( #4063 )
...
Added D3DRS_FILLMODE, D3DRS_ZWRITEENABLE, D3DRS_RANGEFOGENABLE, D3DRS_SPECULARENABLE, D3DRS_STENCILENABLE, D3DRS_CLIPPING. Reordered some to match order in DX9 headers.
2021-04-23 18:39:07 +02:00
ocornut
bfc4a3347a
Nav: Fixed using SetItemDefaultFocus() on windows with _NavFlattened flag + tools in metrics.
2021-04-22 16:21:29 +02:00
rokups and ocornut
6d53884487
Backends: OSX: Fix keys remaining stuck in pressed state when CMD-tabbing to a different application. ( #3832 )
2021-04-19 15:15:23 +02:00
ocornut
25fbff2156
ImDrawList: Revert alteration of normal scaling threshold, for now prioritize preserving property of limiting extents. ( #4053 , #3366 , #2964 , #2868 , #2518 , #2183 )
...
Amend fdda8b8
2021-04-19 14:58:54 +02:00
ocornut
fdda8b8c12
ImDrawList: Fixed/improved thickness of thick strokes with sharp angles. ( #4053 , #3366 , #2964 , #2868 , #2518 , #2183 )
2021-04-19 14:03:21 +02:00
ocornut
936f53229d
Internals: maintaining focus order inside windows + only storing root windows in WindowsFocusOrder[] array. (toward #2304 )
2021-04-16 19:28:24 +02:00
ocornut
770f9daab3
Tables: Better preserve column data (mainly widths) when columns count changes. ( #4046 ) + .ini skips columns with no data.
2021-04-16 18:30:11 +02:00
thedmd and ocornut
690a90bd35
Make PathArcTo accept counter-clockwise angles ( #4030 , #3491 )
2021-04-15 16:09:38 +02:00
ocornut
5fed6bdc72
Demo: Improved popups demo and comments.
2021-04-15 15:58:12 +02:00
ocornut
7c9c5dbe9a
Internals: Added ImFloorSigned() + use our own ImFloorSigned() for stb_truetype, compared as matching output for variety of font data. ( #2884 )
2021-04-15 14:27:45 +02:00
ocornut
858ea17eba
Backends: DirectX10, DirectX11: fixed a crash when backing/restoring state if nothing is bound when entering the rendering function. ( #4045 )
2021-04-15 13:29:42 +02:00
duddel and ocornut
05a20ca738
Examples: Android: Make Android build compatible with Gradle 7.0. ( #3446 )
2021-04-15 12:36:06 +02:00
ocornut
b957300260
Documentation tweaks ( #4042 )
2021-04-14 15:46:55 +02:00
ocornut
d6a5cc7934
Metrics: hotfix (fix 6ba13349 + f08566b4, #4005 )
2021-04-07 17:57:14 +02:00
Rokas Kupstys and ocornut
bcdc8bcc4b
Examples: Vulkan: Update GPU selection to pick discrete GPU if available, or use first GPU otherwise. ( #4012 )
...
Fixes examples failing on optimus laptops with integrated graphics not supporting Vulkan.
2021-04-07 14:39:01 +02:00
ocornut
c283a1da5b
Fixed clipping of multi-line value text when label is single-line + Fixed vertical alignment of single-line value text when label is multi-line. ( #4004 )
2021-04-06 18:35:06 +02:00
ocornut
92b7b1f72b
Scrolling: Fix mouse wheel axis swap when using SHIFT on macOS (system already does it). ( #4010 )
2021-04-06 17:51:21 +02:00
Peter Kristensen and ocornut
5f45047fb6
Update example makefiles to check the new homebrew paths ( #4003 )
...
Homebrew on Apple Silicon (i.e. Macbook Air/Pro M1) use `/opt/homebrew` instead of /usr/local.
2021-04-06 12:46:09 +02:00
Sam Jones and ocornut
71dda216ef
Backends: OpenGL3: Don't try to read GL_CLIP_ORIGIN unless we're OpenGL 4.5. ( #3998 , #2366 , #2186 )
2021-04-06 12:39:47 +02:00
Doug Binks and ocornut
f08566b4d7
InputText: Do not filter private unicode codepoints (e.g. icons) when pasted from clipboard. ( #4005 )
2021-04-06 12:00:52 +02:00
TotalCaesar659 and GitHub
feb8b1e32d
Update URLs to HTTPS ( #4011 )
2021-04-06 09:16:35 +02:00
ocornut
00d570e280
Added OpenPopup() ImGuiID overload ( #3993 , #331 )
2021-04-01 17:18:18 +02:00
ocornut
f0fc822837
Fix popup positioning, broken by 84e6fe4. ( #3991 , #3982 )
2021-03-31 19:09:08 +02:00
ocornut
2403ed92a3
Added build/ to gitignore ( #3027 ), Examples: SDL2: Link with shell32.lib required by SDL2main.lib since SDL 2.0.12. [ #3988 , #3884 ] + added batch file for SDL+Vulkan.
2021-03-31 16:19:44 +02:00
ocornut
3c7177c6a7
Internals: storing WindowsHoverPadding in context for external access. + Docs update binaries
2021-03-31 16:06:36 +02:00
ocornut
45c45d2506
Internals: shallow tidying up of the old resize border structure. Make them match the ImGuiDir order. Split GetWindowResizeID() into GetWindowResizeCornerID() and GetWindowResizeBorderID().
2021-03-30 16:44:47 +02:00
ocornut
84e6fe4fc7
Fix IsWindowAppearing() from returning true twice in most cases. ( #3982 , #1497 , #1061 )
2021-03-29 19:45:55 +02:00
ocornut
951c84969b
Popups: fix comment about OpenPopupOnItemClick(). ( #3981 )
2021-03-29 15:49:40 +02:00
Chris Ohk and GitHub
eab3ae473c
Fix warning message C4100 ( #3974 )
...
- warning C4100: 'fmt_out_size': unreferenced formal parameter
2021-03-27 17:11:57 +01:00
Nikolai Wuttke and ocornut
c6c15a44fa
Examples: Add OpenGL ES 2.0 support to modern GL examples. ( #2837 , #3951 )
2021-03-26 13:30:35 +01:00
ocornut
1dcd3a45cc
ColorEdit4: Alpha default to 255 (instead of 0) when omitted in hex input. ( #3973 )
...
Courtesy of @squadack
2021-03-26 11:34:07 +01:00
ocornut
688e06490e
TabBar: Amend previous commit. Fix tab reordering when tab bar has scrolling.
...
Some tidying up with helpers + honor 16-bit offsets as with other tab bar features (unlikely single reorder can reach that but consistent)
2021-03-25 19:16:24 +01:00
Rokas Kupstys and ocornut
475c0fcc39
TabBar: Use mouse position instead of hardcoded +1/-1 offset when reordering tabs.
...
Fixes tab reordering in test engine when using fast mode.
2021-03-25 19:12:49 +01:00
ocornut
a58271c079
Internals: extracted a more reusable BeginViewportSideBar() out of BeginMainMenuBar(). ( #3966 , #3518 )
...
Complement ca34c81c in docking branch which removed assumption that we can't tell size ahead of Begin().
2021-03-25 16:20:42 +01:00
ocornut
aa5431fde2
Tables: Expose TableSetColumnEnabled() in public api. ( #3935 )
2021-03-24 14:36:01 +01:00
ocornut
6f360d6040
Examples: Win32: using a more explicit loop for PeekMessage polling to make the code easier to copy and paste and less error-prone.
2021-03-23 18:22:27 +01:00
ocornut
1491d2c916
Backends: Win32: Clearing keyboard down array when losing focus (WM_KILLFOCUS). ( #2062 , #3532 , #3961 )
2021-03-23 16:48:10 +01:00
Nikolai Wuttke and ocornut
186b734db0
Backends: SDL2: Extend global mouse pos availability check ( #3950 )
2021-03-22 15:08:13 +01:00
John Asper and ocornut
6d3a980f38
Backends: Vulkan: Fix mapped memory validation error when buffer sizes are not multiple of VkPhysicalDeviceLimits::nonCoherentAtomSize. ( #3957 )
...
If using Vulkan backend and either vertex_size or index_size is not aligned to VkPhysicalDeviceLimits::nonCoherentAtomSize, then the call to vkFlushMappedMemoryRanges in ImGui_ImplVulkan_RenderDrawData will result to validation error.
2021-03-22 12:41:45 +01:00
ocornut
59da01901e
Scrolling: Fix scroll tracking with e.g. SetScrollHereX/Y() when WindowPadding < ItemSpacing. Fix scroll snapping on edge of scroll region when both scrollbars are enabled.
...
CalcNextScrollFromScrollTargetAndClamp() fixed snapping edge calculation missing ScrollbarSizes.y
2021-03-19 16:58:23 +01:00
ocornut
6e4770ea5c
Examples: Vulkan: Rebuild swapchain on VK_SUBOPTIMAL_KHR. ( #3881 )
...
Ref https://vulkan-tutorial.com/Drawing_a_triangle/Swap_chain_recreation#page_Suboptimal-or-out-of-date-swap-chain
2021-03-18 18:12:52 +01:00
ocornut
61a0908713
Tables comments + Backends: DirectX9: calling IDirect3DStateBlock9::Capture() after CreateStateBlock() which appears to workaround/fix state restoring issues. . ( #3857 )
2021-03-18 18:04:52 +01:00
ocornut
412d6f7efe
Fixes zealous MSVC static analyzers warnings ( #3938 )
...
Other unfixed as I'm not happy with caving to false positives of every analyzers.
2021-03-18 16:10:25 +01:00
Rokas Kupstys and ocornut
0c5b0c8b97
Internals: Add a way to request window to not process any interactions for specified number of frames.
2021-03-18 14:19:23 +01:00
ocornut
a1a39c632a
Version 1.83 WIP
2021-03-16 14:45:30 +01:00
ocornut
4bf646e4b0
Drags, Sliders, Inputs: Specifying a NULL format to Float functions default them to "%.3f" to be consistent with the compile-time default. ( #3922 )
2021-03-16 12:59:35 +01:00
Elias Daler and ocornut
64aab8480a
DragScalar: Add default value for v_speed argument in DragScalar(), DragScalarN(). ( #3922 )
2021-03-16 12:54:49 +01:00
ANF-Studios and ocornut
ebe6ac5fb5
Improvements to minor mistakes in documentation comments ( #3923 )
2021-03-16 12:44:16 +01:00
ocornut
35b1148efb
Version 1.82
2021-03-15 20:26:48 +01:00
ocornut
352f64697c
Internals: rename legagy tab focus fields to TabFocusXXXX for clarity + removed one unnecessary FocusWindow() call.
2021-03-15 20:10:08 +01:00
ocornut
d94644261d
Drags, Sliders: Support ImGuiSliderFlags_Logarithmic flag with integers. Because why not? ( #3786 )
...
Renamed is_decimal to is_floating_point.
2021-03-15 12:21:37 +01:00
ocornut
287bd9b984
InputText: renamed ImGuiInputTextFlags_AlwaysInsertMode to ImGuiInputTextFlags_AlwaysOverwrite. ( #2863 )
2021-03-12 18:23:30 +01:00
Rokas Kupstys and ocornut
1bc6f82091
Misc: added imgui.gdb and imgui.natstepfilter debugger helpers for gdb and msvc.
2021-03-12 17:03:16 +01:00
ocornut
033dfd9d35
ImDrawFlags: rework/revert c2d6d26 + 39432bf in a way that is closer to old version and back to opt-in but with default 0 = all corners.
2021-03-12 16:31:46 +01:00
ocornut
fdc2324d9a
Moved 'misc/natvis/imgui.natvis' to 'misc/debuggers/imgui.natvis'
2021-03-11 16:21:46 +01:00
ocornut
39432bfd9c
Amend 0c93238a ImDrawList: upgraded AddRect(), AddRectFilled(), PathRect() to use general ImDrawFlags instead of ImDrawCornersFlags
2021-03-11 16:03:45 +01:00
Rokas Kupstys and ocornut
c2d6d26139
ImDrawList: upgraded AddRect(), AddRectFilled(), PathRect() to use general ImDrawFlags instead of ImDrawCornersFlags
2021-03-11 16:03:32 +01:00
ocornut
8b9fedba28
Moved Obsolete function block lower in the file + obsoleted old SetScrollHere (->SetScrollHereY)
2021-03-11 12:16:52 +01:00
thedmd and ocornut
e45847d99a
Add version of PathArcTo() and PathArcToFast() with adaptive rendering quality. ( #3491 )
2021-03-11 11:23:55 +01:00
ocornut
8ed34af6f8
ImDrawList: clarified that PathArcTo()/PathArcToFast() cannot take radius < 0.0f. ( #3491 ) + changed poor-man ceiling in _CalcCircleAutoSegmentCount() to use 0.999999f to reduce gaps
...
Previously it sorts of accidentally worked but would lead to counter-clockwise paths which and have an effect on anti-aliasing.
2021-03-11 10:51:20 +01:00
C.Even and GitHub
a3ebd160cb
Fix unused variable warning in ImGui::EndListBox() ( #3897 )
2021-03-11 10:04:50 +01:00
ocornut
6ba1334903
Nav: internals: renaming ImGuiInputSource so it is not specific to nav. Comments.
2021-03-10 16:36:39 +01:00
Rokas Kupstys and ocornut
01a2bac7d5
DrawList: Replace "bool close" in drawing functions with flags.
2021-03-10 12:57:01 +01:00
ocornut
a64e0eb3a4
Nav: merged SetNavID() and SetNavIDWithRectRel() to improve sanity, moved flags overwrite off them. ( #787 )
2021-03-09 17:21:01 +01:00
ocornut
1c9cc7c117
Nav: tweaks so docking can use same code. NavRestoreLayer restore nav id but Menu key typicallys clears it for menu layer (+ less relying on _ChildWindow flag).
2021-03-09 16:57:13 +01:00
ocornut
4bb5a36f90
Nav: do not clear per-window NavId when window reappears. Process NavInit regardless of current highllight state. Consistently set g.NavLayer in SetNavID(). ( #787 )
2021-03-09 12:39:18 +01:00
ocornut
954b06afe2
Drag and Drop: can use BeginDragDropSource() for other than the left mouse button ( #1637 , #3885 )
...
As long as the item has an ID (for ID-less items will add new functionalities later.
Amend 2c3c5125
2021-03-08 15:50:53 +01:00
ocornut
e842b196df
Amend sanitization of format strings. Support ' without stb_printf. Simpler loops, will also be used for ImStrv branch. ( 8ee77f1) ( #3604 )
...
Widgets: Sliders: Fix a bug where numbers after format specifier (eg. %d123) would cause RoundScalarWithFormatT() return incorrect value.
2021-03-05 18:27:35 +01:00
Rokas Kupstys and ocornut
8ee77f1b65
Widgets: Sliders: Skip custom stb_sprintf.h format flags (', #, _) in RoundScalarWithFormatT() as they break ImAtof()/ImAtoi() and cause Drag*()/Slider*() widgets display incorrect values. ( #3604 )
...
Widgets: Sliders: Fix a bug where numbers after format specifier (eg. %d123) would cause RoundScalarWithFormatT() return incorrect value.
2021-03-05 18:06:54 +01:00
ocornut
fdebb2e093
Internals: removed HoveredRootWindow, tweak IsWindowHovered().
2021-03-05 15:56:59 +01:00
TAiGA and ocornut
f5bc5e8630
Freetype: Enable FreeType bitmap glyphs. ( #3879 )
2021-03-05 14:25:27 +01:00
ocornut
ee643b2ad9
IsItemHovered(): fixed return value false positive when used after EndChild(), EndGroup() or widgets using either... ( #3851 , #1370 )
...
...when the hovered location is located within a child window, e.g. InputTextMultiline().
This is intended to have no side effects, but brace yourself for the possible comeback..
This essentially makes IsItemHovered() not accept hover from child windows, but EndChild/EndGroup are forwarded.
More or less should fix/revert c76f014292 which was a revert of 344d48be3
2021-03-04 19:59:59 +01:00