Marc Delorme
10ace228bc
Make classes not depend on the implicit GImGui context ( #6199 , #5856 , #6199 ): ImGuiIO
...
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.
About ImGuiIO:
- ImGuiIO depends on ImGuiContext because some of its method want to event to `g.InputEventQueue`.
- To make ImGuiIO aware of the context to use, context which creates the ImGuiIO is given as argument of ImGuiIO constructor.
- The assert `IM_ASSERT(&g.IO == this && "Can only add events to current context.")` has been removed since it does not make sense anymore
NOTE: ImGuiIO could be completely independent of ImGuiContext if the InputEventQueue was moved from ImGuiContext to ImGuiIO, but since
ImGuiIO is a public class it would expose InputEvent type. Solving this problem is out of the current scope, but it is interesting to notice.
2023-03-08 15:39:22 +01:00
ocornut
5a1e6b60a2
Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. ( #6171 )
2023-03-08 14:03:58 +01:00
ocornut
c9a53aa74d
Nav: Made Enter key submit the same type of Activation event as Space key. ( #5606 )
...
Instead of adding NavActivateInputId support in ButtonBehavior() started untangling the mess.
2023-03-07 18:41:49 +01:00
duddel
57d0fcd021
Examples: Fix Android example build for Gradle 8. ( #6229 )
2023-03-07 14:01:20 +01:00
Cyphall
66b762577c
Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. ( #6220 , #6224 )
2023-03-06 11:55:55 +01:00
Adam Kewley
2496b973f9
Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. ( #6189 , #6114 , #3644 )
2023-02-23 15:07:15 +01:00
ocornut
e9743d85dd
Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. ( #6183 , #5817 )
2023-02-21 21:23:54 +01:00
ocornut
a1b8457cb5
Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. ( #6164 , #6137 , #5966 , #2832 )
2023-02-15 19:23:12 +01:00
ocornut
5d74891285
Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. ( #6045 , #6162 )
2023-02-15 18:11:41 +01:00
ocornut
204cb4d226
Version 1.89.4 WIP
2023-02-15 15:35:56 +01:00
ocornut
458a109031
Version 1.89.3
2023-02-14 16:00:18 +01:00
Laurens Holst
b0c1816664
Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x ( #6154 , #4445 , #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
Reference https://www.khronos.org/opengl/wiki/OpenGL_Context#Context_information_queries
Regressed since 459de65477
See https://github.com/ocornut/imgui/pull/3530
2023-02-14 15:39:49 +01:00
ocornut
fa0852f9e5
ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. ( #6155 )
...
Amend 30546bc0
, accb0261b
, 38d22bc4
2023-02-14 15:35:00 +01:00
ocornut
092b6825ac
Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
2023-02-14 15:00:12 +01:00
ocornut
99c0bd65df
Added SeparatorText() widget. ( #1643 )
2023-02-10 12:16:41 +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
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
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
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
ocornut
a085581057
Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). ( #6142 )
2023-02-03 17:53:53 +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
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
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
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
f142887088
Combo: Allow SetNextWindowSize() to alter combo popup size. ( #6130 )
...
Amend a5e939214
2023-01-31 11:23:24 +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
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
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
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
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
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
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
51c97a41aa
PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
2023-01-18 15:13:23 +01:00
omar
82fdd7018d
Update FAQ.md
2023-01-13 17:27:44 +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