ocornut
9937660b1c
Merge branch 'master' into docking
...
# Conflicts:
# examples/example_allegro5/main.cpp
# examples/example_apple_metal/main.mm
# examples/example_apple_opengl2/main.mm
# examples/example_glfw_metal/main.mm
# examples/example_glfw_opengl2/main.cpp
# examples/example_glfw_opengl3/main.cpp
# examples/example_glfw_vulkan/main.cpp
# examples/example_glut_opengl2/main.cpp
# examples/example_sdl2_directx11/main.cpp
# examples/example_sdl2_metal/main.mm
# examples/example_sdl2_opengl2/main.cpp
# examples/example_sdl2_opengl3/main.cpp
# examples/example_sdl2_vulkan/main.cpp
# examples/example_sdl3_opengl3/main.cpp
# examples/example_win32_directx10/main.cpp
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx12/main.cpp
# examples/example_win32_directx9/main.cpp
# imgui.cpp
ago%!(EXTRA string=2 years)
ocornut
bb224c8aa1
Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
ago%!(EXTRA string=2 years)
ocornut
2bb9e35a48
Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. ( #3092 , #5759 , #787 )
ago%!(EXTRA string=2 years)
ocornut
e83fb468c6
Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). ( #3092 )
ago%!(EXTRA string=2 years)
ocornut
a322122f74
InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
...
(regresion from 1.89) + removed unnecessary if block in NavProcessItem()
ago%!(EXTRA string=2 years)
ocornut
3b2f617652
BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
...
Add SetWindowHiddendAndSkipItemsForCurrentFrame().
ago%!(EXTRA string=2 years)
ocornut
e2cede6542
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
ago%!(EXTRA string=2 years)
ocornut
b5f9381036
Made internal clipboard/IME handlers not rely on implicit GImGui context ( #5856 )
...
Code in SetPlatformImeDataFn_DefaultImpl amends 3a90dc389
by temporarily setting field in caller site.
ago%!(EXTRA string=2 years)
Marc Delorme
c8ad25caa6
Make classes not depend on the implicit GImGui context ( #5856 , #6199 ): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
...
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.
This commit modifies ImGuiInputTextCallback, ImGuiListClipper and ImGuiStackSize so those classes do not to depend on GImGui context anymore.
About ImGuiInputTextCallback:
- ImGuiInputTextCallback depends on ImGuiContext because it has a
`InsertChars` method adding character to `g.InputTextState`
- To make ImGuiInputTextCallback aware of which context to use, the
appropriate context is given as argument of ImGuiInputTextCallback
constructor.
About ImGuiListClipper:
- ImGuiListClipper apply to a context through its `Begin`, `End`, and `Step`
method.
- To make ImGuiListClipper aware of which context to use, the
appropriate context is given as argument of ImGuiListClipper
constructor.
- Since the behavior is different than previously the class has been
renamed ImGuiListClipperEx
- In order to preserve backward compatibility, a subclass of ImGuiListClipperEx
named ImGuiListClipper has been defined and forward the implicit context
to ImGuiListClipperEx parent.
About ImGuiTextFilter:
- ImGuiTextFilter depends on the implicit context because the Draw(..)
method call ImGui::InputText(...)
- Instead from that commit the Draw(...) method takes an explicit context
as first argument
- Since the behavior is different than previously the class has been
renamed ImGuiTextFilterEx
- In order to preserve backward compatibility, a subclass of ImGuiTextFilterEx
named ImGuiTextFilter has been defined. This subclass has a draw method
override which and forward the implicit context to the parent class Draw(...)
About ImGuiStackSizes:
- ImGuiStackSizes was depending on ImGuiContext because of its
`SetToCurrentState` and `CompareWithCurrentState` method
- ImGuiStackSizes is an helper object use
for comparing state of context. It does not necessarily need to
compare the same context. For that reason, as opposed to previous
classes it takes the context it wants to compare to as argument of
its method.
- For this occasion `SetToCurrentState` and `CompareWithCurrentState`
have been renamed `SetToContextState` and `CompareWithContextState`
to match the new method signature.
ImGuiListClipper
ImGuiInputTextCallbackData
ago%!(EXTRA string=2 years)
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.
ago%!(EXTRA string=2 years)
ocornut
5a1e6b60a2
Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. ( #6171 )
ago%!(EXTRA string=2 years)
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.
ago%!(EXTRA string=2 years)
ocornut
b4b79584d1
Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
ago%!(EXTRA string=2 years)
duddel
57d0fcd021
Examples: Fix Android example build for Gradle 8. ( #6229 )
ago%!(EXTRA string=2 years)
ocornut
b6586bb06d
TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
ago%!(EXTRA string=2 years)
ocornut
1c29a8ed18
Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
ago%!(EXTRA string=2 years)
ocornut
f5c5a710aa
Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
ago%!(EXTRA string=2 years)
ocornut
4078abe14c
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
# imgui.cpp
# imgui.h
ago%!(EXTRA string=2 years)
ocornut
702626dd8a
Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
ago%!(EXTRA string=2 years)
Cyphall
66b762577c
Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. ( #6220 , #6224 )
ago%!(EXTRA string=2 years)
ocornut
bfce7750b1
Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h ( #4921 , #6191 )
ago%!(EXTRA string=2 years)
Adam Kewley
2496b973f9
Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. ( #6189 , #6114 , #3644 )
ago%!(EXTRA string=2 years)
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 )
ago%!(EXTRA string=2 years)
Giuseppe Barbieri
2ee77aa6be
Missing closing parenthesis in debug popup log ( #6177 )
ago%!(EXTRA string=2 years)
ocornut
696a533532
TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
ago%!(EXTRA string=2 years)
ocornut
752603bc70
Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. ( #6164 , #6137 , #5966 , #2832 )
...
Amend a1b8457
ago%!(EXTRA string=2 years)
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 )
ago%!(EXTRA string=2 years)
ocornut
e25e4526cd
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_win32.cpp
# docs/CHANGELOG.txt
ago%!(EXTRA string=2 years)
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 )
ago%!(EXTRA string=2 years)
ocornut
4f630b0449
imgui_freetype: fixed non-ASCII characters in sources. ( #6166 )
ago%!(EXTRA string=2 years)
ocornut
204cb4d226
Version 1.89.4 WIP
ago%!(EXTRA string=2 years)
ocornut
192196711a
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
ago%!(EXTRA string=2 years)
ocornut
458a109031
Version 1.89.3
ago%!(EXTRA string=2 years)
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
ago%!(EXTRA string=2 years)
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
ago%!(EXTRA string=2 years)
ocornut
092b6825ac
Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
ago%!(EXTRA string=2 years)
ocornut
345184330b
Internals: Settings: amend ClearWindowSettings() for Docking.
ago%!(EXTRA string=2 years)
ocornut
ea4565368e
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl2.h
# backends/imgui_impl_sdl3.cpp
# backends/imgui_impl_sdl3.h
# imgui.cpp
ago%!(EXTRA string=2 years)
ocornut
f0ac68ad35
Internal: Settings: amend 0b86513
revert to use FindWindowSettingsByID().
...
Namely for docking system.
ago%!(EXTRA string=2 years)
ocornut
082b20e46b
Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
...
Designed to that if the window reappear in the session it won't take an additional slot.
ago%!(EXTRA string=2 years)
ocornut
b2ebd03b16
Internals: Settings: moved Windows setting to their sub-section.
ago%!(EXTRA string=2 years)
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.
ago%!(EXTRA string=2 years)
ocornut
0d7d877cb5
Backends: SDL3: Update for latest.
...
Note that resizing secondary viewports seems broken.
ago%!(EXTRA string=2 years)
ocornut
99c0bd65df
Added SeparatorText() widget. ( #1643 )
ago%!(EXTRA string=2 years)
ocornut
85395b76b0
CI: Update versions.
...
Backends: GLFW: Warning fix under Linux.
ago%!(EXTRA string=2 years)
ocornut
fac19e1883
Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). ( #6071 , #1953 ) + fix SDL3 setting PlatformHandleRaw. ( #6146 )
ago%!(EXTRA string=2 years)
imkzh
734c6af187
Backends: SDL2: Implement SetPlatformImeDataFn. ( #6071 , #1953 )
ago%!(EXTRA string=2 years)
ocornut
95412ad3a5
Backends: SDL3: Removed unnecessary #ifdef.
ago%!(EXTRA string=2 years)
ocornut
a526ff8c30
Backends: SDL3: Added multi-viewports support. ( #6146 )
ago%!(EXTRA string=2 years)
ocornut
e4233c6fb6
Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx10.h
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_dx11.h
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx12.h
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_dx9.h
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_metal.h
# backends/imgui_impl_metal.mm
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_opengl3.h
# backends/imgui_impl_osx.h
# backends/imgui_impl_osx.mm
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdlrenderer.cpp
# backends/imgui_impl_sdlrenderer.h
# backends/imgui_impl_vulkan.cpp
# backends/imgui_impl_vulkan.h
# backends/imgui_impl_win32.cpp
# docs/CHANGELOG.txt
# imgui.cpp
# imgui_widgets.cpp
ago%!(EXTRA string=2 years)