ocornut
5659db5529
IO: Fixed backward-compatibility accesses to io.KeysDown[]. ( #4921 , #4858 )
+ Snuck in unrelated comments and removed the "fill once" comment (#5043 )
3 years ago
ocornut
29d462ebce
Set HoveredID even when g.NavDisableMouseHover is set by gamepad/keyboard navigation. This will facilitate the use of future InputOwner API based on HoveredID/ActiveID.
Note that this widen the small gap between polling g.HoveredID and using IsItemHovered() the later does various filtering.
Added IsItemHovered(ImGuiHoveredFlags_NoNavOverride) to disable that specific state redirect/filter.
Side-effect: fix EndGroup() use of combining HoveredId values when gamepad/keyboard nav is active. Unlikely to have user-visible side effect since IsItemHovered() would have filtered out anyway.
Side-effect: fix IsAnyItemHovered() when gamepad/keyboard is active (but this wasn't the primary intent of this change).
Side-effect: fix using SetItemUsingMouseWheel() while hovering an item and gamepad/keyboard is active. (#2891 )
3 years ago
ocornut
d9e60d29e1
Clipper: Fixed a regresssion when not calling End() + calling End() twice as well. ( #4822 )
3 years ago
ocornut
2dfa71fad5
Inputs: Fixed IsMouseClicked() repeat mode rate being half of keyboard repeat rate. Using KeyModAlt. Removed KeyModsPrev.
3 years ago
Konstantin Podsvirov
7ff41a78f9
Fonts: binary_to_compressed_c.cpp gained -nostatic option ( #5021 )
This allow to use added variables in other source files via extern declaration.
3 years ago
thedmd
b6b8f6634e
ImVector: Fixed erase() with empty range. ( #5009 )
3 years ago
Jeff Mears
71f98dd056
Declare ImVec2 and ImVec4 constructors as constexpr ( #4995 )
3 years ago
thedmd
4691fa0ed5
ImDrawList: PthArcTo: Add small tolerance when comparing angles ( #4993 )
3 years ago
ocornut
aa79d0cd2f
Stack Tool: Added option to copy item path to clipboard. ( #4631 )
3 years ago
ocornut
88de982071
Version 1.88 WIP
3 years ago
ocornut
c71a50deb5
Version 1.87
3 years ago
ocornut
e52bb147a7
Backends: GLFW: Added ImGui_ImplGlfw_InstallCallbacks()/ImGui_ImplGlfw_RestoreCallbacks(). ( #4981 )
3 years ago
Rokas Kupstys
40fd163a3b
Backends: OpenGL3: Fix OpenGL ES2 includes on Apple systems.
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# docs/CHANGELOG.txt
3 years ago
ocornut
2554b512c0
Backends: OSX: Forward keyDown/keyUp events to OS when unused by Dear ImGui.
3 years ago
Clownacy
c6cab1f352
Backends: SDL: Added SDL_Renderer* parameter to ImGui_ImplSDL2_InitForSDLRenderer(). Use SDL_GetRendererOutputSize() instead of SDL_GL_GetDrawableSize() when bound to a SDL_Renderer. ( #4927 )
This is (kind of) an OpenGL-only function, which should be avoided when SDL2 isn't using OpenGL.
The only alternative that is recommended is SDL_GetRendererOutputSize, which limits this fix to the SDL_Renderer backend. Still, I think it's better than nothing.
I say that SDL_GL_GetDrawableSize is "kind of" OpenGL-only because it does technically work even when SDL2 isn't using OpenGL.
It's just that it becomes a shim to SDL_GetWindowSize, which is not suitable for high-DPI usage because it reflects the size of the window in screen coordinates, not actual pixels, so it really should be avoided when not using OpenGL.
3 years ago
Clownacy
c39192ba64
Backends: SDL_Renderer: Fix texture atlas format on big-endian hardware ( #4927 )
SDL_PIXELFORMAT_RGBA32 is intended for byte arrays where the channels
are specifically in the RGBA order. However, this is not what
GetTexDataAsRGBA32 does: rather, it constructs an array where each
pixel is an unsigned int in ABGR order. On little-endian platforms,
this does indeed result in an RGBA byte order, however, on big-endian
platforms, this results in an ABGR byte order, which does not match
the PIXELFORMAT enum.
What should be used is the SDL_PIXELFORMAT_ABGR8888 enum, which
specifies that the pixels are in native-endian ABGR, which they are.
3 years ago
rokups
551ab84c2d
Backends: OSX: Fix building with old Xcode versions.
Builds have failed on Xcode versions that do not yet support `@available` or do not have new APIs (that are unavailable on target OS version) defined at all. Using true build time version checks fixes these issues.
3 years ago
ocornut
49e38a5b32
Revert moving ImGuiKeyModFlags to internal.h (amendc906c65)
3 years ago
ocornut
c906c65cac
(BREAKING) Replaced AddKeyModsEvent() added by 790132a
in favor of unified key enum system. Backends: update most. ( #4921 , #4858 )
Sorry this is an unusual breaking but since we are WIP it is a good time to make a correction.
3 years ago
ocornut
075f4ac661
Don't merge ImDrawCmd which have had their IdxOffset changed to not be sequential. Fixed CTRL+Tab into an empty window causing artefacts on the highlight rectangle due to bad reordering on ImDrawCmd.
This is bit of a weird edge case adding weight to ImDrawCmd merging, if we could rework the mess in RenderDimmedBackgroundBehindWindow() we may be able to undo some of that.
3 years ago
ocornut
b17b2fb732
Popups: Fixed an issue when reopening a same popup multiple times would offset them by 1 pixel on the right. ( #4936 )
Passing explicit ImGuiPopupFlags_MouseButtonRight to OpenPopupOnItemClick() calls somehow document the unusual (due to legacy) default value.
3 years ago
thedmd
c2db4c2462
Demo: draw a section of keyboard in "Inputs > Keyboard, Gamepad & Navigation state" to visualize keys.
3 years ago
ocornut
69b697378b
Comments, tweaks.
3 years ago
ocornut
26e59c8742
Nav: Fixed gamepad navigation in wrapping popups not wrapping all the way. ( #4365 )
3 years ago
thedmd
5ea47d9560
Backends: OSX: Add full gamepad support using io.AddKeyEvent(), io.AddKeyAnalogEvent(), stopped writing to io.NavInputs[]. ( #4858 , #787 )
3 years ago
ocornut
39c3412f91
Backends: SDL: Add full gamepad support using io.AddKeyEvent(), io.AddKeyAnalogEvent(), stopped writing to io.NavInputs[]. ( #4858 , #787 )
3 years ago
ocornut
3d85433748
Backends: GLFW: Add full gamepad support using io.AddKeyEvent(), io.AddKeyAnalogEvent(), stopped writing to io.NavInputs[]. ( #4858 , #787 )
3 years ago
ocornut
9f8c599ca7
Backends: Win32: Add full gamepad support using io.AddKeyEvent(), io.AddKeyAnalogEvent(), stopped writing to io.NavInputs[]. ( #4858 , #787 )
3 years ago
ocornut
f33bb99821
IO: added AddKeyAnalogEvent() and support for ImGuiKey_GamepadXXXX. ( #4858 , #787 )
3 years ago
ocornut
ceb26bac48
Backends: Vulkan: Added support for ImTextureID as VkDescriptorSet, amends. ( #914 )
3 years ago
Rokas Kupstys
19471da3fd
Popups: Fix a crash when a new window is created after a modal on the same frame. ( #4920 )
3 years ago
ocornut
7ad42ff431
IO: renamed io.ConfigInputEventQueue to io.ConfigInputTrickleEventQueue. ( #4858 )
3 years ago
ocornut
26d04c948f
Tables: Fixed positioning of Sort icon on right-most column with some settings (not resizable + no borders). ( #4918 ).
3 years ago
ocornut
91ae56af45
Removed support for legacy arithmetic operators (+*/) when inputing text into a slider/drag. ( #4917 , #3184 )
3 years ago
ocornut
7374b96f5c
IO: Added input queue. ( #4858 , #2787 , #1992 , #3383 , #2525 , #1320 )
3 years ago
thedmd
b8e56dce83
IO: Added AddMousePosEvent(), AddMouseButtonEvent(), AddMouseWheelEvent() api + updated all Backends. ( #4858 ) (input queue code will be next commit)
Details: note that SDL, OSX and GLFW backends removed recording of MouseJustPressed[] which will be unnecessary with input queue (which is the NEXT commit). (#2787 , #1992 , #3383 , #2525 , #1320 )
3 years ago
ocornut
b6582a471a
Backends: OSX: Fix Game Controller nav mapping to use shoulder for both focusing and tweak speed. ( #4759 )
3 years ago
ocornut
0755767440
Backends: move io.AddKeyModsEvent() next to io.AddKeyEvent() submission, rely on mods from platform/source. ( #4858 ) + fix #2622 again broken by 746c9f7
Amended to submit modifiers before.
3 years ago
ocornut
eb823655af
Removed support for pre-C++11 compilers. We'll stop supporting VS2010. ( #4537 )
Build all
3 years ago
ocornut
6188e94108
Examples: Vulkan: fill Subpass and MSAASamples to increase discoverability ( #4886 ) + IO docs update ( #4858 )
https://github.com/mosra/magnum-integration/pull/89
3 years ago
ocornut
200a8f1ea2
Backends: GLFW: Update mouse inputs using glfwSetCursorPosCallback() (breaking) + fallback to provide it when focused but not hovered/captured + update MousePos before MouseButtons.
+ Allegro5 remove unnecessary clear.
3 years ago
ocornut
98ce013242
Backends: SDL: Update mouse inputs using SDL_MOUSEMOTION/SDL_WINDOWEVENT_LEAVE + fallback to provide it when focused but not hovered/captured + update MousePos before MouseButtons.
3 years ago
ocornut
bf4de2a46b
Backends: Win32: Update mouse inputs using WM_MOUSEMOVE/WM_MOUSELEAVE + fallback to provide it when focused but not hovered/captured + update MousePos before Key Modifiers.
3 years ago
ocornut
7f8a89c25c
Backends: Win32, SDL: maintain MouseButtonsDown instead of using IsAnyMouseDown(). Internals: added GetInputSourceName().
3 years ago
Liu Liu
457d4b7b72
Backends: OSX: Adedd basic IME support for macOS. ( #3108 , #2598 )
3 years ago
Théo Monnom
0818a42396
Backend: WebGPU: Fixed incorrect size parameters in WGPU backend ( #4891 )
+ squash SDL alignment bits.
3 years ago
ocornut
e8172fdfbc
Rename io.AddKeyModEvent() -> io.AddKeyModsEvent() and updated backends accordingly. ( #2625 , #4858 )
Amend 790132a
(breaking)
3 years ago
thedmd
fe646ea591
Backends: SDL2: Update to use io.AddEventKey() will full key map ( #2625 , #4858 ) + created localized key (using keycode instead of scancode) ( #456 )
Legacy indexing stills uses Scancode
3 years ago
ocornut
bf08c13e9b
Inputs: Extra Keys / AddKeyEvent(): bidirectional mapping, basic CI, simplify backends, asserts on misuses, tested backward compat. ( #2625 , #4858 , #2787 )
(edit: simplified backends merged into previous commits to make history clearer)
3 years ago
ocornut
afffcd5810
Inputs: rename ImGuiKey_KeyPadEnter > ImGuiKey_KeypadEnter ( #2625 )
3 years ago