1320 Commits (747f7fdbbaa1fdd46d5115c7333ab0722a7c2afc)

Author SHA1 Message Date
ocornut 16abfa5eb6 Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
#	imgui_widgets.cpp
3 years ago
ocornut 5e528d9eea Docking: Clicking on the right-most close button of a docking node closes all windows. (#4186) 3 years ago
ocornut 91704b773e Docking: Fix IsWindowAppearing() and ImGuiCond_Appearing on docked windows. (#4177, #3982, #1497, #1061) 3 years ago
ocornut a640d8a6d2 Fixed printf-style format checks on non-MinGW flavors. (#4183, #3592) 3 years ago
ocornut 79e18896fe TabBar: Fixed using more than 32 KB-worth of tab names. (#4176) 3 years ago
ocornut 1ad1429c6d Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_opengl3.cpp
#	docs/CHANGELOG.txt
3 years ago
ocornut 3a941f95e9 Metrics, Demo: moved font details display to metrics code. (#4171) 3 years ago
ocornut 556689591c Backends: OpenGL3: Handle GL_CLIP_ORIGIN on <4.5 contexts if "GL_ARB_clip_control" extension is detected. (#4170, #3998)
Expecting this to somehow cause another issue but we will fix it when it comes.
3 years ago
ocornut 1b435ae3e0 Merge branch 'master' into docking
# Conflicts:
#	docs/CHANGELOG.txt
3 years ago
ocornut ad5d1a8429 Version 1.83 3 years ago
ocornut 029c83c73e Combos: Changed the combo popup to use a different id to also using a context menu with the default item id. (#4167) 3 years ago
ocornut c708299ca9 Docs: Improvements to description of using colored glyphes/emojis. (#4169, #3369) + Add Fonts to Metrics. Removed IMGUI_HAS_TABLE markers. 3 years ago
ocornut b474bff6c6 Nav: Fixed single frame CTRL+Tab from properly enabling the menu layer of target window if it doesn't have other active layers. 3 years ago
ocornut 5d77b6f274 Docs: update links, sponsors 3 years ago
ocornut 105d82d134 Docking: Docking node tab bar honors ItemInnerSpacing.x before first tab. Tweak rendering and alignment of dock node menu marker. (#4130)
+ Fix ~0 in EndFrameDrawDimmedBackgrounds() which is obsolete way of signifying "all round corners".
3 years ago
ocornut 45f5ed52c1 Menus: made MenuItem() in a menu bar reflect the 'selected' argument with a highlight. (#4128) 3 years ago
ocornut 86c2b609ef Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_dx10.cpp
#	backends/imgui_impl_dx11.cpp
#	backends/imgui_impl_dx12.cpp
#	backends/imgui_impl_dx9.cpp
#	backends/imgui_impl_glfw.cpp
#	backends/imgui_impl_opengl2.cpp
#	backends/imgui_impl_opengl3.cpp
#	imgui.cpp
3 years ago
ocornut fd06dc511f Backends: GLFW: Adding bound check in KeyCallback because GLFW appears to send -1 on some setups. [#4124] 3 years ago
thedmd 3c72e5142b Backends: Replace direct access to TextureId with GetTexID() call in ImDrawCmd. (#3761) 3 years ago
ocornut 26a1bbfe1e InputText: Fixed CTRL+Arrow or OSX double-click leaking the presence of spaces when ImGuiInputTextFlags_Password is used. (#4155, #4156) [@michael-swan] 3 years ago
ocornut 41030cbfe2 Tweak computation of io.Framerate so it is less biased toward high-values in the first 120 frames. (#4138) 3 years ago
Basil Fierz 83bdfef8e0 Backends: WGPU: update to latest specs. (#4116, #3632)
Merged 13 commits.
3 years ago
ocornut 4ce6bd8cff Tables: sharing splitter and sort buffers between tables, reducing memory footprints. (#3740)
+ GC pass on that data.
3 years ago
Bartosz Taudul 4c9f0cec27 Add and use SSE-enabled ImRsqrt() in place of 1.0f / ImSqrt(). (#4091)
Squashed 3 commits.
3 years ago
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.
3 years ago
ocornut 31290807dc Merge branch 'master' into docking
+ fix warning fix for mingw+dx9
# Conflicts:
#	backends/imgui_impl_dx9.cpp
#	imgui.cpp
3 years ago
ocornut 2c3f25d2d9 Nav: Fixed Tabbing initial activation from skipping the first item if it is tabbable through. (#787) 3 years ago
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. 3 years ago
ocornut 2dec7b3301 InputText: Align caret/cursor to pixel coordinates. (#4080) 3 years ago
ocornut b493cae8c9 Nav: Fixed pressing Escape to leave menu layer while in a popup or child window. (#787) 4 years ago
Rokas Kupstys 21428ad3f4 Nav, InputText: Fixed accidental menu toggling while typing non-ascii characters using AltGR. (#370) 4 years ago
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)
4 years ago
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.
4 years ago
ocornut bfc4a3347a Nav: Fixed using SetItemDefaultFocus() on windows with _NavFlattened flag + tools in metrics. 4 years ago
ocornut 33cdbe97b8 Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
4 years ago
rokups 6d53884487 Backends: OSX: Fix keys remaining stuck in pressed state when CMD-tabbing to a different application. (#3832) 4 years ago
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
4 years ago
ocornut fdda8b8c12 ImDrawList: Fixed/improved thickness of thick strokes with sharp angles. (#4053, #3366, #2964, #2868, #2518, #2183) 4 years ago
ocornut 770f9daab3 Tables: Better preserve column data (mainly widths) when columns count changes. (#4046) + .ini skips columns with no data. 4 years ago
ocornut 34d4bc620d Merge remote-tracking branch 'origin/master' into docking
# Conflicts:
#	backends/imgui_impl_opengl3.cpp
4 years ago
thedmd 690a90bd35 Make PathArcTo accept counter-clockwise angles (#4030, #3491) 4 years ago
ocornut 5fed6bdc72 Demo: Improved popups demo and comments. 4 years ago
ocornut 858ea17eba Backends: DirectX10, DirectX11: fixed a crash when backing/restoring state if nothing is bound when entering the rendering function. (#4045) 4 years ago
duddel 05a20ca738 Examples: Android: Make Android build compatible with Gradle 7.0. (#3446) 4 years ago
ocornut 76902c482f Changelog: added docking+entries from 1.72 to 1.82 to increase their visibility. 4 years ago
ocornut b957300260 Documentation tweaks (#4042) 4 years ago
ocornut 646c873598 Docking: Fixed reappearing docked windows with no close button showing a tab with extraneous space for one frame. 4 years ago
ocornut e87dd0e65d Docking: Fixed multiple simultaneously reappearing window from appearing undocked in their initial frame. 4 years ago
ocornut 539de4387b Docking: Fixed restoring of tab order within a dockspace or a split node.
(tests in "docking_tab_order")
4 years ago
Rokas Kupstys 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.
4 years ago
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) 4 years ago
ocornut 92b7b1f72b Scrolling: Fix mouse wheel axis swap when using SHIFT on macOS (system already does it). (#4010) 4 years ago
Sam Jones 71dda216ef Backends: OpenGL3: Don't try to read GL_CLIP_ORIGIN unless we're OpenGL 4.5. (#3998, #2366, #2186) 4 years ago
Doug Binks f08566b4d7 InputText: Do not filter private unicode codepoints (e.g. icons) when pasted from clipboard. (#4005) 4 years ago
TotalCaesar659 feb8b1e32d
Update URLs to HTTPS (#4011) 4 years ago
ocornut 00d570e280 Added OpenPopup() ImGuiID overload (#3993, #331) 4 years ago
ocornut 6ddcdbe3e8 Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
#	imgui_widgets.cpp
4 years ago
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. 4 years ago
ocornut 3c7177c6a7 Internals: storing WindowsHoverPadding in context for external access. + Docs update binaries 4 years ago
ocornut 3ed07a8f0b Docking: removed io.ConfigDockingWithShift option. (#2109) 4 years ago
ocornut 84e6fe4fc7 Fix IsWindowAppearing() from returning true twice in most cases. (#3982, #1497, #1061) 4 years ago
ocornut 5991851eb9 Docking: DockSpace() returns its node ID + adding branch changelog. 4 years ago
Nikolai Wuttke c6c15a44fa Examples: Add OpenGL ES 2.0 support to modern GL examples. (#2837, #3951) 4 years ago
ocornut 1dcd3a45cc ColorEdit4: Alpha default to 255 (instead of 0) when omitted in hex input. (#3973)
Courtesy of @squadack
4 years ago
ocornut b79b1cb9c0 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)
4 years ago
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)
4 years ago
ocornut e7577d570e Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_dx9.cpp
#	backends/imgui_impl_sdl.cpp
#	backends/imgui_impl_win32.cpp
#	imgui.cpp
#	imgui_internal.h
#	imgui_widgets.cpp
4 years ago
ocornut aa5431fde2 Tables: Expose TableSetColumnEnabled() in public api. (#3935) 4 years ago
ocornut 1491d2c916 Backends: Win32: Clearing keyboard down array when losing focus (WM_KILLFOCUS). (#2062, #3532, #3961) 4 years ago
Nikolai Wuttke 186b734db0 Backends: SDL2: Extend global mouse pos availability check (#3950) 4 years ago
John Asper 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.
4 years ago
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
4 years ago
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
4 years ago
ocornut 61a0908713 Tables comments + Backends: DirectX9: calling IDirect3DStateBlock9::Capture() after CreateStateBlock() which appears to workaround/fix state restoring issues. . (#3857) 4 years ago
ocornut 81e0b18e38 Merge branch 'master' into docking 4 years ago
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) 4 years ago
Elias Daler 64aab8480a DragScalar: Add default value for v_speed argument in DragScalar(), DragScalarN(). (#3922) 4 years ago
ANF-Studios ebe6ac5fb5 Improvements to minor mistakes in documentation comments (#3923) 4 years ago
ocornut 256594575d Merge branch 'master' into docking
# Conflicts:
#	docs/CHANGELOG.txt
#	imgui.cpp
4 years ago
ocornut 35b1148efb Version 1.82 4 years ago
ocornut d94644261d Drags, Sliders: Support ImGuiSliderFlags_Logarithmic flag with integers. Because why not? (#3786)
Renamed is_decimal to is_floating_point.
4 years ago
ocornut 287bd9b984 InputText: renamed ImGuiInputTextFlags_AlwaysInsertMode to ImGuiInputTextFlags_AlwaysOverwrite. (#2863) 4 years ago
Rokas Kupstys 1bc6f82091 Misc: added imgui.gdb and imgui.natstepfilter debugger helpers for gdb and msvc. 4 years ago
ocornut 0157502eab 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. 4 years ago
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. 4 years ago
ocornut f1bf642e8f Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
#	imgui.h
#	misc/debuggers/imgui.natvis
4 years ago
ocornut fdc2324d9a Moved 'misc/natvis/imgui.natvis' to 'misc/debuggers/imgui.natvis' 4 years ago
ocornut 39432bfd9c Amend 0c93238a ImDrawList: upgraded AddRect(), AddRectFilled(), PathRect() to use general ImDrawFlags instead of ImDrawCornersFlags 4 years ago
Rokas Kupstys c2d6d26139 ImDrawList: upgraded AddRect(), AddRectFilled(), PathRect() to use general ImDrawFlags instead of ImDrawCornersFlags 4 years ago
ocornut 8b9fedba28 Moved Obsolete function block lower in the file + obsoleted old SetScrollHere (->SetScrollHereY) 4 years ago
thedmd e45847d99a Add version of PathArcTo() and PathArcToFast() with adaptive rendering quality. (#3491) 4 years ago
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.
4 years ago
Rokas Kupstys 01a2bac7d5 DrawList: Replace "bool close" in drawing functions with flags. 4 years ago
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) 4 years ago
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
4 years ago
Rokas Kupstys 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.
4 years ago
ocornut 80533ea5e1 Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
#	imgui_widgets.cpp
4 years ago
TAiGA f5bc5e8630 Freetype: Enable FreeType bitmap glyphs. (#3879) 4 years ago
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
4 years ago
ocornut 8dd692c29c Android: Amend backend and examples with minor consistency tweaks. (#3446) 4 years ago
duddel fb85c0341b
Add Android backend and example (#3446) 4 years ago
ocornut d8c88bd943 Tables: Fixed unaligned accesses when using TableSetBgColor(ImGuiTableBgTarget_CellBg). (#3872)
ImSpanAllocator: Support for alignment.
4 years ago
ocornut 6aee4bcdc5 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_dx9.cpp
#	backends/imgui_impl_win32.cpp
#	docs/CHANGELOG.txt
#	imgui.cpp
4 years ago
ocornut 25679a411e Window, Nav: Fixed crash when calling SetWindowFocus(NULL) as the time a new window appears. (#3865) 4 years ago
ocornut 4537d98d46 Backends: DX9: Fix to support colored glyphs, using newly introduced 'TexPixelsUseColors' info. (#3369, #3844) 4 years ago
Xiliusha eb57484935 Backends: DX9: add missing IMGUI_USE_BGRA_PACKED_COLOR support. Remove dinput.h headers. (#3844) 4 years ago
ocornut 23ab4978e4 ImFontAtlas: Added 'bool TexPixelsUseColors' output to help backend decide of underlying texture format. (#3369, #3844) 4 years ago
omar 5aaab7424f
Update FAQ.md 4 years ago
ocornut 760c394707 Added links to Discussions. Closed Discord, yeah! (#2748) 4 years ago
ocornut 6f4b9c65ae Added commentary about DLL boundaries. Added GetAllocatorFunctions(). Tidying up. (#3836) 4 years ago
ocornut edf135c18d Win32+MinGW: Re-enabled IME functions by default even under MinGW. (#2590, #738) 4 years ago
David Maas ece854564a
Log/Capture: Added LogTextV, a va_list variant of LogText. (#3828) 4 years ago
ocornut a8f76c23a4 Window: Shrink close button hit-testing region when it covers an abnormally high portion of the window visible area (e.g. when window is collapsed and moved in a corner)to facilitate moving the window away. (#3825) 4 years ago
ocornut 0ecdf8167c DragScalar: Fixed crash when using DragScalar() directly with ImGuiSliderFlags_AlwaysClamp + only one of either p_min or p_max set. (#3824) [@harry75369] 4 years ago
ocornut c154629152 Backends: Win32: Added ImGui_ImplWin32_EnableAlphaCompositing() helper. (#2766, #3447)
Pragma linking with dwmapi.lib (Vista-era, ~9 kb). MinGW users will need to link with -ldwmapi.
4 years ago
ocornut a4e4f57cb0 Examples: DX9-DX11: Removed half-assed DPI awareness enable. Updated Docking/Viewports part of Changelog (e.g. removed bits that are now already in master, clarified some added bits) 4 years ago
ocornut ffa863a3ba Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_dx10.cpp
#	backends/imgui_impl_dx11.cpp
#	backends/imgui_impl_dx12.cpp
#	backends/imgui_impl_dx9.cpp
#	backends/imgui_impl_opengl3.cpp
#	backends/imgui_impl_win32.cpp
#	docs/CHANGELOG.txt
#	examples/example_glfw_vulkan/main.cpp
#	examples/example_sdl_vulkan/main.cpp
#	imgui.cpp
4 years ago
ocornut 6a161b8789 Examples: Reworked setup of clear color to be compatible with transparent values. (#2693, #2764, #2766, #2873, #3447, #3813, #3816) 4 years ago
ocornut bda12e5fdd Backends: Rework blending equation to preserve alpha in output buffer accross all backends. (#2693, #2764, #2766, #2873, #3447, #3813, #3816)
Some of the viewport ideas from #2766 are not in there yet (e.g. Vulkan: setting compositeAlpha based on cap.supportedCompositeAlpha)
4 years ago
ocornut 27a5bdb916 Backends: Win32: Fixed ImGui_ImplWin32_EnableDpiAwareness() attempting to get SetProcessDpiAwareness from shcore.dll on Windows 8 whereas it is only supported on Windows 8.1.
+ Added other helpers for reference (unused currently, other features will want them)
4 years ago
ocornut fb15d8c858 Improve on automatic circle segment count calculation. (#3808) Amends 4 years ago
ocornut b47aa46d81 Tables: TableSetupColumn() user id uses ImGuiID as intended (typedef ImU32). internals: added GetCurrentTable(), LeftMostEnabledColumn. Demo/docs tweaks. 4 years ago
Rokas Kupstys 9576dfd5e7 CI: Use workflow_run to trigger scheduled builds and static analysis.
Scheduled builds now are triggered by a dummy "scheduled" workflow that is invoked by the timer. This gives forks an ability to disable scheduled builds while maintaining ability to perform CI builds in forked repository. Similarly static analysis is invoked on completion of "build" workflow, ensuring analysis is performed with every build. Also should build workflow triggers change, we do not need to replicate same changes in static analysis workflow file.
4 years ago
ocornut 30b7545841 Version 1.82 WIP 4 years ago
ocornut 239d09804d Merge branch 'master' into docking
# Conflicts:
#	docs/CHANGELOG.txt
4 years ago
ocornut 4df57136e9 Version 1.81 4 years ago
ocornut 647a308ad3 Backends: GLFW: Add ImGui_ImplGlfw_InitForOther() instead of ImGui_ImplGlfw_InitForWebGPU() so it can be used for e.g. DX11. (#3632)
Amend dff0044
4 years ago
ocornut ee59d7a266 Merge branch 'features/viewport_in_master' into docking (WIP need adding code for new ImGuiViewportFlags values)
# Conflicts:
#	imgui.cpp
#	imgui.h
#	imgui_demo.cpp
#	imgui_internal.h
#	imgui_widgets.cpp
4 years ago
ocornut f14042ca78 Viewports Added ImGui::GetMainViewport() as a way to get the bounds and work area of the host display. (#3789, #1542)
Viewports: Backport a few constructs from 'docking' branch.
Viewports: Added ImGuiViewportFlags_IsPlatformWindow, ImGuiViewportFlags_IsPlatformMonitor, ImGuiViewportFlags_OwnedByApp (none of them were in docking branch yet). ImGuiViewportFlags_IsPlatformMonitor is merely there to convey future intent, not yet used.
Reduce uses of io.DisplaySize.
MainMenuBar: Backport work area handling code from 'docking' branch.
Metrics: Backported "Viewports" debug visualizer from 'docking' branch.
Demo: Rework 'Examples->Fullscreen Window'.
Demo: 'Simple Overlay' demo now moves under main menu-bar (if any) using GetMainViewport()'s work area.
4 years ago
ocornut 7a516a266d Merge remote-tracking branch 'origin/master' into docking
# Conflicts:
#	backends/imgui_impl_dx12.cpp
#	backends/imgui_impl_dx9.cpp
#	imgui.cpp
#	imgui.h
4 years ago
ocornut 56f7bdae99 ImDrawList: Clarified PathArcTo() need for a_min <= a_max with an assert. Fixed PathArcToFast() handling of a_min > a_max. 4 years ago
ocornut fa55b0cb60 Viewports: (breaking) removed ImGuiPlatformIO::MainViewport which is now pretty much unused and duplicate (and misleading as we will evolve the concept)
Use GetMainViewport() if stuck.
4 years ago
ocornut b898281e3c Demo: Added 'Examples->Fullscreen Window' demo. (#3789) + repack and zero-clear ImDrawData. 4 years ago
ocornut 03d74a293d ListBox: renamed ListBoxHeader>BeginListBox, ListBoxFooter>EndListBox. Added demo bits. 4 years ago
ocornut 6f6d4e0b70 ListBoxHeader: In version taking height in number of items, made vertical padding consistent regardless of if (items_count <= height_in_items) or not.
Demo: Tweaks.
4 years ago
ocornut e5cbf60def ListBox: tweaked default height calculation. simplifying code internally (rework passing of full rect). Should have no visible side-effects + misc comments. 4 years ago
freddii 90a518c501 Fixed typos (#3782) 4 years ago
ocornut d1a9efdd8f InputText: Fixed slightly off ScrollX tracking, noticeable with large values of FramePadding.x. Multiline: Fixed padding/cliprect not matching single-line version. (#3781)
Fixed FramePadding.y worth of vertical offset when aiming with mouse.
4 years ago
ocornut a3f0393351 Menus: Fixed an issue with child-menu auto-sizing (issue introduced by 6af92b0) (#3779) 4 years ago
ocornut 929563c3a7 Log/Capture: Fixes for handling \n in strings. Improve the look of various widgets. Added LogSetNextTextDecoration helper. Fixup/amend dbaf74d75.
For now removed LogRenderedTextNewLine() - it is eventually desirable but currently carries too much ambiguities, so reverted until we have a better system and test suite.
4 years ago
Louis Schnellbach dbaf74d758 Log/Capture: Fix various new line/spacing issue by using same render text position when there are both RenderText and LogRenderedText call in widget code.
Also Buttons are now enclosed in bracket
4 years ago
ocornut 9d576a96a5 Tables: added internal TableSetColumnEnabled() helper. Comments. 4 years ago
Erwin Coumans 4dec436161 SliderInt: Fixed click/drag when v_min==v_max from setting the value to zero. (#3774) 4 years ago
ocornut 24be26e00e imgui_freetype: Add support for colored glyphs. Font: add support for untinted glyphs (#3369)
Amend 9499afd with missing static inline.
4 years ago
ocornut 4622fa4b66 Fonts: Fixed CalcTextSize() width rounding so it behaves more like a ceil. (#3776)
his is in order for text wrapping to have enough space when provided width precisely calculated with CalcTextSize().x. Amend 7b0bf230.
Note that the rounding of either positions and widths are technically undesirable (e.g. #3437, #791) but variety of code is currently on it so we are first fixing current behavior before we'll eventually change it.
4 years ago
ocornut 577e7cb493 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_win32.cpp
#	docs/CHANGELOG.txt
#	imgui.cpp
4 years ago
ocornut 9499afdf5e imgui_freetype: clarify breaking changes, and add BuildFontAtlas() to be consistent with planned obsolescence. Rename mislabelled internal helper. Demo: clarify labels in nested table demo. (#3765) 4 years ago
ocornut dff0044d4e Backends, Examples: Added support for WebGPU and corresponding example. Amend 5853fbd (#3632) 4 years ago
Basil Fierz 5853fbd68b Backends, Examples: Added support for WebGPU and corresponding example (#3632)
(Squashed 11 commits)
4 years ago
ocornut 6487860aae Backends: Vulkan: Rework support for custom function/symbol loader (#3759, #3227), add ImGui_ImplVulkan_LoadFunctions (amend 6001c54)
Making it a separate function allows to use/test this with our examples or any code using the VulkanH helper called before ImGui_ImplVulkan_Init()
4 years ago
Rokas Kupstys 066406b9be Backends: OSX: Fix mouse position not being reported when mouse buttons other than left one are down. (#3762)
# Conflicts:
#	docs/CHANGELOG.txt
4 years ago
ocornut e28b51786e Tables: Fixed PopItemWidth() or multi-components items not restoring per-colum ItemWidth correctly. (#3760) rework local stacks to facilitate modifying current value without altering the stack.
May consider doing the same for ItemFlags and moving to g.ItemFlags...
4 years ago
ocornut 3867c6c5f0 Fonts: (Breaking) Rename ImGuiFreeType:: flags to ImGuiFreeTypeBuilderFlags_XXX. Remove ImGuiFreeType::BuildFontAtlas() flags. Rename ImFontConfig::RasterizerFlags to FontBuilderFlags. Add ImFontBuilderIO (opaque). Amend 53d59f3 with a dozen of small fixes. 4 years ago
Louis Schnellbach 9417acc20f Fonts: if IMGUI_ENABLE_FREETYPE, use library by default for font rasterization
Also renamed IMGUI_DISABLE_STB_TRUETYPE to IMGUI_ENABLE_STB_TRUETYPE
4 years ago
ocornut 6b32d0ebc7 Fixed minor title bar text clipping issue when FramePadding is small/zero and there are no close button in the window. (#3731) 4 years ago
ocornut f139846750 Backends: Win32: dynamically load XInput library (amends) (#3646, #3645, #3248, #2716) 4 years ago
ocornut 2ed47e5822 Version 1.81 WIP 4 years ago
Belinsky-L-V 695a4bd1a9 Backends: Metal: Fixed texture storage mode when building on Mac Catalyst. (#3748) 4 years ago
ocornut f144c67676 ImDrawList: fixed AddCircle, AddCircleFilled buffer read overflow with (rad > 0.0f && rad < 1.0f && num_segments == 0). (#3738)
Amend 051ce076. Maximum cached count becomes 63 instead of 64.
4 years ago
ocornut bb26751b94 Merge branch 'master' into docking
# Conflicts:
#	docs/CHANGELOG.txt
#	imgui.cpp
4 years ago
ocornut 58075c4414 Version 1.80 4 years ago
ocornut 74b3b7cf58 Added experimental io.ConfigDragClickToInputText feature to enable turning DragXXX widgets into text input with a simple mouse click-release (without moving). (#3737)
+ Offset ImGuiTableColumnFlags values.
4 years ago
ocornut dc0f3d982c DragFloat, DragInt: very slightly increased mouse drag threshold + expressing it as a factor of default value + disabled experimental click-to-input on DragXXX functions. (#3737) 4 years ago
ocornut 0ea4408fd4 Tab Bar: Requested ideal content size (for auto-fit) doesn't affect horizontal scrolling. Followup to afa01d8. (#3414)
+ minor Table rename
4 years ago
Bartosz Taudul 6470681d87
Use GitHub URL for Tracy Profiler. (#3721) 4 years ago
ocornut 388ca563db Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_dx12.cpp
4 years ago
ocornut 002ba1a69f Tables: comments, tweak. CollapsingHeader: comments. (#3715) 4 years ago
ocornut feaa7ea003 Examples: Emscripten: Amend ba636c5. (#3705) 4 years ago
Matthijs Lavrijsen e485d451d1 Backends: DX12: improve Windows 7 compatibility (#3696)
- Attempt to load d3d12.dll from local D3D12On7 paths before falling back to System32
- Do not statically import D3D12SerializeRootSignature
4 years ago
ocornut b11518d7d7 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_opengl2.cpp
#	backends/imgui_impl_opengl3.cpp
#	imgui.cpp
4 years ago
ocornut 9bcf77eb81 Fixed using IsItemEdited() after Combo() not matching the return value from Combo(). (#2034) + fix some PVS warnings, fix typo, blanks.
Amend e28b1078
4 years ago
ocornut 7d5d5711c2 Backends: OpenGL2, OpenGL3: Backup and restore GL_SHADE_MODAL, GL_STENCIL_TEST, clear GL_NORMAL_ARRAY. Comments., (#3671, #3668) 4 years ago
ocornut 1c1d3b7ab5 Added 64-bit variants of CheckboxFlags() in imgui_internal.h. Improve assert on mismatched ListBoxFooter() call. Fix FAQ index. (#3687) 4 years ago
ocornut 8ec5daf35d Happy new year! 4 years ago
ocornut b015ea93fd Style tweaks, disabled default window rounding by default, reduced size of resize grip, made less prominent, increased WindowBg alpha in classic style.
TestEngine: Fixed Checkbox() not reporting its checkable state when clipped.
4 years ago
ocornut 7b53551032 Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
#	imgui.h
4 years ago
ocornut 1aa59f90d0 Minor API comments and tweaks, standardize index used in imgui.h. Tables: tweaked TableSetupColumn() assert to use IM_ASSERT_USER_ERROR(). 4 years ago
ocornut 2e48c2da81 Removed redirecting functions/enums names that were marked obsolete in 1.63 (August 2018) + tables tweaks. 4 years ago
ocornut 4d8e839ddf Renamed ImDrawList::AddBezierCurve() to ImDrawList::AddBezierCubic(), ImDrawList::PathBezierCurveTo() to ImDrawList::PathBezierCubicCurveTo(). (#3127, #3664, #3665)
Renamed corresponding internal functions as well.
4 years ago
ocornut 550bfcfc59 Amend defce31 Add ImDrawList::AddQuadBezierCurve(), ImDrawList::PathQuadBezierCurveTo() (#3127, #3664, #3665) 4 years ago
nyorain a640698123 Clipper: Fixed incorrect end-list positioning when using ImGuiListClipper with 1 item (bug in 1.79). (#3663) 4 years ago
ocornut 06e87014f2 Merge branch 'master' into docking
# Conflicts:
#	imgui.h
#	imgui_internal.h
4 years ago
ocornut 3346544cf5 Examples: Fix batch files (amend b1a18d82, #3513), standardize them + DirectX12: Move ImGui::Render() call above the first barrier to clarify its lack of effect on the graphics pipe. 4 years ago
ocornut 17536f9add Tables: more consistent use of CellPadding.x*2 and clip-rect on right-most side of non-bordered column + fix cellbg for standalone TableHeader call.
Using CellPadding.x on both sides when BorderV is off, generally most consistent and with default value (4,2) promotes at-glance visible spacing between non-bordered columns. Effectively double horizontal padding on non-bordered columns.
Made ClipRect.Max.x matches WorkMaxX which is where we'd like to go for windows themselves.
TableHeader() submit single cell bg color if not already submitted as a full header row.
Misc comments/docs updates.
4 years ago
ocornut dd4ca70b0d Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_win32.cpp
#	imgui.cpp
#	imgui_demo.cpp
4 years ago
ocornut 6e38026627 Tables: changelog. removed TableGetHoveredColumn() from public API in favor of using TableGetColumnFlags(). renamed ImGuiTableSortSpecsColumn to ImGuiTableColumnSortSpecs. 4 years ago
omar 9c8671e7b0 Tables: Add empty file, skeleton. 4 years ago
ocornut f9b873662b Backends: Win32: Fixed setting of io.DisplaySize to invalid/uninitialized data when after hwnd has been closed.
GetClientRect() fails on closed hwnd which left the rectangle uninitialized and copied to DisplaySize. Ensure it is zero + similar failsafe in io.WantSetMousePos path.
4 years ago
ocornut c1ffac2fee Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
4 years ago
ocornut 998d7303b1 Log/Capture: fix capture to work on clipped child windows.
+ Tweak ErrorCheckEndFrameRecover() to use local window pointer.
4 years ago
vaiorabbit 2afdfa602f Rebuild ImFontAtlas::GetGlyphRangesJapanese offset table (#3627)
- GetGlyphRangesJapanese now supports
  - 2136 'Joyo (meaning "for regular use" or "for common use")' Kanji
  - 863 'Jinmeiyo" (meaning "for personal name")' Kanji
4 years ago
ocornut d20f2bc90a Rename example_emscripten/ to example_emscripten_opengl3/ (#3632) 4 years ago
ocornut e0cae25c3c Clarify usage of right-aligned items in Layout>Widgets Width. Tweaks FAQ, added missing syntax coloring. 4 years ago
ocornut d4f08d893e InputText: Fixed swiching from single to multi-line while preserving same ID. 4 years ago
ocornut 72de6f3360 Columns/Internals: (Breaking) renamed ImGuiColumnsFlags_* to ImGuiOldColumnFlags_*. (#125, #513, #913, #1204, #1444, #2142, #2707)
Affected: ImGuiColumnsFlags_None, ImGuiColumnsFlags_NoBorder, ImGuiColumnsFlags_NoResize, ImGuiColumnsFlags_NoPreserveWidths, ImGuiColumnsFlags_NoForceWithinWindow, ImGuiColumnsFlags_GrowParentContentsSize. Added redirection enums. Did not add redirection type.
4 years ago
Borislav Stanimirov fcc2b71724 CI: Fix testing for Windows DLL builds + fix broken DLL build. (#3603, #3601) 4 years ago
ocornut b2a91dc390 Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
4 years ago
ocornut 71cc636696 Metrics: Rebranded as "Dear ImGui Metrics/Debugger". Fix Show Window Rectangle. Fix Clang OSX warnings. Amend #3592 for Mingw only. 4 years ago
ocornut e736039538 Nav: Fixed IsItemFocused() from returning false when Nav highlight is hidden because mouse has moved. (#787) 4 years ago
ocornut 6e94013a3d Made ItemFlagsStack and GroupStack shared stacks. 4 years ago
ocornut 7a135a763c Fix format warnings when using gnu printf extensions in a setup that supports them (gcc/mingw). (#3592) 4 years ago
ocornut dcfb986fa8 Made EndFrame() assertion for key modifiers being unchanged during the frame more lenient. (#3575) 4 years ago
Rokas Kupstys a3f79104df Examples: Apple+Metal: Forward events to OS key combinations like CMD+Q can work. (#3554) 4 years ago
Brandon DeRosier 6a0e85c561 Backends: Vulkan: Add override for the subpass to reference during VkPipeline creation. (#3579)
This allows for binding the pipeline/sending draw commands
(via `ImGui_ImplVulkan_RenderDrawData`) against any subpass, rather than
being restricted to only the first subpass.

Without this, attempting to bind the pipeline against a subpass other than
the first one results in validation layer errors and, at worst, some drivers
failing if the subpass attachments differ.
4 years ago
ocornut 61825c7735 Tab Bar: Fixed minor/unlikely bug skipping over a button when scrolling left with arrows + InputText: minor optimization. 4 years ago
顾起威 2785ac0ee3 InputText: Fixed updating cursor/selection position when a callback alters the buffer in a way where the byte count is unchanged but the decoded character count changes. (#3587) 4 years ago
ocornut ac08593b96 Merge branch 'master' into docking + tweak dock node padding + use CheckboxFlags with int
# Conflicts:
#	imgui.cpp
#	imgui_demo.cpp
#	imgui_internal.h
4 years ago
ocornut 5789e69a62 Checkbox: Added CheckboxFlags() helper with int* type. Demo: removed extraneous casts. 4 years ago
ocornut 7a27b2a282 Update Readme, links to Useful Widgets, updated a gif. 4 years ago
ocornut d6a2f7e95e Reduced padding + unused storage in ImDrawList (224->192 bytes) + zero-init ImDrawListSplitter and ImDrawList
+ Readme tweak
4 years ago
Rokas Kupstys 9cca1b2e97 Replace UTF-8 decoder with one based on branchless version by Christopher Wellons. (not branchless anymore tho)
Decoding performance increase ~30%
4 years ago
ocornut 3777fbbd81 Renamed io.ConfigWindowsMemoryCompactTimer to io.ConfigMemoryCompactTimer as the feature will apply to other data structures. 4 years ago
ocornut e3ac52630a Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_opengl3.cpp
#	imgui.cpp
4 years ago
ocornut 044ed22379 Metrics: Fixed mishandling of ImDrawCmd::VtxOffset in wireframe mesh renderer + omitting trailing empty ImDrawCmd in count + relying on IdxOffset value. 4 years ago
M. Frink ~ Lemur a129621292
Doc: mention IMGUI_USE_WCHAR32 in fonts documentation (#3562) 4 years ago
Rokas Kupstys 6f57d58e82 Backends: OSX: Fix KeyPadEnter on MacOS. (#3554) 4 years ago
ocornut df35157397 Drag and Drop: Fix losing drop source ActiveID (and often source tooltip) when opening a TreeNode() or CollapsingHeader() while dragging. (#1738)
Amend 7b3d379, 8241cd62 etc.
4 years ago
ocornut b7530e5d04 Revert "Replace UTF-8 decoder with branchless version by Christopher Wellons." (#3558)
This reverts commit b3576dd354.
4 years ago
Rokas Kupstys b3576dd354 Replace UTF-8 decoder with branchless version by Christopher Wellons.
Decoding performance increase ranges from 30-40%.

Changes:
* Errors handling near the end of string changed. If input does not contain enough bytes, decoder returns `IM_UNICODE_CODEPOINT_INVALID`, consuming all remaining bytes while old decoder consumed only one byte.

Guarantees:
* At least one byte is consumed, if input had at least one byte available.
* Number of consumed bytes will never seek past end of string.

Requirements:
* `in_text` is a valid pointer.
* String pointed by `in_text` must be zero-terminated, or `in_text_end` is not NULL.
4 years ago
Warren Moore bca4749346 Examples: Apple: Consolidated example_apple_metal to reduce class and file count (#1873, #3543) 4 years ago
ocornut 5292320110 Amend ffe8f0177f (#3544) + readme fixes 4 years ago
Louis Schnellbach ffe8f0177f Backends: OpenGL3: Backup/restore GL_PRIMITIVE_RESTART state (#3544) 4 years ago
ocornut 455c21df71 Merge branch 'master' into docking + dockspace demo comments
# Conflicts:
#	backends/imgui_impl_opengl3.cpp
#	docs/CHANGELOG.txt
#	imgui_internal.h
#	imgui_widgets.cpp
4 years ago
ocornut e6b99a420b Tab Bar: Do not display a tooltip if the name already fits over a given tab. (#3521) 4 years ago
ocornut 8c9b3c9013 Tab Bar: Fixed using more than 128 tabs in a tab bar.
Using ImS16 consistently + some better packing to avoid struct growing size.
4 years ago
Black Cat! c9fafd5ea4 Drag and Drop: Fix drag and drop to tie same-size drop targets by choosen the later one. Fixes dragging into a full-window-sized dockspace inside a zero-padded window. (#3519, #2717) 4 years ago
xndcn 127f132447 Backends: OpenGL3: Add compatibility of GL_VERSION for GL 2.x (#3530)
GL_MAJOR_VERSION and GL_MINOR_VERSION are available on GL 3.0 and above.
So we have to parse GL_VERSION under GL 2.x
4 years ago
ocornut bae2240eda Tab Bar: Made it possible to append to an existing tab bar by calling BeginTabBar()/EndTabBar() again.
# Conflicts:
#	imgui_widgets.cpp
4 years ago
ocornut f2f326024c Tab Bar: Made it possible to append to an existing tab bar by calling BeginTabBar()/EndTabBar() again. 4 years ago
ocornut 042a3b01d2 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_dx10.cpp
#	backends/imgui_impl_dx10.h
#	backends/imgui_impl_vulkan.h
#	backends/imgui_impl_win32.cpp
#	docs/CHANGELOG.txt
#	examples/README.txt
#	examples/example_glfw_opengl2/main.cpp
#	examples/example_glfw_opengl3/main.cpp
#	examples/example_glfw_vulkan/main.cpp
#	examples/example_sdl_directx11/main.cpp
#	examples/example_sdl_opengl2/main.cpp
#	examples/example_sdl_opengl3/main.cpp
#	examples/example_sdl_vulkan/main.cpp
#	examples/example_win32_directx10/main.cpp
#	examples/example_win32_directx11/main.cpp
#	examples/example_win32_directx12/main.cpp
#	examples/example_win32_directx9/main.cpp
#	imgui.cpp
#	imgui.h
#	imgui_demo.cpp
#	imgui_internal.h
4 years ago
ocornut b1a18d82e3 Moving backends code from examples/ to backends/ (step 6: update markdown documentation) 4 years ago
ocornut a2a3d80f04 Moving backends code from examples/ to backends/ (step 5: move documentation to MD files) 4 years ago
ocornut a2d845f9dd Moving backends code from examples/ to backends/ (step 4: update documentation, much improvement) 4 years ago
ocornut 124c2608f1 Docs: Renamed all occurences of "binding" and "back-end" to "backend" in comments and documentations, for consistency. 4 years ago
ocornut 041ef01b33 Removed redirecting functions/enums names that were marked obsolete in 1.61: InputFloat, InputFloat2, InputFloat3, InputFloat4 with int decimal_precision parameter. (#648, #712) 4 years ago
ocornut 0f13fdd177 Removed redirecting functions/enums names that were marked obsolete in 1.60: io.RenderDrawListsFn, IsAnyWindowFocused(), IsAnyWindowHovered(), etc. 4 years ago
ocornut 04de5ef819 Version 1.80 WIP 4 years ago
ocornut 682249396f Merge branch 'master' into docking
# Conflicts:
#	docs/CHANGELOG.txt
#	imgui.cpp
4 years ago
ocornut e5cb04b132 Version 1.79
+ Update readme and mission statement.
Removed "Minimize screen reel-estate usage", removed details on memory consumption (still very valid, just too much noise in a mission statement)
4 years ago
Christian ae5b4991be
Docs: update gallery links. (#3514) 4 years ago
ocornut 12d9505534 CheckboxFlags: Display mixed-value/tristate marker when passed flags that have multiple bits set and stored value matches neither zero neither the full set. 4 years ago
ocornut 01cc666039 ImGuiListClipper: Renamed constructor parameters which created an ambiguous alternative to using the ImGuiListClipper::Begin() function, with misleading edge cases. 4 years ago
ocornut 958e58b06b Merge branch 'master' into docking
# Conflicts:
#	examples/example_apple_opengl2/main.mm
#	imgui.cpp
4 years ago
ocornut 324e0310ad Renamed ImGuiSliderFlags_ClampOnInput to ImGuiSliderFlags_AlwaysClamp. (#1829, #3209, #946, #413) 4 years ago
ocornut fbabf651f4 Style: Renamed style.TabMinWidthForUnselectedCloseButton to style.TabMinWidthForCloseButton. Fixed README links. 4 years ago
ocornut fa004ae79a Merge branch 'master' into docking
# Conflicts:
#	examples/imgui_examples.sln
#	examples/imgui_impl_dx12.cpp
#	examples/imgui_impl_dx12.h
#	examples/imgui_impl_opengl3.cpp
#	imgui.cpp
#	imgui_demo.cpp
#	imgui_internal.h
#	imgui_widgets.cpp
4 years ago
Louis Schnellbach 3422cb1308 Tab Bar: Various fixes. Tried to reduce code complexity. (#3291) 4 years ago
Louis Schnellbach 4a57a982be Tab Bar: Added TabItemButton(), ImGuiTabItemFlags_Leading, ImGuiTabItemFlags_Trailing + demo. (#3291)
(squashed various commits by 2 authors)
4 years ago
ocornut 27d0c3afa9 Tab Bar: Fixed a small bug where scrolling buttons (with ImGuiTabBarFlags_FittingPolicyScroll) would generate an unnecessary extra draw call. 4 years ago
ocornut afc1099fb5 Tab Bar: Fixed a small bug where closing a tab that is not selected would leave a tab hole for a frame. 4 years ago