Commit Graph

7855 Commits (9ce0f35ef36d4fe39052f8107d8017c8833ce771)
 

Author SHA1 Message Date
ocornut 2e64ee050d Removed duplicate typedef for ImGuiButtonFlags
https://github.com/cimgui/cimgui/issues/166
ocornut b2a91dc390 Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
ocornut 71cc636696 Metrics: Rebranded as "Dear ImGui Metrics/Debugger". Fix Show Window Rectangle. Fix Clang OSX warnings. Amend for Mingw only.
ocornut e736039538 Nav: Fixed IsItemFocused() from returning false when Nav highlight is hidden because mouse has moved. ()
ocornut 8119759329 Internals: extracted stack checking code into a ImGuiStackSizes helper struct + added test for FocusScope
+ renamed g.ColorModifiers > g.ColorStack, g.StyleModifiers > g.StyleVarStack
ocornut 6e94013a3d Made ItemFlagsStack and GroupStack shared stacks.
ocornut 12ba6f4606 Fix PushFocusScopeID() + using shared stack. Renamed GetFocusScopeID() to GetFocusedFocusScope() - the two existing functions name are very error prone.
Rokas Kupstys a3e8dc3f34 CI: Fix deployment of PVS-Studio license + fix reported error.
ocornut a138855d56 Hotfix for PushFocusScope() being utterly wrong (until we split the stacks), Added asserts on PopID to help catch bugs, Added GC trigger.
ocornut 78f1d2d319 ImDrawListSplitter: create first draw cmd on demand + Internals: fix incorrect ImBitArraySetBitRange() (only used by tables)
Make it cheaper to allocate unused draw cmd, can't measure perf difference other our stress tests.
ocornut 13258f5957 Internals: zero-clearing ImGuiWindow / ImGuiWindowTempData for simplicity. (amend)
All the non-zero fields previously initialized in ImGuiWindowTempData() are in fact setup in Begin: FocusCounterRegular, FocusCounterTabStop, TextWrapPos, LayoutType, ParentLayoutType
ocornut 7a135a763c Fix format warnings when using gnu printf extensions in a setup that supports them (gcc/mingw). ()
ocornut dcfb986fa8 Made EndFrame() assertion for key modifiers being unchanged during the frame more lenient. ()
Rokas Kupstys a3f79104df Examples: Apple+Metal: Forward events to OS key combinations like CMD+Q can work. ()
Brandon DeRosier 6a0e85c561 Backends: Vulkan: Add override for the subpass to reference during VkPipeline creation. ()
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.
ocornut 61825c7735 Tab Bar: Fixed minor/unlikely bug skipping over a button when scrolling left with arrows + InputText: minor optimization.
顾起威 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. ()
ocornut ac08593b96 Merge branch 'master' into docking + tweak dock node padding + use CheckboxFlags with int
# Conflicts:
#	imgui.cpp
#	imgui_demo.cpp
#	imgui_internal.h
ocornut 5789e69a62 Checkbox: Added CheckboxFlags() helper with int* type. Demo: removed extraneous casts.
ocornut 5f97809cab Misc tidying up (zero-clear structures, more unused default in ClipRetFullscreen, NavApplyItemToResult() coding style fix)
Zero-clearing more structures
Remove arbitrary default ClipRetFullscreen value in ImDrawListSharedData.
Nav extracted NavApplyItemToResult() function.
Coding style fixes in OSX Backends.
ocornut 046057cebb Selectable: Avoid pushing span-column background if clipped.
ocornut 7a27b2a282 Update Readme, links to Useful Widgets, updated a gif.
ocornut 2bf5ca7ef2 ImDrawListClipper: avoid over reserving memory.
ocornut d6a2f7e95e Reduced padding + unused storage in ImDrawList (224->192 bytes) + zero-init ImDrawListSplitter and ImDrawList
+ Readme tweak
ocornut 2fa00656a4 Fix for IMGUI_DISABLE_METRICS_WINDOW
Albin Odervall b934b9bb86 Backends: OSX, Metal: Fix -Wshadow, -Wimplicit-float-conversion, and -Wsign-conversion warnings. ()
Rokas Kupstys 9cca1b2e97 Replace UTF-8 decoder with one based on branchless version by Christopher Wellons. (not branchless anymore tho)
Decoding performance increase ~30%
ocornut 3777fbbd81 Renamed io.ConfigWindowsMemoryCompactTimer to io.ConfigMemoryCompactTimer as the feature will apply to other data structures.
ocornut e3ac52630a Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_opengl3.cpp
#	imgui.cpp
ocornut 047d4c4500 Metrics: Extracted most functions.
+ avoid using full namesapce prefix
ocornut 044ed22379 Metrics: Fixed mishandling of ImDrawCmd::VtxOffset in wireframe mesh renderer + omitting trailing empty ImDrawCmd in count + relying on IdxOffset value.
M. Frink ~ Lemur a129621292
Doc: mention IMGUI_USE_WCHAR32 in fonts documentation ()
Rokas Kupstys 6f57d58e82 Backends: OSX: Fix KeyPadEnter on MacOS. ()
ocornut df35157397 Drag and Drop: Fix losing drop source ActiveID (and often source tooltip) when opening a TreeNode() or CollapsingHeader() while dragging. ()
Amend 7b3d379, 8241cd62 etc.
ocornut b7530e5d04 Revert "Replace UTF-8 decoder with branchless version by Christopher Wellons." ()
This reverts commit b3576dd354.
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.
Warren Moore bca4749346 Examples: Apple: Consolidated example_apple_metal to reduce class and file count (, )
ocornut 5292320110 Amend ffe8f0177f () + readme fixes
Louis Schnellbach ffe8f0177f Backends: OpenGL3: Backup/restore GL_PRIMITIVE_RESTART state ()
Bill Six acb8ef2006
Examples: Vulkan: Fixed CMake include path. ()
The backends directory was not included, so the build was failing.
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
ocornut e6b99a420b Tab Bar: Do not display a tooltip if the name already fits over a given tab. ()
ocornut fbe74ed50c Tab Bar: zero clear more structures.
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.
ocornut 748bd1ba9c Tab Bar: Restore cursor position in EndTabBar() when amending (amend f2f32602) + made LastTabItemIdx consistent ImS8 as other tab storage relies on same type
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. (, )
ocornut d015004f45 Rename colored>color in comments where possible ()
xndcn 127f132447 Backends: OpenGL3: Add compatibility of GL_VERSION for GL 2.x ()
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
ocornut 31a144b60c Fix comments ()
ocornut d3a80d9f1b Internals: Docking: More fixes to make DockNodeBeginAmendTabBar() viable (probably some issues left)