Commit graph

32 commits

Author SHA1 Message Date
Ethan Lee
d7ef1c6933 Add notes for SDL_WinRTRunApp and SDL2-WinRTResources for non-C++ projects 2019-06-09 11:54:51 -04:00
Ryan C. Gordon
1745441419 audio: Port WASAPI to WinRT, remove XAudio2 backend.
XAudio2 doesn't have capture support, so WASAPI was to replace it; the holdout
was WinRT, which still needed it as its primary audio target until the WASAPI
code code be made to work.

The support matrix now looks like:

WinXP: directsound by default, winmm as a fallback for buggy drivers.
Vista+: WASAPI (directsound and winmm as fallbacks for debugging).
WinRT: WASAPI

--HG--
extra : amend_source : a28a9a9fbb09c4c25df05fa0a754fce0bee62335
extra : histedit_source : e5727ceb1a5db5806ce02534d8ffe4892eb6f5d9
2017-12-06 12:24:32 -05:00
Sam Lantinga
a5b3e11d5c Fixed typos (thanks Martin!) 2017-12-04 20:21:52 -08:00
David Ludwig
354be66d13 WinRT: minor formatting tweak in README-winrt 2017-09-19 10:33:08 -04:00
David Ludwig
b95da19f0c WinRT: noted UWP's inability to work with some game controllers 2017-09-19 10:31:22 -04:00
David Ludwig
f94cddec29 WinRT: listed VS 2017 optional-component requirements
--HG--
extra : rebase_source : 71b59bb9552b2d0149be76a45e450b9700d62509
2017-09-03 16:36:22 -04:00
Philipp Wiesemann
91783e4515 WinRT: Fixed typo in README. 2017-01-22 22:15:24 +01:00
Sam Lantinga
c55119c110 Converted README documentation to DOS text format 2016-10-07 17:46:58 -07:00
David Ludwig
65f383561e 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.
2016-05-14 23:29:49 -04:00
David Ludwig
691f0454e6 WinRT: another README tweak 2016-04-17 22:56:20 -04:00
David Ludwig
638d7e1a81 WinRT: README tweaks 2016-04-17 22:54:45 -04:00
David Ludwig
028a80e83b 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
2015-11-29 19:33:11 -05:00
David Ludwig
6a1d79c7cd WinRT: updated names, and references-to, various ANGLE/WinRT repositories 2015-03-18 12:03:32 -04:00
David Ludwig
445da2c732 WinRT: made note that VSync is always enabled on WinPhone, due to OS
Windows Phone does not appear to allow VSync to be turned off.  Doing so appears
to either result in content not getting drawn (when the D3D debug runtime is
turned off), or forcing VSync back on and logging an error (when the D3D debug
runtime is turned on).

VSync had been getting turned on anyways, this change just notes such:
- via the WinRT README
- by always setting the SDL_RENDERER_PRESENTVSYNC flag when creating an
  SDL_Renderer on Windows Phone

--HG--
extra : rebase_source : 504904b549f21d518919b2254319783da7c9bbdf
2015-02-08 15:44:15 -05:00
David Ludwig
594785a021 WinRT: removed SDL_HINT_WINRT_PREF_PATH_ROOT (introduced post-2.0.3 & pre-2.0.4)
A WinRT app's Roaming folder-path can still be retrieved via calls to
SDL_WinRTGetFSPathUTF8() or SDL_WinRTGetFSPathUNICODE(), if need be.
2014-12-02 21:18:50 -05:00
David Ludwig
cba7a719d8 WinRT: bug and data-integrity fixes for SDL_GetPrefPath()
This change does a few things, all with regards to the WinRT implementation of
SDL_GetPrefPath():

1. it fixes a bug whereby SDL_GetPrefPath() did not create the directory it
returned.  On other SDL platforms, SDL_GetPrefPath() will create separate
directories for its 'org' and 'app' folders.  Without this, attempts to create
files in the pref-path would fail, unless those directories were first created
by the app, or by some other library the app used.  This change makes sure
that these directories get created, before SDL_GetPrefPath() returns to its
caller(s).


2. it defaults to having SDL_GetPrefPath() return a WinRT 'Local' folder
on all platforms.  Previously, for Windows Store apps, it would have used a
different, 'Roaming' folder.  Files in Roaming folders can be automatically,
and synchronized across multiple devices by Windows.  This synchronization can
happen while the app runs, with new files being copied into a running app's
pref-path.  Unless an app is specifically designed to handle this scenario,
there is a chance that save-data could be overwritten in unwanted or
unexpected ways.

The default is now to use a Local folder, which does not get synchronized, and
which is arguably a bit safer to use.  Apps that wish to use Roaming folders
can do so by setting SDL_HINT_WINRT_PREF_PATH_ROOT to "roaming", however it
is recommended that one first read Microsoft's documentation for Roaming
files, a link to which is provided in README-winrt.md.

To preserve older pref-path selection behavior (found in SDL 2.0.3, as well as
many pre-2.0.4 versions of SDL from hg.libsdl.org), which uses a Roaming path
in Windows Store apps, and a Local path in Windows Phone, set
SDL_HINT_WINRT_PREF_PATH_ROOT to "old".

Please note that Roaming paths are not supported on Windows Phone 8.0, due to
limitations in the OS itself.  Attempts to use this will fail.
(Windows Phone 8.1 does not have this limitation, however.)


3. It makes SDL_GetPrefPath(), when on Windows Phone 8.0, and when
SDL_HINT_WINRT_PREF_PATH_ROOT is set to "roaming", return NULL, rather than
silently defaulting to a Local path (then switching to a Roaming path if and
when the user upgraded to Windows Phone 8.1).
2014-11-29 10:09:30 -05:00
David Ludwig
fda1375d4e WinRT: added SDL_HINT_WINRT_PREF_PATH_ROOT
SDL_HINT_WINRT_PREF_PATH_ROOT allows WinRT apps to alter the path that
SDL_GetPrefPath() returns.  Setting it to "local" uses the app's
OS-defined Local folder, setting it to "roaming" uses the app's OS-defined
Roaming folder.

Roaming folder support is not available in Windows Phone 8.0.  Attempts to
make SDL_GetPrefPath() return a Roaming folder on this OS will be ignored.

Various bits of documentation on this were added to SDL_hints.h, and to
README-winrt.md
2014-11-27 09:55:34 -05:00
David Ludwig
53b5ab0011 WinRT: updated README-winrt.md to detail Visual Studio 2013 Community support 2014-11-15 15:07:55 -05:00
David Ludwig
17e1ac0cc2 WinRT: updated docs to include details of recently-expanded GLES2 support 2014-11-02 11:26:54 -05:00
David Ludwig
126039f02f WinRT: moved documentation + setup related TODO items out of README-winrt.md
The TODO items were moved to SDL Bugzilla, case 2775 (https://bugzilla.libsdl.org/show_bug.cgi?id=2775).
2014-11-01 11:41:18 -04:00
David Ludwig
b7fdd52261 WinRT: made README-winrt.md slightly easier to read in an 80-column text editor 2014-11-01 11:17:07 -04:00
David Ludwig
c09730eaed WinRT: added details of the port's status, to README-winrt.md 2014-11-01 11:14:46 -04:00
David Ludwig
2ccf9641c8 WinRT: detailed steps, via the WinRT README, to fix a common build error 2014-10-27 19:53:44 -04:00
David Ludwig
9b713b6f0a WinRT: cleaned up the opening section of the README 2014-09-19 12:09:51 -04:00
David Ludwig
420bbb0a84 WinRT: fixed broken emphasis formatting in README, when rendering it with Doxygen 2014-09-19 11:27:18 -04:00
Philipp Wiesemann
b21d8b89b9 Fixed doxygen warning and markdown formatting.
Three backticks for blocks are not supported by doxygen.
2014-09-16 23:09:32 +02:00
David Ludwig
1a8f57ac97 WinRT: made README note that Win 8.0 targeting via MSVC 2013 Express is not possible 2014-09-14 13:10:21 -04:00
David Ludwig
b277ba5f5a WinRT: expanded and updated the README section on MSVC requirements 2014-09-14 12:57:26 -04:00
David Ludwig
133d5caf72 WinRT: added manual, app-setup instructions to the README
A number of other parts of the WinRT README were edited, either for clarity, or to help with Markdown rendering.
2014-09-14 11:36:24 -04:00
David Ludwig
83c375f91f WinRT: added a note to README regarding need for a MS account 2014-09-14 10:31:18 -04:00
David Ludwig
5b705c4f29 WinRT: cleaned up section headers 2014-09-14 10:29:54 -04:00
Sam Lantinga
91bbc7d9fa Moved documentation to docs, recreated a simple README.txt, fixed build
--HG--
rename : doc/README-SDL.md => README-SDL.txt
rename : doc/README-android.md => docs/README-android.md
rename : doc/README-cmake.md => docs/README-cmake.md
rename : doc/README-directfb.md => docs/README-directfb.md
rename : doc/README-dynapi.md => docs/README-dynapi.md
rename : doc/README-gesture.md => docs/README-gesture.md
rename : doc/README-hg.md => docs/README-hg.md
rename : doc/README-ios.md => docs/README-ios.md
rename : doc/README-linux.md => docs/README-linux.md
rename : doc/README-macosx.md => docs/README-macosx.md
rename : doc/README-nacl.md => docs/README-nacl.md
rename : doc/README-pandora.md => docs/README-pandora.md
rename : doc/README-platforms.md => docs/README-platforms.md
rename : doc/README-porting.md => docs/README-porting.md
rename : doc/README-psp.md => docs/README-psp.md
rename : doc/README-raspberrypi.md => docs/README-raspberrypi.md
rename : doc/README-touch.md => docs/README-touch.md
rename : doc/README-wince.md => docs/README-wince.md
rename : doc/README-windows.md => docs/README-windows.md
rename : doc/README-winrt.md => docs/README-winrt.md
rename : doc/README.md => docs/README.md
rename : doc/doxyfile => docs/doxyfile
2014-07-29 08:04:15 -07:00
Renamed from doc/README-winrt.md (Browse further)