|
b8d85c69
|
2022-11-30T12:51:59
|
|
Update for SDL3 coding style (#6717)
I updated .clang-format and ran clang-format 14 over the src and test directories to standardize the code base.
In general I let clang-format have it's way, and added markup to prevent formatting of code that would break or be completely unreadable if formatted.
The script I ran for the src directory is added as build-scripts/clang-format-src.sh
This fixes:
#6592
#6593
#6594
(cherry picked from commit 5750bcb174300011b91d1de20edb288fcca70f8c)
|
|
fb0ce375
|
2022-11-27T17:38:43
|
|
Cleanup add brace (#6545)
* Add braces after if conditions
* More add braces after if conditions
* Add braces after while() conditions
* Fix compilation because of macro being modified
* Add braces to for loop
* Add braces after if/goto
* Move comments up
* Remove extra () in the 'return ...;' statements
* More remove extra () in the 'return ...;' statements
* More remove extra () in the 'return ...;' statements after merge
* Fix inconsistent patterns are xxx == NULL vs !xxx
* More "{}" for "if() break;" and "if() continue;"
* More "{}" after if() short statement
* More "{}" after "if () return;" statement
* More fix inconsistent patterns are xxx == NULL vs !xxx
* Revert some modificaion on SDL_RLEaccel.c
* SDL_RLEaccel: no short statement
* Cleanup 'if' where the bracket is in a new line
* Cleanup 'while' where the bracket is in a new line
* Cleanup 'for' where the bracket is in a new line
* Cleanup 'else' where the bracket is in a new line
(cherry picked from commit 6a2200823c66e53bd3cda4a25f0206b834392652 to reduce conflicts merging between SDL2 and SDL3)
|
|
92215481
|
2022-10-09T19:33:52
|
|
emscripten: Make an attempt at correct keyboard scancode/keycodes.
This uses a newer browser API to get physical scancodes, but still
uses the (deprecated) event field that we were already using for
scancodes, but for keycodes instead now, which appears to be more
accurate.
Since keyboard layout isn't (generally) available to web apps, this
adds an internal interface to send key events with both scancode
and keycode to SDL's internals, instead of sending just scancodes and
expecting SDL to use its own keymap to generate keycodes.
Future work in this area would be to use the keyboard layout APIs
on browsers that support them, which would allow us to use SDL's
usual keymap code and not rely on a deprecated browser API, but
until we get there, this patch gives significantly more correct
results than we would have before.
Fixes #2098.
|
|
b9e1d1b4
|
2022-10-09T19:49:34
|
|
events: Rename SDL_SendKeyboardKeyComplete to SDL_SendKeyboardKeyAndKeycode.+
|
|
00452e47
|
2022-08-24T11:25:13
|
|
Adding SDL_GetWindowSizeInPixels for window size in pixels (#6112)
|
|
20a76b0e
|
2022-07-25T23:06:58
|
|
video: removed unused devindex argument from bootstrap's create method.
|
|
0fcfaf9e
|
2022-06-08T14:20:50
|
|
emscripten: use MAIN_THREAD_EM_ASM for the fb/cursor proxying
This is how everything else was handled and fixes undefined symbol
errors in non-threads builds.
|
|
ea7d5307
|
2022-03-31T14:11:52
|
|
emscripten: Proxy SDL_GetUsableDisplayBounds to the main thread.
|
|
fe79eb2f
|
2022-02-26T20:46:52
|
|
emscriptenframebuffer: fix formatting
|
|
268cc2a4
|
2022-02-26T20:42:54
|
|
emscriptenmouse: remove useless return statement
|
|
3136a530
|
2022-02-25T14:26:23
|
|
fix formatting and cast warnings
Co-authored-by: Charlie Birks <charlie@daftgames.net>
|
|
40415859
|
2022-02-25T00:12:33
|
|
emscriptenmouse: remove old extra `_INT`
|
|
4dca8f7f
|
2022-02-24T21:09:03
|
|
SDL2 thread proxying fixes
This PR uses new APIs added in [emscripten-core/emscripten#9336](https://github.com/emscripten-core/emscripten/pull/9336)
to improve compatibility with USE_PTHREADS=1.
Original PR: https://github.com/emscripten-ports/SDL2/pull/127
By: @jakogut
Reviewed by: Daft-Freak
|
|
9de97e19
|
2020-12-01T12:46:59
|
|
emscripten: Don't prevent default on filtered key events
|
|
41e7d1ba
|
2022-03-06T23:02:57
|
|
Add SDL_GetDisplayDPI implementation on Emscripten
Signed-off-by: Mahyar Koshkouei <mk@deltabeard.com>
|
|
120c76c8
|
2022-01-03T09:40:00
|
|
Updated copyright for 2022
|
|
d31251b0
|
2021-11-21T22:30:48
|
|
use SDL's functions version inplace of libc version
|
|
94c1276a
|
2021-11-07T20:49:32
|
|
emscripten: Decrease vertical scroll speed by using deltaMode
Reference issue #4623.
|
|
454943cf
|
2021-04-11T16:44:48
|
|
emscripten: Don't flag window fullscreen on external requests
Also, the condition was always true.
|
|
55af8dca
|
2019-02-27T14:16:37
|
|
emscripten: use emscripten_set_window_title api
|
|
d8baad7e
|
2019-02-27T14:15:40
|
|
emscripten: use emscripten_get_screen_size api
|
|
abc04270
|
2020-04-15T15:22:39
|
|
emscripten: Fix framebuffer array creation optimisation
|
|
b4f11a36
|
2020-04-15T14:48:52
|
|
emscripten: Drop commented out code from the dummy driver
|
|
fa367cdd
|
2020-11-24T10:56:50
|
|
emscripten: Fix alt key being a nav key
|
|
edaf3f9c
|
2020-04-21T15:02:06
|
|
emscripten: Extend the "nav key" blacklist
Add the F keys and Ctrl/Alt+*. Consistent with other naviagtion
disabling. Also, none of these generate keypress events anyway.
|
|
a0d3c6c6
|
2021-01-25T21:42:14
|
|
Rename SetWindowGrab() to SetWindowMouseGrab()
|
|
9130f7c3
|
2021-01-02T10:25:38
|
|
Updated copyright for 2021
|
|
cb361896
|
2020-12-09T07:16:22
|
|
Fixed bug 5235 - All internal sources should include SDL_assert.h
Ryan C. Gordon
We should really stick this in SDL_internal.h or something so it's always available.
|
|
052a1373
|
2020-07-12T19:11:15
|
|
Merge VideoBootStrap::available into VideoBootStrap::create
The two are only ever called together, and combining them makes it possible
to eliminate redundant symbol loading and redundant attempts to connect
to a display server.
|
|
e594a673
|
2020-06-27T16:25:47
|
|
emscripten: Introduce SDL_HINT_EMSCRIPTEN_ASYNCIFY
See https://github.com/emscripten-core/emscripten/issues/10746
and
https://github.com/emscripten-ports/SDL2/pull/112
Fixes Bugzilla #4997.
|
|
01af7b02
|
2020-06-27T16:22:50
|
|
emscripten: support pseudo-synchronous screen refresh and events update using asyncify
|
|
daf360e0
|
2020-05-13T16:48:42
|
|
emscripten: Fix crash in SDL_SetWindowTitle().
This patch came from emscripten-ports, thanks!
Fixes Bugzilla #5133.
|
|
258d4106
|
2020-04-09T15:57:12
|
|
emscripten: Add a few keyCode mappings for German keyboards
From @sy2002 in https://github.com/emscripten-ports/SDL2/issues/108
|
|
babf010c
|
2020-04-09T15:01:47
|
|
emscripten: Pass canvas id to request_pointer_lock
Fixes pointer lock with DISABLE_DEPRECATED_FIND_EVENT_TARGET_BEHAVIOR=1
|
|
287772f5
|
2020-04-09T15:01:45
|
|
emscripten: Let SDL_GetDisplayUsableBounds return the size of the window
This does not account for scrollbars nor margins. But is much better then returning the full display size when not running fullscreen, but for example in an iframe.
|
|
fb3df3a1
|
2020-04-09T15:01:41
|
|
emscripten: Fix the reported keys for the numpad. See https://github.com/emscripten-ports/SDL2/issues/94
|
|
44716b02
|
2020-04-09T15:01:37
|
|
emscripten: Send SDL_APP_TERMINATING before unload (#88)
|
|
0380cbd7
|
2020-04-09T15:01:32
|
|
emscripten: Typo
|
|
8641f6e9
|
2020-04-07T14:03:13
|
|
emscripten: support KaiOS's Left Soft Key and Right Soft Key (thanks, pelya!).
Fixes Bugzilla #5027.
|
|
2a91f682
|
2020-03-03T17:56:33
|
|
Fixed bug 5012 - KaiOS keycodes support
pelya
KaiOS is an OS for feature phones, with numeric keypad and non-touch screen, and typically 512 Mb RAM and 4 Gb flash.
It is based on Firefox OS, all apps are made with HTML5 and Javascript. SDL can be cross-compiled using emscripten and packaged as native app.
This patch adds support for star '*' and pound '#' keys on such phones to generate SDL events.
|
|
a8780c6a
|
2020-01-16T20:49:25
|
|
Updated copyright date for 2020
|
|
d5ec735a
|
2019-08-01T18:22:12
|
|
Add a windowID field to SDL_TouchFingerEvent (bug #4331).
This is unimplemented on some platforms and will cause compile errors when building those platform backends for now.
|
|
ba0fc92d
|
2019-05-11T12:41:21
|
|
Patched to compile.
|
|
6eb05211
|
2019-05-09T12:09:45
|
|
Emscripten: Use EMSCRIPTEN_EVENT_TARGET_*
|
|
4e5b5cba
|
2019-05-09T12:09:40
|
|
Emscripten: Switch from canvas[XY] to target[XY]
Allows mouse/touch events to work on non-default canvases
|
|
60c48ed7
|
2019-05-09T12:09:34
|
|
Emscripten: Store canvas id in WindowData
Also replace all hardcoded uses of "#canvas" or NULL
|
|
b45abbb2
|
2019-04-02T17:57:27
|
|
Bug 4576: fix warning and compile
|
|
b086edc9
|
2019-04-02T17:10:29
|
|
Bug 4576: remove touch/mouse duplication for Emscripten
|
|
6311c7cf
|
2019-03-16T19:08:59
|
|
emscripten: force resize event when pixel ratio changes
Without this, applications can't react to changed canvas size on window zoom.
|
|
6d89a7bc
|
2019-01-29T12:19:32
|
|
Emscripten: remove GLES_DeleteContext implementation
It was calling glClear without a context. The issue it was trying to
solve was actually that after destroying a window and creating a new one
, the contents of the old window were preserved. This no longer happens
since we resize the window to nothing on destroy.
|
|
04b1494c
|
2019-01-29T12:19:23
|
|
Emscripten: resize canvas to 0x0 in DestroyWindow
Closest we can get to actually destroying it
|
|
d60546aa
|
2019-01-29T12:19:06
|
|
Emscripten: don't zero the display mode before adding it
|
|
4a2888af
|
2019-01-29T12:19:03
|
|
Emscripten: use UTF8ToString instead of Pointer_stringify
|
|
8dab9c95
|
2019-01-29T12:18:56
|
|
Emscripten: Use set_canvas_element_size
This will be needed for supporting multiple canvases and set_canvas_size
is deprecated anyway.
|
|
ed66a430
|
2019-01-29T12:14:54
|
|
Emscripten: Do not consume mouseup event outside of the canvas
|
|
2838abb5
|
2019-01-29T12:14:44
|
|
Emscripten: fix duplicate mousebuttonup/mousebuttondown events when touch events are disabled
|
|
1767d091
|
2019-01-29T12:14:41
|
|
Emscripten: use a fake size for external sizing check
The check would fail if the canvas happened to be the correct size
already. (#66, mentioned in #58)
|
|
80d690a2
|
2019-01-29T12:14:33
|
|
Emscripten: reset fullscreen_window when leaving fullscreen
If the browser left fullscreen mode by the user pressing ESC, the next
call to SDL_SetWindowFullscreen(1) will fail as it thinks the window is
already fullscreen. (#65)
|
|
5e13087b
|
2019-01-04T22:01:14
|
|
Updated copyright for 2019
|
|
5029d50e
|
2018-11-10T16:15:48
|
|
Add SDL_TouchDeviceType enum and SDL_GetTouchDeviceType(SDL_TouchID id).
Touch device types include SDL_TOUCH_DEVICE_DIRECT (a touch screen with window-relative coordinates for touches), SDL_TOUCH_DEVICE_INDIRECT_ABSOLUTE (a trackpad-style device with absolute device coordinates), and SDL_TOUCH_DEVICE_INDIRECT_RELATIVE (a trackpad-style device with screen cursor-relative coordinates).
Phone screens are an example of a direct device type. Mac trackpads are the indirect-absolute touch device type. The Apple TV remote is an indirect-relative touch device type.
|
|
cd63709e
|
2018-10-13T17:18:59
|
|
Emscripten: Load eglQueryString and eglGetError
This prevents an assertion on context creation failure (calling a null
function pointer).
|
|
aeea6b9b
|
2018-08-18T12:30:04
|
|
Emscripten: Fixed SDL_SYSTEM_CURSOR_SIZEALL
|
|
e3cc5b2c
|
2018-01-03T10:03:25
|
|
Updated copyright for 2018
|
|
17243133
|
2017-11-04T11:16:49
|
|
Emscripten: use cursor hotspot
the cursor's hotspot simply wasn't translated to it's CSS equivalent, yet
see https://developer.mozilla.org/en-US/docs/Web/CSS/cursor?v=example#Syntax. no explicit hotspot if (0|0) for compatibility with Edge and IE, which indeed don't support custom hot spots
|
|
50efbda7
|
2017-08-28T00:43:14
|
|
Fixed mingw Windows build, since SDL_vulkan_internal.h includes windows.h
|
|
0d011ec6
|
2017-08-28T00:22:23
|
|
Renaming of guard header names to quiet -Wreserved-id-macro
|
|
a4cfa936
|
2017-08-14T21:28:04
|
|
Fixed bug 2293 - Precise scrolling events
Martijn Courteaux
I implemented precise scrolling events. I have been through all the folders in /src/video/[platform] to implement where possible. This works on OS X, but I can't speak for others. Build farm will figure that out, I guess. I think this patch should introduce precise scrolling on OS X, Wayland, Mir, Windows, Android, Nacl, Windows RT.
The way I provide precise scrolling events is by adding two float fields to the SDL_MouseWheelScrollEvent datastructure, called "preciseX" and "preciseY". The old integer fields "x" and "y" are still present. The idea is that every platform specific code normalises the scroll amounts and forwards them to the SDL_SendMouseWheel function. It is this function that will now accumulate these (using a static variable, as I have seen how it was implemented in the Windows specific code) and once we hit a unit size, set the traditional integer "x" and "y" fields.
I believe this is pretty solid way of doing it, although I'm not the expert here.
There is also a fix in the patch for a typo recently introduced, that might need to be taken away by the time anybody merges this in. There is also a file in Nacl which I have stripped a horrible amount of trailing whitespaces. (Leave that part out if you want).
|
|
711df8a9
|
2017-08-05T22:10:48
|
|
emscripten: Fixed compiling without OpenGL support.
|
|
599d9ba1
|
2017-06-05T21:30:25
|
|
emscripten: listen for pointerlockchange events on the #document specifically.
|
|
75931972
|
2017-05-26T22:45:40
|
|
emscripten: Fixed compiling on C89 compilers.
|
|
126e5a1d
|
2017-05-24T14:04:39
|
|
Emscripten: Prevent default on arrow keys
|
|
f839b209
|
2017-05-24T14:04:25
|
|
Emscripten: fixed incorrect conversion of touch motion events to mouse motion events
|
|
bf8ccf08
|
2017-05-19T23:30:59
|
|
Removed redundant mouse clean up on quit for some platforms.
SDL_MouseQuit() already frees cursors and sets fields to NULL.
|
|
29222db7
|
2017-05-13T23:00:35
|
|
emscripten: Fixed not removing pointer lock event callback.
|
|
cc5b4f45
|
2017-05-12T23:01:17
|
|
emscripten: Changed internal functions to be static.
|
|
34d9c521
|
2017-05-06T21:45:43
|
|
emscripten: Fixed return type in event callback declaration.
|
|
93a6191c
|
2017-04-20T13:00:54
|
|
emscripten: keep track of pointer lock losses and maybe regrab pointer later.
If an Emscripten app is in relative mouse mode and the user presses Escape
(or whatever is appropriate), then the pointer lock is broken by the browser.
This keeps track of those losses, and next time the user presses a mouse
button down on the canvas, if the app is still meant to be in relative mouse
mode, we will attempt to regrab the pointer.
This makes it much more seamless for things like first-person shooters, and
the app doesn't need any manual intervention.
|
|
0d647d35
|
2017-02-17T10:13:17
|
|
Emscripten: implement custom cursors
|
|
33bddcfd
|
2017-02-17T10:13:12
|
|
Emscripten: refactor cursor handling
|
|
613955b4
|
2017-02-17T10:13:07
|
|
Emscripten: only update pixel ratio if HiDPI is enabled
|
|
67ed8943
|
2017-01-01T19:10:36
|
|
Fixed bug 3529 - SDL_EGL_UnloadLibrary is not called at all on SDL_Quit
kaisyu
In case of OpenGLES, the sequences of loading and unloading driver library should be like that:
SDL_Init
...
SDL_GL_LoadLibrary
SDL_EGL_LoadLibrary
...
SDL_Quit
...
SDL_GL_UnloadLibrary
SDL_EGL_UnloadLibrary
...
However, according to my test results, the varible '_this->gl_config.driver_loaded' does not allow 'SDL_GL_UnloadLibrary' to call 'SDL_EGL_UnloadLibrary'.
|
|
45b774e3
|
2017-01-01T18:33:28
|
|
Updated copyright for 2017
|
|
97d05b0d
|
2016-12-09T05:12:27
|
|
Fixed a bunch of SwapWindow calls that needed their return value updated
|
|
232ae688
|
2016-11-23T17:20:28
|
|
Still more compiler warning fixes for various platforms.
|
|
c3451262
|
2016-11-18T00:05:28
|
|
Emscripten: Fixed handling of deactivated mouse events.
SDL_GetEventState() was called with a button state instead of an event type.
|
|
01f62736
|
2016-10-14T17:06:28
|
|
emscripten: check if device pixel ratio has changed
|
|
00791f3a
|
2016-09-13T00:09:21
|
|
Only prevent the default browser event handling when the specific event types aren't disabled by the user, patch contributed by Jonas Platte
|
|
993dd835
|
2016-09-13T00:04:00
|
|
Add mapping for media keys
|
|
1b6565fc
|
2016-09-13T00:03:59
|
|
use Module.createContext for 2D rendering in emscripten
|
|
bec55734
|
2016-09-13T00:03:58
|
|
add some detail to fullscreen workaround comment; version 6
Conflicts:
version.txt
|
|
405d64b2
|
2016-09-13T00:03:56
|
|
only unset fullscreen flags if fullscreen failed
|
|
c68cac89
|
2016-09-13T00:03:55
|
|
use screen resolution instead of canvas size
|
|
791b946a
|
2016-09-13T00:03:54
|
|
Fix full screen mode in Firefox, which was broken by 9d4beb2
|
|
b71208d4
|
2016-09-13T00:03:53
|
|
Support SDL_SetWindowTitle() via Module['setWindowTitle']()
|
|
7cf44f1b
|
2016-09-13T00:03:51
|
|
Remove unused variable warning from Emscripten build in Emscripten_HandleFullscreenChange().
|
|
b54eb82c
|
2016-09-13T00:03:49
|
|
Unpress all keys on blur to avoid stuck keys
|
|
a0a75f38
|
2016-09-13T00:03:48
|
|
Listen for blur and focus events on window instead of canvas
Blur and focus events were not arriving for the canvas in
Firefox 35 and Chrome 40.
|
|
3e5c4cec
|
2016-09-13T00:03:46
|
|
Mouse events use CSS coordinates, so don't scale by pixel_ratio
|
|
a20c40c4
|
2016-09-13T00:03:45
|
|
Accumulate subpixel mouse motion so motion is not lost.
Previously when the canvas was scaled up and the pointer was locked,
motion corresponding to less than one pixel was lost. Therefore,
slow mouse motion resulted in no motion. This fixes that.
|
|
443998ff
|
2016-09-13T00:03:44
|
|
Fix of mouse events in browser without pointer locks
|