Sam Lantinga
991d28ae37
Use SDL_MessageBoxFlags and SDL_MessageBoxButtonFlags appropriately
2024-05-07 13:41:12 -07:00
Sam Lantinga
537c62f4c1
Fixed memory leak cleaning up mouse and keyboard instances
...
Fixes https://github.com/libsdl-org/SDL/issues/9487
2024-05-07 09:26:18 -07:00
Semphris
c6a70d6898
Add support for modal windows to more platforms
...
- Adds support for modal windows to Win32, Mac, and Haiku, and enhances functionality on Wayland and X11, which previous set only the parent window, but not the modal state.
- Windows can be declared modal at creation time, and the modal state can be toggled at any time via SDL_SetWindowModalFor() (tested with UE5 through sdl2-compat).
- Allows dynamic unparenting/reparenting of windows.
- Includes a modal window test.
2024-04-30 13:47:57 -04:00
Sam Lantinga
e56f05bac1
Fixed unclipping the mouse when a monitor is placed left of the primary one on Windows.
...
There is now a desktop bounds variable that could potentially be exposed in the API if we wanted.
2024-04-24 12:06:00 -07:00
Sam Lantinga
98582dca02
Fixed Win+V handling (pasting from clipboard history) on Windows
...
Fixes https://github.com/libsdl-org/SDL/issues/9613
2024-04-24 09:35:19 -07:00
Mathieu Eyraud
29d43272e2
Fix memory leak in WIN_GetMonitorPathInfo
2024-04-15 03:24:09 -10:00
Sam Lantinga
a8ed32c5f7
Re-enable cursor clipping when clicking into a window when relative mouse mode is enabled
2024-04-03 12:41:19 -07:00
Clownacy
65e7c8e265
Fix default Windows window icon not suiting the DPI.
...
For whatever reason, `ExtractIconEx` returns icons whose sizes are
inappropriate for the current DPI, resulting in terribly-blurry
window icons at higher DPIs.
To solve this, the window icon is now set to the first icon group
that is present in the executable. This behaviour should match what
Explorer does. By selecting an icon group instead of a specific icon,
Windows is free to select the icon within the group that best suits
the current DPI.
(cherry picked from commit 1fa6142903 )
2024-04-02 12:04:52 -07:00
Sam Lantinga
fbbee04423
Revert "Only clear the raw input queue status if we don't call GetRawInputBuffer()"
...
This reverts commit 02c63667c7 .
It turns out that QS_RAWINPUT isn't actually cleared by GetRawInputBuffer(). See https://github.com/libsdl-org/SDL/issues/9409 for more details.
2024-03-31 12:44:13 -07:00
Mathieu Eyraud
4d00706f57
Do not store pointer before potentialy freeing it
...
Store data to windows->driverdata after call to SetProp() in case it fails.
2024-03-30 11:07:42 -07:00
Mathieu Eyraud
36dec0bf4e
Fix return value of WIN_GetMonitorPathInfo
2024-03-30 11:04:32 -07:00
Sam Lantinga
8201b6dc4d
Added support for raw mousewheel events
2024-03-30 07:38:38 -07:00
Sam Lantinga
4a00d34a86
Always send raw mouse button state changes
...
Fixes https://github.com/libsdl-org/SDL/issues/9395
2024-03-30 07:30:43 -07:00
Sam Lantinga
af5728b94d
Fixed event handle accumulation when the SDL window doesn't have focus
...
This also fixes a crash on shutdown caused by the raw input thread failing to stop
2024-03-28 15:11:45 -07:00
Sam Lantinga
fc81d4e5fc
Fixed 64-bit conversion warnings
2024-03-28 09:12:26 -07:00
Sam Lantinga
02c63667c7
Only clear the raw input queue status if we don't call GetRawInputBuffer()
...
GetRawInputBuffer() will do that for us when we read all the queued events
2024-03-26 15:27:57 -07:00
Sam Lantinga
d6fc629b5b
Fixed Windows rawinput crash
...
RAWINPUT structures are variable size
2024-03-26 15:27:57 -07:00
Sam Lantinga
3eb8f35f3b
windows: handle the Pause key sequence for raw keyboard input
2024-03-26 09:22:00 -07:00
Daniel Ludwig
4562b41a4d
VisualC-GDK: Add missing dialog sources, fix Xbox builds
2024-03-26 07:28:22 -07:00
Ozkan Sezer
0556362c38
SDL_windowsevents.c: comment out unused local mouse var after 70b5cd44
2024-03-26 11:47:32 +03:00
Sam Lantinga
70b5cd44ec
windows: explicitly check whether raw_mouse_enabled is true before handling Windows mouse messages
2024-03-25 20:49:16 -07:00
Sam Lantinga
78c7834f90
Added SDL_HINT_WINDOWS_RAW_KEYBOARD to control whether raw keyboard is enabled on Windows
2024-03-25 20:41:05 -07:00
Sam Lantinga
b9a88bbecb
Removed SDL_TextInputShown()
...
This was only implemented on Windows and often confused with SDL_ScreenKeyboardShown()
2024-03-25 13:26:23 -07:00
Sam Lantinga
fa236f169b
Only do work to process text events if text input is active
...
Fixes https://github.com/libsdl-org/SDL/issues/9353
2024-03-25 13:26:23 -07:00
Sam Lantinga
012fc1e32b
windows: enable raw keyboard input when raw mouse input is enabled
2024-03-25 13:26:23 -07:00
Sam Lantinga
35d335e61f
Fixed warning C4267: 'function': conversion from 'size_t' to 'DWORD', possible loss of data
2024-03-25 11:46:47 -07:00
Sam Lantinga
c83d0d87c2
Revert "Added virtual keyboard support for Xbox (thanks @ts-13512)"
...
This reverts commit b5d4206b30 .
@nkrapivin already implemented GDK virtual keyboard support in https://github.com/libsdl-org/SDL/pull/7728
2024-03-23 16:47:59 -07:00
Sam Lantinga
b5d4206b30
Added virtual keyboard support for Xbox (thanks @ts-13512)
2024-03-23 16:34:43 -07:00
Sam Lantinga
361b7190df
Track unique button states between different mice
...
We were already halfway doing this, but now we make that information available to the Windows driver so it can cache the button state per-mouse
2024-03-23 16:31:00 -07:00
Sam Lantinga
35756593d6
Use the correct device ID (global or default or specific) based on context
2024-03-23 16:31:00 -07:00
Sam Lantinga
c0f4565552
Added SDL_GetKeyboardName() and SDL_GetMouseName()
2024-03-23 16:31:00 -07:00
Sam Lantinga
d1eb4adb16
Be explicit about the event mouse and keyboard ID
2024-03-23 16:31:00 -07:00
Sam Lantinga
2fe1a6a279
Initial support for hotplugging mice and keyboards
2024-03-23 16:31:00 -07:00
Dimitriy Ryazantcev
1973edb9b7
WIN_UpdateKeymap: cleanup code a bit
2024-03-13 09:09:59 -07:00
Sam Lantinga
ab5351f5d6
Fixed leaving the cursor clip set when changing window focus
...
While the focus change happens, Windows appears to reset the cursor clip rectangle, and then restore it if the application that has focus has the clip rectangle set.
This fixes resetting the clip rectangle while changing focus between windows in the same application, e.g. the Source 2 editor.
2024-03-11 10:58:40 -07:00
Sam Lantinga
16e0806ced
Note that the cursor clip has been cleared even if we didn't do it
...
This releases the mouse cursor when bringing up the console on Counter Strike in dev mode.
2024-03-08 15:56:49 -08:00
Sam Lantinga
33eaddc565
Cleaned up various type conversion issues
...
This makes sure SDL_PixelFormatEnum flows through the internal code correctly, as well as fixing a number of other minor issues.
2024-03-07 06:58:43 -08:00
Susko3
641b911d38
Update some internal files to use SDL_WindowFlags
2024-03-06 15:08:12 -08:00
Frank Praznik
4c0601b93f
video: Return a failure code if the video driver fails to grab the mouse or keyboard
...
Alter the video driver grab/confinement function signatures to return an int, set and return an error if the grab request fails, and clear the grab flags from the window if the mouse and/or keyboard wasn't actually grabbed.
2024-03-05 17:59:10 -05:00
Jade Macho
e2a8209263
GDK: Use WIN_IsRectEmpty (IsRectEmpty is desktop-only)
2024-03-02 10:30:29 -08:00
Jade Macho
290f64b86c
GDK: Windows shape is desktop-only
2024-03-02 10:30:29 -08:00
Jade Macho
e1e5d33420
GDK: Partially revert 2670eb44af
...
MsgWaitForMultipleObjects is desktop-only.
2024-03-02 10:30:29 -08:00
Sam Lantinga
4ba6aeee9d
A second take on HDR support with an SDR white point and HDR headroom
...
This better reflects how HDR content is actually used, e.g. most content is in the SDR range, with specular highlights and bright details beyond the SDR range, in the HDR headroom.
This more closely matches how HDR is handled on Apple platforms, as EDR.
This also greatly simplifies application code which no longer has to think about color scaling. SDR content is rendered at the appropriate brightness automatically, and HDR content is scaled to the correct range for the display HDR headroom.
2024-02-21 19:25:49 -08:00
Sam Lantinga
cb38649490
Added SDL_PROP_DISPLAY_HDR_WHITE_LEVEL_FLOAT
2024-02-16 19:50:41 -08:00
Sam Lantinga
20051f805f
Removed SDL_HINT_WINDOWS_NO_CLOSE_ON_ALT_F4
...
Replaced with SDL_HINT_WINDOWS_CLOSE_ON_ALT_F4, defaulting to SDL_TRUE
2024-02-12 09:54:33 -08:00
Sam Lantinga
cacac6cc34
Updated structure and field names for consistency
...
Type names are camel case and field names are snake case except for fields ending in id, which are capitalized.
Fixes https://github.com/libsdl-org/SDL/issues/6955
2024-02-11 08:27:56 -08:00
Hans-Kristian Arntzen
69f2bd151e
Fix broken use of MsgWaitForMultipleObjects.
...
- Timeout < 0 was not handled properly
- Return value for success is WAIT_OBJECT_0 + nCount, not positive value
2024-02-10 06:55:51 -08:00
Sam Lantinga
f6b92c9b88
Re-added a simplified version of SDL_SetWindowShape()
...
In order to handle mouse click transparency this needs to be implemented inside SDL
2024-02-09 16:04:46 -08:00
Sam Lantinga
faeb2b1f22
Fixed warning C4204: nonstandard extension used: non-constant aggregate initializer when built with Visual Studio 2019
2024-02-07 13:16:35 -08:00
Sam Lantinga
30e176d6ba
Added HDR display properties and related event
...
Also added an HDR calibration stage to testcolorspace
2024-02-06 02:48:05 -08:00