Commit Graph

8276 Commits

Author SHA1 Message Date
ocornut 9e6430ebb3 Texture-based round corners: fixed unused variables warnings. 2024-07-30 17:07:53 +02:00
Ben Carter f476dbe834 Texture-based round corners: Fxed overlapping edge triangles when drawing filled shapes 2024-07-30 17:07:53 +02:00
Ben Carter f8f7c3308d Texture-based round corners: Added sampling offset and bitmask for generated radii 2024-07-30 17:07:53 +02:00
Ben Carter e38ce79ea9 Texture-based round corners: Use separate textures for square corners and fix a bunch of corner-case issues 2024-07-30 17:07:53 +02:00
ocornut 15920ed2a4 Texture-based round corners: Fix building for stroke width 1,2,4 instead of 1,3,4. 2024-07-30 17:07:53 +02:00
ocornut e6a3a78d2a Texture-based round corners: Fix UV coordinates used by RenderWindowResizeGrip() - render was broken 2024-07-30 17:07:53 +02:00
ocornut fe329fdcc9 Texture-based round corners: Moved RenderResizeGripWithTex to RenderWindowResizeGrip 2024-07-30 17:07:52 +02:00
ocornut 624e3a350d Texture-based round corners: Tweaks, renaming to match tex lines branch. 2024-07-30 17:07:52 +02:00
omar 57e6b1e7da Texture-based round corners: Default circle segment count to 0 + fix warnings, remove unused macro 2024-07-30 17:07:52 +02:00
omar 9a9b5cc886 Texture-based round corners: Removed polling for Shift key in draw functions, moved that responsibility to demo code.
Minor coding style tweaks. Using IM_ASSERT_PARANOID where suitable.
2024-07-30 17:07:52 +02:00
Ben Carter 803116e6b8 Texture-based round corners: Added support for multiple stroke widths 2024-07-30 17:07:52 +02:00
Ben Carter 0d672755ff Texture-based round corners: Refactoring and upgrades
Changed texture-based rounded rectangle edges to draw using thin polygons
Rearranged data for texture-based rounded rectangles to reduce allocations and pre-calculate parametric coordinate
Made max texture-based corner size a constant
Added API for drawing n-gons
Added support in circle API to auto-calculate suitable segment count
2024-07-30 17:07:52 +02:00
Ben Carter ec1925388e Texture-based round corners: Added support for window grip rendering 2024-07-30 17:07:51 +02:00
Ben Carter 4e7fcb70dc Texture-based round corners: Adding style/drawlist flags for rounded corner textures 2024-07-30 17:07:51 +02:00
omar 7defd2e965 Texture-based round corners: Minor tweaks 2024-07-30 17:07:51 +02:00
Ben Carter 65d04ae51e Texture-based round corners: Optimized texture-based rounded rectangle/circle code for better CPU performance at the cost of fill-rate 2024-07-30 17:07:51 +02:00
omar 72e661055e Texture-based round corners: Using ImFabs() + Minor coding style fixes for consistency 2024-07-30 17:07:51 +02:00
Ben Carter 5de15a2727 Texture-based round corners: Fixed not drawing correctly with small radii
Combined filled/outline arc textures into one texture rectangle per radius
Made rounded rectangles/circles draw using (moderately) tight-fitting geometry to minimise fill-rate usage
Hooked up texture-based rounded rectangle/circle code to main render path, with fallback to stroke system
Made AddCircleFilled/AddCircle explicitly not draw circles of radius 0 or less (to avoid inconsistency between them)
Fixed bug in PrimReserve() where releasing more vertices/indices than you used would try and immediately render the entire buffer
2024-07-30 17:07:51 +02:00
omar 9d1add35ae Texture-based round corners: Make FIXME consistent so they can be grepped. Tidying and added notes of things to fix. 2024-07-30 17:07:51 +02:00
Francisco Demartino e23ded127e Texture-based round corners: Store rounded corners in texture to use 1 quad per corner. 2024-07-30 17:07:50 +02:00
ocornut 8199457a7d Version 1.91.0 2024-07-30 16:56:31 +02:00
ocornut ec9a4ef487 Clipper: accept that no item have been submitted if in indeterminate Begin(INT_MAX) mode. (#1311, #3823) 2024-07-30 12:22:29 +02:00
ocornut 1b44e40444 Demo: re-use tree data. Fix property editor vertical alignment. Tweak recent memory allocation monitor. 2024-07-30 11:58:30 +02:00
SPeak 1f634f1d94
Eaxmples: Android: Fix build failed issue. (#7832)
set android:exported to true (IntentFilter)

Signed-off-by: Sunrisepeak <speakshen@163.com>
2024-07-29 23:55:02 +02:00
ocornut ce3a8d7c79 Demo: MultiSelect: added tree demo. (#6990, #3823, #1861) 2024-07-29 22:46:56 +02:00
ocornut c2a3d5e47b Comments, minor tweaks to ImGuiTextFilter. 2024-07-29 22:34:34 +02:00
ocornut df38704926 Added SetNextItemStorageID() for tree nodes. (#7553, #6990, #3823, #1131)
Undo/amend 7c6d4ff.
2024-07-29 22:31:52 +02:00
ocornut b847c41437 MultiSelect: BoxSelect: fixed using in frozen table. (#7821, #5143) + added Demo.
Amend 0b4a1a40
2024-07-29 15:35:57 +02:00
ocornut 249d5caedb Tables: storing LastFrozenHeight for frozen requests that don't have actual freezing due to zero scrolling. (#7821, #5143)
Amend 0b4a1a40
(ignore whitespace to view this patch easily)
2024-07-29 15:20:06 +02:00
Rémi Hérilier c7b9256097 Selectable: added ImGuiSelectableFlags_Highlight flag to highlight items independently from the hovered state. (#7820)
Demo: Make the Widget/List boxes show how to use forced highlighting.
2024-07-29 12:05:08 +02:00
Laurent Dufresne 96460a8a12 InputText: Added '\' and '/' as word seperator. (#7824, #7704)
Adding those seperators means that ctrl+(left|right)-arrows and ctrl+backspace will stop at slashes, which is more inline with how most software works and generally is very convenient when dealing with paths or urls.
2024-07-29 11:23:47 +02:00
ocornut 79e83d6535 Docs: misc update. 2024-07-29 11:17:31 +02:00
ocornut d42fa46dc6 Misc micro-optimizations related to hot-path of dealing with a large clipped tree.
Halved times by two in MSVC Debug x64.
2024-07-26 15:28:08 +02:00
ocornut 692bee5f22 Added GetID(int) variant for consistency. (#7111) 2024-07-26 15:28:06 +02:00
ocornut b3ba6b3095 Added io.ConfigNavSwapGamepadButtons to swap Activate/Cancel (A<>B) buttons, to match the typical "Nintendo/Japanese consoles" button layout when using Gamepad navigation. (#787, #5723) 2024-07-26 14:07:29 +02:00
ocornut 3f9a90e2a3 Docs: added extraneous link to Getting Started section. 2024-07-25 16:59:40 +02:00
ocornut b20f62b162 Obsoleted GetContentRegionMax(). 2024-07-25 16:20:44 +02:00
ocornut 4227402b2f Internals: removed GetContentRegionMaxAbs() which was only meaningfully used in place of GetContentRegionAvail(). 2024-07-25 16:10:18 +02:00
ocornut 055b2e80fb Moved everyone's best friend GetContentRegionAvail() to a more prominent position. 2024-07-25 16:09:46 +02:00
ocornut aad86b8756 Obsoleted GetWindowContentRegionMin() and GetWindowContentRegionMax().
You should never need those functions. You can do everything with GetCursorScreenPos() and GetContentRegionAvail().
2024-07-25 15:53:55 +02:00
ocornut 55f54fa512 Internals: comment out obsolete g.ActiveIdUsingNavInputMask obsoleted two years ago. (#4921, #4858, #787, #1599, #323)
Use SetKeyOwner(ImGuiKey_Escape, g.ActiveId); instead. Amend 8b8a61bd
2024-07-25 15:11:08 +02:00
ocornut ed356dc181 MultiSelect: BoxSelect: fixed box-select from void setting nav id multiple times. 2024-07-25 14:46:25 +02:00
ocornut 237165a935 MultiSelect: fixed an issue caused by previous commit.
Amend a285835. Breaks box-select.
2024-07-24 19:16:12 +02:00
ocornut a285835ac4 MultiSelect: add internal MultiSelectAddSetAll() helper. 2024-07-24 19:00:36 +02:00
ocornut 79b77d91c9 MultiSelect: sequential SetRange merging not generally handled by box-select path, useful for others. 2024-07-24 18:47:50 +02:00
ocornut e3da939b86 Groups, Tables: fixed EndGroup() failing to correctly capture current table occupied size. (#7543)
See "layout_group_endtable" test.
2024-07-24 18:41:51 +02:00
ocornut b67b375ae6 Debug Log: fixed incorrect checkbox layout when partially clipped., doesn't parse 64-bits hex value as ImGuiID lookups. 2024-07-24 16:04:10 +02:00
ocornut 97c6f4047c CollapsingHeader: left-side outer extend matches right-side one (moved left by one pixel)
Amend c3a348aa2
2024-07-24 14:20:17 +02:00
ocornut 1230b4410c Internals, TreeNode, Selectable: tweak span_all_columns paths for clarity. 2024-07-24 14:11:26 +02:00
ocornut 4d8c56c813 Internals, TreeNode: indent all render block into its own scope (aim is to add a is_visible test there later) 2024-07-24 14:03:59 +02:00