Frank Praznik
b1061a3ec1
video: Rename 'state_not_floating' to the more descriptive 'tiled'
2024-05-23 10:35:58 -04:00
Susko3
9d03ff6c18
Decrement before as the code makes more sense
2024-05-20 11:08:19 -07:00
Susko3
9458dc07dc
Fix double-free on cleanup and general nonsense when deleting fingers
2024-05-20 11:08:19 -07:00
Sam Lantinga
92301ae8a3
Fixed whitespace
2024-05-13 21:52:42 -07:00
Sam Lantinga
84fa11f740
Added missing events in SDL event logging
...
Also improved formatting for unknown events
2024-05-13 21:01:01 -07:00
Sam Lantinga
c64d7ed0aa
Fixed warning C4244: '=': conversion from 'SDL_Keymod' to 'Uint16', possible loss of data
2024-05-10 16:07:17 -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
Sam Lantinga
63979f04c8
Don't pass the sentinel event to event callbacks
...
This is just for internal use and we don't need to incur the overhead of calling callback and watchers for this event.
2024-05-03 09:00:41 -07: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
Frank Praznik
b41699e9c4
event: Always clear the mouse capture flag, even if the backend capture function isn't implemented.
...
Some backends, such as Wayland, don't support explicit mouse capture, and thus don't implement the backend function to do so, but do set/unset the capture flag on button events to handle cases where a button is pressed and the pointer is dragged outside the window.
If the backend doesn't support explicitly setting the mouse capture mode, manually clear the capture flag when the window has had the focus forcibly removed, to avoid sending bogus motion events as well as an assert condition.
2024-04-24 12:40:56 -04:00
Sam Lantinga
dc13c08375
Use single line comment format
2024-04-15 13:42:28 -07:00
Sam Lantinga
1862a62b5d
Replaced SDL_GetNumTouchFingers() and SDL_GetTouchFinger() with SDL_GetTouchFingers()
...
Fixes https://github.com/libsdl-org/SDL/issues/9484
2024-04-15 09:22:41 -10:00
Ryan C. Gordon
9f6f4dfcb9
events: Fixed crash in SDL_SetEventEnabled.
...
This could happen if `enabled` was non-zero but not set to SDL_TRUE.
Static analysis tried to warn us!!
The added SDL_assert is meant to sanity check this, not pacify the analyzer;
this passes Clang's static analysis now, with or without the assert.
Fixes #9544 .
2024-04-15 12:44:04 -04:00
Petar Popovic
c8a066019b
Renaming SDL_eventaction to SDL_EventAction
2024-04-08 14:28:52 -04:00
Petar Popovic
1efadcc5d4
Revert renaming SDL_eventaction. adding it again in next commit with
...
scripts
This reverts commit f08c31060a .
2024-04-08 14:28:52 -04:00
Petar Popovic
f08c31060a
Renaming SDL_eventaction to SDL_EventAction
2024-04-07 12:04:32 -04:00
Christoph Reichenbach
6d37f4798e
SDL_pen.c: release pen mutex on error return
2024-03-28 20:37:54 +00:00
Sam Lantinga
f1f24b173c
Added support for multiple distinct keyboards
2024-03-25 20:41:05 -07:00
Sam Lantinga
6443c75eda
Removed SDL_TEXTINPUTEVENT_TEXT_SIZE
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
Anonymous Maarten
beb52ed54a
pen: remove stray '#include <stdio.h>'
2024-03-24 16:58:59 +01:00
Christoph Reichenbach
615c7efd98
Fix #9279 : Memory leak in pen name handling
...
- Fixes a leak in pen name allocation that would trigger
for both X11 and Wayland for some non-pen input devices
when new devices are added/removed.
- SDL_PenQuit() now deallocates and resets the table of known pens
- testautomation_pen.c now uses PenInit and PenQuit as setup and
teardown, respectively
testautomation_pen.c was already triggering the leak, and it is
visible with --trackmem, so no new tests are added.
2024-03-24 05:04:53 -07:00
Sam Lantinga
72fc6f86e5
Text input is no longer automatically enabled when initializing video.
...
Fixes https://github.com/libsdl-org/SDL/issues/9309
Fixes https://github.com/libsdl-org/SDL/issues/9268
2024-03-23 16:31:00 -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
Cameron Gutman
d3a785e521
Improve event processing latency when gamepad/sensor is open
...
By using the SDL_WaitEventTimeout_Device() path even when polling is required,
we can still achieve sub-millisecond latency for non-gamepad/sensor events when
a gamepad or sensor is in use by the application.
2024-03-18 21:52:42 -07:00
Anonymous Maarten
f59dbf6a12
cmake: add -Wimplicit-fallthrough warning
2024-03-18 20:34:50 +01:00
Sam Lantinga
efbbafb3f1
Re-added balls to the SDL joystick API
...
It turns out these were being used on Linux and at least one virtual driver was making use of them (thanks @mrfixit2001!)
2024-03-10 21:30:14 -07:00
Sam Lantinga
790cd395f5
Make sure the type in the SDL_Event aligns properly across the union
2024-03-07 06:58:43 -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
722f4104bf
Use enums as types in SDL_*Event structures
...
The main `SDL_Event` union is not using the enum as
valid user events types are not in the enum.
2024-03-06 15:40:05 -08:00
Sam Lantinga
860155680d
SDL_RegisterEvents() now returns 0 if it couldn't allocate any user events.
2024-03-06 09:51:15 -08:00
Sam Lantinga
e54001b028
Updating the mouse capture should use the mouse focus window
...
Fixes https://github.com/libsdl-org/SDL/issues/8974
2024-03-03 11:32:17 -08:00
Sam Lantinga
107e06a92a
Use a valid finger ID when generating touch events from mouse events
...
Fixes https://github.com/libsdl-org/SDL/issues/9185
2024-03-03 09:15:07 -08:00
Ryan C. Gordon
67708f9110
camera: Emscripten support!
...
This also adds code to deal with waiting for the user to approve camera
access, reworks testcameraminimal to use main callbacks, etc.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
d3e6ef3cc6
camera: Massive code reworking.
...
- Simplified public API, simplified backend interface.
- Camera device hotplug events.
- Thread code is split up so it backends that provide own threads can use it.
- Added "dummy" backend.
Note that CoreMedia (Apple) and Android backends need to be updated, as does
the testcamera app (testcameraminimal works).
2024-02-20 15:56:26 -05: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
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
Anonymous Maarten
31d133db40
Define SDL_PLATFORM_* macros instead of underscored ones ( #8875 )
2024-01-24 01:40:51 +00:00
Sam Lantinga
a31dc6dfcb
Switched SDL_TouchID and SDL_FingerID to be Uint64 with 0 being an invalid value
2024-01-18 10:55:24 -08:00
Sam Lantinga
c2951655ff
Fixed warning: missing field 'window' initializer [-Wmissing-field-initializers]
2024-01-01 14:55:42 -08:00
Sam Lantinga
5b3ee51c6c
Updated copyright for 2024
2024-01-01 13:15:26 -08:00
Sam Lantinga
dfe1a37bab
Fixed error: 'static' is not at beginning of declaration [-Werror=old-style-declaration]
2023-12-29 19:40:45 -08:00
Sam Lantinga
530b41d531
Fixed warnings in SDL_pen.c
2023-12-29 10:37:28 -08:00
Sam Lantinga
c981a597dc
Added Steam Input API support for game controllers
...
Added support for getting the real controller info, as well as the function SDL_GetGamepadSteamHandle() to get the Steam Input API handle, from the virtual gamepads provided by Steam.
Also added an event SDL_EVENT_GAMEPAD_STEAM_HANDLE_UPDATED which is triggered when a controller's API handle changes, e.g. the controllers were reassigned slots in the Steam UI.
2023-12-20 10:40:28 -08:00
Dimitriy Ryazantcev
627d134b9e
Add support for monochrome cursors with inverted pixels under Windows.
...
Fixes #8157
2023-12-15 08:56:17 -08:00
Anonymous Maarten
a197efe3a7
pen: fix leak caused by pen subsystem
2023-12-07 20:38:00 +01:00