kc3-lang/SDL/src/video/winrt

Branch :


Log

Author Commit Date CI Message
3bef4a5d 2022-01-22 15:43:09 cleanup error-handling in SDL_egl.c - always set error message in SDL_EGL_ChooseConfig / SDL_EGL_CreateContext - assume SDL_EGL_DeleteContext does not alter the error message - sync generic error message of SDL_EGL_MakeCurrent with SDL_EGL_Get/SetSwapInterval - do not overwrite error message of SDL_EGL_ChooseConfig in WINRT_CreateWindow
60deadba 2022-01-17 17:22:30 re-use return value of SDL_SetError/WIN_SetErrorFromHRESULT/SDL_OutOfMemory
120c76c8 2022-01-03 09:40:00 Updated copyright for 2022
11a9cd63 2021-11-27 08:14:50 Fixed building SDL on UWP
7e88e772 2021-08-04 02:30:47 winrt: Fixed incorrect code in a Windows Phone #ifdef.
350ca0f9 2021-08-03 04:57:53 winrt: Don't register orientation hint callback in startup code. SDL_AddHintCallback() uses SDL_malloc(), which means this would run before main(), so the app wouldn't be able to supply its own replacement SDL_malloc() implementation in time. This code was moved to under SDL_Init. Since the hint callback already makes efforts to not override the app manifest's orientation settings, this is safe to move until after pre-main() startup. Fixes #4449.
be5356af 2021-05-14 14:44:13 winrt: Fix support for multiple simultaneous mouse button presses
8fa2ce56 2021-04-03 22:47:47 WinRT: Rename Interface ID symbols Rename locally-defined Interface ID symbols to avoid conflict with locally linked dxgi library. Prefixed with `SDL_` to match with other references in render_d3d11 or wasapi.
391bb80b 2021-03-05 16:53:06 Replace duplicate functions and lstrlen/lstrcat with SDL string functions
9130f7c3 2021-01-02 10:25:38 Updated copyright for 2021
93ccdee8 2020-12-23 13:47:49 Fixed bug 5404 - stdlib: Added SDL_round, SDL_roundf, SDL_lround and SDL_lroundf Cameron Cawley stdlib: Added SDL_round, SDL_roundf, SDL_lround and SDL_lroundf The default implementation is based on the one used in the Windows RT video driver.
cb361896 2020-12-09 07: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.
76980e30 2020-10-08 16:42:20 Added events for dynamically connecting and disconnecting displays, with an iOS implementation
ea171c05 2020-08-01 18:58:42 winrt: Another attempt at getting this to compile. IntPtr isn't a POD type like I thought, so hopefully we can just construct one that works out? C++/CX is so weird.
282e4c65 2020-07-31 19:42:23 winrt: Patched to compile...? Microsoft's C++/CX is weird, no idea if this will actually fix it. :/
3b38e61a 2020-07-16 13:25:50 winrt: Fix casting a pointer to int. Fixes Bugzilla #5202.
052a1373 2020-07-12 19: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.
20aada0e 2020-06-10 09:38:43 Fixed bug 5170 - Build fails when using Visual Studio 2017 with Windows 10 SDK 10.0.19041.0 in uwp JackBoosY In src/video/winrt/SDL_winrtgamebar.cpp line 55: virtual HRESULT STDMETHODCALLTYPE add_VisibilityChanged( __FIEventHandler_1_IInspectable *handler, Windows::Foundation::EventRegistrationToken *token) = 0; The macro __FIEventHandler_1_IInspectable defined in windows.fondation.h(Windows10 SDK 10.0.17763.0) line 3576: #define __FIVector_1_Windows__CFoundation__CPoint ABI::Windows::Foundation::Collections::__FIVector_1_Windows__CFoundation__CPoint_t but no longer exists in Windows 10 SDK 10.0.19041.0. After searching this macro in the sdk include path, I found that it was defined in many header files. But it should be replaced in windows.system.h .
b6afbe63 2020-04-07 09:38:57 Added SDL_log.h to SDL_internal.h so logging is available everywhere
a8780c6a 2020-01-16 20:49:25 Updated copyright date for 2020
c61ca915 2019-10-02 14:55:02 WinRT: fix a link-time error when building UWP + x64
63197c43 2019-08-02 17:19:50 Fix bug where the wrong button was the default in the old message box because buttons were added backwards, breaking the indexing used by GetButtonIndex. Add messagebox flags to explicilty request left-to-right button order or right-to-left. If neither is specified it'll be some platform default.
d5ec735a 2019-08-01 18: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.
42de5f97 2019-04-02 17:13:22 Bug 4576: remove touch/mouse duplication for WinRT
5e13087b 2019-01-04 22:01:14 Updated copyright for 2019
5029d50e 2018-11-10 16: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.
40b27fd5 2018-02-12 17:00:00 revert the recent typecast assignment changes (see bug #4079) also change the void* typedefs for the two vulkan function pointers added in vulkan_internal.h into generic function pointer typedefs.
90e72bf4 2018-01-30 18:08:34 Fixed ISO C99 compatibility SDL now builds with gcc 7.2 with the following command line options: -Wall -pedantic-errors -Wno-deprecated-declarations -Wno-overlength-strings --std=c99
e3cc5b2c 2018-01-03 10:03:25 Updated copyright for 2018
50efbda7 2017-08-28 00:43:14 Fixed mingw Windows build, since SDL_vulkan_internal.h includes windows.h
0d011ec6 2017-08-28 00:22:23 Renaming of guard header names to quiet -Wreserved-id-macro
a4cfa936 2017-08-14 21: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).
56363ebf 2017-08-02 10:22:48 Fixed bug 3690 - SDL2 KMS/DRM render context support Manuel The attached patch adds support for KMS/DRM context graphics. It builds with no problem on X86_64 GNU/Linux systems, provided the needed libraries are present, and on ARM GNU/Linux systems that have KMS/DRM support and a GLES2 implementation. Tested on Raspberry Pi: KMS/DRM is what the Raspberry Pi will use as default in the near future, once the propietary DispmanX API by Broadcom is overtaken by open graphics stack, it's possible to boot current Raspbian system in KMS mode by adding "dtoverlay=vc4-kms-v3d" to config.txt on Raspbian's boot partition. X86 systems use KMS right away in every current GNU/Linux system. Simple build instructions: $./autogen.sh $./configure --enable-video-kmsdrm $make
944e06e6 2017-06-24 23:45:44 winrt: Fixed SDL include.
266816b4 2017-03-26 21:00:19 Removed newlines from error messages.
45b774e3 2017-01-01 18:33:28 Updated copyright for 2017
0cfa0aa1 2016-12-29 11:49:18 improved SDL_GetError() output generated by EGL code This change attempts to report the EGL error codes generated by SDL's calls into EGL, along with the name of the EGL function that failed.
b4e069e7 2016-12-26 02:12:21 Fixed bug 3517 - Compiler warnings with gcc -Wstrict-prototypes felix Compiling even a simple SDL2 'hello world' program with gcc -Wstrict-prototypes (GCC 6.2.1) results in warnings like: /usr/include/SDL2/SDL_gamecontroller.h:143:1: attention : function declaration isn't a prototype [-Wstrict-prototypes] extern DECLSPEC int SDLCALL SDL_GameControllerNumMappings(); ^~~~~~ It seems there is a missing 'void' between the parentheses.
97d05b0d 2016-12-09 05:12:27 Fixed a bunch of SwapWindow calls that needed their return value updated
58199232 2016-11-05 21:22:58 WinRT: Corrected header file guard comment.
f5d43cf9 2016-08-31 12:52:55 WinRT: added an extra NULL pointer check for SDL_*ScreenSaver() backend code
5020fe8f 2016-08-29 20:27:21 WinRT: added SDL_*ScreenSaver() support; fixed crash when restoring app from screensaver
5150eb36 2016-08-20 13:46:45 WinRT: fixed bug where Win10 GameBar, when shown + hidden, might not restore a cursor's hidden state The repro steps were this: 1. run an sdl2 winrt/uwp app, on Win10, v10.0.10586.0 or higher 2. hide the cursor, via a call to SDL_ShowCursor(0) 3. make the Win10 game bar appear, by pressing the Windows + G hotkey 4. observe that the mouse cursor appears, in order to interact with the game bar (this is expected behavior) 5. make the Win10 game bar disappear, either by pressing the Windows + G hotkey again, or clicking somewhere in the app EXPECTED RESULT: cursor disappears, as game bar disappears ACTUAL RESULT: cursor didn't always disappear
9f97ee8a 2016-08-03 22:32:02 WinRT: Removed not needed SDL_zerop() after SDL_calloc(). SDL_calloc() already sets memory to zero.
441359bd 2016-05-14 23:29:49 WinRT: workaround a possible Windows bug, whereby hiding cursors, disables mouse-moved events This workaround, unfortunately, requires that apps directly link to a set of Win32-style cursor resource files (that contain a transparent cursor image). Copies of suitable resource files are in src/core/winrt/, and should be included directly in an app's MSVC project. A rough explanation of this workaround/hack, and why it's needed (and seemingly can't be done through programmatic means), is in this change's code.
52fec6af 2016-05-07 21:41:59 WinRT: allow on-screen keyboard to be shown via SDL APIs, Win10/UWP only
caf152de 2016-04-13 21:59:50 WinRT: build/link fix
9b4db2b8 2016-04-12 18:11:36 Patched to compile on various platforms.
c61675dc 2016-04-12 16:45:10 threads: Move SDL's own thread creation to a new internal API. This allows us to set an explicit stack size (overriding the system default and the global hint an app might have set), and remove all the macro salsa for dealing with _beginthreadex and such, as internal threads always set those to NULL anyhow. I've taken some guesses on reasonable (and tiny!) stack sizes for our internal threads, but some of these might turn out to be too small in practice and need an increase. Most of them are simple functions, though.
0c923fda 2016-03-10 21:00:44 WinRT: Removed dead code and fixed memory leak if allocation for driver failed.
42065e78 2016-01-02 10:10:34 Updated copyright to 2016
44c0b2da 2015-12-31 01:54:11 WinRT: minor code-comment cleanups
8281cc72 2015-12-22 00:58:47 WinRT: Fixed bug 3210, "alt-tab doesn't work correctly with full-screened, UWP (Win10 Store) apps"
976bc9a9 2015-12-06 18:48:46 WinRT: build fix for Windows Phone 8.0
2b484818 2015-12-06 18:42:30 WinRT: enabled the Win10-Store Cert Kit bug-workaround, for Windows 8.0 apps
a40d49aa 2015-12-06 18:33:43 WinRT: enabled the Win10-Store Cert Kit bug-workaround, for Windows 8.1 apps
898054a1 2015-12-06 17:32:33 WinRT: fixed a build error when compiling Windows 8.1 .dlls
c8e3bfbf 2015-12-06 17:07:37 WinRT: removed an unused variable from DXGI-based display-detection code
781455fd 2015-12-06 17:06:40 WinRT: workaround for a possible bug in the Win10 Store's Certification Kit DXGI fails to report any displays in at least one of the "Windows App Certification Kit 10.0"'s tests for Store Apps. This was causing SDL's video initialization code to fail, when the suspect test ("Direct3D Feature Test") was run, as DXGI was unable to report a display-output at adapter-index 0, output-index 0. The workaround that is applied here attempts to detect this case, then use a hopefully-reasonable alternative means to calculate at least one display output.
25abce51 2015-11-29 19:33:11 WinRT: added Win10/UWP (Universal Windows Platform) support "UWP" appears to be Microsoft's new name for WinRT/Windows-Store APIs. This set of changes updates SDL's WinRT backends to support the Win10 flavor of WinRT. It has been tested on Win10 on a desktop. In theory, it should also support Win10 on other devices (phone, Xbox One, etc.), however further patches may be necessary. This adds: - a set of MSVC 2015 project files, for use in creating UWP apps - modifications to various pieces of SDL, in order to compile via MSVC 2015 + the Win10 API set - enables SDL_Window resizing and programmatic-fullscreen toggling, when using the WinRT backend - WinRT README updates
d07aa877 2015-11-26 11:15:43 WinRT: minor code cleanup in window-creation code Window flags can be detected on all WinRT platforms.
a70fe9a5 2015-11-26 11:09:50 WinRT: native windows are inherently resizable (in WinRT 8.x)
7bd640d5 2015-11-26 02:37:51 WinRT: bug-fix, fullscreen mode wasn't getting reported in Windows 8.0 apps This bug did not occur in Windows 8.1 apps, just Windows 8.0.
36090f57 2015-11-26 02:13:15 WinRT: bug-fix, OpenGLES2 was failing to init, after recent windowing fixes Some SDL_Window flags were getting lost inside WINRT_UpdateWindowFlags, namely SDL_WINDOW_OPENGL.
f5209944 2015-11-26 01:36:36 WinRT: bug-fix, fullscreen window flags weren't set if device was rotated 90 degrees
623898f7 2015-11-26 00:41:39 WinRT: lots of display and windowing related fixes This change-set fixes a lot of windowing related bugs, especially with regards to Windows 8.x apps running on Windows 10 (which was the driver for this work). The primary fixes include: * listed display modes were wrong, especially when launching apps into a non-fullscreen space * reported window flags were often wrong, especially on Windows 10 * fullscreen/windowed mode switches weren't failing (they are not programmatically possible in Win 8.x apps).
0e45984f 2015-06-21 17:33:46 Fixed crash if initialization of EGL failed but was tried again later. The internal function SDL_EGL_LoadLibrary() did not delete and remove a mostly uninitialized data structure if loading the library first failed. A later try to use EGL then skipped initialization and assumed it was previously successful because the data structure now already existed. This led to at least one crash in the internal function SDL_EGL_ChooseConfig() because a NULL pointer was dereferenced to make a call to eglBindAPI().
fd8b7c1c 2015-06-05 19:41:18 Fixed comments at conditional compilation macros.
2c4a6ea0 2015-05-26 06:27:46 Updated the copyright year to 2015
b72938c8 2015-04-20 12:22:44 Windows: Always set the system timer resolution to 1ms by default. An existing hint lets apps that don't need the timer resolution changed avoid this, to save battery, etc, but this fixes several problems in timing, audio callbacks not firing fast enough, etc. Fixes Bugzilla #2944.
0fbd3372 2015-04-13 20:52:18 WinRT: Fixed format string for error message.
fe6c797c 2015-04-10 23:30:31 Fixed an iOS view orientation issue when SDL_GL_CreateContext or SDL_CreateRenderer is called.
522fd829 2015-03-17 19:45:47 WinRT: made OpenGL window-init work with latest round of ANGLE/WinRT updates Various constants in ANGLE/WinRT, both in MSOpenTech's ms-master branch, and in Google's branch, were changed again. This change makes SDL/WinRT work with them. To note, the ms-master branch (of ANGLE) was updated via this merge: https://github.com/MSOpenTech/angle/commit/bbd2eb0a9c453a941f2c7abacf616d5a66b6be92#diff-d1377fbe747de154e1bfcf7221d3de67
b12ea759 2015-03-17 10:25:21 WinRT: another ANGLE/OpenGL-initialization, error messaging tweak
1083ae22 2015-03-17 10:22:36 WinRT: ANGLE/OpenGLES-initialization, error message improvements
8a700d4d 2015-02-15 12:11:44 WinRT: a minor, nit-picky cleanup of some OpenGL code
5ad34f7a 2015-02-15 11:53:24 WinRT: improved OpenGL ES compatibility on WinPhone/ARM and Surface RT This change integrates initialization settings for ANGLE/WinRT, as suggested in MSOpenTech's latest ANGLE template-projects (for MSVC). This should fix some OpenGL initialization issues on WinPhone 8.1 on ARM, and on the 1st-generation Surface RT.
df329962 2015-02-15 00:08:27 WinRT: fixed crash when using up-to-date versions of ANGLE/WinRT
b88ca1b4 2015-02-10 16:28:56 the last parameter of XChangeProperty is the number of elements.. and when the element format is 32.. the element is "long" so we have 5 long elements here. Yes this seems confusing as on mac+linux Long is either 32 or 64bits depending on the architecture, but this is how the X11 protocol is defined. Thus 5 is the correct value for the nelts here. Not 5 or 10 depending on the architecture. More info on the confusion https://bugs.freedesktop.org/show_bug.cgi?id=16802
b48e54aa 2015-01-26 22:00:29 Fixed bug 2802 - [patch] Fix android build compiling in wrong filesystem implementation Jonas Kulla The configure script didn't differentiate between Linux and Android, unconditionally compiling in the unix implementation of SDL_sysfilesystem.c. I'm probably one of the very few people building SDL for android using classic configure + standalone toolchain, so this has gone undetected all along.
70438be2 2014-12-03 10:55:23 WinRT: fixed bug whereby SDL would override an app's default orientation WinRT apps can set a default, preferred orientation via a .appxmanifest file. SDL was overriding this on app startup, and making the app use all possible orientations (landscape and portrait). Thanks to Eric Wing for the heads up on this!
6a5b3bb4 2014-11-26 21:34:15 WinRT: added initial SDL_TEXTINPUT support Further support regarding IME and on-screen keyboards is pending, some of which might not be 100% compatible with other platforms, given WinRT platform restrictions. An MSDN article at http://msdn.microsoft.com/en-us/library/windows/apps/hh465404.aspx indicates that on-screen keyboard display requires that the user first tap on a Windows/XAML text control. This change adds basic SDL_TEXTINPUT support, with input coming from hardware keyboards, at a minimum, and without the need for XAML integration (which is still pending integration into SDL, by and large).
5b5823ee 2014-11-23 21:09:54 add in support for passing down the "natural" (or flipped) scrolling direction in the MouseWheelEvent event
5575948b 2014-11-22 21:13:46 Fixed bug 2726 - WinRT touches not setting 'which' field in virtual mouse events This patch makes sure that any SDL_MOUSEBUTTONDOWN, SDL_MOUSEBUTTONUP, and SDL_MOUSEMOTION events, as triggered by a touch event in a WinRT app, set the event's 'which' field to SDL_TOUCH_MOUSEID. Previously, this was getting set to the same value as events from a real mouse, '0'. Thanks to Diego for providing information on this bug, and to Tamas Hamor for sending over a patch!
9c398852 2014-11-22 22:20:40 Corrected header file documentation comment.
49c9b48e 2014-11-09 14:20:53 WinRT: fixed multi-touch bug whereby 2nd, 3rd, etc. fingers weren't moving Only the first-pressed finger wpuld get reported as having moved (via SDL's touch APIs). Subsequently pressed fingers wouldn't report as being moved, even though the OS was reporting (to SDL) that they had moved.
577ef5e0 2014-11-02 10:38:29 WinRT: fixed crash when trying, and failing, to load the opengles2 renderer The crash would occur when a WinRT app explicitly tried to create an SDL_Renderer using the "opengles2" renderer (via SDL_HINT_RENDER_DRIVER), but OpenGL ES 2 / ANGLE .dlls weren't packaged in the app.
18ecc34d 2014-11-02 09:02:01 WinRT: updated an OpenGL-related code-comment
0bcc254e 2014-11-02 08:47:05 WinRT: expanded OpenGL ES 2 support to enable recent updates to ANGLE/WinRT ANGLE for WinRT has at least two versions: - an older version, which supports Windows 8.0 and 8.1. This is currently the "winrt" branch in MSOpenTech's ANGLE repository (at https://github.com/msopentech/angle) - a newer version, which drops support for Windows 8.0, but is under more active development (via MSOpenTech's "future-dev" branch), and which was recently merged into the ANGLE project's official "master" branch (at https://chromium.googlesource.com/angle/angle) Both versions are setup using slightly different APIs. SDL/WinRT will now attempt to detect which version is being used, and configure it appropriately.
01f3498c 2014-10-26 12:33:10 WinRT: more keyboard code cleanups - made keycode listings a bit easier to read - listed VK_ keycode names, where appropriate - removed a few pieces of dead + commented-out code - applied a common 'WINRT_' prefix to internal function names
e057c7dd 2014-10-25 08:54:23 WinRT: Fixed bug whereby key-detection code could call SDL_Log
ed2fff6b 2014-10-25 08:50:41 WinRT: fallback to scancode key detection, if VirtualKey/VK detection fails
20b19aac 2014-10-25 08:43:51 WinRT: more keyboard code cleanups - use SDL_arraysize where appropriate - made long lines of debug-logging code span multiple lines, for easier reading
a1bac50d 2014-10-24 22:09:47 WinRT: Fixed bug whereby a right-shift key might get reported as left-shift
e9c79620 2014-10-24 21:25:21 WinRT: minor keyboard code cleanup An internally-used hash table was replaced with a plain switch statement.
24c86b55 2014-09-11 19:24:42 [X11] Reconcile logical keyboard state with physical state on FocusIn since the window system doesn't do it for us like other platforms. This prevents sticky keys and missed keys when going in and out of focus, for example Alt would appear to stick if switching away from an SDL app with Alt-Tab and had to be pressed again. CR: Sam
49cef77e 2014-05-10 23:39:54 WinRT: fixed the max-button count for WinPhone 8.1 message boxes Doh. The max button count on WinPhone 8.1 was set to three, not two. Any more than two leads to a crash.
ea99e0c0 2014-05-10 23:28:53 Added limited message-box support for Windows Phone 8.1 The Windows Phone 8.1 'MessageDialog' API only seems to support two buttons, despite the documentation for such mentioning support for three. Trying to use three or more buttons leads to an exception being thrown. As such, any attempt to use more than two buttons via SDL_ShowMessageBox (on Windows Phone 8.1) will lead to no message box getting shown, and the call returning an error. The Win32 MessageBox and dialog APIs are not available in WinRT apps, to note. More extensive message dialog support might be available at some point, if and when XAML support is more fully fleshed-out. I'm not certain of this, though.
164e5b89 2014-05-09 21:28:52 WinRT: display-information code cleanups
d4f1d225 2014-05-09 20:32:06 Fixed bug: touch input on WinPhone 8.0 was wrong, in some cases When a Windows Phone 8.0 app was rotated to anything but Portrait mode, touch input coordinates, as well as virtual mouse coordinates, were usually getting reported as coming from the wrong part of the screen.