mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-24 21:31:46 +00:00
Revert "Merge branch 'revert-eda30fc9' into 'master'"
This reverts merge request !435
This commit is contained in:
parent
96aa11c825
commit
312b9f76b6
960 changed files with 153444 additions and 48152 deletions
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,38 @@
|
||||||
|
|
||||||
This is a list of major changes in SDL's version history.
|
This is a list of major changes in SDL's version history.
|
||||||
|
|
||||||
|
---------------------------------------------------------------------------
|
||||||
|
2.0.10:
|
||||||
|
---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
General:
|
||||||
|
* The SDL_RW* macros have been turned into functions that are available only in 2.0.10 and onward
|
||||||
|
* Added SDL_SIMDGetAlignment(), SDL_SIMDAlloc(), and SDL_SIMDFree(), to allocate memory aligned for SIMD operations for the current CPU
|
||||||
|
* Added SDL_RenderDrawPointF(), SDL_RenderDrawPointsF(), SDL_RenderDrawLineF(), SDL_RenderDrawLinesF(), SDL_RenderDrawRectF(), SDL_RenderDrawRectsF(), SDL_RenderFillRectF(), SDL_RenderFillRectsF(), SDL_RenderCopyF(), SDL_RenderCopyExF(), to allow floating point precision in the SDL rendering API.
|
||||||
|
* Added SDL_GetTouchDeviceType() to get the type of a touch device, which can be a touch screen or a trackpad in relative or absolute coordinate mode.
|
||||||
|
* The SDL rendering API now uses batched rendering by default, for improved performance
|
||||||
|
* Added SDL_RenderFlush() to force batched render commands to execute, if you're going to mix SDL rendering with native rendering
|
||||||
|
* Added the hint SDL_HINT_RENDER_BATCHING to control whether batching should be used for the rendering API. This defaults to "1" if you don't specify what rendering driver to use when creating the renderer.
|
||||||
|
* Added the hint SDL_HINT_EVENT_LOGGING to enable logging of SDL events for debugging purposes
|
||||||
|
* Added the hint SDL_HINT_GAMECONTROLLERCONFIG_FILE to specify a file that will be loaded at joystick initialization with game controller bindings
|
||||||
|
* Added the hint SDL_HINT_MOUSE_TOUCH_EVENTS to control whether SDL will synthesize touch events from mouse events
|
||||||
|
* Improved handling of malformed WAVE and BMP files, fixing potential security exploits
|
||||||
|
|
||||||
|
Linux:
|
||||||
|
* Removed the Mir video driver in favor of Wayland
|
||||||
|
|
||||||
|
iOS / tvOS:
|
||||||
|
* Added support for Xbox and PS4 wireless controllers in iOS 13 and tvOS 13
|
||||||
|
* Added support for text input using Bluetooth keyboards
|
||||||
|
|
||||||
|
Android:
|
||||||
|
* Added low latency audio using OpenSL ES
|
||||||
|
* Removed SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH (replaced by SDL_HINT_MOUSE_TOUCH_EVENTS and SDL_HINT_TOUCH_MOUSE_EVENTS)
|
||||||
|
SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH=1, should be replaced by setting both previous hints to 0.
|
||||||
|
SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH=0, should be replaced by setting both previous hints to 1.
|
||||||
|
* Added the hint SDL_HINT_ANDROID_BLOCK_ON_PAUSE to set whether the event loop will block itself when the app is paused.
|
||||||
|
|
||||||
|
|
||||||
---------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
2.0.9:
|
2.0.9:
|
||||||
---------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
|
|
|
@ -20,7 +20,7 @@ https://developer.android.com/sdk/index.html
|
||||||
Android NDK r15c or later
|
Android NDK r15c or later
|
||||||
https://developer.android.com/tools/sdk/ndk/index.html
|
https://developer.android.com/tools/sdk/ndk/index.html
|
||||||
|
|
||||||
Minimum API level supported by SDL: 14 (Android 4.0.1)
|
Minimum API level supported by SDL: 16 (Android 4.1)
|
||||||
|
|
||||||
|
|
||||||
================================================================================
|
================================================================================
|
||||||
|
@ -174,7 +174,7 @@ http://ponystyle.com/blog/2010/03/26/dealing-with-asset-compression-in-android-a
|
||||||
Pause / Resume behaviour
|
Pause / Resume behaviour
|
||||||
================================================================================
|
================================================================================
|
||||||
|
|
||||||
If SDL is compiled with SDL_ANDROID_BLOCK_ON_PAUSE defined (the default),
|
If SDL_HINT_ANDROID_BLOCK_ON_PAUSE hint is set (the default),
|
||||||
the event loop will block itself when the app is paused (ie, when the user
|
the event loop will block itself when the app is paused (ie, when the user
|
||||||
returns to the main Android dashboard). Blocking is better in terms of battery
|
returns to the main Android dashboard). Blocking is better in terms of battery
|
||||||
use, and it allows your app to spring back to life instantaneously after resume
|
use, and it allows your app to spring back to life instantaneously after resume
|
||||||
|
@ -380,13 +380,13 @@ https://developer.nvidia.com/tegra-graphics-debugger
|
||||||
|
|
||||||
|
|
||||||
================================================================================
|
================================================================================
|
||||||
Why is API level 14 the minimum required?
|
Why is API level 16 the minimum required?
|
||||||
================================================================================
|
================================================================================
|
||||||
|
|
||||||
The latest NDK toolchain doesn't support targeting earlier than API level 14.
|
The latest NDK toolchain doesn't support targeting earlier than API level 16.
|
||||||
As of this writing, according to https://developer.android.com/about/dashboards/index.html
|
As of this writing, according to https://developer.android.com/about/dashboards/index.html
|
||||||
about 99% of the Android devices accessing Google Play support API level 14 or
|
about 99% of the Android devices accessing Google Play support API level 16 or
|
||||||
higher (October 2017).
|
higher (January 2018).
|
||||||
|
|
||||||
|
|
||||||
================================================================================
|
================================================================================
|
||||||
|
@ -408,6 +408,24 @@ screen each frame.
|
||||||
Reference: http://www.khronos.org/registry/egl/specs/EGLTechNote0001.html
|
Reference: http://www.khronos.org/registry/egl/specs/EGLTechNote0001.html
|
||||||
|
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
Ending your application
|
||||||
|
================================================================================
|
||||||
|
|
||||||
|
Two legitimate ways:
|
||||||
|
|
||||||
|
- return from your main() function. Java side will automatically terminate the
|
||||||
|
Activity by calling Activity.finish().
|
||||||
|
|
||||||
|
- Android OS can decide to terminate your application by calling onDestroy()
|
||||||
|
(see Activity life cycle). Your application will receive a SDL_QUIT event you
|
||||||
|
can handle to save things and quit.
|
||||||
|
|
||||||
|
Don't call exit() as it stops the activity badly.
|
||||||
|
|
||||||
|
NB: "Back button" can be handled as a SDL_KEYDOWN/UP events, with Keycode
|
||||||
|
SDLK_AC_BACK, for any purpose.
|
||||||
|
|
||||||
================================================================================
|
================================================================================
|
||||||
Known issues
|
Known issues
|
||||||
================================================================================
|
================================================================================
|
||||||
|
|
|
@ -25,9 +25,6 @@ fcitx-libs-dev libsamplerate0-dev libsndio-dev
|
||||||
Ubuntu 16.04+ can also add "libwayland-dev libxkbcommon-dev wayland-protocols"
|
Ubuntu 16.04+ can also add "libwayland-dev libxkbcommon-dev wayland-protocols"
|
||||||
to that command line for Wayland support.
|
to that command line for Wayland support.
|
||||||
|
|
||||||
Ubuntu 16.10 can also add "libmirclient-dev libxkbcommon-dev" to that command
|
|
||||||
line for Mir support.
|
|
||||||
|
|
||||||
NOTES:
|
NOTES:
|
||||||
- This includes all the audio targets except arts, because Ubuntu pulled the
|
- This includes all the audio targets except arts, because Ubuntu pulled the
|
||||||
artsc0-dev package, but in theory SDL still supports it.
|
artsc0-dev package, but in theory SDL still supports it.
|
||||||
|
|
|
@ -100,7 +100,7 @@ You should replace EXE_NAME with the name of the executable. APP_NAME is what
|
||||||
will be visible to the user in the Finder. Usually it will be the same
|
will be visible to the user in the Finder. Usually it will be the same
|
||||||
as EXE_NAME but capitalized. E.g. if EXE_NAME is "testgame" then APP_NAME
|
as EXE_NAME but capitalized. E.g. if EXE_NAME is "testgame" then APP_NAME
|
||||||
usually is "TestGame". You might also want to use `@PACKAGE@` to use the package
|
usually is "TestGame". You might also want to use `@PACKAGE@` to use the package
|
||||||
name as specified in your configure.in file.
|
name as specified in your configure.ac file.
|
||||||
|
|
||||||
If your project builds more than one application, you will have to do a bit
|
If your project builds more than one application, you will have to do a bit
|
||||||
more. For each of your target applications, you need a separate rule.
|
more. For each of your target applications, you need a separate rule.
|
||||||
|
|
|
@ -13,7 +13,7 @@ There are two basic ways of building SDL at the moment:
|
||||||
|
|
||||||
1. The "UNIX" way: ./configure; make; make install
|
1. The "UNIX" way: ./configure; make; make install
|
||||||
|
|
||||||
If you have a GNUish system, then you might try this. Edit configure.in,
|
If you have a GNUish system, then you might try this. Edit configure.ac,
|
||||||
take a look at the large section labelled:
|
take a look at the large section labelled:
|
||||||
|
|
||||||
"Set up the configuration based on the host platform!"
|
"Set up the configuration based on the host platform!"
|
||||||
|
|
|
@ -296,7 +296,7 @@ A few files should be included directly in your app's MSVC project, specifically
|
||||||
included, mouse-position reporting may fail if and when the cursor is
|
included, mouse-position reporting may fail if and when the cursor is
|
||||||
hidden, due to possible bugs/design-oddities in Windows itself.*
|
hidden, due to possible bugs/design-oddities in Windows itself.*
|
||||||
|
|
||||||
To include these files:
|
To include these files for C/C++ projects:
|
||||||
|
|
||||||
1. right-click on your project (again, in Visual C++'s Solution Explorer),
|
1. right-click on your project (again, in Visual C++'s Solution Explorer),
|
||||||
navigate to "Add", then choose "Existing Item...".
|
navigate to "Add", then choose "Existing Item...".
|
||||||
|
@ -313,11 +313,14 @@ To include these files:
|
||||||
7. change the setting for "Consume Windows Runtime Extension" to "Yes (/ZW)".
|
7. change the setting for "Consume Windows Runtime Extension" to "Yes (/ZW)".
|
||||||
8. click the OK button. This will close the dialog.
|
8. click the OK button. This will close the dialog.
|
||||||
|
|
||||||
|
|
||||||
**NOTE: C++/CX compilation is currently required in at least one file of your
|
**NOTE: C++/CX compilation is currently required in at least one file of your
|
||||||
app's project. This is to make sure that Visual C++'s linker builds a 'Windows
|
app's project. This is to make sure that Visual C++'s linker builds a 'Windows
|
||||||
Metadata' file (.winmd) for your app. Not doing so can lead to build errors.**
|
Metadata' file (.winmd) for your app. Not doing so can lead to build errors.**
|
||||||
|
|
||||||
|
For non-C++ projects, you will need to call SDL_WinRTRunApp from your language's
|
||||||
|
main function, and generate SDL2-WinRTResources.res manually by using `rc` via
|
||||||
|
the Developer Command Prompt and including it as a <Win32Resource> within the
|
||||||
|
first <PropertyGroup> block in your Visual Studio project file.
|
||||||
|
|
||||||
### 6. Add app code and assets ###
|
### 6. Add app code and assets ###
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -39,7 +39,7 @@ while test $# -gt 0; do
|
||||||
echo $exec_prefix
|
echo $exec_prefix
|
||||||
;;
|
;;
|
||||||
--version)
|
--version)
|
||||||
echo 2.0.9
|
echo 2.0.10
|
||||||
;;
|
;;
|
||||||
--cflags)
|
--cflags)
|
||||||
echo -I${prefix}/include/SDL2 -Dmain=SDL_main
|
echo -I${prefix}/include/SDL2 -Dmain=SDL_main
|
||||||
|
@ -49,7 +49,7 @@ while test $# -gt 0; do
|
||||||
;;
|
;;
|
||||||
--static-libs)
|
--static-libs)
|
||||||
# --libs|--static-libs)
|
# --libs|--static-libs)
|
||||||
echo -L${exec_prefix}/lib -lmingw32 -lSDL2main -lSDL2 -mwindows -Wl,--no-undefined -lm -ldinput8 -ldxguid -ldxerr8 -luser32 -lgdi32 -lwinmm -limm32 -lole32 -loleaut32 -lshell32 -lsetupapi -lversion -luuid -static-libgcc
|
echo -L${exec_prefix}/lib -lmingw32 -lSDL2main -lSDL2 -mwindows -Wl,--no-undefined -Wl,--dynamicbase -Wl,--nxcompat -lm -ldinput8 -ldxguid -ldxerr8 -luser32 -lgdi32 -lwinmm -limm32 -lole32 -loleaut32 -lshell32 -lsetupapi -lversion -luuid -static-libgcc
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "${usage}" 1>&2
|
echo "${usage}" 1>&2
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -162,12 +162,29 @@ extern DECLSPEC void SDLCALL SDL_MemoryBarrierAcquireFunction(void);
|
||||||
#define SDL_MemoryBarrierRelease() __asm__ __volatile__ ("dmb ish" : : : "memory")
|
#define SDL_MemoryBarrierRelease() __asm__ __volatile__ ("dmb ish" : : : "memory")
|
||||||
#define SDL_MemoryBarrierAcquire() __asm__ __volatile__ ("dmb ish" : : : "memory")
|
#define SDL_MemoryBarrierAcquire() __asm__ __volatile__ ("dmb ish" : : : "memory")
|
||||||
#elif defined(__GNUC__) && defined(__arm__)
|
#elif defined(__GNUC__) && defined(__arm__)
|
||||||
#if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7EM__) || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7S__)
|
#if 0 /* defined(__LINUX__) || defined(__ANDROID__) */
|
||||||
|
/* Information from:
|
||||||
|
https://chromium.googlesource.com/chromium/chromium/+/trunk/base/atomicops_internals_arm_gcc.h#19
|
||||||
|
|
||||||
|
The Linux kernel provides a helper function which provides the right code for a memory barrier,
|
||||||
|
hard-coded at address 0xffff0fa0
|
||||||
|
*/
|
||||||
|
typedef void (*SDL_KernelMemoryBarrierFunc)();
|
||||||
|
#define SDL_MemoryBarrierRelease() ((SDL_KernelMemoryBarrierFunc)0xffff0fa0)()
|
||||||
|
#define SDL_MemoryBarrierAcquire() ((SDL_KernelMemoryBarrierFunc)0xffff0fa0)()
|
||||||
|
#elif 0 /* defined(__QNXNTO__) */
|
||||||
|
#include <sys/cpuinline.h>
|
||||||
|
|
||||||
|
#define SDL_MemoryBarrierRelease() __cpu_membarrier()
|
||||||
|
#define SDL_MemoryBarrierAcquire() __cpu_membarrier()
|
||||||
|
#else
|
||||||
|
#if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7EM__) || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7S__) || defined(__ARM_ARCH_8A__)
|
||||||
#define SDL_MemoryBarrierRelease() __asm__ __volatile__ ("dmb ish" : : : "memory")
|
#define SDL_MemoryBarrierRelease() __asm__ __volatile__ ("dmb ish" : : : "memory")
|
||||||
#define SDL_MemoryBarrierAcquire() __asm__ __volatile__ ("dmb ish" : : : "memory")
|
#define SDL_MemoryBarrierAcquire() __asm__ __volatile__ ("dmb ish" : : : "memory")
|
||||||
#elif defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6T2__) || defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_5TE__)
|
#elif defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6T2__) || defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_5TE__)
|
||||||
#ifdef __thumb__
|
#ifdef __thumb__
|
||||||
/* The mcr instruction isn't available in thumb mode, use real functions */
|
/* The mcr instruction isn't available in thumb mode, use real functions */
|
||||||
|
#define SDL_MEMORY_BARRIER_USES_FUNCTION
|
||||||
#define SDL_MemoryBarrierRelease() SDL_MemoryBarrierReleaseFunction()
|
#define SDL_MemoryBarrierRelease() SDL_MemoryBarrierReleaseFunction()
|
||||||
#define SDL_MemoryBarrierAcquire() SDL_MemoryBarrierAcquireFunction()
|
#define SDL_MemoryBarrierAcquire() SDL_MemoryBarrierAcquireFunction()
|
||||||
#else
|
#else
|
||||||
|
@ -177,6 +194,7 @@ extern DECLSPEC void SDLCALL SDL_MemoryBarrierAcquireFunction(void);
|
||||||
#else
|
#else
|
||||||
#define SDL_MemoryBarrierRelease() __asm__ __volatile__ ("" : : : "memory")
|
#define SDL_MemoryBarrierRelease() __asm__ __volatile__ ("" : : : "memory")
|
||||||
#define SDL_MemoryBarrierAcquire() __asm__ __volatile__ ("" : : : "memory")
|
#define SDL_MemoryBarrierAcquire() __asm__ __volatile__ ("" : : : "memory")
|
||||||
|
#endif /* __LINUX__ || __ANDROID__ */
|
||||||
#endif /* __GNUC__ && __arm__ */
|
#endif /* __GNUC__ && __arm__ */
|
||||||
#else
|
#else
|
||||||
#if (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x5120))
|
#if (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x5120))
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -420,23 +420,56 @@ extern DECLSPEC void SDLCALL SDL_PauseAudioDevice(SDL_AudioDeviceID dev,
|
||||||
/* @} *//* Pause audio functions */
|
/* @} *//* Pause audio functions */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This function loads a WAVE from the data source, automatically freeing
|
* \brief Load the audio data of a WAVE file into memory
|
||||||
* that source if \c freesrc is non-zero. For example, to load a WAVE file,
|
*
|
||||||
* you could do:
|
* Loading a WAVE file requires \c src, \c spec, \c audio_buf and \c audio_len
|
||||||
|
* to be valid pointers. The entire data portion of the file is then loaded
|
||||||
|
* into memory and decoded if necessary.
|
||||||
|
*
|
||||||
|
* If \c freesrc is non-zero, the data source gets automatically closed and
|
||||||
|
* freed before the function returns.
|
||||||
|
*
|
||||||
|
* Supported are RIFF WAVE files with the formats PCM (8, 16, 24, and 32 bits),
|
||||||
|
* IEEE Float (32 bits), Microsoft ADPCM and IMA ADPCM (4 bits), and A-law and
|
||||||
|
* µ-law (8 bits). Other formats are currently unsupported and cause an error.
|
||||||
|
*
|
||||||
|
* If this function succeeds, the pointer returned by it is equal to \c spec
|
||||||
|
* and the pointer to the audio data allocated by the function is written to
|
||||||
|
* \c audio_buf and its length in bytes to \c audio_len. The \ref SDL_AudioSpec
|
||||||
|
* members \c freq, \c channels, and \c format are set to the values of the
|
||||||
|
* audio data in the buffer. The \c samples member is set to a sane default and
|
||||||
|
* all others are set to zero.
|
||||||
|
*
|
||||||
|
* It's necessary to use SDL_FreeWAV() to free the audio data returned in
|
||||||
|
* \c audio_buf when it is no longer used.
|
||||||
|
*
|
||||||
|
* Because of the underspecification of the Waveform format, there are many
|
||||||
|
* problematic files in the wild that cause issues with strict decoders. To
|
||||||
|
* provide compatibility with these files, this decoder is lenient in regards
|
||||||
|
* to the truncation of the file, the fact chunk, and the size of the RIFF
|
||||||
|
* chunk. The hints SDL_HINT_WAVE_RIFF_CHUNK_SIZE, SDL_HINT_WAVE_TRUNCATION,
|
||||||
|
* and SDL_HINT_WAVE_FACT_CHUNK can be used to tune the behavior of the
|
||||||
|
* loading process.
|
||||||
|
*
|
||||||
|
* Any file that is invalid (due to truncation, corruption, or wrong values in
|
||||||
|
* the headers), too big, or unsupported causes an error. Additionally, any
|
||||||
|
* critical I/O error from the data source will terminate the loading process
|
||||||
|
* with an error. The function returns NULL on error and in all cases (with the
|
||||||
|
* exception of \c src being NULL), an appropriate error message will be set.
|
||||||
|
*
|
||||||
|
* It is required that the data source supports seeking.
|
||||||
|
*
|
||||||
|
* Example:
|
||||||
* \code
|
* \code
|
||||||
* SDL_LoadWAV_RW(SDL_RWFromFile("sample.wav", "rb"), 1, ...);
|
* SDL_LoadWAV_RW(SDL_RWFromFile("sample.wav", "rb"), 1, ...);
|
||||||
* \endcode
|
* \endcode
|
||||||
*
|
*
|
||||||
* If this function succeeds, it returns the given SDL_AudioSpec,
|
* \param src The data source with the WAVE data
|
||||||
* filled with the audio data format of the wave data, and sets
|
* \param freesrc A integer value that makes the function close the data source if non-zero
|
||||||
* \c *audio_buf to a malloc()'d buffer containing the audio data,
|
* \param spec A pointer filled with the audio format of the audio data
|
||||||
* and sets \c *audio_len to the length of that audio buffer, in bytes.
|
* \param audio_buf A pointer filled with the audio data allocated by the function
|
||||||
* You need to free the audio buffer with SDL_FreeWAV() when you are
|
* \param audio_len A pointer filled with the length of the audio data buffer in bytes
|
||||||
* done with it.
|
* \return NULL on error, or non-NULL on success.
|
||||||
*
|
|
||||||
* This function returns NULL and sets the SDL error message if the
|
|
||||||
* wave file cannot be opened, uses an unknown data format, or is
|
|
||||||
* corrupt. Currently raw and MS-ADPCM WAVE files are supported.
|
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC SDL_AudioSpec *SDLCALL SDL_LoadWAV_RW(SDL_RWops * src,
|
extern DECLSPEC SDL_AudioSpec *SDLCALL SDL_LoadWAV_RW(SDL_RWops * src,
|
||||||
int freesrc,
|
int freesrc,
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -101,6 +101,15 @@ SDL_MostSignificantBitIndex32(Uint32 x)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SDL_FORCE_INLINE SDL_bool
|
||||||
|
SDL_HasExactlyOneBitSet32(Uint32 x)
|
||||||
|
{
|
||||||
|
if (x && !(x & (x - 1))) {
|
||||||
|
return SDL_TRUE;
|
||||||
|
}
|
||||||
|
return SDL_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
/* Ends C function definitions when using C++ */
|
/* Ends C function definitions when using C++ */
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -90,12 +90,12 @@ typedef enum
|
||||||
/**
|
/**
|
||||||
* \brief Create a custom blend mode, which may or may not be supported by a given renderer
|
* \brief Create a custom blend mode, which may or may not be supported by a given renderer
|
||||||
*
|
*
|
||||||
* \param srcColorFactor
|
* \param srcColorFactor source color factor
|
||||||
* \param dstColorFactor
|
* \param dstColorFactor destination color factor
|
||||||
* \param colorOperation
|
* \param colorOperation color operation
|
||||||
* \param srcAlphaFactor
|
* \param srcAlphaFactor source alpha factor
|
||||||
* \param dstAlphaFactor
|
* \param dstAlphaFactor destination alpha factor
|
||||||
* \param alphaOperation
|
* \param alphaOperation alpha operation
|
||||||
*
|
*
|
||||||
* The result of the blend mode operation will be:
|
* The result of the blend mode operation will be:
|
||||||
* dstRGB = dstRGB * dstColorFactor colorOperation srcRGB * srcColorFactor
|
* dstRGB = dstRGB * dstColorFactor colorOperation srcRGB * srcColorFactor
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -41,24 +41,43 @@
|
||||||
#else
|
#else
|
||||||
#include <intrin.h>
|
#include <intrin.h>
|
||||||
#ifndef _WIN64
|
#ifndef _WIN64
|
||||||
|
#ifndef __MMX__
|
||||||
#define __MMX__
|
#define __MMX__
|
||||||
|
#endif
|
||||||
|
#ifndef __3dNOW__
|
||||||
#define __3dNOW__
|
#define __3dNOW__
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
#ifndef __SSE__
|
||||||
#define __SSE__
|
#define __SSE__
|
||||||
|
#endif
|
||||||
|
#ifndef __SSE2__
|
||||||
#define __SSE2__
|
#define __SSE2__
|
||||||
|
#endif
|
||||||
#endif /* __clang__ */
|
#endif /* __clang__ */
|
||||||
#elif defined(__MINGW64_VERSION_MAJOR)
|
#elif defined(__MINGW64_VERSION_MAJOR)
|
||||||
#include <intrin.h>
|
#include <intrin.h>
|
||||||
#else
|
#else
|
||||||
#ifdef __ALTIVEC__
|
/* altivec.h redefining bool causes a number of problems, see bugs 3993 and 4392, so you need to explicitly define SDL_ENABLE_ALTIVEC_H to have it included. */
|
||||||
#if defined(HAVE_ALTIVEC_H) && !defined(__APPLE_ALTIVEC__) && !defined(SDL_DISABLE_ALTIVEC_H)
|
#if defined(HAVE_ALTIVEC_H) && defined(__ALTIVEC__) && !defined(__APPLE_ALTIVEC__) && defined(SDL_ENABLE_ALTIVEC_H)
|
||||||
#include <altivec.h>
|
#include <altivec.h>
|
||||||
#undef pixel
|
|
||||||
#undef bool
|
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#if !defined(SDL_DISABLE_ARM_NEON_H)
|
||||||
#if defined(__ARM_NEON__) && !defined(SDL_DISABLE_ARM_NEON_H)
|
# if defined(__ARM_NEON)
|
||||||
#include <arm_neon.h>
|
# include <arm_neon.h>
|
||||||
|
# elif defined(__WINDOWS__) || defined(__WINRT__)
|
||||||
|
/* Visual Studio doesn't define __ARM_ARCH, but _M_ARM (if set, always 7), and _M_ARM64 (if set, always 1). */
|
||||||
|
# if defined(_M_ARM)
|
||||||
|
# include <armintr.h>
|
||||||
|
# include <arm_neon.h>
|
||||||
|
# define __ARM_NEON 1 /* Set __ARM_NEON so that it can be used elsewhere, at compile time */
|
||||||
|
# endif
|
||||||
|
# if defined (_M_ARM64)
|
||||||
|
# include <armintr.h>
|
||||||
|
# include <arm_neon.h>
|
||||||
|
# define __ARM_NEON 1 /* Set __ARM_NEON so that it can be used elsewhere, at compile time */
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
#if defined(__3dNOW__) && !defined(SDL_DISABLE_MM3DNOW_H)
|
#if defined(__3dNOW__) && !defined(SDL_DISABLE_MM3DNOW_H)
|
||||||
#include <mm3dnow.h>
|
#include <mm3dnow.h>
|
||||||
|
@ -177,6 +196,69 @@ extern DECLSPEC SDL_bool SDLCALL SDL_HasNEON(void);
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC int SDLCALL SDL_GetSystemRAM(void);
|
extern DECLSPEC int SDLCALL SDL_GetSystemRAM(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Report the alignment this system needs for SIMD allocations.
|
||||||
|
*
|
||||||
|
* This will return the minimum number of bytes to which a pointer must be
|
||||||
|
* aligned to be compatible with SIMD instructions on the current machine.
|
||||||
|
* For example, if the machine supports SSE only, it will return 16, but if
|
||||||
|
* it supports AVX-512F, it'll return 64 (etc). This only reports values for
|
||||||
|
* instruction sets SDL knows about, so if your SDL build doesn't have
|
||||||
|
* SDL_HasAVX512F(), then it might return 16 for the SSE support it sees and
|
||||||
|
* not 64 for the AVX-512 instructions that exist but SDL doesn't know about.
|
||||||
|
* Plan accordingly.
|
||||||
|
*/
|
||||||
|
extern DECLSPEC size_t SDLCALL SDL_SIMDGetAlignment(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Allocate memory in a SIMD-friendly way.
|
||||||
|
*
|
||||||
|
* This will allocate a block of memory that is suitable for use with SIMD
|
||||||
|
* instructions. Specifically, it will be properly aligned and padded for
|
||||||
|
* the system's supported vector instructions.
|
||||||
|
*
|
||||||
|
* The memory returned will be padded such that it is safe to read or write
|
||||||
|
* an incomplete vector at the end of the memory block. This can be useful
|
||||||
|
* so you don't have to drop back to a scalar fallback at the end of your
|
||||||
|
* SIMD processing loop to deal with the final elements without overflowing
|
||||||
|
* the allocated buffer.
|
||||||
|
*
|
||||||
|
* You must free this memory with SDL_FreeSIMD(), not free() or SDL_free()
|
||||||
|
* or delete[], etc.
|
||||||
|
*
|
||||||
|
* Note that SDL will only deal with SIMD instruction sets it is aware of;
|
||||||
|
* for example, SDL 2.0.8 knows that SSE wants 16-byte vectors
|
||||||
|
* (SDL_HasSSE()), and AVX2 wants 32 bytes (SDL_HasAVX2()), but doesn't
|
||||||
|
* know that AVX-512 wants 64. To be clear: if you can't decide to use an
|
||||||
|
* instruction set with an SDL_Has*() function, don't use that instruction
|
||||||
|
* set with memory allocated through here.
|
||||||
|
*
|
||||||
|
* SDL_AllocSIMD(0) will return a non-NULL pointer, assuming the system isn't
|
||||||
|
* out of memory.
|
||||||
|
*
|
||||||
|
* \param len The length, in bytes, of the block to allocated. The actual
|
||||||
|
* allocated block might be larger due to padding, etc.
|
||||||
|
* \return Pointer to newly-allocated block, NULL if out of memory.
|
||||||
|
*
|
||||||
|
* \sa SDL_SIMDAlignment
|
||||||
|
* \sa SDL_SIMDFree
|
||||||
|
*/
|
||||||
|
extern DECLSPEC void * SDLCALL SDL_SIMDAlloc(const size_t len);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Deallocate memory obtained from SDL_SIMDAlloc
|
||||||
|
*
|
||||||
|
* It is not valid to use this function on a pointer from anything but
|
||||||
|
* SDL_SIMDAlloc(). It can't be used on pointers from malloc, realloc,
|
||||||
|
* SDL_malloc, memalign, new[], etc.
|
||||||
|
*
|
||||||
|
* However, SDL_SIMDFree(NULL) is a legal no-op.
|
||||||
|
*
|
||||||
|
* \sa SDL_SIMDAlloc
|
||||||
|
*/
|
||||||
|
extern DECLSPEC void SDLCALL SDL_SIMDFree(void *ptr);
|
||||||
|
|
||||||
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
/* Ends C function definitions when using C++ */
|
/* Ends C function definitions when using C++ */
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -594,6 +594,9 @@ typedef union SDL_Event
|
||||||
Uint8 padding[56];
|
Uint8 padding[56];
|
||||||
} SDL_Event;
|
} SDL_Event;
|
||||||
|
|
||||||
|
/* Make sure we haven't broken binary compatibility */
|
||||||
|
SDL_COMPILE_TIME_ASSERT(SDL_Event, sizeof(SDL_Event) == 56);
|
||||||
|
|
||||||
|
|
||||||
/* Function prototypes */
|
/* Function prototypes */
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -315,6 +315,16 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_TOUCH_MOUSE_EVENTS "SDL_TOUCH_MOUSE_EVENTS"
|
#define SDL_HINT_TOUCH_MOUSE_EVENTS "SDL_TOUCH_MOUSE_EVENTS"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable controlling whether mouse events should generate synthetic touch events
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
* "0" - Mouse events will not generate touch events (default for desktop platforms)
|
||||||
|
* "1" - Mouse events will generate touch events (default for mobile platforms, such as Android and iOS)
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define SDL_HINT_MOUSE_TOUCH_EVENTS "SDL_MOUSE_TOUCH_EVENTS"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Minimize your SDL_Window if it loses key focus when in fullscreen mode. Defaults to true.
|
* \brief Minimize your SDL_Window if it loses key focus when in fullscreen mode. Defaults to true.
|
||||||
*
|
*
|
||||||
|
@ -436,6 +446,16 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_GAMECONTROLLERCONFIG "SDL_GAMECONTROLLERCONFIG"
|
#define SDL_HINT_GAMECONTROLLERCONFIG "SDL_GAMECONTROLLERCONFIG"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable that lets you provide a file with extra gamecontroller db entries.
|
||||||
|
*
|
||||||
|
* The file should contain lines of gamecontroller config data, see SDL_gamecontroller.h
|
||||||
|
*
|
||||||
|
* This hint must be set before calling SDL_Init(SDL_INIT_GAMECONTROLLER)
|
||||||
|
* You can update mappings after the system is initialized with SDL_GameControllerMappingForGUID() and SDL_GameControllerAddMapping()
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_GAMECONTROLLERCONFIG_FILE "SDL_GAMECONTROLLERCONFIG_FILE"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable containing a list of devices to skip when scanning for game controllers.
|
* \brief A variable containing a list of devices to skip when scanning for game controllers.
|
||||||
*
|
*
|
||||||
|
@ -836,19 +856,7 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_IME_INTERNAL_EDITING "SDL_IME_INTERNAL_EDITING"
|
#define SDL_HINT_IME_INTERNAL_EDITING "SDL_IME_INTERNAL_EDITING"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable to control whether mouse and touch events are to be treated together or separately
|
|
||||||
*
|
|
||||||
* The variable can be set to the following values:
|
|
||||||
* "0" - Mouse events will be handled as touch events, and touch will raise fake mouse
|
|
||||||
* events. This is the behaviour of SDL <= 2.0.3. (default)
|
|
||||||
* "1" - Mouse events will be handled separately from pure touch events.
|
|
||||||
*
|
|
||||||
* The value of this hint is used at runtime, so it can be changed at any time.
|
|
||||||
*/
|
|
||||||
#define SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH "SDL_ANDROID_SEPARATE_MOUSE_AND_TOUCH"
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief A variable to control whether we trap the Android back button to handle it manually.
|
* \brief A variable to control whether we trap the Android back button to handle it manually.
|
||||||
* This is necessary for the right mouse button to work on some Android devices, or
|
* This is necessary for the right mouse button to work on some Android devices, or
|
||||||
* to be able to trap the back button for use in your code reliably. If set to true,
|
* to be able to trap the back button for use in your code reliably. If set to true,
|
||||||
|
@ -865,6 +873,17 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_ANDROID_TRAP_BACK_BUTTON "SDL_ANDROID_TRAP_BACK_BUTTON"
|
#define SDL_HINT_ANDROID_TRAP_BACK_BUTTON "SDL_ANDROID_TRAP_BACK_BUTTON"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable to control whether the event loop will block itself when the app is paused.
|
||||||
|
*
|
||||||
|
* The variable can be set to the following values:
|
||||||
|
* "0" - Non blocking.
|
||||||
|
* "1" - Blocking. (default)
|
||||||
|
*
|
||||||
|
* The value should be set before SDL is initialized.
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_ANDROID_BLOCK_ON_PAUSE "SDL_ANDROID_BLOCK_ON_PAUSE"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable to control whether the return key on the soft keyboard
|
* \brief A variable to control whether the return key on the soft keyboard
|
||||||
* should hide the soft keyboard on Android and iOS.
|
* should hide the soft keyboard on Android and iOS.
|
||||||
|
@ -1043,6 +1062,118 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_AUDIO_CATEGORY "SDL_AUDIO_CATEGORY"
|
#define SDL_HINT_AUDIO_CATEGORY "SDL_AUDIO_CATEGORY"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable controlling whether the 2D render API is compatible or efficient.
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
*
|
||||||
|
* "0" - Don't use batching to make rendering more efficient.
|
||||||
|
* "1" - Use batching, but might cause problems if app makes its own direct OpenGL calls.
|
||||||
|
*
|
||||||
|
* Up to SDL 2.0.9, the render API would draw immediately when requested. Now
|
||||||
|
* it batches up draw requests and sends them all to the GPU only when forced
|
||||||
|
* to (during SDL_RenderPresent, when changing render targets, by updating a
|
||||||
|
* texture that the batch needs, etc). This is significantly more efficient,
|
||||||
|
* but it can cause problems for apps that expect to render on top of the
|
||||||
|
* render API's output. As such, SDL will disable batching if a specific
|
||||||
|
* render backend is requested (since this might indicate that the app is
|
||||||
|
* planning to use the underlying graphics API directly). This hint can
|
||||||
|
* be used to explicitly request batching in this instance. It is a contract
|
||||||
|
* that you will either never use the underlying graphics API directly, or
|
||||||
|
* if you do, you will call SDL_RenderFlush() before you do so any current
|
||||||
|
* batch goes to the GPU before your work begins. Not following this contract
|
||||||
|
* will result in undefined behavior.
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_RENDER_BATCHING "SDL_RENDER_BATCHING"
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable controlling whether SDL logs all events pushed onto its internal queue.
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
*
|
||||||
|
* "0" - Don't log any events (default)
|
||||||
|
* "1" - Log all events except mouse and finger motion, which are pretty spammy.
|
||||||
|
* "2" - Log all events.
|
||||||
|
*
|
||||||
|
* This is generally meant to be used to debug SDL itself, but can be useful
|
||||||
|
* for application developers that need better visibility into what is going
|
||||||
|
* on in the event queue. Logged events are sent through SDL_Log(), which
|
||||||
|
* means by default they appear on stdout on most platforms or maybe
|
||||||
|
* OutputDebugString() on Windows, and can be funneled by the app with
|
||||||
|
* SDL_LogSetOutputFunction(), etc.
|
||||||
|
*
|
||||||
|
* This hint can be toggled on and off at runtime, if you only need to log
|
||||||
|
* events for a small subset of program execution.
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_EVENT_LOGGING "SDL_EVENT_LOGGING"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Controls how the size of the RIFF chunk affects the loading of a WAVE file.
|
||||||
|
*
|
||||||
|
* The size of the RIFF chunk (which includes all the sub-chunks of the WAVE
|
||||||
|
* file) is not always reliable. In case the size is wrong, it's possible to
|
||||||
|
* just ignore it and step through the chunks until a fixed limit is reached.
|
||||||
|
*
|
||||||
|
* Note that files that have trailing data unrelated to the WAVE file or
|
||||||
|
* corrupt files may slow down the loading process without a reliable boundary.
|
||||||
|
* By default, SDL stops after 10000 chunks to prevent wasting time. Use the
|
||||||
|
* environment variable SDL_WAVE_CHUNK_LIMIT to adjust this value.
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
*
|
||||||
|
* "force" - Always use the RIFF chunk size as a boundary for the chunk search
|
||||||
|
* "ignorezero" - Like "force", but a zero size searches up to 4 GiB (default)
|
||||||
|
* "ignore" - Ignore the RIFF chunk size and always search up to 4 GiB
|
||||||
|
* "maximum" - Search for chunks until the end of file (not recommended)
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_WAVE_RIFF_CHUNK_SIZE "SDL_WAVE_RIFF_CHUNK_SIZE"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Controls how a truncated WAVE file is handled.
|
||||||
|
*
|
||||||
|
* A WAVE file is considered truncated if any of the chunks are incomplete or
|
||||||
|
* the data chunk size is not a multiple of the block size. By default, SDL
|
||||||
|
* decodes until the first incomplete block, as most applications seem to do.
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
*
|
||||||
|
* "verystrict" - Raise an error if the file is truncated
|
||||||
|
* "strict" - Like "verystrict", but the size of the RIFF chunk is ignored
|
||||||
|
* "dropframe" - Decode until the first incomplete sample frame
|
||||||
|
* "dropblock" - Decode until the first incomplete block (default)
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_WAVE_TRUNCATION "SDL_WAVE_TRUNCATION"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Controls how the fact chunk affects the loading of a WAVE file.
|
||||||
|
*
|
||||||
|
* The fact chunk stores information about the number of samples of a WAVE
|
||||||
|
* file. The Standards Update from Microsoft notes that this value can be used
|
||||||
|
* to 'determine the length of the data in seconds'. This is especially useful
|
||||||
|
* for compressed formats (for which this is a mandatory chunk) if they produce
|
||||||
|
* multiple sample frames per block and truncating the block is not allowed.
|
||||||
|
* The fact chunk can exactly specify how many sample frames there should be
|
||||||
|
* in this case.
|
||||||
|
*
|
||||||
|
* Unfortunately, most application seem to ignore the fact chunk and so SDL
|
||||||
|
* ignores it by default as well.
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
*
|
||||||
|
* "truncate" - Use the number of samples to truncate the wave data if
|
||||||
|
* the fact chunk is present and valid
|
||||||
|
* "strict" - Like "truncate", but raise an error if the fact chunk
|
||||||
|
* is invalid, not present for non-PCM formats, or if the
|
||||||
|
* data chunk doesn't have that many samples
|
||||||
|
* "ignorezero" - Like "truncate", but ignore fact chunk if the number of
|
||||||
|
* samples is zero
|
||||||
|
* "ignore" - Ignore fact chunk entirely (default)
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_WAVE_FACT_CHUNK "SDL_WAVE_FACT_CHUNK"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief An enumeration of hint priorities
|
* \brief An enumeration of hint priorities
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -55,6 +55,10 @@
|
||||||
/* On iOS SDL provides a main function that creates an application delegate
|
/* On iOS SDL provides a main function that creates an application delegate
|
||||||
and starts the iOS application run loop.
|
and starts the iOS application run loop.
|
||||||
|
|
||||||
|
If you link with SDL dynamically on iOS, the main function can't be in a
|
||||||
|
shared library, so you need to link with libSDLmain.a, which includes a
|
||||||
|
stub main function that calls into the shared library to start execution.
|
||||||
|
|
||||||
See src/video/uikit/SDL_uikitappdelegate.m for more details.
|
See src/video/uikit/SDL_uikitappdelegate.m for more details.
|
||||||
*/
|
*/
|
||||||
#define SDL_MAIN_NEEDED
|
#define SDL_MAIN_NEEDED
|
||||||
|
@ -82,12 +86,6 @@
|
||||||
#endif
|
#endif
|
||||||
#endif /* SDL_MAIN_HANDLED */
|
#endif /* SDL_MAIN_HANDLED */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
#define C_LINKAGE "C"
|
|
||||||
#else
|
|
||||||
#define C_LINKAGE
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
|
|
||||||
#ifndef SDLMAIN_DECLSPEC
|
#ifndef SDLMAIN_DECLSPEC
|
||||||
#define SDLMAIN_DECLSPEC
|
#define SDLMAIN_DECLSPEC
|
||||||
#endif
|
#endif
|
||||||
|
@ -111,17 +109,18 @@
|
||||||
#define main SDL_main
|
#define main SDL_main
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
|
||||||
* The prototype for the application's main() function
|
|
||||||
*/
|
|
||||||
extern C_LINKAGE SDLMAIN_DECLSPEC int SDL_main(int argc, char *argv[]);
|
|
||||||
|
|
||||||
|
|
||||||
#include "begin_code.h"
|
#include "begin_code.h"
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The prototype for the application's main() function
|
||||||
|
*/
|
||||||
|
typedef int (*SDL_main_func)(int argc, char *argv[]);
|
||||||
|
extern SDLMAIN_DECLSPEC int SDL_main(int argc, char *argv[]);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is called by the real SDL main function to let the rest of the
|
* This is called by the real SDL main function to let the rest of the
|
||||||
* library know that initialization was done properly.
|
* library know that initialization was done properly.
|
||||||
|
@ -136,8 +135,7 @@ extern DECLSPEC void SDLCALL SDL_SetMainReady(void);
|
||||||
/**
|
/**
|
||||||
* This can be called to set the application class at startup
|
* This can be called to set the application class at startup
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC int SDLCALL SDL_RegisterApp(char *name, Uint32 style,
|
extern DECLSPEC int SDLCALL SDL_RegisterApp(char *name, Uint32 style, void *hInst);
|
||||||
void *hInst);
|
|
||||||
extern DECLSPEC void SDLCALL SDL_UnregisterApp(void);
|
extern DECLSPEC void SDLCALL SDL_UnregisterApp(void);
|
||||||
|
|
||||||
#endif /* __WIN32__ */
|
#endif /* __WIN32__ */
|
||||||
|
@ -153,10 +151,24 @@ extern DECLSPEC void SDLCALL SDL_UnregisterApp(void);
|
||||||
* \return 0 on success, -1 on failure. On failure, use SDL_GetError to retrieve more
|
* \return 0 on success, -1 on failure. On failure, use SDL_GetError to retrieve more
|
||||||
* information on the failure.
|
* information on the failure.
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC int SDLCALL SDL_WinRTRunApp(int (*mainFunction)(int, char **), void * reserved);
|
extern DECLSPEC int SDLCALL SDL_WinRTRunApp(SDL_main_func mainFunction, void * reserved);
|
||||||
|
|
||||||
#endif /* __WINRT__ */
|
#endif /* __WINRT__ */
|
||||||
|
|
||||||
|
#if defined(__IPHONEOS__)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Initializes and launches an SDL application.
|
||||||
|
*
|
||||||
|
* \param argc The argc parameter from the application's main() function
|
||||||
|
* \param argv The argv parameter from the application's main() function
|
||||||
|
* \param mainFunction The SDL app's C-style main().
|
||||||
|
* \return the return value from mainFunction
|
||||||
|
*/
|
||||||
|
extern DECLSPEC int SDLCALL SDL_UIKitRunApp(int argc, char *argv[], SDL_main_func mainFunction);
|
||||||
|
|
||||||
|
#endif /* __IPHONEOS__ */
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -168,7 +168,7 @@ enum
|
||||||
((format) && (SDL_PIXELFLAG(format) != 1))
|
((format) && (SDL_PIXELFLAG(format) != 1))
|
||||||
|
|
||||||
/* Note: If you modify this list, update SDL_GetPixelFormatName() */
|
/* Note: If you modify this list, update SDL_GetPixelFormatName() */
|
||||||
enum
|
typedef enum
|
||||||
{
|
{
|
||||||
SDL_PIXELFORMAT_UNKNOWN,
|
SDL_PIXELFORMAT_UNKNOWN,
|
||||||
SDL_PIXELFORMAT_INDEX1LSB =
|
SDL_PIXELFORMAT_INDEX1LSB =
|
||||||
|
@ -290,7 +290,7 @@ enum
|
||||||
SDL_DEFINE_PIXELFOURCC('N', 'V', '2', '1'),
|
SDL_DEFINE_PIXELFOURCC('N', 'V', '2', '1'),
|
||||||
SDL_PIXELFORMAT_EXTERNAL_OES = /**< Android video texture format */
|
SDL_PIXELFORMAT_EXTERNAL_OES = /**< Android video texture format */
|
||||||
SDL_DEFINE_PIXELFOURCC('O', 'E', 'S', ' ')
|
SDL_DEFINE_PIXELFOURCC('O', 'E', 'S', ' ')
|
||||||
};
|
} SDL_PixelFormatEnum;
|
||||||
|
|
||||||
typedef struct SDL_Color
|
typedef struct SDL_Color
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -40,7 +40,7 @@ extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief The structure that defines a point
|
* \brief The structure that defines a point (integer)
|
||||||
*
|
*
|
||||||
* \sa SDL_EnclosePoints
|
* \sa SDL_EnclosePoints
|
||||||
* \sa SDL_PointInRect
|
* \sa SDL_PointInRect
|
||||||
|
@ -52,7 +52,20 @@ typedef struct SDL_Point
|
||||||
} SDL_Point;
|
} SDL_Point;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A rectangle, with the origin at the upper left.
|
* \brief The structure that defines a point (floating point)
|
||||||
|
*
|
||||||
|
* \sa SDL_EnclosePoints
|
||||||
|
* \sa SDL_PointInRect
|
||||||
|
*/
|
||||||
|
typedef struct SDL_FPoint
|
||||||
|
{
|
||||||
|
float x;
|
||||||
|
float y;
|
||||||
|
} SDL_FPoint;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A rectangle, with the origin at the upper left (integer).
|
||||||
*
|
*
|
||||||
* \sa SDL_RectEmpty
|
* \sa SDL_RectEmpty
|
||||||
* \sa SDL_RectEquals
|
* \sa SDL_RectEquals
|
||||||
|
@ -67,6 +80,19 @@ typedef struct SDL_Rect
|
||||||
int w, h;
|
int w, h;
|
||||||
} SDL_Rect;
|
} SDL_Rect;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A rectangle, with the origin at the upper left (floating point).
|
||||||
|
*/
|
||||||
|
typedef struct SDL_FRect
|
||||||
|
{
|
||||||
|
float x;
|
||||||
|
float y;
|
||||||
|
float w;
|
||||||
|
float h;
|
||||||
|
} SDL_FRect;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Returns true if point resides inside a rectangle.
|
* \brief Returns true if point resides inside a rectangle.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -835,6 +835,148 @@ extern DECLSPEC int SDLCALL SDL_RenderCopyEx(SDL_Renderer * renderer,
|
||||||
const SDL_Point *center,
|
const SDL_Point *center,
|
||||||
const SDL_RendererFlip flip);
|
const SDL_RendererFlip flip);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Draw a point on the current rendering target.
|
||||||
|
*
|
||||||
|
* \param renderer The renderer which should draw a point.
|
||||||
|
* \param x The x coordinate of the point.
|
||||||
|
* \param y The y coordinate of the point.
|
||||||
|
*
|
||||||
|
* \return 0 on success, or -1 on error
|
||||||
|
*/
|
||||||
|
extern DECLSPEC int SDLCALL SDL_RenderDrawPointF(SDL_Renderer * renderer,
|
||||||
|
float x, float y);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Draw multiple points on the current rendering target.
|
||||||
|
*
|
||||||
|
* \param renderer The renderer which should draw multiple points.
|
||||||
|
* \param points The points to draw
|
||||||
|
* \param count The number of points to draw
|
||||||
|
*
|
||||||
|
* \return 0 on success, or -1 on error
|
||||||
|
*/
|
||||||
|
extern DECLSPEC int SDLCALL SDL_RenderDrawPointsF(SDL_Renderer * renderer,
|
||||||
|
const SDL_FPoint * points,
|
||||||
|
int count);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Draw a line on the current rendering target.
|
||||||
|
*
|
||||||
|
* \param renderer The renderer which should draw a line.
|
||||||
|
* \param x1 The x coordinate of the start point.
|
||||||
|
* \param y1 The y coordinate of the start point.
|
||||||
|
* \param x2 The x coordinate of the end point.
|
||||||
|
* \param y2 The y coordinate of the end point.
|
||||||
|
*
|
||||||
|
* \return 0 on success, or -1 on error
|
||||||
|
*/
|
||||||
|
extern DECLSPEC int SDLCALL SDL_RenderDrawLineF(SDL_Renderer * renderer,
|
||||||
|
float x1, float y1, float x2, float y2);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Draw a series of connected lines on the current rendering target.
|
||||||
|
*
|
||||||
|
* \param renderer The renderer which should draw multiple lines.
|
||||||
|
* \param points The points along the lines
|
||||||
|
* \param count The number of points, drawing count-1 lines
|
||||||
|
*
|
||||||
|
* \return 0 on success, or -1 on error
|
||||||
|
*/
|
||||||
|
extern DECLSPEC int SDLCALL SDL_RenderDrawLinesF(SDL_Renderer * renderer,
|
||||||
|
const SDL_FPoint * points,
|
||||||
|
int count);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Draw a rectangle on the current rendering target.
|
||||||
|
*
|
||||||
|
* \param renderer The renderer which should draw a rectangle.
|
||||||
|
* \param rect A pointer to the destination rectangle, or NULL to outline the entire rendering target.
|
||||||
|
*
|
||||||
|
* \return 0 on success, or -1 on error
|
||||||
|
*/
|
||||||
|
extern DECLSPEC int SDLCALL SDL_RenderDrawRectF(SDL_Renderer * renderer,
|
||||||
|
const SDL_FRect * rect);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Draw some number of rectangles on the current rendering target.
|
||||||
|
*
|
||||||
|
* \param renderer The renderer which should draw multiple rectangles.
|
||||||
|
* \param rects A pointer to an array of destination rectangles.
|
||||||
|
* \param count The number of rectangles.
|
||||||
|
*
|
||||||
|
* \return 0 on success, or -1 on error
|
||||||
|
*/
|
||||||
|
extern DECLSPEC int SDLCALL SDL_RenderDrawRectsF(SDL_Renderer * renderer,
|
||||||
|
const SDL_FRect * rects,
|
||||||
|
int count);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Fill a rectangle on the current rendering target with the drawing color.
|
||||||
|
*
|
||||||
|
* \param renderer The renderer which should fill a rectangle.
|
||||||
|
* \param rect A pointer to the destination rectangle, or NULL for the entire
|
||||||
|
* rendering target.
|
||||||
|
*
|
||||||
|
* \return 0 on success, or -1 on error
|
||||||
|
*/
|
||||||
|
extern DECLSPEC int SDLCALL SDL_RenderFillRectF(SDL_Renderer * renderer,
|
||||||
|
const SDL_FRect * rect);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Fill some number of rectangles on the current rendering target with the drawing color.
|
||||||
|
*
|
||||||
|
* \param renderer The renderer which should fill multiple rectangles.
|
||||||
|
* \param rects A pointer to an array of destination rectangles.
|
||||||
|
* \param count The number of rectangles.
|
||||||
|
*
|
||||||
|
* \return 0 on success, or -1 on error
|
||||||
|
*/
|
||||||
|
extern DECLSPEC int SDLCALL SDL_RenderFillRectsF(SDL_Renderer * renderer,
|
||||||
|
const SDL_FRect * rects,
|
||||||
|
int count);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Copy a portion of the texture to the current rendering target.
|
||||||
|
*
|
||||||
|
* \param renderer The renderer which should copy parts of a texture.
|
||||||
|
* \param texture The source texture.
|
||||||
|
* \param srcrect A pointer to the source rectangle, or NULL for the entire
|
||||||
|
* texture.
|
||||||
|
* \param dstrect A pointer to the destination rectangle, or NULL for the
|
||||||
|
* entire rendering target.
|
||||||
|
*
|
||||||
|
* \return 0 on success, or -1 on error
|
||||||
|
*/
|
||||||
|
extern DECLSPEC int SDLCALL SDL_RenderCopyF(SDL_Renderer * renderer,
|
||||||
|
SDL_Texture * texture,
|
||||||
|
const SDL_Rect * srcrect,
|
||||||
|
const SDL_FRect * dstrect);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Copy a portion of the source texture to the current rendering target, rotating it by angle around the given center
|
||||||
|
*
|
||||||
|
* \param renderer The renderer which should copy parts of a texture.
|
||||||
|
* \param texture The source texture.
|
||||||
|
* \param srcrect A pointer to the source rectangle, or NULL for the entire
|
||||||
|
* texture.
|
||||||
|
* \param dstrect A pointer to the destination rectangle, or NULL for the
|
||||||
|
* entire rendering target.
|
||||||
|
* \param angle An angle in degrees that indicates the rotation that will be applied to dstrect, rotating it in a clockwise direction
|
||||||
|
* \param center A pointer to a point indicating the point around which dstrect will be rotated (if NULL, rotation will be done around dstrect.w/2, dstrect.h/2).
|
||||||
|
* \param flip An SDL_RendererFlip value stating which flipping actions should be performed on the texture
|
||||||
|
*
|
||||||
|
* \return 0 on success, or -1 on error
|
||||||
|
*/
|
||||||
|
extern DECLSPEC int SDLCALL SDL_RenderCopyExF(SDL_Renderer * renderer,
|
||||||
|
SDL_Texture * texture,
|
||||||
|
const SDL_Rect * srcrect,
|
||||||
|
const SDL_FRect * dstrect,
|
||||||
|
const double angle,
|
||||||
|
const SDL_FPoint *center,
|
||||||
|
const SDL_RendererFlip flip);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Read pixels from the current rendering target.
|
* \brief Read pixels from the current rendering target.
|
||||||
*
|
*
|
||||||
|
@ -876,6 +1018,31 @@ extern DECLSPEC void SDLCALL SDL_DestroyTexture(SDL_Texture * texture);
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC void SDLCALL SDL_DestroyRenderer(SDL_Renderer * renderer);
|
extern DECLSPEC void SDLCALL SDL_DestroyRenderer(SDL_Renderer * renderer);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Force the rendering context to flush any pending commands to the
|
||||||
|
* underlying rendering API.
|
||||||
|
*
|
||||||
|
* You do not need to (and in fact, shouldn't) call this function unless
|
||||||
|
* you are planning to call into OpenGL/Direct3D/Metal/whatever directly
|
||||||
|
* in addition to using an SDL_Renderer.
|
||||||
|
*
|
||||||
|
* This is for a very-specific case: if you are using SDL's render API,
|
||||||
|
* you asked for a specific renderer backend (OpenGL, Direct3D, etc),
|
||||||
|
* you set SDL_HINT_RENDER_BATCHING to "1", and you plan to make
|
||||||
|
* OpenGL/D3D/whatever calls in addition to SDL render API calls. If all of
|
||||||
|
* this applies, you should call SDL_RenderFlush() between calls to SDL's
|
||||||
|
* render API and the low-level API you're using in cooperation.
|
||||||
|
*
|
||||||
|
* In all other cases, you can ignore this function. This is only here to
|
||||||
|
* get maximum performance out of a specific situation. In all other cases,
|
||||||
|
* SDL will do the right thing, perhaps at a performance loss.
|
||||||
|
*
|
||||||
|
* This function is first available in SDL 2.0.10, and is not needed in
|
||||||
|
* 2.0.9 and earlier, as earlier versions did not queue rendering commands
|
||||||
|
* at all, instead flushing them to the OS immediately.
|
||||||
|
*/
|
||||||
|
extern DECLSPEC int SDLCALL SDL_RenderFlush(SDL_Renderer * renderer);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Bind the texture to the current OpenGL/ES/ES2 context for use with
|
* \brief Bind the texture to the current OpenGL/ES/ES2 context for use with
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
#define SDL_REVISION "hg-12373:8feb5da6f2fb"
|
#define SDL_REVISION "hg-12952:bc90ce38f1e2"
|
||||||
#define SDL_REVISION_NUMBER 12373
|
#define SDL_REVISION_NUMBER 12952
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -176,19 +176,48 @@ extern DECLSPEC void SDLCALL SDL_FreeRW(SDL_RWops * area);
|
||||||
#define RW_SEEK_END 2 /**< Seek relative to the end of data */
|
#define RW_SEEK_END 2 /**< Seek relative to the end of data */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \name Read/write macros
|
* Return the size of the file in this rwops, or -1 if unknown
|
||||||
*
|
|
||||||
* Macros to easily read and write from an SDL_RWops structure.
|
|
||||||
*/
|
*/
|
||||||
/* @{ */
|
extern DECLSPEC Sint64 SDLCALL SDL_RWsize(SDL_RWops *context);
|
||||||
#define SDL_RWsize(ctx) (ctx)->size(ctx)
|
|
||||||
#define SDL_RWseek(ctx, offset, whence) (ctx)->seek(ctx, offset, whence)
|
|
||||||
#define SDL_RWtell(ctx) (ctx)->seek(ctx, 0, RW_SEEK_CUR)
|
|
||||||
#define SDL_RWread(ctx, ptr, size, n) (ctx)->read(ctx, ptr, size, n)
|
|
||||||
#define SDL_RWwrite(ctx, ptr, size, n) (ctx)->write(ctx, ptr, size, n)
|
|
||||||
#define SDL_RWclose(ctx) (ctx)->close(ctx)
|
|
||||||
/* @} *//* Read/write macros */
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Seek to \c offset relative to \c whence, one of stdio's whence values:
|
||||||
|
* RW_SEEK_SET, RW_SEEK_CUR, RW_SEEK_END
|
||||||
|
*
|
||||||
|
* \return the final offset in the data stream, or -1 on error.
|
||||||
|
*/
|
||||||
|
extern DECLSPEC Sint64 SDLCALL SDL_RWseek(SDL_RWops *context,
|
||||||
|
Sint64 offset, int whence);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the current offset in the data stream, or -1 on error.
|
||||||
|
*/
|
||||||
|
extern DECLSPEC Sint64 SDLCALL SDL_RWtell(SDL_RWops *context);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Read up to \c maxnum objects each of size \c size from the data
|
||||||
|
* stream to the area pointed at by \c ptr.
|
||||||
|
*
|
||||||
|
* \return the number of objects read, or 0 at error or end of file.
|
||||||
|
*/
|
||||||
|
extern DECLSPEC size_t SDLCALL SDL_RWread(SDL_RWops *context,
|
||||||
|
void *ptr, size_t size, size_t maxnum);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Write exactly \c num objects each of size \c size from the area
|
||||||
|
* pointed at by \c ptr to data stream.
|
||||||
|
*
|
||||||
|
* \return the number of objects written, or 0 at error or end of file.
|
||||||
|
*/
|
||||||
|
extern DECLSPEC size_t SDLCALL SDL_RWwrite(SDL_RWops *context,
|
||||||
|
const void *ptr, size_t size, size_t num);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Close and free an allocated SDL_RWops structure.
|
||||||
|
*
|
||||||
|
* \return 0 if successful or -1 on write error when flushing data.
|
||||||
|
*/
|
||||||
|
extern DECLSPEC int SDLCALL SDL_RWclose(SDL_RWops *context);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load all the data from an SDL data stream.
|
* Load all the data from an SDL data stream.
|
||||||
|
@ -209,9 +238,17 @@ extern DECLSPEC void *SDLCALL SDL_LoadFile_RW(SDL_RWops * src, size_t *datasize,
|
||||||
/**
|
/**
|
||||||
* Load an entire file.
|
* Load an entire file.
|
||||||
*
|
*
|
||||||
* Convenience macro.
|
* The data is allocated with a zero byte at the end (null terminated)
|
||||||
|
*
|
||||||
|
* If \c datasize is not NULL, it is filled with the size of the data read.
|
||||||
|
*
|
||||||
|
* If \c freesrc is non-zero, the stream will be closed after being read.
|
||||||
|
*
|
||||||
|
* The data should be freed with SDL_free().
|
||||||
|
*
|
||||||
|
* \return the data, or NULL if there was an error.
|
||||||
*/
|
*/
|
||||||
#define SDL_LoadFile(file, datasize) SDL_LoadFile_RW(SDL_RWFromFile(file, "rb"), datasize, 1)
|
extern DECLSPEC void *SDLCALL SDL_LoadFile(const char *file, size_t *datasize);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \name Read endian functions
|
* \name Read endian functions
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -38,7 +38,7 @@
|
||||||
* SDL_Event structure.
|
* SDL_Event structure.
|
||||||
*
|
*
|
||||||
* The values in this enumeration are based on the USB usage page standard:
|
* The values in this enumeration are based on the USB usage page standard:
|
||||||
* http://www.usb.org/developers/hidpage/Hut1_12v2.pdf
|
* https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf
|
||||||
*/
|
*/
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -26,8 +26,8 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _SDL_sensor_h
|
#ifndef SDL_sensor_h_
|
||||||
#define _SDL_sensor_h
|
#define SDL_sensor_h_
|
||||||
|
|
||||||
#include "SDL_stdinc.h"
|
#include "SDL_stdinc.h"
|
||||||
#include "SDL_error.h"
|
#include "SDL_error.h"
|
||||||
|
@ -246,6 +246,6 @@ extern DECLSPEC void SDLCALL SDL_SensorUpdate(void);
|
||||||
#endif
|
#endif
|
||||||
#include "close_code.h"
|
#include "close_code.h"
|
||||||
|
|
||||||
#endif /* _SDL_sensor_h */
|
#endif /* SDL_sensor_h_ */
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -53,6 +53,7 @@ extern "C" {
|
||||||
#define SDL_PREALLOC 0x00000001 /**< Surface uses preallocated memory */
|
#define SDL_PREALLOC 0x00000001 /**< Surface uses preallocated memory */
|
||||||
#define SDL_RLEACCEL 0x00000002 /**< Surface is RLE encoded */
|
#define SDL_RLEACCEL 0x00000002 /**< Surface is RLE encoded */
|
||||||
#define SDL_DONTFREE 0x00000004 /**< Surface is referenced internally */
|
#define SDL_DONTFREE 0x00000004 /**< Surface is referenced internally */
|
||||||
|
#define SDL_SIMD_ALIGNED 0x00000008 /**< Surface uses aligned memory */
|
||||||
/* @} *//* Surface flags */
|
/* @} *//* Surface flags */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -34,16 +34,16 @@
|
||||||
#include "SDL_version.h"
|
#include "SDL_version.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \file SDL_syswm.h
|
* \brief SDL_syswm.h
|
||||||
*
|
*
|
||||||
* Your application has access to a special type of event ::SDL_SYSWMEVENT,
|
* Your application has access to a special type of event ::SDL_SYSWMEVENT,
|
||||||
* which contains window-manager specific information and arrives whenever
|
* which contains window-manager specific information and arrives whenever
|
||||||
* an unhandled window event occurs. This event is ignored by default, but
|
* an unhandled window event occurs. This event is ignored by default, but
|
||||||
* you can enable it with SDL_EventState().
|
* you can enable it with SDL_EventState().
|
||||||
*/
|
*/
|
||||||
#ifdef SDL_PROTOTYPES_ONLY
|
|
||||||
struct SDL_SysWMinfo;
|
struct SDL_SysWMinfo;
|
||||||
#else
|
|
||||||
|
#if !defined(SDL_PROTOTYPES_ONLY)
|
||||||
|
|
||||||
#if defined(SDL_VIDEO_DRIVER_WINDOWS)
|
#if defined(SDL_VIDEO_DRIVER_WINDOWS)
|
||||||
#ifndef WIN32_LEAN_AND_MEAN
|
#ifndef WIN32_LEAN_AND_MEAN
|
||||||
|
@ -103,6 +103,8 @@ typedef void *EGLSurface;
|
||||||
#if defined(SDL_VIDEO_DRIVER_VIVANTE)
|
#if defined(SDL_VIDEO_DRIVER_VIVANTE)
|
||||||
#include "SDL_egl.h"
|
#include "SDL_egl.h"
|
||||||
#endif
|
#endif
|
||||||
|
#endif /* SDL_PROTOTYPES_ONLY */
|
||||||
|
|
||||||
|
|
||||||
#include "begin_code.h"
|
#include "begin_code.h"
|
||||||
/* Set up for C function definitions, even when using C++ */
|
/* Set up for C function definitions, even when using C++ */
|
||||||
|
@ -110,6 +112,7 @@ typedef void *EGLSurface;
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if !defined(SDL_PROTOTYPES_ONLY)
|
||||||
/**
|
/**
|
||||||
* These are the various supported windowing subsystems
|
* These are the various supported windowing subsystems
|
||||||
*/
|
*/
|
||||||
|
@ -122,7 +125,7 @@ typedef enum
|
||||||
SDL_SYSWM_COCOA,
|
SDL_SYSWM_COCOA,
|
||||||
SDL_SYSWM_UIKIT,
|
SDL_SYSWM_UIKIT,
|
||||||
SDL_SYSWM_WAYLAND,
|
SDL_SYSWM_WAYLAND,
|
||||||
SDL_SYSWM_MIR,
|
SDL_SYSWM_MIR, /* no longer available, left for API/ABI compatibility. Remove in 2.1! */
|
||||||
SDL_SYSWM_WINRT,
|
SDL_SYSWM_WINRT,
|
||||||
SDL_SYSWM_ANDROID,
|
SDL_SYSWM_ANDROID,
|
||||||
SDL_SYSWM_VIVANTE,
|
SDL_SYSWM_VIVANTE,
|
||||||
|
@ -257,11 +260,11 @@ struct SDL_SysWMinfo
|
||||||
struct wl_shell_surface *shell_surface; /**< Wayland shell_surface (window manager handle) */
|
struct wl_shell_surface *shell_surface; /**< Wayland shell_surface (window manager handle) */
|
||||||
} wl;
|
} wl;
|
||||||
#endif
|
#endif
|
||||||
#if defined(SDL_VIDEO_DRIVER_MIR)
|
#if defined(SDL_VIDEO_DRIVER_MIR) /* no longer available, left for API/ABI compatibility. Remove in 2.1! */
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
struct MirConnection *connection; /**< Mir display server connection */
|
void *connection; /**< Mir display server connection */
|
||||||
struct MirSurface *surface; /**< Mir surface */
|
void *surface; /**< Mir surface */
|
||||||
} mir;
|
} mir;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -140,14 +140,20 @@ SDLTest_CommonState *SDLTest_CommonCreateState(char **argv, Uint32 flags);
|
||||||
*/
|
*/
|
||||||
int SDLTest_CommonArg(SDLTest_CommonState * state, int index);
|
int SDLTest_CommonArg(SDLTest_CommonState * state, int index);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Returns common usage information
|
* \brief Logs command line usage info.
|
||||||
*
|
*
|
||||||
* \param state The common state describing the test window to create.
|
* This logs the appropriate command line options for the subsystems in use
|
||||||
|
* plus other common options, and then any application-specific options.
|
||||||
|
* This uses the SDL_Log() function and splits up output to be friendly to
|
||||||
|
* 80-character-wide terminals.
|
||||||
*
|
*
|
||||||
* \returns String with usage information
|
* \param state The common state describing the test window for the app.
|
||||||
|
* \param argv0 argv[0], as passed to main/SDL_main.
|
||||||
|
* \param options an array of strings for application specific options. The last element of the array should be NULL.
|
||||||
*/
|
*/
|
||||||
const char *SDLTest_CommonUsage(SDLTest_CommonState * state);
|
void SDLTest_CommonLogUsage(SDLTest_CommonState * state, const char *argv0, const char **options);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Open test window.
|
* \brief Open test window.
|
||||||
|
@ -158,6 +164,17 @@ const char *SDLTest_CommonUsage(SDLTest_CommonState * state);
|
||||||
*/
|
*/
|
||||||
SDL_bool SDLTest_CommonInit(SDLTest_CommonState * state);
|
SDL_bool SDLTest_CommonInit(SDLTest_CommonState * state);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Easy argument handling when test app doesn't need any custom args.
|
||||||
|
*
|
||||||
|
* \param state The common state describing the test window to create.
|
||||||
|
* \param argc argc, as supplied to SDL_main
|
||||||
|
* \param argv argv, as supplied to SDL_main
|
||||||
|
*
|
||||||
|
* \returns False if app should quit, true otherwise.
|
||||||
|
*/
|
||||||
|
SDL_bool SDLTest_CommonDefaultArgs(SDLTest_CommonState * state, const int argc, char **argv);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Common event handler for test windows.
|
* \brief Common event handler for test windows.
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -42,14 +42,14 @@ extern "C" {
|
||||||
*
|
*
|
||||||
* \note This should be called before any other SDL functions for complete tracking coverage
|
* \note This should be called before any other SDL functions for complete tracking coverage
|
||||||
*/
|
*/
|
||||||
int SDLTest_TrackAllocations();
|
int SDLTest_TrackAllocations(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Print a log of any outstanding allocations
|
* \brief Print a log of any outstanding allocations
|
||||||
*
|
*
|
||||||
* \note This can be called after SDL_Quit()
|
* \note This can be called after SDL_Quit()
|
||||||
*/
|
*/
|
||||||
void SDLTest_LogAllocations();
|
void SDLTest_LogAllocations(void);
|
||||||
|
|
||||||
|
|
||||||
/* Ends C function definitions when using C++ */
|
/* Ends C function definitions when using C++ */
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -41,6 +41,14 @@ extern "C" {
|
||||||
typedef Sint64 SDL_TouchID;
|
typedef Sint64 SDL_TouchID;
|
||||||
typedef Sint64 SDL_FingerID;
|
typedef Sint64 SDL_FingerID;
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
SDL_TOUCH_DEVICE_INVALID = -1,
|
||||||
|
SDL_TOUCH_DEVICE_DIRECT, /* touch screen with window-relative coordinates */
|
||||||
|
SDL_TOUCH_DEVICE_INDIRECT_ABSOLUTE, /* trackpad with absolute device coordinates */
|
||||||
|
SDL_TOUCH_DEVICE_INDIRECT_RELATIVE /* trackpad with screen cursor-relative coordinates */
|
||||||
|
} SDL_TouchDeviceType;
|
||||||
|
|
||||||
typedef struct SDL_Finger
|
typedef struct SDL_Finger
|
||||||
{
|
{
|
||||||
SDL_FingerID id;
|
SDL_FingerID id;
|
||||||
|
@ -52,6 +60,9 @@ typedef struct SDL_Finger
|
||||||
/* Used as the device ID for mouse events simulated with touch input */
|
/* Used as the device ID for mouse events simulated with touch input */
|
||||||
#define SDL_TOUCH_MOUSEID ((Uint32)-1)
|
#define SDL_TOUCH_MOUSEID ((Uint32)-1)
|
||||||
|
|
||||||
|
/* Used as the SDL_TouchID for touch events simulated with mouse input */
|
||||||
|
#define SDL_MOUSE_TOUCHID ((Sint64)-1)
|
||||||
|
|
||||||
|
|
||||||
/* Function prototypes */
|
/* Function prototypes */
|
||||||
|
|
||||||
|
@ -65,6 +76,11 @@ extern DECLSPEC int SDLCALL SDL_GetNumTouchDevices(void);
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC SDL_TouchID SDLCALL SDL_GetTouchDevice(int index);
|
extern DECLSPEC SDL_TouchID SDLCALL SDL_GetTouchDevice(int index);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Get the type of the given touch device.
|
||||||
|
*/
|
||||||
|
extern DECLSPEC SDL_TouchDeviceType SDLCALL SDL_GetTouchDeviceType(SDL_TouchID touchID);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Get the number of active fingers for a given touch device.
|
* \brief Get the number of active fingers for a given touch device.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -59,7 +59,7 @@ typedef struct SDL_version
|
||||||
*/
|
*/
|
||||||
#define SDL_MAJOR_VERSION 2
|
#define SDL_MAJOR_VERSION 2
|
||||||
#define SDL_MINOR_VERSION 0
|
#define SDL_MINOR_VERSION 0
|
||||||
#define SDL_PATCHLEVEL 9
|
#define SDL_PATCHLEVEL 10
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Macro to determine SDL version program was compiled against.
|
* \brief Macro to determine SDL version program was compiled against.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -98,8 +98,8 @@ typedef VkSurfaceKHR SDL_vulkanSurface; /* for compatibility with Tizen */
|
||||||
* applications to link with libvulkan (and historically MoltenVK was
|
* applications to link with libvulkan (and historically MoltenVK was
|
||||||
* provided as a static library). If it is not found then, on macOS, SDL
|
* provided as a static library). If it is not found then, on macOS, SDL
|
||||||
* will attempt to load \c vulkan.framework/vulkan, \c libvulkan.1.dylib,
|
* will attempt to load \c vulkan.framework/vulkan, \c libvulkan.1.dylib,
|
||||||
* \c MoltenVK.framework/MoltenVK and \c libMoltenVK.dylib in that order.
|
* followed by \c libvulkan.dylib, in that order.
|
||||||
* On iOS SDL will attempt to load \c libMoltenVK.dylib. Applications
|
* On iOS SDL will attempt to load \c libvulkan.dylib only. Applications
|
||||||
* using a dynamic framework or .dylib must ensure it is included in its
|
* using a dynamic framework or .dylib must ensure it is included in its
|
||||||
* application bundle.
|
* application bundle.
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -105,6 +105,9 @@
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
#pragma warning(disable: 4103)
|
#pragma warning(disable: 4103)
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef __clang__
|
||||||
|
#pragma clang diagnostic ignored "-Wpragma-pack"
|
||||||
|
#endif
|
||||||
#ifdef __BORLANDC__
|
#ifdef __BORLANDC__
|
||||||
#pragma nopackwarning
|
#pragma nopackwarning
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -26,6 +26,9 @@
|
||||||
* after you finish any function and structure declarations in your headers
|
* after you finish any function and structure declarations in your headers
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifndef _begin_code_h
|
||||||
|
#error close_code.h included without matching begin_code.h
|
||||||
|
#endif
|
||||||
#undef _begin_code_h
|
#undef _begin_code_h
|
||||||
|
|
||||||
/* Reset structure packing at previous byte alignment */
|
/* Reset structure packing at previous byte alignment */
|
||||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -23,8 +23,8 @@ dependency_libs=' -ldinput8 -ldxguid -ldxerr8 -luser32 -lgdi32 -lwinmm -limm32 -
|
||||||
weak_library_names=''
|
weak_library_names=''
|
||||||
|
|
||||||
# Version information for libSDL2.
|
# Version information for libSDL2.
|
||||||
current=9
|
current=10
|
||||||
age=9
|
age=10
|
||||||
revision=0
|
revision=0
|
||||||
|
|
||||||
# Is this an already installed library?
|
# Is this an already installed library?
|
||||||
|
@ -38,4 +38,4 @@ dlopen=''
|
||||||
dlpreopen=''
|
dlpreopen=''
|
||||||
|
|
||||||
# Directory that this library needs to be installed in:
|
# Directory that this library needs to be installed in:
|
||||||
libdir='/Users/valve/release/SDL/SDL2-2.0.9/i686-w64-mingw32/lib'
|
libdir='/Users/valve/release/SDL/SDL2-2.0.10/i686-w64-mingw32/lib'
|
||||||
|
|
Binary file not shown.
|
@ -38,4 +38,4 @@ dlopen=''
|
||||||
dlpreopen=''
|
dlpreopen=''
|
||||||
|
|
||||||
# Directory that this library needs to be installed in:
|
# Directory that this library needs to be installed in:
|
||||||
libdir='/Users/valve/release/SDL/SDL2-2.0.9/i686-w64-mingw32/lib'
|
libdir='/Users/valve/release/SDL/SDL2-2.0.10/i686-w64-mingw32/lib'
|
||||||
|
|
Binary file not shown.
|
@ -38,4 +38,4 @@ dlopen=''
|
||||||
dlpreopen=''
|
dlpreopen=''
|
||||||
|
|
||||||
# Directory that this library needs to be installed in:
|
# Directory that this library needs to be installed in:
|
||||||
libdir='/Users/valve/release/SDL/SDL2-2.0.9/i686-w64-mingw32/lib'
|
libdir='/Users/valve/release/SDL/SDL2-2.0.10/i686-w64-mingw32/lib'
|
||||||
|
|
|
@ -7,9 +7,9 @@ includedir=${prefix}/include
|
||||||
|
|
||||||
Name: sdl2
|
Name: sdl2
|
||||||
Description: Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer.
|
Description: Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer.
|
||||||
Version: 2.0.9
|
Version: 2.0.10
|
||||||
Requires:
|
Requires:
|
||||||
Conflicts:
|
Conflicts:
|
||||||
Libs: -L${libdir} -lmingw32 -lSDL2main -lSDL2 -mwindows
|
Libs: -L${libdir} -lmingw32 -lSDL2main -lSDL2 -mwindows
|
||||||
Libs.private: -lmingw32 -lSDL2main -lSDL2 -mwindows -Wl,--no-undefined -lm -ldinput8 -ldxguid -ldxerr8 -luser32 -lgdi32 -lwinmm -limm32 -lole32 -loleaut32 -lshell32 -lsetupapi -lversion -luuid -static-libgcc
|
Libs.private: -lmingw32 -lSDL2main -lSDL2 -mwindows -Wl,--no-undefined -Wl,--dynamicbase -Wl,--nxcompat -lm -ldinput8 -ldxguid -ldxerr8 -luser32 -lgdi32 -lwinmm -limm32 -lole32 -loleaut32 -lshell32 -lsetupapi -lversion -luuid -static-libgcc
|
||||||
Cflags: -I${includedir}/SDL2 -Dmain=SDL_main
|
Cflags: -I${includedir}/SDL2 -Dmain=SDL_main
|
||||||
|
|
|
@ -74,7 +74,7 @@ AC_ARG_VAR(SDL2_FRAMEWORK, [Path to SDL2.framework])
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test -d $sdl_framework; then
|
if test x"$sdl_framework" != x && test -d "$sdl_framework"; then
|
||||||
AC_MSG_RESULT($sdl_framework)
|
AC_MSG_RESULT($sdl_framework)
|
||||||
sdl_framework_dir=`dirname $sdl_framework`
|
sdl_framework_dir=`dirname $sdl_framework`
|
||||||
SDL_CFLAGS="-F$sdl_framework_dir -Wl,-framework,SDL2 -I$sdl_framework/include"
|
SDL_CFLAGS="-F$sdl_framework_dir -Wl,-framework,SDL2 -I$sdl_framework/include"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -162,12 +162,29 @@ extern DECLSPEC void SDLCALL SDL_MemoryBarrierAcquireFunction(void);
|
||||||
#define SDL_MemoryBarrierRelease() __asm__ __volatile__ ("dmb ish" : : : "memory")
|
#define SDL_MemoryBarrierRelease() __asm__ __volatile__ ("dmb ish" : : : "memory")
|
||||||
#define SDL_MemoryBarrierAcquire() __asm__ __volatile__ ("dmb ish" : : : "memory")
|
#define SDL_MemoryBarrierAcquire() __asm__ __volatile__ ("dmb ish" : : : "memory")
|
||||||
#elif defined(__GNUC__) && defined(__arm__)
|
#elif defined(__GNUC__) && defined(__arm__)
|
||||||
#if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7EM__) || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7S__)
|
#if 0 /* defined(__LINUX__) || defined(__ANDROID__) */
|
||||||
|
/* Information from:
|
||||||
|
https://chromium.googlesource.com/chromium/chromium/+/trunk/base/atomicops_internals_arm_gcc.h#19
|
||||||
|
|
||||||
|
The Linux kernel provides a helper function which provides the right code for a memory barrier,
|
||||||
|
hard-coded at address 0xffff0fa0
|
||||||
|
*/
|
||||||
|
typedef void (*SDL_KernelMemoryBarrierFunc)();
|
||||||
|
#define SDL_MemoryBarrierRelease() ((SDL_KernelMemoryBarrierFunc)0xffff0fa0)()
|
||||||
|
#define SDL_MemoryBarrierAcquire() ((SDL_KernelMemoryBarrierFunc)0xffff0fa0)()
|
||||||
|
#elif 0 /* defined(__QNXNTO__) */
|
||||||
|
#include <sys/cpuinline.h>
|
||||||
|
|
||||||
|
#define SDL_MemoryBarrierRelease() __cpu_membarrier()
|
||||||
|
#define SDL_MemoryBarrierAcquire() __cpu_membarrier()
|
||||||
|
#else
|
||||||
|
#if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7EM__) || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7S__) || defined(__ARM_ARCH_8A__)
|
||||||
#define SDL_MemoryBarrierRelease() __asm__ __volatile__ ("dmb ish" : : : "memory")
|
#define SDL_MemoryBarrierRelease() __asm__ __volatile__ ("dmb ish" : : : "memory")
|
||||||
#define SDL_MemoryBarrierAcquire() __asm__ __volatile__ ("dmb ish" : : : "memory")
|
#define SDL_MemoryBarrierAcquire() __asm__ __volatile__ ("dmb ish" : : : "memory")
|
||||||
#elif defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6T2__) || defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_5TE__)
|
#elif defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6T2__) || defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_5TE__)
|
||||||
#ifdef __thumb__
|
#ifdef __thumb__
|
||||||
/* The mcr instruction isn't available in thumb mode, use real functions */
|
/* The mcr instruction isn't available in thumb mode, use real functions */
|
||||||
|
#define SDL_MEMORY_BARRIER_USES_FUNCTION
|
||||||
#define SDL_MemoryBarrierRelease() SDL_MemoryBarrierReleaseFunction()
|
#define SDL_MemoryBarrierRelease() SDL_MemoryBarrierReleaseFunction()
|
||||||
#define SDL_MemoryBarrierAcquire() SDL_MemoryBarrierAcquireFunction()
|
#define SDL_MemoryBarrierAcquire() SDL_MemoryBarrierAcquireFunction()
|
||||||
#else
|
#else
|
||||||
|
@ -177,6 +194,7 @@ extern DECLSPEC void SDLCALL SDL_MemoryBarrierAcquireFunction(void);
|
||||||
#else
|
#else
|
||||||
#define SDL_MemoryBarrierRelease() __asm__ __volatile__ ("" : : : "memory")
|
#define SDL_MemoryBarrierRelease() __asm__ __volatile__ ("" : : : "memory")
|
||||||
#define SDL_MemoryBarrierAcquire() __asm__ __volatile__ ("" : : : "memory")
|
#define SDL_MemoryBarrierAcquire() __asm__ __volatile__ ("" : : : "memory")
|
||||||
|
#endif /* __LINUX__ || __ANDROID__ */
|
||||||
#endif /* __GNUC__ && __arm__ */
|
#endif /* __GNUC__ && __arm__ */
|
||||||
#else
|
#else
|
||||||
#if (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x5120))
|
#if (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x5120))
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -420,23 +420,56 @@ extern DECLSPEC void SDLCALL SDL_PauseAudioDevice(SDL_AudioDeviceID dev,
|
||||||
/* @} *//* Pause audio functions */
|
/* @} *//* Pause audio functions */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This function loads a WAVE from the data source, automatically freeing
|
* \brief Load the audio data of a WAVE file into memory
|
||||||
* that source if \c freesrc is non-zero. For example, to load a WAVE file,
|
*
|
||||||
* you could do:
|
* Loading a WAVE file requires \c src, \c spec, \c audio_buf and \c audio_len
|
||||||
|
* to be valid pointers. The entire data portion of the file is then loaded
|
||||||
|
* into memory and decoded if necessary.
|
||||||
|
*
|
||||||
|
* If \c freesrc is non-zero, the data source gets automatically closed and
|
||||||
|
* freed before the function returns.
|
||||||
|
*
|
||||||
|
* Supported are RIFF WAVE files with the formats PCM (8, 16, 24, and 32 bits),
|
||||||
|
* IEEE Float (32 bits), Microsoft ADPCM and IMA ADPCM (4 bits), and A-law and
|
||||||
|
* µ-law (8 bits). Other formats are currently unsupported and cause an error.
|
||||||
|
*
|
||||||
|
* If this function succeeds, the pointer returned by it is equal to \c spec
|
||||||
|
* and the pointer to the audio data allocated by the function is written to
|
||||||
|
* \c audio_buf and its length in bytes to \c audio_len. The \ref SDL_AudioSpec
|
||||||
|
* members \c freq, \c channels, and \c format are set to the values of the
|
||||||
|
* audio data in the buffer. The \c samples member is set to a sane default and
|
||||||
|
* all others are set to zero.
|
||||||
|
*
|
||||||
|
* It's necessary to use SDL_FreeWAV() to free the audio data returned in
|
||||||
|
* \c audio_buf when it is no longer used.
|
||||||
|
*
|
||||||
|
* Because of the underspecification of the Waveform format, there are many
|
||||||
|
* problematic files in the wild that cause issues with strict decoders. To
|
||||||
|
* provide compatibility with these files, this decoder is lenient in regards
|
||||||
|
* to the truncation of the file, the fact chunk, and the size of the RIFF
|
||||||
|
* chunk. The hints SDL_HINT_WAVE_RIFF_CHUNK_SIZE, SDL_HINT_WAVE_TRUNCATION,
|
||||||
|
* and SDL_HINT_WAVE_FACT_CHUNK can be used to tune the behavior of the
|
||||||
|
* loading process.
|
||||||
|
*
|
||||||
|
* Any file that is invalid (due to truncation, corruption, or wrong values in
|
||||||
|
* the headers), too big, or unsupported causes an error. Additionally, any
|
||||||
|
* critical I/O error from the data source will terminate the loading process
|
||||||
|
* with an error. The function returns NULL on error and in all cases (with the
|
||||||
|
* exception of \c src being NULL), an appropriate error message will be set.
|
||||||
|
*
|
||||||
|
* It is required that the data source supports seeking.
|
||||||
|
*
|
||||||
|
* Example:
|
||||||
* \code
|
* \code
|
||||||
* SDL_LoadWAV_RW(SDL_RWFromFile("sample.wav", "rb"), 1, ...);
|
* SDL_LoadWAV_RW(SDL_RWFromFile("sample.wav", "rb"), 1, ...);
|
||||||
* \endcode
|
* \endcode
|
||||||
*
|
*
|
||||||
* If this function succeeds, it returns the given SDL_AudioSpec,
|
* \param src The data source with the WAVE data
|
||||||
* filled with the audio data format of the wave data, and sets
|
* \param freesrc A integer value that makes the function close the data source if non-zero
|
||||||
* \c *audio_buf to a malloc()'d buffer containing the audio data,
|
* \param spec A pointer filled with the audio format of the audio data
|
||||||
* and sets \c *audio_len to the length of that audio buffer, in bytes.
|
* \param audio_buf A pointer filled with the audio data allocated by the function
|
||||||
* You need to free the audio buffer with SDL_FreeWAV() when you are
|
* \param audio_len A pointer filled with the length of the audio data buffer in bytes
|
||||||
* done with it.
|
* \return NULL on error, or non-NULL on success.
|
||||||
*
|
|
||||||
* This function returns NULL and sets the SDL error message if the
|
|
||||||
* wave file cannot be opened, uses an unknown data format, or is
|
|
||||||
* corrupt. Currently raw and MS-ADPCM WAVE files are supported.
|
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC SDL_AudioSpec *SDLCALL SDL_LoadWAV_RW(SDL_RWops * src,
|
extern DECLSPEC SDL_AudioSpec *SDLCALL SDL_LoadWAV_RW(SDL_RWops * src,
|
||||||
int freesrc,
|
int freesrc,
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -101,6 +101,15 @@ SDL_MostSignificantBitIndex32(Uint32 x)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SDL_FORCE_INLINE SDL_bool
|
||||||
|
SDL_HasExactlyOneBitSet32(Uint32 x)
|
||||||
|
{
|
||||||
|
if (x && !(x & (x - 1))) {
|
||||||
|
return SDL_TRUE;
|
||||||
|
}
|
||||||
|
return SDL_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
/* Ends C function definitions when using C++ */
|
/* Ends C function definitions when using C++ */
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -90,12 +90,12 @@ typedef enum
|
||||||
/**
|
/**
|
||||||
* \brief Create a custom blend mode, which may or may not be supported by a given renderer
|
* \brief Create a custom blend mode, which may or may not be supported by a given renderer
|
||||||
*
|
*
|
||||||
* \param srcColorFactor
|
* \param srcColorFactor source color factor
|
||||||
* \param dstColorFactor
|
* \param dstColorFactor destination color factor
|
||||||
* \param colorOperation
|
* \param colorOperation color operation
|
||||||
* \param srcAlphaFactor
|
* \param srcAlphaFactor source alpha factor
|
||||||
* \param dstAlphaFactor
|
* \param dstAlphaFactor destination alpha factor
|
||||||
* \param alphaOperation
|
* \param alphaOperation alpha operation
|
||||||
*
|
*
|
||||||
* The result of the blend mode operation will be:
|
* The result of the blend mode operation will be:
|
||||||
* dstRGB = dstRGB * dstColorFactor colorOperation srcRGB * srcColorFactor
|
* dstRGB = dstRGB * dstColorFactor colorOperation srcRGB * srcColorFactor
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -41,24 +41,43 @@
|
||||||
#else
|
#else
|
||||||
#include <intrin.h>
|
#include <intrin.h>
|
||||||
#ifndef _WIN64
|
#ifndef _WIN64
|
||||||
|
#ifndef __MMX__
|
||||||
#define __MMX__
|
#define __MMX__
|
||||||
|
#endif
|
||||||
|
#ifndef __3dNOW__
|
||||||
#define __3dNOW__
|
#define __3dNOW__
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
#ifndef __SSE__
|
||||||
#define __SSE__
|
#define __SSE__
|
||||||
|
#endif
|
||||||
|
#ifndef __SSE2__
|
||||||
#define __SSE2__
|
#define __SSE2__
|
||||||
|
#endif
|
||||||
#endif /* __clang__ */
|
#endif /* __clang__ */
|
||||||
#elif defined(__MINGW64_VERSION_MAJOR)
|
#elif defined(__MINGW64_VERSION_MAJOR)
|
||||||
#include <intrin.h>
|
#include <intrin.h>
|
||||||
#else
|
#else
|
||||||
#ifdef __ALTIVEC__
|
/* altivec.h redefining bool causes a number of problems, see bugs 3993 and 4392, so you need to explicitly define SDL_ENABLE_ALTIVEC_H to have it included. */
|
||||||
#if defined(HAVE_ALTIVEC_H) && !defined(__APPLE_ALTIVEC__) && !defined(SDL_DISABLE_ALTIVEC_H)
|
#if defined(HAVE_ALTIVEC_H) && defined(__ALTIVEC__) && !defined(__APPLE_ALTIVEC__) && defined(SDL_ENABLE_ALTIVEC_H)
|
||||||
#include <altivec.h>
|
#include <altivec.h>
|
||||||
#undef pixel
|
|
||||||
#undef bool
|
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#if !defined(SDL_DISABLE_ARM_NEON_H)
|
||||||
#if defined(__ARM_NEON__) && !defined(SDL_DISABLE_ARM_NEON_H)
|
# if defined(__ARM_NEON)
|
||||||
#include <arm_neon.h>
|
# include <arm_neon.h>
|
||||||
|
# elif defined(__WINDOWS__) || defined(__WINRT__)
|
||||||
|
/* Visual Studio doesn't define __ARM_ARCH, but _M_ARM (if set, always 7), and _M_ARM64 (if set, always 1). */
|
||||||
|
# if defined(_M_ARM)
|
||||||
|
# include <armintr.h>
|
||||||
|
# include <arm_neon.h>
|
||||||
|
# define __ARM_NEON 1 /* Set __ARM_NEON so that it can be used elsewhere, at compile time */
|
||||||
|
# endif
|
||||||
|
# if defined (_M_ARM64)
|
||||||
|
# include <armintr.h>
|
||||||
|
# include <arm_neon.h>
|
||||||
|
# define __ARM_NEON 1 /* Set __ARM_NEON so that it can be used elsewhere, at compile time */
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
#if defined(__3dNOW__) && !defined(SDL_DISABLE_MM3DNOW_H)
|
#if defined(__3dNOW__) && !defined(SDL_DISABLE_MM3DNOW_H)
|
||||||
#include <mm3dnow.h>
|
#include <mm3dnow.h>
|
||||||
|
@ -177,6 +196,69 @@ extern DECLSPEC SDL_bool SDLCALL SDL_HasNEON(void);
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC int SDLCALL SDL_GetSystemRAM(void);
|
extern DECLSPEC int SDLCALL SDL_GetSystemRAM(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Report the alignment this system needs for SIMD allocations.
|
||||||
|
*
|
||||||
|
* This will return the minimum number of bytes to which a pointer must be
|
||||||
|
* aligned to be compatible with SIMD instructions on the current machine.
|
||||||
|
* For example, if the machine supports SSE only, it will return 16, but if
|
||||||
|
* it supports AVX-512F, it'll return 64 (etc). This only reports values for
|
||||||
|
* instruction sets SDL knows about, so if your SDL build doesn't have
|
||||||
|
* SDL_HasAVX512F(), then it might return 16 for the SSE support it sees and
|
||||||
|
* not 64 for the AVX-512 instructions that exist but SDL doesn't know about.
|
||||||
|
* Plan accordingly.
|
||||||
|
*/
|
||||||
|
extern DECLSPEC size_t SDLCALL SDL_SIMDGetAlignment(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Allocate memory in a SIMD-friendly way.
|
||||||
|
*
|
||||||
|
* This will allocate a block of memory that is suitable for use with SIMD
|
||||||
|
* instructions. Specifically, it will be properly aligned and padded for
|
||||||
|
* the system's supported vector instructions.
|
||||||
|
*
|
||||||
|
* The memory returned will be padded such that it is safe to read or write
|
||||||
|
* an incomplete vector at the end of the memory block. This can be useful
|
||||||
|
* so you don't have to drop back to a scalar fallback at the end of your
|
||||||
|
* SIMD processing loop to deal with the final elements without overflowing
|
||||||
|
* the allocated buffer.
|
||||||
|
*
|
||||||
|
* You must free this memory with SDL_FreeSIMD(), not free() or SDL_free()
|
||||||
|
* or delete[], etc.
|
||||||
|
*
|
||||||
|
* Note that SDL will only deal with SIMD instruction sets it is aware of;
|
||||||
|
* for example, SDL 2.0.8 knows that SSE wants 16-byte vectors
|
||||||
|
* (SDL_HasSSE()), and AVX2 wants 32 bytes (SDL_HasAVX2()), but doesn't
|
||||||
|
* know that AVX-512 wants 64. To be clear: if you can't decide to use an
|
||||||
|
* instruction set with an SDL_Has*() function, don't use that instruction
|
||||||
|
* set with memory allocated through here.
|
||||||
|
*
|
||||||
|
* SDL_AllocSIMD(0) will return a non-NULL pointer, assuming the system isn't
|
||||||
|
* out of memory.
|
||||||
|
*
|
||||||
|
* \param len The length, in bytes, of the block to allocated. The actual
|
||||||
|
* allocated block might be larger due to padding, etc.
|
||||||
|
* \return Pointer to newly-allocated block, NULL if out of memory.
|
||||||
|
*
|
||||||
|
* \sa SDL_SIMDAlignment
|
||||||
|
* \sa SDL_SIMDFree
|
||||||
|
*/
|
||||||
|
extern DECLSPEC void * SDLCALL SDL_SIMDAlloc(const size_t len);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Deallocate memory obtained from SDL_SIMDAlloc
|
||||||
|
*
|
||||||
|
* It is not valid to use this function on a pointer from anything but
|
||||||
|
* SDL_SIMDAlloc(). It can't be used on pointers from malloc, realloc,
|
||||||
|
* SDL_malloc, memalign, new[], etc.
|
||||||
|
*
|
||||||
|
* However, SDL_SIMDFree(NULL) is a legal no-op.
|
||||||
|
*
|
||||||
|
* \sa SDL_SIMDAlloc
|
||||||
|
*/
|
||||||
|
extern DECLSPEC void SDLCALL SDL_SIMDFree(void *ptr);
|
||||||
|
|
||||||
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
/* Ends C function definitions when using C++ */
|
/* Ends C function definitions when using C++ */
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -594,6 +594,9 @@ typedef union SDL_Event
|
||||||
Uint8 padding[56];
|
Uint8 padding[56];
|
||||||
} SDL_Event;
|
} SDL_Event;
|
||||||
|
|
||||||
|
/* Make sure we haven't broken binary compatibility */
|
||||||
|
SDL_COMPILE_TIME_ASSERT(SDL_Event, sizeof(SDL_Event) == 56);
|
||||||
|
|
||||||
|
|
||||||
/* Function prototypes */
|
/* Function prototypes */
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue