Commit Graph

4144 Commits

Author SHA1 Message Date
ocornut
e816bc6723 Merge misc changes from docking branch to reduce small drift.
In particular:
- imgui.cpp : move UpdateInputEvents() higher in NewFrame() to match docking + update RenderMouseCursor() to match.
- imgui_draw.cpp: ImDrawList::_ResetForNewFrame() change from c807192ab
- Backends: SDL2. Add MouseWindowID + change SDL_CaptureMouse() test to match docking branch. Not strictly necessary but aimed at reducing drift because we go on and fork this file.
+ moved responsability of checking valid names to TabBarGetTabName() to simplify both branches.
2023-02-07 13:22:23 +01:00
ocornut
1b27ac982f Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
+ CI: Update Windows CI to update SDL 2.26.3 instead of 2.0.10
2023-02-07 12:04:38 +01:00
ocornut
d6ea56dfd9 Tables: amend f799a29 with a better solution + fix potential overflow (#6140) 2023-02-03 22:50:43 +01:00
ocornut
3617a96372 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
Documented assumptions.
2023-02-01 21:29:08 +01:00
nahkhiir
2efebe3315 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129) 2023-01-31 18:12:42 +01:00
ocornut
27f2dd56d6 Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
Amend 645a6e0 and 23a785a.
2023-01-27 15:24:23 +01:00
ocornut
5741cbae45 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones. 2023-01-25 20:34:48 +01:00
ocornut
07490618ae Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644) 2023-01-25 14:13:12 +01:00
ocornut
3d8885cbbd TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
ImGuiTabBar::GetTabOrder() -> TabBarGetTabOrder().
ImGuiTabBar::GetTabName() -> TabBarGetTabName()
2023-01-24 19:41:20 +01:00
ocornut
739a79b1e9 ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips. 2023-01-24 17:30:50 +01:00
ocornut
ccf94e2e6e Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9 2023-01-12 12:46:06 +01:00
ocornut
55b8ce9b23 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
First change confirmed same code-gen.
2023-01-11 17:10:53 +01:00
ocornut
1297a2be52 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
Ideally we're bake a single glyph but it's currently difficult to setup in our font building process.
2023-01-11 16:37:47 +01:00
ocornut
8801f02949 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775 2023-01-11 15:56:33 +01:00
ocornut
482ac70a0b Version 1.89.3 WIP 2023-01-11 15:52:30 +01:00
ocornut
d7c8516a4b Version 1.89.2 2023-01-05 15:49:29 +01:00
Neil Bickford
f1ddf63027 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
Neither behavior were used in the codebase for this axis.
Amend 27c58c39 (#5902, #2812, #4242, #2900)
Signed-off-by: Neil Bickford <nbickford@nvidia.com>
2022-12-20 06:39:25 +01:00
ocornut
59b63defe5 Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view. 2022-12-08 21:14:39 +01:00
ocornut
0949acb6e6 Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637) 2022-12-08 18:54:41 +01:00
ocornut
1dae7df26f Misc: added GetItemID() in public API. 2022-12-08 18:45:04 +01:00
ocornut
fd0b3734d3 Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692) 2022-12-06 21:07:50 +01:00
ocornut
16cee3d009 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
This is not strictly required presently, but will be consistent with adding inner decoration sizes in next commit, as well as generally being sane.
Locking TitleBarHeight() / MenuBarHeight() values per-window probably have side-effects in ill-defined situation related to changing font size per window.
2022-12-06 21:07:47 +01:00
ocornut
820b1e651a Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees. 2022-12-06 18:35:12 +01:00
ocornut
24b873a740 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry. 2022-12-06 18:22:59 +01:00
ocornut
ed54e14f1b Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section. 2022-12-06 12:21:18 +01:00
ocornut
f83da768b6 Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section 2022-12-06 12:21:18 +01:00
ocornut
f9ab2a0e9f Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d() 2022-12-06 12:21:17 +01:00
ocornut
38a0d7ceb5 Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section. 2022-12-06 12:21:17 +01:00
ocornut
b5883c1cfb Refactor: moved bits into Initialization section. 2022-12-06 12:21:17 +01:00
ocornut
45736443be Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency. 2022-11-30 20:14:52 +01:00
ocornut
87caf27ac4 Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559) 2022-11-30 17:49:59 +01:00
ocornut
bf4c2e00c0 Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
Amend 4b522e145
2022-11-29 21:36:59 +01:00
ocornut
cc3a2200a9 Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
Should be no-op, this is mostly to make it easier to store state for ImGuiMod_Shortcut.
2022-11-29 19:07:50 +01:00
ocornut
1a497c2499 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456) 2022-11-29 19:07:50 +01:00
Teselka
969af7c773 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
+ needed to rework clipper code to avoid "The 'then' statement is equivalent to the 'else' statement." PVS Studio warning.
2022-11-28 15:44:10 +01:00
ocornut
bd96f6eac4 Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
+ Update version marker
2022-11-28 14:59:13 +01:00
ocornut
a8df192df0 Version 1.89.1 2022-11-24 21:24:33 +01:00
ocornut
27c58c3946 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
Amend 44f801186 and 8f495e554
2022-11-24 20:57:41 +01:00
ocornut
856c6314ec Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
+ Added test "widgets_dragdrop_new_payloads" in Test Suite.
2022-11-23 17:58:14 +01:00
ocornut
ffe0abbfc2 Internals: added basic localization system (#5895) 2022-11-23 16:05:16 +01:00
ocornut
c3d9f8ee7e Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911) 2022-11-23 15:18:59 +01:00
ocornut
7bee9a8f96 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
Amend 4448d97. This is more consistent with input owner design.
2022-11-16 17:53:35 +01:00
ocornut
d60985df7f Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
Amend change of SetActiveIdUsingAllKeyboardKeys() in 4448d97 which seemingly accidentally reverted the change intended by fd408c97
2022-11-16 17:41:24 +01:00
ocornut
83cee9e091 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
Which makes it easier to hook/disable those keys from outside if needed.
2022-11-16 17:09:14 +01:00
ocornut
81160fee56 Version 1.89
+ fix warning from a582d92
2022-11-15 15:20:36 +01:00
ocornut
a582d92c31 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795) 2022-11-15 14:19:29 +01:00
ocornut
cda26635cd Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
+ clarified comments about GetMouseCursor() #5739
2022-11-09 16:35:50 +01:00
ocornut
f0ad810553 Inputs: tweak comments, typos. 2022-11-08 22:41:45 +01:00
ocornut
637ddfce09 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641) 2022-11-08 20:38:49 +01:00
ocornut
6c9c4879d9 Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
One idea being that this value can be easily locked (for blind menus) or manipulated (for queries from outside).
2022-11-08 20:37:58 +01:00