ocornut
b2ebd03b16
Internals: Settings: moved Windows setting to their sub-section.
2023-02-10 16:06:39 +01:00
ocornut
0b865136e3
Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
...
In 1 code path we do a redundant hash but this happens only once per window per session so we are ok.
2023-02-10 16:06:29 +01:00
ocornut
99c0bd65df
Added SeparatorText() widget. ( #1643 )
2023-02-10 12:16:41 +01:00
ocornut
85395b76b0
CI: Update versions.
...
Backends: GLFW: Warning fix under Linux.
2023-02-07 20:17:18 +01:00
ocornut
fac19e1883
Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). ( #6071 , #1953 ) + fix SDL3 setting PlatformHandleRaw. ( #6146 )
2023-02-07 19:29:44 +01:00
imkzh and ocornut
734c6af187
Backends: SDL2: Implement SetPlatformImeDataFn. ( #6071 , #1953 )
2023-02-07 18:50:12 +01:00
ocornut
13fbd99491
Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. ( #6146 )
...
More update upcoming in docking branch.
2023-02-07 16:07:53 +01:00
ocornut
d9bf80f655
Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). ( #6146 )
...
NO OTHER CHANGES. This WILL NOT compile with SDL3.
This intermediate commit designed to make it easier to visualize the meaningful channges commit in the next commit.
2023-02-07 13:32:38 +01:00
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
ea39841fcd
Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. ( #2492 , #2494 , #3699 , #3705 )
2023-02-03 22:39:43 +01:00
ocornut
f43c6ea6a4
Revert most of "Examples: refactor all examples with a MainLoopStep() function..." ( #2492 , #3699 )"
...
This reverts commit 96ab68eee0 .
# Conflicts:
# docs/CHANGELOG.txt
# examples/example_glfw_opengl3/main.cpp
# examples/example_sdl_opengl3/main.cpp
2023-02-03 22:17:40 +01:00
ocornut
f799a293c8
Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. ( #6140 )
...
TableGetColumnResizeID() are still using an incorrect table, but having only one-level left tends to cancel things out.
2023-02-03 20:03:03 +01:00
Giuseppe Barbieri and GitHub
c75410e72c
Debug: fix display order of InputText's data CurLenA/CurLenW ( #6143 )
2023-02-03 17:55:26 +01:00
ocornut
a085581057
Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). ( #6142 )
2023-02-03 17:53:53 +01:00
ocornut
265b88273e
Backends: Fixed pragma warning with old GCC.
2023-02-03 16:14:49 +01:00
ocornut
d0b1aaa076
Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. ( #4019 , #6096 )
...
Namely, GLFW JS emulation seems to quantize values to a min of -1/+1 which breaks modern OSX/Windows emulating smoothness with stepping wheels (slow steps are sending sub-1.0 values)
+ Massage changelog.
2023-02-03 15:05:39 +01:00
ocornut
6584de4a78
Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. ( #6113 )
2023-02-02 21:28:28 +01:00
ocornut
46efed8b70
CI: Fix Emscripten build.
2023-02-02 19:35:36 +01:00
ocornut
1f1861dae6
Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. ( #4019 , #6096 )
...
+ Missing changelog entries.
2023-02-02 19:18:58 +01:00
ocornut
624c057ae1
Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. ( #4019 )
...
Latest version seems ok.
2023-02-02 18:09:20 +01:00
ocornut
ce6e6da510
Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. ( #2492 , #2494 , #3699 , #3705 )
2023-02-02 18:08:17 +01:00
ocornut
96ab68eee0
Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. ( #2492 , #3699 )
...
Aligned all examples.
2023-02-02 17:30:48 +01:00
ocornut
b51919dce1
Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
2023-02-02 15:27:14 +01:00
ocornut
0370856d78
Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. ( #4019 , #6096 , #6081 )
2023-02-02 15:27:14 +01:00
ocornut
f822e07d76
Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. ( #4019 , #6096 , #6081 )
...
+ Fix warnings.
2023-02-02 15:27:14 +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
ocornut
8d29665ae1
Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
...
Ref #4019 for details provided in .XLS sheet, although not strictly related to main issue topic.
+ Rename Emscripten demo titles to make SDL visible.
2023-02-01 19:43:03 +01:00
nahkhiir and ocornut
2efebe3315
ShowFontAtlas, Demo: optionally use style text color for tint. ( #6129 )
2023-01-31 18:12:42 +01:00
ocornut
5a3f82e2f4
Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). ( #6121 , #6065 , #5931 ).
2023-01-31 15:49:54 +01:00
ocornut
867bdbecb3
Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. ( #6132 , #5720 , #5919 )
...
Amend 3482d4ec , bd96f6e
2023-01-31 14:41:16 +01:00
ocornut
d719776460
Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). ( #6126 )
2023-01-31 11:30:27 +01:00
ocornut
f142887088
Combo: Allow SetNextWindowSize() to alter combo popup size. ( #6130 )
...
Amend a5e939214
2023-01-31 11:23:24 +01:00
ocornut
259560aa26
Demo: moved sections around in prevision for adding nicer separators.
2023-01-27 19:05:33 +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
Basil Fierz and ocornut
d73e3285de
Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef ( #6117 , #4116 , #3632 )
...
The feature was removed from WebGPU (https://github.com/gpuweb/gpuweb/issues/2470 )
2023-01-25 21:55:17 +01:00
ocornut
fc50532213
InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
2023-01-25 21:44:30 +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
AJ Weeks and ocornut
f4ef420c01
InputText: Added support for Ctrl+Delete to delete up to end of word. ( #6067 )
2023-01-25 14:41:38 +01:00
ocornut
07490618ae
Misc: Tolerate zero delta-time under Emscripten. ( #6114 , #3644 )
2023-01-25 14:13:12 +01:00
Mark Reid and ocornut
fe0a24f38a
Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). ( #5725 , #5961 , #5975 )
...
Fixes the window title from being truncated on calls to Platform_SetWindowTitle. Stops the WM_SETTEXT message that happens when calling setWindowTextW from being interpreted as ascii.
2023-01-24 21:52:07 +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
f6db9e2f39
Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. ( #6116 )
2023-01-24 16:11:38 +01:00
ocornut
e8421de23c
imgui_single_file: include imgui_freetype.cpp if the define is set.
...
.h not often needed but doesn't cost much to include.
2023-01-24 16:04:55 +01:00
ocornut
8f907bc9a2
imgui_freetype: fix warnings ( #6104 ), fix typos. ( #6079 )
2023-01-24 15:59:14 +01:00
ocornut
91667430a8
Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. ( #6094 , #5305 , #4876 , #3572 )
2023-01-21 00:41:54 +01:00
ocornut
14908cba8f
Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
2023-01-21 00:41:50 +01:00
ocornut
db55422870
Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
...
Only exception being TableSetColumnIndex() with same column number but that's an odd case.
Will break PR #6094 #3572 #5305 #4876 but those not need to be necessarily updated: we got enough reference to finish that feature.
2023-01-20 17:57:13 +01:00
ocornut
3482d4eccf
Text: Fixed layouting of wrapped-text block skipping successive empty lines. ( #5720 , #5919 )
...
Regression in the bd96f6e fix
2023-01-19 15:59:39 +01:00
ocornut
0359f6e94f
Internals: ImDrawList: shallow tweaks to RenderText().
2023-01-18 16:47:34 +01:00
ocornut
51c97a41aa
PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
2023-01-18 15:13:23 +01:00
omar and GitHub
82fdd7018d
Update FAQ.md
2023-01-13 17:27:44 +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
46b9c09e41
Update .gitignore
...
Latest VS2022 seems to download json schemas files.
2023-01-10 12:21:50 +01:00
a218d3a824
Update information in ImFontAtlas::GetGlyphRangesJapanese ( #6066 )
...
Co-authored-by: vaiorabbit <vaiorabbit>
2023-01-09 11:39:28 +01:00
ocornut
d7c8516a4b
Version 1.89.2
2023-01-05 15:49:29 +01:00
ocornut
e06bbe05e1
Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." ( #456 , #2637 )
...
This reverts commit 0949acb6e6 .
# Conflicts:
# imgui.h
2023-01-05 15:21:48 +01:00
ocornut
83429abf4a
Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
2023-01-05 12:19:37 +01:00
ocornut
03add24acf
Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
...
Needlessly introduced in baae057a from WIP tables branch at the time, ended up unused by Tables.
A comment "I find it counter intuitive that hovering supersedes activation." in #3516 led me to this however this is not the cause of said issue.
2023-01-05 11:28:05 +01:00
ocornut
57a5b73a4c
InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. ( #6000 )
...
Simplify stb_textedit_find_charpos(). Leaving that to simmer for a while before attempting an upstream PR.
2023-01-04 17:58:07 +01:00
ocornut
1f6e62a4ae
Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), ( #6034 )
...
Amend 07557674 , 1ad8ad62
Ref maybe https://github.com/glfw/glfw/issues/1630
2023-01-04 15:43:41 +01:00
ocornut
9150c23c04
imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. ( #5788 , #5829 )
...
This seemingly innocuous change sursingly had very large side-effects of completly breaking packing for the test font mentioned in above issue. Not even sure why tbh. New code matches what stb_truetype's stbtt_PackBegin() does.
2023-01-04 15:22:56 +01:00
ocornut
9c1dac3ff0
Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. ( #5924 , #5562 )
2023-01-04 12:14:53 +01:00
ocornut
4b39c1f654
Docs: adding Tests badge + more references to Test Engine.
2023-01-03 20:26:26 +01:00
ocornut
156e0a8070
Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. ( #6032 )
2023-01-02 18:01:57 +01:00
Martin Ejdestig and ocornut
e5d51866c6
Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. ( #6001 , #5502 , #914 )
...
Follow up to c9aef16 which removec three funtions worth of duplicate code.
2023-01-02 16:30:10 +01:00
Martin Ejdestig and ocornut
c9aef16066
Backends: Vulkan: Remove duplicated and dead code in Vulkan backend ( #6001 )
...
Sampler, descriptor set layout and pipeline layout are created in exact
same way directly in ImGui_ImplVulkan_CreateDeviceObjects(). The removed
functions are local and only has call chain that starts in
ImGui_ImplVulkan_CreateDeviceObjects(), so will always do early return.
2023-01-02 16:25:34 +01:00
Manuel Floruß and ocornut
328695bd47
Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. ( #5978 )
...
Fixes MSVC warning C4390 when /W3 is specified. Reworked from original PR: (void)0 provides better codegen by do-while.
Similar to #5901
2023-01-02 16:02:56 +01:00
ITotalJustice and ocornut
da832532c0
Backends: SDL: fix build on WinRT ( #6019 , #5974 )
2023-01-02 15:02:43 +01:00
ocornut
52c61deaf9
Happy new year!
2023-01-02 14:42:12 +01:00
Neil Bickford and ocornut
e57871bb95
imstb_truetype: Add missing return keyword in error case of stbtt__cid_get_glyph_subrs ( #6007 )
...
Submitted as PR: https://github.com/nothings/stb/pull/1422
Signed-off-by: Neil Bickford <nbickford@nvidia.com >
2022-12-20 06:41:42 +01:00
Neil Bickford and ocornut
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
Espyo and GitHub
91b356cf8e
Examples: Allegro: Fixed compilation instructions. ( #5973 )
2022-12-09 23:39:11 +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
317b33d647
Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. ( #5920 )
2022-12-08 20:06:26 +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
48215231f9
Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
2022-12-08 18:30:48 +01:00
ocornut
9d08506dce
Tables, Nav: frozen columns are not part of menu layer and can be crossed over. ( #5143 , #3692 )
...
Frozen rows (~header) still moving from menu to main layer based on freezing stat.e
2022-12-06 22:11:51 +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
713e034d95
Backends: OpenGL3: Fix for zealous warning. ( #5947 )
...
Consider moving to imgui_impl_opengl3_loader.h ?
2022-12-03 15:12:20 +01:00
ocornut
844e0ae688
Fixes/amend 9825f7f + amend Changelog ( #4857 , #5937 )
2022-12-01 20:19:26 +01:00
ocornut
0e2a167bdb
Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
...
+ fixed mislocated Changelog entries added recently.
2022-12-01 20:10:37 +01:00
ocornut
9825f7fa87
Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. ( #4857 , #5937 )
...
Amend b0a6cd6
2022-12-01 18:40:36 +01:00
assiduous and ocornut
66ad2ad539
Properly detect SSE instruction support in 32-bit MSVC build. ( #5943 )
2022-12-01 17:41:38 +01:00
Marc Delorme and ocornut
a5e96ff99e
Make ImGuiInputTextState not depend on the implicit GImGui context. ( #5856 )
...
This commit is a preparation toward adding ImGui apis with explicit context
and making ImGui applications being able to use multiple context at the same time
whatever their concurrency model.
--
Prior to this commit ImGuiInputTextState::OnKeyPressed was depending on the
global context to know which font and font size to use, and if it should
follow MacOSX behaviors or not (c.f ConfigMacOSXBehaviors).
Instead of using the global context, this commit store the context as
attribute of ImGuiInputTextState. Since this state is forwarded to most
of text edit related function, it possible to access font, font size and
ConfigMacOSXBehaviors from everywhere.
NOTE: I have noticed a bug prior to that commit: if the font or font size
change while editing the same widget, the ImGuiInputTextState become invalid
and there is no code to handle this invalidation. Fixing this bug is out
of scope of current pull request.
# Conflicts:
# imgui_internal.h
2022-12-01 16:48:45 +01:00