ocornut
2554b512c0
Backends: OSX: Forward keyDown/keyUp events to OS when unused by Dear ImGui.
2022-02-07 11:55:24 +01:00
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.
2022-02-04 16:51:29 +01:00
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.
2022-02-04 16:43:05 +01:00
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.
2022-01-31 14:41:56 +01:00
Clownacy
422902dbda
Correct typos ( #4954 , #4955 ), use IM_STATIC_ASSERT now that old pre-C++11 macro has been obsoleted.
2022-01-31 11:58:33 +01:00
ocornut
49e38a5b32
Revert moving ImGuiKeyModFlags to internal.h (amendc906c65)
2022-01-28 15:53:09 +01:00
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.
2022-01-27 17:46:48 +01:00
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.
2022-01-26 15:53:18 +01:00
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.
2022-01-24 13:24:54 +01:00
ocornut
cda3db1449
Backends: SDL: Fixed key mapping for ImGuiKey_Menu ( #4921 ) + misc typos ( #4928 )
2022-01-24 12:19:51 +01:00
Clownacy
4fb0c1f963
Correct some typos in FAQ.md ( #4924 )
2022-01-22 00:03:09 +01:00
thedmd
c2db4c2462
Demo: draw a section of keyboard in "Inputs > Keyboard, Gamepad & Navigation state" to visualize keys.
2022-01-21 15:25:23 +01:00
ocornut
69b697378b
Comments, tweaks.
2022-01-21 14:50:31 +01:00
ocornut
26e59c8742
Nav: Fixed gamepad navigation in wrapping popups not wrapping all the way. ( #4365 )
2022-01-21 14:41:34 +01:00
thedmd
5ea47d9560
Backends: OSX: Add full gamepad support using io.AddKeyEvent(), io.AddKeyAnalogEvent(), stopped writing to io.NavInputs[]. ( #4858 , #787 )
2022-01-20 17:25:49 +01:00
ocornut
39c3412f91
Backends: SDL: Add full gamepad support using io.AddKeyEvent(), io.AddKeyAnalogEvent(), stopped writing to io.NavInputs[]. ( #4858 , #787 )
2022-01-20 17:25:31 +01:00
ocornut
3d85433748
Backends: GLFW: Add full gamepad support using io.AddKeyEvent(), io.AddKeyAnalogEvent(), stopped writing to io.NavInputs[]. ( #4858 , #787 )
2022-01-20 17:25:15 +01:00
ocornut
9f8c599ca7
Backends: Win32: Add full gamepad support using io.AddKeyEvent(), io.AddKeyAnalogEvent(), stopped writing to io.NavInputs[]. ( #4858 , #787 )
2022-01-20 17:25:04 +01:00
ocornut
f33bb99821
IO: added AddKeyAnalogEvent() and support for ImGuiKey_GamepadXXXX. ( #4858 , #787 )
2022-01-20 17:24:52 +01:00
ocornut
ceb26bac48
Backends: Vulkan: Added support for ImTextureID as VkDescriptorSet, amends. ( #914 )
2022-01-20 15:53:28 +01:00
Rokas Kupstys
19471da3fd
Popups: Fix a crash when a new window is created after a modal on the same frame. ( #4920 )
2022-01-20 15:03:56 +01:00
ocornut
7ad42ff431
IO: renamed io.ConfigInputEventQueue to io.ConfigInputTrickleEventQueue. ( #4858 )
2022-01-19 18:45:57 +01:00
ocornut
26d04c948f
Tables: Fixed positioning of Sort icon on right-most column with some settings (not resizable + no borders). ( #4918 ).
2022-01-19 18:03:36 +01:00
ocornut
91ae56af45
Removed support for legacy arithmetic operators (+*/) when inputing text into a slider/drag. ( #4917 , #3184 )
2022-01-19 15:10:42 +01:00
ocornut
673f5e588d
IO: moved fields to put more focus on the new functions + update misc docs/references + update main.mm in Apple+Metal example ( #4858 )
2022-01-18 17:41:35 +01:00
ocornut
7374b96f5c
IO: Added input queue. ( #4858 , #2787 , #1992 , #3383 , #2525 , #1320 )
2022-01-17 17:36:55 +01:00
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 )
2022-01-17 17:35:37 +01:00
ocornut
b6582a471a
Backends: OSX: Fix Game Controller nav mapping to use shoulder for both focusing and tweak speed. ( #4759 )
2022-01-17 16:22:32 +01:00
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.
2022-01-17 15:21:17 +01:00
ocornut
eb823655af
Removed support for pre-C++11 compilers. We'll stop supporting VS2010. ( #4537 )
...
Build all
2022-01-17 11:54:11 +01:00
Adheesh Trivedi
f84c93d834
Update BACKENDS.md ( #4909 )
2022-01-16 18:16:39 +01:00
ocornut
6188e94108
Examples: Vulkan: fill Subpass and MSAASamples to increase discoverability ( #4886 ) + IO docs update ( #4858 )
...
https://github.com/mosra/magnum-integration/pull/89
2022-01-14 11:51:59 +01:00
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.
2022-01-12 17:48:47 +01:00
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.
2022-01-12 17:48:47 +01:00
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.
2022-01-12 17:48:46 +01:00
ocornut
7f8a89c25c
Backends: Win32, SDL: maintain MouseButtonsDown instead of using IsAnyMouseDown(). Internals: added GetInputSourceName().
2022-01-12 16:12:10 +01:00
Liu Liu
457d4b7b72
Backends: OSX: Adedd basic IME support for macOS. ( #3108 , #2598 )
2022-01-12 14:37:05 +01:00
Théo Monnom
0818a42396
Backend: WebGPU: Fixed incorrect size parameters in WGPU backend ( #4891 )
...
+ squash SDL alignment bits.
2022-01-12 14:16:55 +01:00
ocornut
e8172fdfbc
Rename io.AddKeyModEvent() -> io.AddKeyModsEvent() and updated backends accordingly. ( #2625 , #4858 )
...
Amend 790132a
(breaking)
2022-01-10 17:00:32 +01:00
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
2022-01-10 15:12:58 +01:00
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)
2022-01-10 15:09:56 +01:00
ocornut
afffcd5810
Inputs: rename ImGuiKey_KeyPadEnter > ImGuiKey_KeypadEnter ( #2625 )
2022-01-06 14:25:56 +01:00
ocornut
100ede5764
Backends: GLFW: Fix CTRL+A, CTRL+Y, CTRL+Z to match keyboard layout. Converting GLFW untranslated keycodes back to translated keycodes. ( #456 , #2625 )
2022-01-05 16:57:50 +01:00
Liu Liu
de36ff043e
Platform IME: add ImGuiPlatformImeData::InputLineHeight (unused by win32). ( #3113 )
2022-01-05 13:47:21 +01:00
actboy168
29a8ee0826
Platform IME: add ImGuiPlatformImeData::WantVisible, hide IME when not used. ( #2589 )
2022-01-05 13:47:21 +01:00
ocornut
1cbfe93520
Platform IME: [windows] call ImmSetCandidateWindow() to position candidate window.
2022-01-05 13:47:21 +01:00
ocornut
3a90dc3893
Platform IME: changed io.ImeSetInputScreenPosFn() to io.SetPlatformImeDataFn() API.
...
Ref #2589 , #2598 , #3108 , #3113 , #3653 , #4642
2022-01-05 13:47:20 +01:00
ocornut
efa50f72a7
Backends: Metal: Ignore ImDrawCmd where ElemCount == 0. ( #4857 )
2022-01-03 22:14:19 +01:00
ocornut
b0a6cd6305
Fixed a situation where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles, ( #4857 )
...
(2nd amend)
2022-01-03 21:45:20 +01:00
ocornut
2402958aec
Commented out redirecting functions/enums names that were marked obsolete in 1.69, 1.70, 1.71, 1.72
...
- ImGui::SetNextTreeNodeOpen() -> use ImGui::SetNextItemOpen()
- ImGui::GetContentRegionAvailWidth() -> use ImGui::GetContentRegionAvail().x
- ImGui::TreeAdvanceToLabelPos() -> use ImGui::SetCursorPosX(ImGui::GetCursorPosX() + ImGui::GetTreeNodeToLabelSpacing());
- ImFontAtlas::CustomRect -> use ImFontAtlasCustomRect
- ImGuiColorEditFlags_RGB/HSV/HEX -> use ImGuiColorEditFlags_DisplayRGB/HSV/Hex
2022-01-03 16:37:33 +01:00