mirror of
https://github.com/Shpoike/Quakespasm.git
synced 2024-11-10 07:21:58 +00:00
SDL2 for Windows and OSX: rebuilt from SDL hg-11216:908e4fe53f5a
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1473 af15c1b1-3010-417e-b628-4374ebc0bcbd
This commit is contained in:
parent
ef3c9f708d
commit
2b70f3251b
76 changed files with 455 additions and 142 deletions
|
@ -51,7 +51,7 @@ assert can have unique static variables associated with it.
|
||||||
/* Don't include intrin.h here because it contains C++ code */
|
/* Don't include intrin.h here because it contains C++ code */
|
||||||
extern void __cdecl __debugbreak(void);
|
extern void __cdecl __debugbreak(void);
|
||||||
#define SDL_TriggerBreakpoint() __debugbreak()
|
#define SDL_TriggerBreakpoint() __debugbreak()
|
||||||
#elif (!defined(__NACL__) && defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)))
|
#elif ( (!defined(__NACL__)) && ((defined(__GNUC__) || defined(__clang__)) && (defined(__i386__) || defined(__x86_64__))) )
|
||||||
#define SDL_TriggerBreakpoint() __asm__ __volatile__ ( "int $3\n\t" )
|
#define SDL_TriggerBreakpoint() __asm__ __volatile__ ( "int $3\n\t" )
|
||||||
#elif defined(HAVE_SIGNAL_H)
|
#elif defined(HAVE_SIGNAL_H)
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
|
|
|
@ -171,7 +171,7 @@ typedef struct SDL_AudioSpec
|
||||||
SDL_AudioFormat format; /**< Audio data format */
|
SDL_AudioFormat format; /**< Audio data format */
|
||||||
Uint8 channels; /**< Number of channels: 1 mono, 2 stereo */
|
Uint8 channels; /**< Number of channels: 1 mono, 2 stereo */
|
||||||
Uint8 silence; /**< Audio buffer silence value (calculated) */
|
Uint8 silence; /**< Audio buffer silence value (calculated) */
|
||||||
Uint16 samples; /**< Audio buffer size in samples (power of 2) */
|
Uint16 samples; /**< Audio buffer size in sample FRAMES (total samples divided by channel count) */
|
||||||
Uint16 padding; /**< Necessary for some compile environments */
|
Uint16 padding; /**< Necessary for some compile environments */
|
||||||
Uint32 size; /**< Audio buffer size in bytes (calculated) */
|
Uint32 size; /**< Audio buffer size in bytes (calculated) */
|
||||||
SDL_AudioCallback callback; /**< Callback that feeds the audio device (NULL to use SDL_QueueAudio()). */
|
SDL_AudioCallback callback; /**< Callback that feeds the audio device (NULL to use SDL_QueueAudio()). */
|
||||||
|
@ -184,7 +184,17 @@ typedef void (SDLCALL * SDL_AudioFilter) (struct SDL_AudioCVT * cvt,
|
||||||
SDL_AudioFormat format);
|
SDL_AudioFormat format);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A structure to hold a set of audio conversion filters and buffers.
|
* \brief Upper limit of filters in SDL_AudioCVT
|
||||||
|
*
|
||||||
|
* The maximum number of SDL_AudioFilter functions in SDL_AudioCVT is
|
||||||
|
* currently limited to 9. The SDL_AudioCVT.filters array has 10 pointers,
|
||||||
|
* one of which is the terminating NULL pointer.
|
||||||
|
*/
|
||||||
|
#define SDL_AUDIOCVT_MAX_FILTERS 9
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \struct SDL_AudioCVT
|
||||||
|
* \brief A structure to hold a set of audio conversion filters and buffers.
|
||||||
*
|
*
|
||||||
* Note that various parts of the conversion pipeline can take advantage
|
* Note that various parts of the conversion pipeline can take advantage
|
||||||
* of SIMD operations (like SSE2, for example). SDL_AudioCVT doesn't require
|
* of SIMD operations (like SSE2, for example). SDL_AudioCVT doesn't require
|
||||||
|
@ -214,7 +224,7 @@ typedef struct SDL_AudioCVT
|
||||||
int len_cvt; /**< Length of converted audio buffer */
|
int len_cvt; /**< Length of converted audio buffer */
|
||||||
int len_mult; /**< buffer must be len*len_mult big */
|
int len_mult; /**< buffer must be len*len_mult big */
|
||||||
double len_ratio; /**< Given len, final size is len*len_ratio */
|
double len_ratio; /**< Given len, final size is len*len_ratio */
|
||||||
SDL_AudioFilter filters[10]; /**< Filter list */
|
SDL_AudioFilter filters[SDL_AUDIOCVT_MAX_FILTERS + 1]; /**< NULL-terminated list of filter functions */
|
||||||
int filter_index; /**< Current audio conversion function */
|
int filter_index; /**< Current audio conversion function */
|
||||||
} SDL_AUDIOCVT_PACKED SDL_AudioCVT;
|
} SDL_AUDIOCVT_PACKED SDL_AudioCVT;
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,8 @@
|
||||||
/* #undef HAVE_DSOUND_H */
|
/* #undef HAVE_DSOUND_H */
|
||||||
/* #undef HAVE_DXGI_H */
|
/* #undef HAVE_DXGI_H */
|
||||||
/* #undef HAVE_XINPUT_H */
|
/* #undef HAVE_XINPUT_H */
|
||||||
|
/* #undef HAVE_XINPUT_GAMEPAD_EX */
|
||||||
|
/* #undef HAVE_XINPUT_STATE_EX */
|
||||||
|
|
||||||
/* Comment this if you want to build without any C library requirements */
|
/* Comment this if you want to build without any C library requirements */
|
||||||
#define HAVE_LIBC 1
|
#define HAVE_LIBC 1
|
||||||
|
@ -205,12 +207,14 @@
|
||||||
/* Enable various audio drivers */
|
/* Enable various audio drivers */
|
||||||
/* #undef SDL_AUDIO_DRIVER_ALSA */
|
/* #undef SDL_AUDIO_DRIVER_ALSA */
|
||||||
/* #undef SDL_AUDIO_DRIVER_ALSA_DYNAMIC */
|
/* #undef SDL_AUDIO_DRIVER_ALSA_DYNAMIC */
|
||||||
|
/* #undef SDL_AUDIO_DRIVER_JACK */
|
||||||
|
/* #undef SDL_AUDIO_DRIVER_JACK_DYNAMIC */
|
||||||
/* #undef SDL_AUDIO_DRIVER_ARTS */
|
/* #undef SDL_AUDIO_DRIVER_ARTS */
|
||||||
/* #undef SDL_AUDIO_DRIVER_ARTS_DYNAMIC */
|
/* #undef SDL_AUDIO_DRIVER_ARTS_DYNAMIC */
|
||||||
/* #undef SDL_AUDIO_DRIVER_PULSEAUDIO */
|
/* #undef SDL_AUDIO_DRIVER_PULSEAUDIO */
|
||||||
/* #undef SDL_AUDIO_DRIVER_PULSEAUDIO_DYNAMIC */
|
/* #undef SDL_AUDIO_DRIVER_PULSEAUDIO_DYNAMIC */
|
||||||
/* #undef SDL_AUDIO_DRIVER_HAIKU */
|
/* #undef SDL_AUDIO_DRIVER_HAIKU */
|
||||||
/* #undef SDL_AUDIO_DRIVER_BSD */
|
/* #undef SDL_AUDIO_DRIVER_NETBSD */
|
||||||
#define SDL_AUDIO_DRIVER_COREAUDIO 1
|
#define SDL_AUDIO_DRIVER_COREAUDIO 1
|
||||||
#define SDL_AUDIO_DRIVER_DISK 1
|
#define SDL_AUDIO_DRIVER_DISK 1
|
||||||
#define SDL_AUDIO_DRIVER_DUMMY 1
|
#define SDL_AUDIO_DRIVER_DUMMY 1
|
||||||
|
@ -291,6 +295,9 @@
|
||||||
/* #undef SDL_VIDEO_DRIVER_MIR_DYNAMIC_XKBCOMMON */
|
/* #undef SDL_VIDEO_DRIVER_MIR_DYNAMIC_XKBCOMMON */
|
||||||
/* #undef SDL_VIDEO_DRIVER_X11 */
|
/* #undef SDL_VIDEO_DRIVER_X11 */
|
||||||
/* #undef SDL_VIDEO_DRIVER_RPI */
|
/* #undef SDL_VIDEO_DRIVER_RPI */
|
||||||
|
/* #undef SDL_VIDEO_DRIVER_KMSDRM */
|
||||||
|
/* #undef SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC */
|
||||||
|
/* #undef SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC_GBM */
|
||||||
/* #undef SDL_VIDEO_DRIVER_ANDROID */
|
/* #undef SDL_VIDEO_DRIVER_ANDROID */
|
||||||
/* #undef SDL_VIDEO_DRIVER_EMSCRIPTEN */
|
/* #undef SDL_VIDEO_DRIVER_EMSCRIPTEN */
|
||||||
/* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC */
|
/* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC */
|
||||||
|
@ -316,6 +323,7 @@
|
||||||
/* #undef SDL_VIDEO_DRIVER_NACL */
|
/* #undef SDL_VIDEO_DRIVER_NACL */
|
||||||
/* #undef SDL_VIDEO_DRIVER_VIVANTE */
|
/* #undef SDL_VIDEO_DRIVER_VIVANTE */
|
||||||
/* #undef SDL_VIDEO_DRIVER_VIVANTE_VDK */
|
/* #undef SDL_VIDEO_DRIVER_VIVANTE_VDK */
|
||||||
|
/* #undef SDL_VIDEO_DRIVER_QNX */
|
||||||
|
|
||||||
/* #undef SDL_VIDEO_RENDER_D3D */
|
/* #undef SDL_VIDEO_RENDER_D3D */
|
||||||
/* #undef SDL_VIDEO_RENDER_D3D11 */
|
/* #undef SDL_VIDEO_RENDER_D3D11 */
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
|
|
||||||
#ifndef SDL_config_android_h_
|
#ifndef SDL_config_android_h_
|
||||||
#define SDL_config_android_h_
|
#define SDL_config_android_h_
|
||||||
|
#define SDL_config_h_
|
||||||
|
|
||||||
#include "SDL_platform.h"
|
#include "SDL_platform.h"
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
|
|
||||||
#ifndef SDL_config_iphoneos_h_
|
#ifndef SDL_config_iphoneos_h_
|
||||||
#define SDL_config_iphoneos_h_
|
#define SDL_config_iphoneos_h_
|
||||||
|
#define SDL_config_h_
|
||||||
|
|
||||||
#include "SDL_platform.h"
|
#include "SDL_platform.h"
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
|
|
||||||
#ifndef SDL_config_macosx_h_
|
#ifndef SDL_config_macosx_h_
|
||||||
#define SDL_config_macosx_h_
|
#define SDL_config_macosx_h_
|
||||||
|
#define SDL_config_h_
|
||||||
|
|
||||||
#include "SDL_platform.h"
|
#include "SDL_platform.h"
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
|
|
||||||
#ifndef SDL_config_minimal_h_
|
#ifndef SDL_config_minimal_h_
|
||||||
#define SDL_config_minimal_h_
|
#define SDL_config_minimal_h_
|
||||||
|
#define SDL_config_h_
|
||||||
|
|
||||||
#include "SDL_platform.h"
|
#include "SDL_platform.h"
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,8 @@
|
||||||
3. This notice may not be removed or altered from any source distribution.
|
3. This notice may not be removed or altered from any source distribution.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef SDL_config_h_
|
#ifndef SDL_config_pandora_h_
|
||||||
|
#define SDL_config_pandora_h_
|
||||||
#define SDL_config_h_
|
#define SDL_config_h_
|
||||||
|
|
||||||
/* This is a set of defines to configure the SDL features */
|
/* This is a set of defines to configure the SDL features */
|
||||||
|
@ -124,4 +125,4 @@
|
||||||
#define SDL_VIDEO_RENDER_OGL_ES 1
|
#define SDL_VIDEO_RENDER_OGL_ES 1
|
||||||
#define SDL_VIDEO_OPENGL_ES 1
|
#define SDL_VIDEO_OPENGL_ES 1
|
||||||
|
|
||||||
#endif /* SDL_config_h_ */
|
#endif /* SDL_config_pandora_h_ */
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
|
|
||||||
#ifndef SDL_config_psp_h_
|
#ifndef SDL_config_psp_h_
|
||||||
#define SDL_config_psp_h_
|
#define SDL_config_psp_h_
|
||||||
|
#define SDL_config_h_
|
||||||
|
|
||||||
#include "SDL_platform.h"
|
#include "SDL_platform.h"
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
|
|
||||||
#ifndef SDL_config_windows_h_
|
#ifndef SDL_config_windows_h_
|
||||||
#define SDL_config_windows_h_
|
#define SDL_config_windows_h_
|
||||||
|
#define SDL_config_h_
|
||||||
|
|
||||||
#include "SDL_platform.h"
|
#include "SDL_platform.h"
|
||||||
|
|
||||||
|
@ -154,6 +155,7 @@ typedef unsigned int uintptr_t;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Enable various audio drivers */
|
/* Enable various audio drivers */
|
||||||
|
/*#define SDL_AUDIO_DRIVER_WASAPI 1*/
|
||||||
#define SDL_AUDIO_DRIVER_DSOUND 1
|
#define SDL_AUDIO_DRIVER_DSOUND 1
|
||||||
/*#define SDL_AUDIO_DRIVER_XAUDIO2 1*/
|
/*#define SDL_AUDIO_DRIVER_XAUDIO2 1*/
|
||||||
#define SDL_AUDIO_DRIVER_WINMM 1
|
#define SDL_AUDIO_DRIVER_WINMM 1
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
|
|
||||||
#ifndef SDL_config_winrt_h_
|
#ifndef SDL_config_winrt_h_
|
||||||
#define SDL_config_winrt_h_
|
#define SDL_config_winrt_h_
|
||||||
|
#define SDL_config_h_
|
||||||
|
|
||||||
#include "SDL_platform.h"
|
#include "SDL_platform.h"
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,8 @@
|
||||||
3. This notice may not be removed or altered from any source distribution.
|
3. This notice may not be removed or altered from any source distribution.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef SDL_config_h_
|
#ifndef SDL_config_wiz_h_
|
||||||
|
#define SDL_config_wiz_h_
|
||||||
#define SDL_config_h_
|
#define SDL_config_h_
|
||||||
|
|
||||||
/* This is a set of defines to configure the SDL features */
|
/* This is a set of defines to configure the SDL features */
|
||||||
|
@ -117,4 +118,4 @@
|
||||||
#define SDL_VIDEO_RENDER_OGL_ES 1
|
#define SDL_VIDEO_RENDER_OGL_ES 1
|
||||||
#define SDL_VIDEO_OPENGL_ES 1
|
#define SDL_VIDEO_OPENGL_ES 1
|
||||||
|
|
||||||
#endif /* SDL_config_h_ */
|
#endif /* SDL_config_wiz_h_ */
|
||||||
|
|
|
@ -724,7 +724,7 @@ extern DECLSPEC void SDLCALL SDL_FilterEvents(SDL_EventFilter filter,
|
||||||
/**
|
/**
|
||||||
* This function allows you to set the state of processing certain events.
|
* This function allows you to set the state of processing certain events.
|
||||||
* - If \c state is set to ::SDL_IGNORE, that event will be automatically
|
* - If \c state is set to ::SDL_IGNORE, that event will be automatically
|
||||||
* dropped from the event queue and will not event be filtered.
|
* dropped from the event queue and will not be filtered.
|
||||||
* - If \c state is set to ::SDL_ENABLE, that event will be processed
|
* - If \c state is set to ::SDL_ENABLE, that event will be processed
|
||||||
* normally.
|
* normally.
|
||||||
* - If \c state is set to ::SDL_QUERY, SDL_EventState() will return the
|
* - If \c state is set to ::SDL_QUERY, SDL_EventState() will return the
|
||||||
|
|
|
@ -22,12 +22,12 @@
|
||||||
/**
|
/**
|
||||||
* \file SDL_haptic.h
|
* \file SDL_haptic.h
|
||||||
*
|
*
|
||||||
* \brief The SDL Haptic subsystem allows you to control haptic (force feedback)
|
* \brief The SDL haptic subsystem allows you to control haptic (force feedback)
|
||||||
* devices.
|
* devices.
|
||||||
*
|
*
|
||||||
* The basic usage is as follows:
|
* The basic usage is as follows:
|
||||||
* - Initialize the Subsystem (::SDL_INIT_HAPTIC).
|
* - Initialize the subsystem (::SDL_INIT_HAPTIC).
|
||||||
* - Open a Haptic Device.
|
* - Open a haptic device.
|
||||||
* - SDL_HapticOpen() to open from index.
|
* - SDL_HapticOpen() to open from index.
|
||||||
* - SDL_HapticOpenFromJoystick() to open from an existing joystick.
|
* - SDL_HapticOpenFromJoystick() to open from an existing joystick.
|
||||||
* - Create an effect (::SDL_HapticEffect).
|
* - Create an effect (::SDL_HapticEffect).
|
||||||
|
@ -282,7 +282,7 @@ typedef struct _SDL_Haptic SDL_Haptic;
|
||||||
/**
|
/**
|
||||||
* \brief Device can be queried for effect status.
|
* \brief Device can be queried for effect status.
|
||||||
*
|
*
|
||||||
* Device can be queried for effect status.
|
* Device supports querying effect status.
|
||||||
*
|
*
|
||||||
* \sa SDL_HapticGetEffectStatus
|
* \sa SDL_HapticGetEffectStatus
|
||||||
*/
|
*/
|
||||||
|
@ -291,6 +291,8 @@ typedef struct _SDL_Haptic SDL_Haptic;
|
||||||
/**
|
/**
|
||||||
* \brief Device can be paused.
|
* \brief Device can be paused.
|
||||||
*
|
*
|
||||||
|
* Devices supports being paused.
|
||||||
|
*
|
||||||
* \sa SDL_HapticPause
|
* \sa SDL_HapticPause
|
||||||
* \sa SDL_HapticUnpause
|
* \sa SDL_HapticUnpause
|
||||||
*/
|
*/
|
||||||
|
@ -444,7 +446,7 @@ typedef struct SDL_HapticDirection
|
||||||
/**
|
/**
|
||||||
* \brief A structure containing a template for a Constant effect.
|
* \brief A structure containing a template for a Constant effect.
|
||||||
*
|
*
|
||||||
* The struct is exclusive to the ::SDL_HAPTIC_CONSTANT effect.
|
* This struct is exclusively for the ::SDL_HAPTIC_CONSTANT effect.
|
||||||
*
|
*
|
||||||
* A constant effect applies a constant force in the specified direction
|
* A constant effect applies a constant force in the specified direction
|
||||||
* to the joystick.
|
* to the joystick.
|
||||||
|
@ -676,6 +678,8 @@ typedef struct SDL_HapticLeftRight
|
||||||
/**
|
/**
|
||||||
* \brief A structure containing a template for the ::SDL_HAPTIC_CUSTOM effect.
|
* \brief A structure containing a template for the ::SDL_HAPTIC_CUSTOM effect.
|
||||||
*
|
*
|
||||||
|
* This struct is exclusively for the ::SDL_HAPTIC_CUSTOM effect.
|
||||||
|
*
|
||||||
* A custom force feedback effect is much like a periodic effect, where the
|
* A custom force feedback effect is much like a periodic effect, where the
|
||||||
* application can define its exact shape. You will have to allocate the
|
* application can define its exact shape. You will have to allocate the
|
||||||
* data yourself. Data should consist of channels * samples Uint16 samples.
|
* data yourself. Data should consist of channels * samples Uint16 samples.
|
||||||
|
@ -804,7 +808,7 @@ typedef union SDL_HapticEffect
|
||||||
extern DECLSPEC int SDLCALL SDL_NumHaptics(void);
|
extern DECLSPEC int SDLCALL SDL_NumHaptics(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Get the implementation dependent name of a Haptic device.
|
* \brief Get the implementation dependent name of a haptic device.
|
||||||
*
|
*
|
||||||
* This can be called before any joysticks are opened.
|
* This can be called before any joysticks are opened.
|
||||||
* If no name can be found, this function returns NULL.
|
* If no name can be found, this function returns NULL.
|
||||||
|
@ -817,9 +821,9 @@ extern DECLSPEC int SDLCALL SDL_NumHaptics(void);
|
||||||
extern DECLSPEC const char *SDLCALL SDL_HapticName(int device_index);
|
extern DECLSPEC const char *SDLCALL SDL_HapticName(int device_index);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Opens a Haptic device for usage.
|
* \brief Opens a haptic device for use.
|
||||||
*
|
*
|
||||||
* The index passed as an argument refers to the N'th Haptic device on this
|
* The index passed as an argument refers to the N'th haptic device on this
|
||||||
* system.
|
* system.
|
||||||
*
|
*
|
||||||
* When opening a haptic device, its gain will be set to maximum and
|
* When opening a haptic device, its gain will be set to maximum and
|
||||||
|
@ -885,15 +889,15 @@ extern DECLSPEC SDL_Haptic *SDLCALL SDL_HapticOpenFromMouse(void);
|
||||||
* \brief Checks to see if a joystick has haptic features.
|
* \brief Checks to see if a joystick has haptic features.
|
||||||
*
|
*
|
||||||
* \param joystick Joystick to test for haptic capabilities.
|
* \param joystick Joystick to test for haptic capabilities.
|
||||||
* \return 1 if the joystick is haptic, 0 if it isn't
|
* \return SDL_TRUE if the joystick is haptic, SDL_FALSE if it isn't
|
||||||
* or -1 if an error ocurred.
|
* or -1 if an error occurred.
|
||||||
*
|
*
|
||||||
* \sa SDL_HapticOpenFromJoystick
|
* \sa SDL_HapticOpenFromJoystick
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC int SDLCALL SDL_JoystickIsHaptic(SDL_Joystick * joystick);
|
extern DECLSPEC int SDLCALL SDL_JoystickIsHaptic(SDL_Joystick * joystick);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Opens a Haptic device for usage from a Joystick device.
|
* \brief Opens a haptic device for use from a joystick device.
|
||||||
*
|
*
|
||||||
* You must still close the haptic device separately. It will not be closed
|
* You must still close the haptic device separately. It will not be closed
|
||||||
* with the joystick.
|
* with the joystick.
|
||||||
|
@ -913,7 +917,7 @@ extern DECLSPEC SDL_Haptic *SDLCALL SDL_HapticOpenFromJoystick(SDL_Joystick *
|
||||||
joystick);
|
joystick);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Closes a Haptic device previously opened with SDL_HapticOpen().
|
* \brief Closes a haptic device previously opened with SDL_HapticOpen().
|
||||||
*
|
*
|
||||||
* \param haptic Haptic device to close.
|
* \param haptic Haptic device to close.
|
||||||
*/
|
*/
|
||||||
|
@ -957,7 +961,7 @@ extern DECLSPEC int SDLCALL SDL_HapticNumEffectsPlaying(SDL_Haptic * haptic);
|
||||||
* Example:
|
* Example:
|
||||||
* \code
|
* \code
|
||||||
* if (SDL_HapticQuery(haptic) & SDL_HAPTIC_CONSTANT) {
|
* if (SDL_HapticQuery(haptic) & SDL_HAPTIC_CONSTANT) {
|
||||||
* printf("We have constant haptic effect!");
|
* printf("We have constant haptic effect!\n");
|
||||||
* }
|
* }
|
||||||
* \endcode
|
* \endcode
|
||||||
*
|
*
|
||||||
|
@ -996,7 +1000,7 @@ extern DECLSPEC int SDLCALL SDL_HapticEffectSupported(SDL_Haptic * haptic,
|
||||||
*
|
*
|
||||||
* \param haptic Haptic device to create the effect on.
|
* \param haptic Haptic device to create the effect on.
|
||||||
* \param effect Properties of the effect to create.
|
* \param effect Properties of the effect to create.
|
||||||
* \return The id of the effect on success or -1 on error.
|
* \return The identifier of the effect on success or -1 on error.
|
||||||
*
|
*
|
||||||
* \sa SDL_HapticUpdateEffect
|
* \sa SDL_HapticUpdateEffect
|
||||||
* \sa SDL_HapticRunEffect
|
* \sa SDL_HapticRunEffect
|
||||||
|
@ -1008,13 +1012,13 @@ extern DECLSPEC int SDLCALL SDL_HapticNewEffect(SDL_Haptic * haptic,
|
||||||
/**
|
/**
|
||||||
* \brief Updates the properties of an effect.
|
* \brief Updates the properties of an effect.
|
||||||
*
|
*
|
||||||
* Can be used dynamically, although behaviour when dynamically changing
|
* Can be used dynamically, although behavior when dynamically changing
|
||||||
* direction may be strange. Specifically the effect may reupload itself
|
* direction may be strange. Specifically the effect may reupload itself
|
||||||
* and start playing from the start. You cannot change the type either when
|
* and start playing from the start. You cannot change the type either when
|
||||||
* running SDL_HapticUpdateEffect().
|
* running SDL_HapticUpdateEffect().
|
||||||
*
|
*
|
||||||
* \param haptic Haptic device that has the effect.
|
* \param haptic Haptic device that has the effect.
|
||||||
* \param effect Effect to update.
|
* \param effect Identifier of the effect to update.
|
||||||
* \param data New effect properties to use.
|
* \param data New effect properties to use.
|
||||||
* \return 0 on success or -1 on error.
|
* \return 0 on success or -1 on error.
|
||||||
*
|
*
|
||||||
|
|
|
@ -118,6 +118,17 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_RENDER_DIRECT3D11_DEBUG "SDL_RENDER_DIRECT3D11_DEBUG"
|
#define SDL_HINT_RENDER_DIRECT3D11_DEBUG "SDL_RENDER_DIRECT3D11_DEBUG"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable controlling the scaling policy for SDL_RenderSetLogicalSize.
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
* "0" or "letterbox" - Uses letterbox/sidebars to fit the entire rendering on screen
|
||||||
|
* "1" or "overscan" - Will zoom the rendering so it fills the entire screen, allowing edges to be drawn offscreen
|
||||||
|
*
|
||||||
|
* By default letterbox is used
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_RENDER_LOGICAL_SIZE_MODE "SDL_RENDER_LOGICAL_SIZE_MODE"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable controlling the scaling quality
|
* \brief A variable controlling the scaling quality
|
||||||
*
|
*
|
||||||
|
@ -264,6 +275,17 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH "SDL_MOUSE_FOCUS_CLICKTHROUGH"
|
#define SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH "SDL_MOUSE_FOCUS_CLICKTHROUGH"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable controlling whether touch events should generate synthetic mouse events
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
* "0" - Touch events will not generate mouse events
|
||||||
|
* "1" - Touch events will generate mouse events
|
||||||
|
*
|
||||||
|
* By default SDL will generate mouse events for touch events
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_TOUCH_MOUSE_EVENTS "SDL_TOUCH_MOUSE_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.
|
||||||
*
|
*
|
||||||
|
@ -337,7 +359,6 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_ACCELEROMETER_AS_JOYSTICK "SDL_ACCELEROMETER_AS_JOYSTICK"
|
#define SDL_HINT_ACCELEROMETER_AS_JOYSTICK "SDL_ACCELEROMETER_AS_JOYSTICK"
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable that lets you disable the detection and use of Xinput gamepad devices
|
* \brief A variable that lets you disable the detection and use of Xinput gamepad devices
|
||||||
*
|
*
|
||||||
|
@ -347,7 +368,6 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_XINPUT_ENABLED "SDL_XINPUT_ENABLED"
|
#define SDL_HINT_XINPUT_ENABLED "SDL_XINPUT_ENABLED"
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable that causes SDL to use the old axis and button mapping for XInput devices.
|
* \brief A variable that causes SDL to use the old axis and button mapping for XInput devices.
|
||||||
*
|
*
|
||||||
|
@ -357,9 +377,8 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_XINPUT_USE_OLD_JOYSTICK_MAPPING "SDL_XINPUT_USE_OLD_JOYSTICK_MAPPING"
|
#define SDL_HINT_XINPUT_USE_OLD_JOYSTICK_MAPPING "SDL_XINPUT_USE_OLD_JOYSTICK_MAPPING"
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable that lets you manually hint extra gamecontroller db entries
|
* \brief A variable that lets you manually hint extra gamecontroller db entries.
|
||||||
*
|
*
|
||||||
* The variable should be newline delimited rows of gamecontroller config data, see SDL_gamecontroller.h
|
* The variable should be newline delimited rows of gamecontroller config data, see SDL_gamecontroller.h
|
||||||
*
|
*
|
||||||
|
@ -368,6 +387,31 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_GAMECONTROLLERCONFIG "SDL_GAMECONTROLLERCONFIG"
|
#define SDL_HINT_GAMECONTROLLERCONFIG "SDL_GAMECONTROLLERCONFIG"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable containing a list of devices to skip when scanning for game controllers.
|
||||||
|
*
|
||||||
|
* The format of the string is a comma separated list of USB VID/PID pairs
|
||||||
|
* in hexadecimal form, e.g.
|
||||||
|
*
|
||||||
|
* 0xAAAA/0xBBBB,0xCCCC/0xDDDD
|
||||||
|
*
|
||||||
|
* The variable can also take the form of @file, in which case the named
|
||||||
|
* file will be loaded and interpreted as the value of the variable.
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES "SDL_GAMECONTROLLER_IGNORE_DEVICES"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief If set, all devices will be skipped when scanning for game controllers except for the ones listed in this variable.
|
||||||
|
*
|
||||||
|
* The format of the string is a comma separated list of USB VID/PID pairs
|
||||||
|
* in hexadecimal form, e.g.
|
||||||
|
*
|
||||||
|
* 0xAAAA/0xBBBB,0xCCCC/0xDDDD
|
||||||
|
*
|
||||||
|
* The variable can also take the form of @file, in which case the named
|
||||||
|
* file will be loaded and interpreted as the value of the variable.
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT "SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable that lets you enable joystick (and gamecontroller) events even when your app is in the background.
|
* \brief A variable that lets you enable joystick (and gamecontroller) events even when your app is in the background.
|
||||||
|
@ -382,7 +426,6 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS "SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS"
|
#define SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS "SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS"
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief If set to "0" then never set the top most bit on a SDL Window, even if the video mode expects it.
|
* \brief If set to "0" then never set the top most bit on a SDL Window, even if the video mode expects it.
|
||||||
* This is a debugging aid for developers and not expected to be used by end users. The default is "1"
|
* This is a debugging aid for developers and not expected to be used by end users. The default is "1"
|
||||||
|
@ -393,7 +436,6 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_ALLOW_TOPMOST "SDL_ALLOW_TOPMOST"
|
#define SDL_HINT_ALLOW_TOPMOST "SDL_ALLOW_TOPMOST"
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable that controls the timer resolution, in milliseconds.
|
* \brief A variable that controls the timer resolution, in milliseconds.
|
||||||
*
|
*
|
||||||
|
@ -726,13 +768,18 @@ extern "C" {
|
||||||
#define SDL_HINT_BMP_SAVE_LEGACY_FORMAT "SDL_BMP_SAVE_LEGACY_FORMAT"
|
#define SDL_HINT_BMP_SAVE_LEGACY_FORMAT "SDL_BMP_SAVE_LEGACY_FORMAT"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Tell SDL not to name threads on Windows.
|
* \brief Tell SDL not to name threads on Windows with the 0x406D1388 Exception.
|
||||||
|
* The 0x406D1388 Exception is a trick used to inform Visual Studio of a
|
||||||
|
* thread's name, but it tends to cause problems with other debuggers,
|
||||||
|
* and the .NET runtime. Note that SDL 2.0.6 and later will still use
|
||||||
|
* the (safer) SetThreadDescription API, introduced in the Windows 10
|
||||||
|
* Creators Update, if available.
|
||||||
*
|
*
|
||||||
* The variable can be set to the following values:
|
* The variable can be set to the following values:
|
||||||
* "0" - SDL will raise the 0x406D1388 Exception to name threads.
|
* "0" - SDL will raise the 0x406D1388 Exception to name threads.
|
||||||
* This is the default behavior of SDL <= 2.0.4. (default)
|
* This is the default behavior of SDL <= 2.0.4.
|
||||||
* "1" - SDL will not raise this exception, and threads will be unnamed.
|
* "1" - SDL will not raise this exception, and threads will be unnamed. (default)
|
||||||
* For .NET languages this is required when running under a debugger.
|
* This is necessary with .NET languages or debuggers that aren't Visual Studio.
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_WINDOWS_DISABLE_THREAD_NAMING "SDL_WINDOWS_DISABLE_THREAD_NAMING"
|
#define SDL_HINT_WINDOWS_DISABLE_THREAD_NAMING "SDL_WINDOWS_DISABLE_THREAD_NAMING"
|
||||||
|
|
||||||
|
|
|
@ -71,6 +71,13 @@ typedef struct {
|
||||||
Uint8 data[16];
|
Uint8 data[16];
|
||||||
} SDL_JoystickGUID;
|
} SDL_JoystickGUID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is a unique ID for a joystick for the time it is connected to the system,
|
||||||
|
* and is never reused for the lifetime of the application. If the joystick is
|
||||||
|
* disconnected and reconnected, it will get a new ID.
|
||||||
|
*
|
||||||
|
* The ID value starts at 0 and increments from there. The value -1 is an invalid ID.
|
||||||
|
*/
|
||||||
typedef Sint32 SDL_JoystickID;
|
typedef Sint32 SDL_JoystickID;
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
|
@ -144,6 +151,13 @@ extern DECLSPEC Uint16 SDLCALL SDL_JoystickGetDeviceProductVersion(int device_in
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC SDL_JoystickType SDLCALL SDL_JoystickGetDeviceType(int device_index);
|
extern DECLSPEC SDL_JoystickType SDLCALL SDL_JoystickGetDeviceType(int device_index);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the instance ID of a joystick.
|
||||||
|
* This can be called before any joysticks are opened.
|
||||||
|
* If the index is out of range, this function will return -1.
|
||||||
|
*/
|
||||||
|
extern DECLSPEC SDL_JoystickID SDLCALL SDL_JoystickGetDeviceInstanceID(int device_index);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Open a joystick for use.
|
* Open a joystick for use.
|
||||||
* The index passed as an argument refers to the N'th joystick on the system.
|
* The index passed as an argument refers to the N'th joystick on the system.
|
||||||
|
|
|
@ -308,7 +308,12 @@ enum
|
||||||
SDLK_KBDILLUMDOWN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KBDILLUMDOWN),
|
SDLK_KBDILLUMDOWN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KBDILLUMDOWN),
|
||||||
SDLK_KBDILLUMUP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KBDILLUMUP),
|
SDLK_KBDILLUMUP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KBDILLUMUP),
|
||||||
SDLK_EJECT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_EJECT),
|
SDLK_EJECT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_EJECT),
|
||||||
SDLK_SLEEP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_SLEEP)
|
SDLK_SLEEP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_SLEEP),
|
||||||
|
SDLK_APP1 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_APP1),
|
||||||
|
SDLK_APP2 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_APP2),
|
||||||
|
|
||||||
|
SDLK_AUDIOREWIND = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AUDIOREWIND),
|
||||||
|
SDLK_AUDIOFASTFORWARD = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AUDIOFASTFORWARD)
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef struct SDL_Cursor SDL_Cursor; /* Implementation dependent */
|
typedef struct SDL_Cursor SDL_Cursor; /**< Implementation dependent */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Cursor types for SDL_CreateSystemCursor().
|
* \brief Cursor types for SDL_CreateSystemCursor().
|
||||||
|
|
|
@ -370,9 +370,12 @@ extern DECLSPEC int SDLCALL SDL_GetTextureBlendMode(SDL_Texture * texture,
|
||||||
* \param texture The texture to update
|
* \param texture The texture to update
|
||||||
* \param rect A pointer to the rectangle of pixels to update, or NULL to
|
* \param rect A pointer to the rectangle of pixels to update, or NULL to
|
||||||
* update the entire texture.
|
* update the entire texture.
|
||||||
* \param pixels The raw pixel data.
|
* \param pixels The raw pixel data in the format of the texture.
|
||||||
* \param pitch The number of bytes in a row of pixel data, including padding between lines.
|
* \param pitch The number of bytes in a row of pixel data, including padding between lines.
|
||||||
*
|
*
|
||||||
|
* The pixel data must be in the format of the texture. The pixel format can be
|
||||||
|
* queried with SDL_QueryTexture.
|
||||||
|
*
|
||||||
* \return 0 on success, or -1 if the texture is not valid.
|
* \return 0 on success, or -1 if the texture is not valid.
|
||||||
*
|
*
|
||||||
* \note This is a fairly slow function.
|
* \note This is a fairly slow function.
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
#define SDL_REVISION "hg-10881:2a8921196432"
|
#define SDL_REVISION "hg-11216:908e4fe53f5a"
|
||||||
#define SDL_REVISION_NUMBER 10881
|
#define SDL_REVISION_NUMBER 11216
|
||||||
|
|
|
@ -39,12 +39,12 @@ extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* RWops Types */
|
/* RWops Types */
|
||||||
#define SDL_RWOPS_UNKNOWN 0U /* Unknown stream type */
|
#define SDL_RWOPS_UNKNOWN 0U /**< Unknown stream type */
|
||||||
#define SDL_RWOPS_WINFILE 1U /* Win32 file */
|
#define SDL_RWOPS_WINFILE 1U /**< Win32 file */
|
||||||
#define SDL_RWOPS_STDFILE 2U /* Stdio file */
|
#define SDL_RWOPS_STDFILE 2U /**< Stdio file */
|
||||||
#define SDL_RWOPS_JNIFILE 3U /* Android asset */
|
#define SDL_RWOPS_JNIFILE 3U /**< Android asset */
|
||||||
#define SDL_RWOPS_MEMORY 4U /* Memory stream */
|
#define SDL_RWOPS_MEMORY 4U /**< Memory stream */
|
||||||
#define SDL_RWOPS_MEMORY_RO 5U /* Read-Only memory stream */
|
#define SDL_RWOPS_MEMORY_RO 5U /**< Read-Only memory stream */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is the read/write operation structure -- very basic.
|
* This is the read/write operation structure -- very basic.
|
||||||
|
@ -190,6 +190,29 @@ extern DECLSPEC void SDLCALL SDL_FreeRW(SDL_RWops * area);
|
||||||
/* @} *//* Read/write macros */
|
/* @} *//* Read/write macros */
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Load all the data from an SDL data stream.
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
extern DECLSPEC void *SDLCALL SDL_LoadFile_RW(SDL_RWops * src, size_t *datasize,
|
||||||
|
int freesrc);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Load an entire file.
|
||||||
|
*
|
||||||
|
* Convenience macro.
|
||||||
|
*/
|
||||||
|
#define SDL_LoadFile(file, datasize) SDL_LoadFile_RW(SDL_RWFromFile(file, "rb"), datasize, 1)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \name Read endian functions
|
* \name Read endian functions
|
||||||
*
|
*
|
||||||
|
|
|
@ -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/devclass_docs/Hut1_12v2.pdf
|
* http://www.usb.org/developers/hidpage/Hut1_12v2.pdf
|
||||||
*/
|
*/
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
|
@ -390,6 +390,18 @@ typedef enum
|
||||||
|
|
||||||
/* @} *//* Walther keys */
|
/* @} *//* Walther keys */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \name Usage page 0x0C (additional media keys)
|
||||||
|
*
|
||||||
|
* These values are mapped from usage page 0x0C (USB consumer page).
|
||||||
|
*/
|
||||||
|
/* @{ */
|
||||||
|
|
||||||
|
SDL_SCANCODE_AUDIOREWIND = 285,
|
||||||
|
SDL_SCANCODE_AUDIOFASTFORWARD = 286,
|
||||||
|
|
||||||
|
/* @} *//* Usage page 0x0C (additional media keys) */
|
||||||
|
|
||||||
/* Add any other keys here. */
|
/* Add any other keys here. */
|
||||||
|
|
||||||
SDL_NUM_SCANCODES = 512 /**< not a key, just marks the number of scancodes
|
SDL_NUM_SCANCODES = 512 /**< not a key, just marks the number of scancodes
|
||||||
|
|
|
@ -71,6 +71,7 @@ extern DECLSPEC SDL_Window * SDLCALL SDL_CreateShapedWindow(const char *title,un
|
||||||
* \param window The window to query for being shaped.
|
* \param window The window to query for being shaped.
|
||||||
*
|
*
|
||||||
* \return SDL_TRUE if the window is a window that can be shaped, SDL_FALSE if the window is unshaped or NULL.
|
* \return SDL_TRUE if the window is a window that can be shaped, SDL_FALSE if the window is unshaped or NULL.
|
||||||
|
*
|
||||||
* \sa SDL_CreateShapedWindow
|
* \sa SDL_CreateShapedWindow
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC SDL_bool SDLCALL SDL_IsShapedWindow(const SDL_Window *window);
|
extern DECLSPEC SDL_bool SDLCALL SDL_IsShapedWindow(const SDL_Window *window);
|
||||||
|
@ -91,7 +92,7 @@ typedef enum {
|
||||||
|
|
||||||
/** \brief A union containing parameters for shaped windows. */
|
/** \brief A union containing parameters for shaped windows. */
|
||||||
typedef union {
|
typedef union {
|
||||||
/** \brief a cutoff alpha value for binarization of the window shape's alpha channel. */
|
/** \brief A cutoff alpha value for binarization of the window shape's alpha channel. */
|
||||||
Uint8 binarizationCutoff;
|
Uint8 binarizationCutoff;
|
||||||
SDL_Color colorKey;
|
SDL_Color colorKey;
|
||||||
} SDL_WindowShapeParams;
|
} SDL_WindowShapeParams;
|
||||||
|
@ -111,8 +112,8 @@ typedef struct SDL_WindowShapeMode {
|
||||||
* \param shape A surface encoding the desired shape for the window.
|
* \param shape A surface encoding the desired shape for the window.
|
||||||
* \param shape_mode The parameters to set for the shaped window.
|
* \param shape_mode The parameters to set for the shaped window.
|
||||||
*
|
*
|
||||||
* \return 0 on success, SDL_INVALID_SHAPE_ARGUMENT on invalid an invalid shape argument, or SDL_NONSHAPEABLE_WINDOW
|
* \return 0 on success, SDL_INVALID_SHAPE_ARGUMENT on an invalid shape argument, or SDL_NONSHAPEABLE_WINDOW
|
||||||
* if the SDL_Window* given does not reference a valid shaped window.
|
* if the SDL_Window given does not reference a valid shaped window.
|
||||||
*
|
*
|
||||||
* \sa SDL_WindowShapeMode
|
* \sa SDL_WindowShapeMode
|
||||||
* \sa SDL_GetShapedWindowMode.
|
* \sa SDL_GetShapedWindowMode.
|
||||||
|
@ -127,7 +128,7 @@ extern DECLSPEC int SDLCALL SDL_SetWindowShape(SDL_Window *window,SDL_Surface *s
|
||||||
*
|
*
|
||||||
* \return 0 if the window has a shape and, provided shape_mode was not NULL, shape_mode has been filled with the mode
|
* \return 0 if the window has a shape and, provided shape_mode was not NULL, shape_mode has been filled with the mode
|
||||||
* data, SDL_NONSHAPEABLE_WINDOW if the SDL_Window given is not a shaped window, or SDL_WINDOW_LACKS_SHAPE if
|
* data, SDL_NONSHAPEABLE_WINDOW if the SDL_Window given is not a shaped window, or SDL_WINDOW_LACKS_SHAPE if
|
||||||
* the SDL_Window* given is a shapeable window currently lacking a shape.
|
* the SDL_Window given is a shapeable window currently lacking a shape.
|
||||||
*
|
*
|
||||||
* \sa SDL_WindowShapeMode
|
* \sa SDL_WindowShapeMode
|
||||||
* \sa SDL_SetWindowShape
|
* \sa SDL_SetWindowShape
|
||||||
|
|
|
@ -127,11 +127,18 @@
|
||||||
*/
|
*/
|
||||||
/* @{ */
|
/* @{ */
|
||||||
|
|
||||||
|
#ifdef __CC_ARM
|
||||||
|
/* ARM's compiler throws warnings if we use an enum: like "SDL_bool x = a < b;" */
|
||||||
|
#define SDL_FALSE 0
|
||||||
|
#define SDL_TRUE 1
|
||||||
|
typedef int SDL_bool;
|
||||||
|
#else
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
SDL_FALSE = 0,
|
SDL_FALSE = 0,
|
||||||
SDL_TRUE = 1
|
SDL_TRUE = 1
|
||||||
} SDL_bool;
|
} SDL_bool;
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A signed 8-bit integer type.
|
* \brief A signed 8-bit integer type.
|
||||||
|
@ -262,7 +269,7 @@ typedef uint64_t Uint64;
|
||||||
#endif /* SDL_DISABLE_ANALYZE_MACROS */
|
#endif /* SDL_DISABLE_ANALYZE_MACROS */
|
||||||
|
|
||||||
#define SDL_COMPILE_TIME_ASSERT(name, x) \
|
#define SDL_COMPILE_TIME_ASSERT(name, x) \
|
||||||
typedef int SDL_dummy_ ## name[(x) * 2 - 1]
|
typedef int SDL_compile_time_assert_ ## name[(x) * 2 - 1]
|
||||||
/** \cond */
|
/** \cond */
|
||||||
#ifndef DOXYGEN_SHOULD_IGNORE_THIS
|
#ifndef DOXYGEN_SHOULD_IGNORE_THIS
|
||||||
SDL_COMPILE_TIME_ASSERT(uint8, sizeof(Uint8) == 1);
|
SDL_COMPILE_TIME_ASSERT(uint8, sizeof(Uint8) == 1);
|
||||||
|
@ -409,6 +416,7 @@ extern DECLSPEC char *SDLCALL SDL_strlwr(char *str);
|
||||||
extern DECLSPEC char *SDLCALL SDL_strchr(const char *str, int c);
|
extern DECLSPEC char *SDLCALL SDL_strchr(const char *str, int c);
|
||||||
extern DECLSPEC char *SDLCALL SDL_strrchr(const char *str, int c);
|
extern DECLSPEC char *SDLCALL SDL_strrchr(const char *str, int c);
|
||||||
extern DECLSPEC char *SDLCALL SDL_strstr(const char *haystack, const char *needle);
|
extern DECLSPEC char *SDLCALL SDL_strstr(const char *haystack, const char *needle);
|
||||||
|
extern DECLSPEC size_t SDLCALL SDL_utf8strlen(const char *str);
|
||||||
|
|
||||||
extern DECLSPEC char *SDLCALL SDL_itoa(int value, char *str, int radix);
|
extern DECLSPEC char *SDLCALL SDL_itoa(int value, char *str, int radix);
|
||||||
extern DECLSPEC char *SDLCALL SDL_uitoa(unsigned int value, char *str, int radix);
|
extern DECLSPEC char *SDLCALL SDL_uitoa(unsigned int value, char *str, int radix);
|
||||||
|
@ -437,7 +445,7 @@ extern DECLSPEC int SDLCALL SDL_vsnprintf(SDL_OUT_Z_CAP(maxlen) char *text, size
|
||||||
|
|
||||||
#ifndef HAVE_M_PI
|
#ifndef HAVE_M_PI
|
||||||
#ifndef M_PI
|
#ifndef M_PI
|
||||||
#define M_PI 3.14159265358979323846264338327950288 /* pi */
|
#define M_PI 3.14159265358979323846264338327950288 /**< pi */
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -118,8 +118,11 @@ typedef int (*SDL_blit) (struct SDL_Surface * src, SDL_Rect * srcrect,
|
||||||
extern DECLSPEC SDL_Surface *SDLCALL SDL_CreateRGBSurface
|
extern DECLSPEC SDL_Surface *SDLCALL SDL_CreateRGBSurface
|
||||||
(Uint32 flags, int width, int height, int depth,
|
(Uint32 flags, int width, int height, int depth,
|
||||||
Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask);
|
Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask);
|
||||||
|
|
||||||
|
/* !!! FIXME for 2.1: why does this ask for depth? Format provides that. */
|
||||||
extern DECLSPEC SDL_Surface *SDLCALL SDL_CreateRGBSurfaceWithFormat
|
extern DECLSPEC SDL_Surface *SDLCALL SDL_CreateRGBSurfaceWithFormat
|
||||||
(Uint32 flags, int width, int height, int depth, Uint32 format);
|
(Uint32 flags, int width, int height, int depth, Uint32 format);
|
||||||
|
|
||||||
extern DECLSPEC SDL_Surface *SDLCALL SDL_CreateRGBSurfaceFrom(void *pixels,
|
extern DECLSPEC SDL_Surface *SDLCALL SDL_CreateRGBSurfaceFrom(void *pixels,
|
||||||
int width,
|
int width,
|
||||||
int height,
|
int height,
|
||||||
|
|
|
@ -229,9 +229,9 @@ struct SDL_SysWMinfo
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
#if defined(__OBJC__) && defined(__has_feature) && __has_feature(objc_arc)
|
#if defined(__OBJC__) && defined(__has_feature) && __has_feature(objc_arc)
|
||||||
NSWindow __unsafe_unretained *window; /* The Cocoa window */
|
NSWindow __unsafe_unretained *window; /**< The Cocoa window */
|
||||||
#else
|
#else
|
||||||
NSWindow *window; /* The Cocoa window */
|
NSWindow *window; /**< The Cocoa window */
|
||||||
#endif
|
#endif
|
||||||
} cocoa;
|
} cocoa;
|
||||||
#endif
|
#endif
|
||||||
|
@ -239,13 +239,13 @@ struct SDL_SysWMinfo
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
#if defined(__OBJC__) && defined(__has_feature) && __has_feature(objc_arc)
|
#if defined(__OBJC__) && defined(__has_feature) && __has_feature(objc_arc)
|
||||||
UIWindow __unsafe_unretained *window; /* The UIKit window */
|
UIWindow __unsafe_unretained *window; /**< The UIKit window */
|
||||||
#else
|
#else
|
||||||
UIWindow *window; /* The UIKit window */
|
UIWindow *window; /**< The UIKit window */
|
||||||
#endif
|
#endif
|
||||||
GLuint framebuffer; /* The GL view's Framebuffer Object. It must be bound when rendering to the screen using GL. */
|
GLuint framebuffer; /**< The GL view's Framebuffer Object. It must be bound when rendering to the screen using GL. */
|
||||||
GLuint colorbuffer; /* The GL view's color Renderbuffer Object. It must be bound when SDL_GL_SwapWindow is called. */
|
GLuint colorbuffer; /**< The GL view's color Renderbuffer Object. It must be bound when SDL_GL_SwapWindow is called. */
|
||||||
GLuint resolveFramebuffer; /* The Framebuffer Object which holds the resolve color Renderbuffer, when MSAA is used. */
|
GLuint resolveFramebuffer; /**< The Framebuffer Object which holds the resolve color Renderbuffer, when MSAA is used. */
|
||||||
} uikit;
|
} uikit;
|
||||||
#endif
|
#endif
|
||||||
#if defined(SDL_VIDEO_DRIVER_WAYLAND)
|
#if defined(SDL_VIDEO_DRIVER_WAYLAND)
|
||||||
|
@ -280,8 +280,9 @@ struct SDL_SysWMinfo
|
||||||
} vivante;
|
} vivante;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Can't have an empty union */
|
/* Make sure this union is always 64 bytes (8 64-bit pointers). */
|
||||||
int dummy;
|
/* Be careful not to overflow this if you add a new target! */
|
||||||
|
Uint8 dummy[64];
|
||||||
} info;
|
} info;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -74,15 +74,15 @@ typedef int (SDLCALL * SDL_ThreadFunction) (void *data);
|
||||||
*
|
*
|
||||||
* We compile SDL into a DLL. This means, that it's the DLL which
|
* We compile SDL into a DLL. This means, that it's the DLL which
|
||||||
* creates a new thread for the calling process with the SDL_CreateThread()
|
* creates a new thread for the calling process with the SDL_CreateThread()
|
||||||
* API. There is a problem with this, that only the RTL of the SDL.DLL will
|
* API. There is a problem with this, that only the RTL of the SDL2.DLL will
|
||||||
* be initialized for those threads, and not the RTL of the calling
|
* be initialized for those threads, and not the RTL of the calling
|
||||||
* application!
|
* application!
|
||||||
*
|
*
|
||||||
* To solve this, we make a little hack here.
|
* To solve this, we make a little hack here.
|
||||||
*
|
*
|
||||||
* We'll always use the caller's _beginthread() and _endthread() APIs to
|
* We'll always use the caller's _beginthread() and _endthread() APIs to
|
||||||
* start a new thread. This way, if it's the SDL.DLL which uses this API,
|
* start a new thread. This way, if it's the SDL2.DLL which uses this API,
|
||||||
* then the RTL of SDL.DLL will be used to create the new thread, and if it's
|
* then the RTL of SDL2.DLL will be used to create the new thread, and if it's
|
||||||
* the application, then the RTL of the application will be used.
|
* the application, then the RTL of the application will be used.
|
||||||
*
|
*
|
||||||
* So, in short:
|
* So, in short:
|
||||||
|
|
|
@ -116,7 +116,8 @@ typedef enum
|
||||||
SDL_WINDOW_SKIP_TASKBAR = 0x00010000, /**< window should not be added to the taskbar */
|
SDL_WINDOW_SKIP_TASKBAR = 0x00010000, /**< window should not be added to the taskbar */
|
||||||
SDL_WINDOW_UTILITY = 0x00020000, /**< window should be treated as a utility window */
|
SDL_WINDOW_UTILITY = 0x00020000, /**< window should be treated as a utility window */
|
||||||
SDL_WINDOW_TOOLTIP = 0x00040000, /**< window should be treated as a tooltip */
|
SDL_WINDOW_TOOLTIP = 0x00040000, /**< window should be treated as a tooltip */
|
||||||
SDL_WINDOW_POPUP_MENU = 0x00080000 /**< window should be treated as a popup menu */
|
SDL_WINDOW_POPUP_MENU = 0x00080000, /**< window should be treated as a popup menu */
|
||||||
|
SDL_WINDOW_VULKAN = 0x00100000 /**< window usable for Vulkan surface */
|
||||||
} SDL_WindowFlags;
|
} SDL_WindowFlags;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -207,7 +208,7 @@ typedef enum
|
||||||
{
|
{
|
||||||
SDL_GL_CONTEXT_PROFILE_CORE = 0x0001,
|
SDL_GL_CONTEXT_PROFILE_CORE = 0x0001,
|
||||||
SDL_GL_CONTEXT_PROFILE_COMPATIBILITY = 0x0002,
|
SDL_GL_CONTEXT_PROFILE_COMPATIBILITY = 0x0002,
|
||||||
SDL_GL_CONTEXT_PROFILE_ES = 0x0004 /* GLX_CONTEXT_ES2_PROFILE_BIT_EXT */
|
SDL_GL_CONTEXT_PROFILE_ES = 0x0004 /**< GLX_CONTEXT_ES2_PROFILE_BIT_EXT */
|
||||||
} SDL_GLprofile;
|
} SDL_GLprofile;
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
|
@ -1110,11 +1111,16 @@ extern DECLSPEC void SDLCALL SDL_GL_ResetAttributes(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Set an OpenGL window attribute before window creation.
|
* \brief Set an OpenGL window attribute before window creation.
|
||||||
|
*
|
||||||
|
* \return 0 on success, or -1 if the attribute could not be set.
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC int SDLCALL SDL_GL_SetAttribute(SDL_GLattr attr, int value);
|
extern DECLSPEC int SDLCALL SDL_GL_SetAttribute(SDL_GLattr attr, int value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Get the actual value for an attribute from the current context.
|
* \brief Get the actual value for an attribute from the current context.
|
||||||
|
*
|
||||||
|
* \return 0 on success, or -1 if the attribute could not be retrieved.
|
||||||
|
* The integer at \c value will be modified in either case.
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC int SDLCALL SDL_GL_GetAttribute(SDL_GLattr attr, int *value);
|
extern DECLSPEC int SDLCALL SDL_GL_GetAttribute(SDL_GLattr attr, int *value);
|
||||||
|
|
||||||
|
|
|
@ -111,7 +111,7 @@
|
||||||
#elif defined(_MSC_VER) || defined(__BORLANDC__) || \
|
#elif defined(_MSC_VER) || defined(__BORLANDC__) || \
|
||||||
defined(__DMC__) || defined(__SC__) || \
|
defined(__DMC__) || defined(__SC__) || \
|
||||||
defined(__WATCOMC__) || defined(__LCC__) || \
|
defined(__WATCOMC__) || defined(__LCC__) || \
|
||||||
defined(__DECC)
|
defined(__DECC) || defined(__CC_ARM)
|
||||||
#define SDL_INLINE __inline
|
#define SDL_INLINE __inline
|
||||||
#ifndef __inline__
|
#ifndef __inline__
|
||||||
#define __inline__ __inline
|
#define __inline__ __inline
|
||||||
|
|
Binary file not shown.
|
@ -7,9 +7,9 @@ You may report bugs there, and search to see if a given issue has already
|
||||||
been reported, discussed, and maybe even fixed.
|
been reported, discussed, and maybe even fixed.
|
||||||
|
|
||||||
|
|
||||||
You may also find help on the SDL mailing list. Subscription information:
|
You may also find help at the SDL forums/mailing list:
|
||||||
|
|
||||||
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org
|
https://discourse.libsdl.org/
|
||||||
|
|
||||||
Bug reports are welcome here, but we really appreciate if you use Bugzilla, as
|
Bug reports are welcome here, but we really appreciate if you use Bugzilla, as
|
||||||
bugs discussed on the mailing list may be forgotten or missed.
|
bugs discussed on the mailing list may be forgotten or missed.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2017 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
|
||||||
|
|
|
@ -6,7 +6,7 @@ designed to make it easy to write multi-media software, such as games
|
||||||
and emulators.
|
and emulators.
|
||||||
|
|
||||||
The Simple DirectMedia Layer library source code is available from:
|
The Simple DirectMedia Layer library source code is available from:
|
||||||
http://www.libsdl.org/
|
https://www.libsdl.org/
|
||||||
|
|
||||||
This library is distributed under the terms of the zlib license:
|
This library is distributed under the terms of the zlib license:
|
||||||
http://www.zlib.net/zlib_license.html
|
http://www.zlib.net/zlib_license.html
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
Version 2.0
|
Version 2.0
|
||||||
|
|
||||||
---
|
---
|
||||||
http://www.libsdl.org/
|
https://www.libsdl.org/
|
||||||
|
|
||||||
Simple DirectMedia Layer is a cross-platform development library designed
|
Simple DirectMedia Layer is a cross-platform development library designed
|
||||||
to provide low level access to audio, keyboard, mouse, joystick, and graphics
|
to provide low level access to audio, keyboard, mouse, joystick, and graphics
|
||||||
|
|
|
@ -51,7 +51,7 @@ assert can have unique static variables associated with it.
|
||||||
/* Don't include intrin.h here because it contains C++ code */
|
/* Don't include intrin.h here because it contains C++ code */
|
||||||
extern void __cdecl __debugbreak(void);
|
extern void __cdecl __debugbreak(void);
|
||||||
#define SDL_TriggerBreakpoint() __debugbreak()
|
#define SDL_TriggerBreakpoint() __debugbreak()
|
||||||
#elif (!defined(__NACL__) && defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)))
|
#elif ( (!defined(__NACL__)) && ((defined(__GNUC__) || defined(__clang__)) && (defined(__i386__) || defined(__x86_64__))) )
|
||||||
#define SDL_TriggerBreakpoint() __asm__ __volatile__ ( "int $3\n\t" )
|
#define SDL_TriggerBreakpoint() __asm__ __volatile__ ( "int $3\n\t" )
|
||||||
#elif defined(HAVE_SIGNAL_H)
|
#elif defined(HAVE_SIGNAL_H)
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
|
|
|
@ -171,7 +171,7 @@ typedef struct SDL_AudioSpec
|
||||||
SDL_AudioFormat format; /**< Audio data format */
|
SDL_AudioFormat format; /**< Audio data format */
|
||||||
Uint8 channels; /**< Number of channels: 1 mono, 2 stereo */
|
Uint8 channels; /**< Number of channels: 1 mono, 2 stereo */
|
||||||
Uint8 silence; /**< Audio buffer silence value (calculated) */
|
Uint8 silence; /**< Audio buffer silence value (calculated) */
|
||||||
Uint16 samples; /**< Audio buffer size in samples (power of 2) */
|
Uint16 samples; /**< Audio buffer size in sample FRAMES (total samples divided by channel count) */
|
||||||
Uint16 padding; /**< Necessary for some compile environments */
|
Uint16 padding; /**< Necessary for some compile environments */
|
||||||
Uint32 size; /**< Audio buffer size in bytes (calculated) */
|
Uint32 size; /**< Audio buffer size in bytes (calculated) */
|
||||||
SDL_AudioCallback callback; /**< Callback that feeds the audio device (NULL to use SDL_QueueAudio()). */
|
SDL_AudioCallback callback; /**< Callback that feeds the audio device (NULL to use SDL_QueueAudio()). */
|
||||||
|
@ -184,7 +184,17 @@ typedef void (SDLCALL * SDL_AudioFilter) (struct SDL_AudioCVT * cvt,
|
||||||
SDL_AudioFormat format);
|
SDL_AudioFormat format);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A structure to hold a set of audio conversion filters and buffers.
|
* \brief Upper limit of filters in SDL_AudioCVT
|
||||||
|
*
|
||||||
|
* The maximum number of SDL_AudioFilter functions in SDL_AudioCVT is
|
||||||
|
* currently limited to 9. The SDL_AudioCVT.filters array has 10 pointers,
|
||||||
|
* one of which is the terminating NULL pointer.
|
||||||
|
*/
|
||||||
|
#define SDL_AUDIOCVT_MAX_FILTERS 9
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \struct SDL_AudioCVT
|
||||||
|
* \brief A structure to hold a set of audio conversion filters and buffers.
|
||||||
*
|
*
|
||||||
* Note that various parts of the conversion pipeline can take advantage
|
* Note that various parts of the conversion pipeline can take advantage
|
||||||
* of SIMD operations (like SSE2, for example). SDL_AudioCVT doesn't require
|
* of SIMD operations (like SSE2, for example). SDL_AudioCVT doesn't require
|
||||||
|
@ -214,7 +224,7 @@ typedef struct SDL_AudioCVT
|
||||||
int len_cvt; /**< Length of converted audio buffer */
|
int len_cvt; /**< Length of converted audio buffer */
|
||||||
int len_mult; /**< buffer must be len*len_mult big */
|
int len_mult; /**< buffer must be len*len_mult big */
|
||||||
double len_ratio; /**< Given len, final size is len*len_ratio */
|
double len_ratio; /**< Given len, final size is len*len_ratio */
|
||||||
SDL_AudioFilter filters[10]; /**< Filter list */
|
SDL_AudioFilter filters[SDL_AUDIOCVT_MAX_FILTERS + 1]; /**< NULL-terminated list of filter functions */
|
||||||
int filter_index; /**< Current audio conversion function */
|
int filter_index; /**< Current audio conversion function */
|
||||||
} SDL_AUDIOCVT_PACKED SDL_AudioCVT;
|
} SDL_AUDIOCVT_PACKED SDL_AudioCVT;
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
|
|
||||||
#ifndef SDL_config_android_h_
|
#ifndef SDL_config_android_h_
|
||||||
#define SDL_config_android_h_
|
#define SDL_config_android_h_
|
||||||
|
#define SDL_config_h_
|
||||||
|
|
||||||
#include "SDL_platform.h"
|
#include "SDL_platform.h"
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
|
|
||||||
#ifndef SDL_config_iphoneos_h_
|
#ifndef SDL_config_iphoneos_h_
|
||||||
#define SDL_config_iphoneos_h_
|
#define SDL_config_iphoneos_h_
|
||||||
|
#define SDL_config_h_
|
||||||
|
|
||||||
#include "SDL_platform.h"
|
#include "SDL_platform.h"
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
|
|
||||||
#ifndef SDL_config_macosx_h_
|
#ifndef SDL_config_macosx_h_
|
||||||
#define SDL_config_macosx_h_
|
#define SDL_config_macosx_h_
|
||||||
|
#define SDL_config_h_
|
||||||
|
|
||||||
#include "SDL_platform.h"
|
#include "SDL_platform.h"
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
|
|
||||||
#ifndef SDL_config_minimal_h_
|
#ifndef SDL_config_minimal_h_
|
||||||
#define SDL_config_minimal_h_
|
#define SDL_config_minimal_h_
|
||||||
|
#define SDL_config_h_
|
||||||
|
|
||||||
#include "SDL_platform.h"
|
#include "SDL_platform.h"
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,8 @@
|
||||||
3. This notice may not be removed or altered from any source distribution.
|
3. This notice may not be removed or altered from any source distribution.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef SDL_config_h_
|
#ifndef SDL_config_pandora_h_
|
||||||
|
#define SDL_config_pandora_h_
|
||||||
#define SDL_config_h_
|
#define SDL_config_h_
|
||||||
|
|
||||||
/* This is a set of defines to configure the SDL features */
|
/* This is a set of defines to configure the SDL features */
|
||||||
|
@ -124,4 +125,4 @@
|
||||||
#define SDL_VIDEO_RENDER_OGL_ES 1
|
#define SDL_VIDEO_RENDER_OGL_ES 1
|
||||||
#define SDL_VIDEO_OPENGL_ES 1
|
#define SDL_VIDEO_OPENGL_ES 1
|
||||||
|
|
||||||
#endif /* SDL_config_h_ */
|
#endif /* SDL_config_pandora_h_ */
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
|
|
||||||
#ifndef SDL_config_psp_h_
|
#ifndef SDL_config_psp_h_
|
||||||
#define SDL_config_psp_h_
|
#define SDL_config_psp_h_
|
||||||
|
#define SDL_config_h_
|
||||||
|
|
||||||
#include "SDL_platform.h"
|
#include "SDL_platform.h"
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
|
|
||||||
#ifndef SDL_config_windows_h_
|
#ifndef SDL_config_windows_h_
|
||||||
#define SDL_config_windows_h_
|
#define SDL_config_windows_h_
|
||||||
|
#define SDL_config_h_
|
||||||
|
|
||||||
#include "SDL_platform.h"
|
#include "SDL_platform.h"
|
||||||
|
|
||||||
|
@ -154,6 +155,7 @@ typedef unsigned int uintptr_t;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Enable various audio drivers */
|
/* Enable various audio drivers */
|
||||||
|
/*#define SDL_AUDIO_DRIVER_WASAPI 1*/
|
||||||
#define SDL_AUDIO_DRIVER_DSOUND 1
|
#define SDL_AUDIO_DRIVER_DSOUND 1
|
||||||
/*#define SDL_AUDIO_DRIVER_XAUDIO2 1*/
|
/*#define SDL_AUDIO_DRIVER_XAUDIO2 1*/
|
||||||
#define SDL_AUDIO_DRIVER_WINMM 1
|
#define SDL_AUDIO_DRIVER_WINMM 1
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
|
|
||||||
#ifndef SDL_config_winrt_h_
|
#ifndef SDL_config_winrt_h_
|
||||||
#define SDL_config_winrt_h_
|
#define SDL_config_winrt_h_
|
||||||
|
#define SDL_config_h_
|
||||||
|
|
||||||
#include "SDL_platform.h"
|
#include "SDL_platform.h"
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,8 @@
|
||||||
3. This notice may not be removed or altered from any source distribution.
|
3. This notice may not be removed or altered from any source distribution.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef SDL_config_h_
|
#ifndef SDL_config_wiz_h_
|
||||||
|
#define SDL_config_wiz_h_
|
||||||
#define SDL_config_h_
|
#define SDL_config_h_
|
||||||
|
|
||||||
/* This is a set of defines to configure the SDL features */
|
/* This is a set of defines to configure the SDL features */
|
||||||
|
@ -117,4 +118,4 @@
|
||||||
#define SDL_VIDEO_RENDER_OGL_ES 1
|
#define SDL_VIDEO_RENDER_OGL_ES 1
|
||||||
#define SDL_VIDEO_OPENGL_ES 1
|
#define SDL_VIDEO_OPENGL_ES 1
|
||||||
|
|
||||||
#endif /* SDL_config_h_ */
|
#endif /* SDL_config_wiz_h_ */
|
||||||
|
|
|
@ -724,7 +724,7 @@ extern DECLSPEC void SDLCALL SDL_FilterEvents(SDL_EventFilter filter,
|
||||||
/**
|
/**
|
||||||
* This function allows you to set the state of processing certain events.
|
* This function allows you to set the state of processing certain events.
|
||||||
* - If \c state is set to ::SDL_IGNORE, that event will be automatically
|
* - If \c state is set to ::SDL_IGNORE, that event will be automatically
|
||||||
* dropped from the event queue and will not event be filtered.
|
* dropped from the event queue and will not be filtered.
|
||||||
* - If \c state is set to ::SDL_ENABLE, that event will be processed
|
* - If \c state is set to ::SDL_ENABLE, that event will be processed
|
||||||
* normally.
|
* normally.
|
||||||
* - If \c state is set to ::SDL_QUERY, SDL_EventState() will return the
|
* - If \c state is set to ::SDL_QUERY, SDL_EventState() will return the
|
||||||
|
|
|
@ -22,12 +22,12 @@
|
||||||
/**
|
/**
|
||||||
* \file SDL_haptic.h
|
* \file SDL_haptic.h
|
||||||
*
|
*
|
||||||
* \brief The SDL Haptic subsystem allows you to control haptic (force feedback)
|
* \brief The SDL haptic subsystem allows you to control haptic (force feedback)
|
||||||
* devices.
|
* devices.
|
||||||
*
|
*
|
||||||
* The basic usage is as follows:
|
* The basic usage is as follows:
|
||||||
* - Initialize the Subsystem (::SDL_INIT_HAPTIC).
|
* - Initialize the subsystem (::SDL_INIT_HAPTIC).
|
||||||
* - Open a Haptic Device.
|
* - Open a haptic device.
|
||||||
* - SDL_HapticOpen() to open from index.
|
* - SDL_HapticOpen() to open from index.
|
||||||
* - SDL_HapticOpenFromJoystick() to open from an existing joystick.
|
* - SDL_HapticOpenFromJoystick() to open from an existing joystick.
|
||||||
* - Create an effect (::SDL_HapticEffect).
|
* - Create an effect (::SDL_HapticEffect).
|
||||||
|
@ -282,7 +282,7 @@ typedef struct _SDL_Haptic SDL_Haptic;
|
||||||
/**
|
/**
|
||||||
* \brief Device can be queried for effect status.
|
* \brief Device can be queried for effect status.
|
||||||
*
|
*
|
||||||
* Device can be queried for effect status.
|
* Device supports querying effect status.
|
||||||
*
|
*
|
||||||
* \sa SDL_HapticGetEffectStatus
|
* \sa SDL_HapticGetEffectStatus
|
||||||
*/
|
*/
|
||||||
|
@ -291,6 +291,8 @@ typedef struct _SDL_Haptic SDL_Haptic;
|
||||||
/**
|
/**
|
||||||
* \brief Device can be paused.
|
* \brief Device can be paused.
|
||||||
*
|
*
|
||||||
|
* Devices supports being paused.
|
||||||
|
*
|
||||||
* \sa SDL_HapticPause
|
* \sa SDL_HapticPause
|
||||||
* \sa SDL_HapticUnpause
|
* \sa SDL_HapticUnpause
|
||||||
*/
|
*/
|
||||||
|
@ -444,7 +446,7 @@ typedef struct SDL_HapticDirection
|
||||||
/**
|
/**
|
||||||
* \brief A structure containing a template for a Constant effect.
|
* \brief A structure containing a template for a Constant effect.
|
||||||
*
|
*
|
||||||
* The struct is exclusive to the ::SDL_HAPTIC_CONSTANT effect.
|
* This struct is exclusively for the ::SDL_HAPTIC_CONSTANT effect.
|
||||||
*
|
*
|
||||||
* A constant effect applies a constant force in the specified direction
|
* A constant effect applies a constant force in the specified direction
|
||||||
* to the joystick.
|
* to the joystick.
|
||||||
|
@ -676,6 +678,8 @@ typedef struct SDL_HapticLeftRight
|
||||||
/**
|
/**
|
||||||
* \brief A structure containing a template for the ::SDL_HAPTIC_CUSTOM effect.
|
* \brief A structure containing a template for the ::SDL_HAPTIC_CUSTOM effect.
|
||||||
*
|
*
|
||||||
|
* This struct is exclusively for the ::SDL_HAPTIC_CUSTOM effect.
|
||||||
|
*
|
||||||
* A custom force feedback effect is much like a periodic effect, where the
|
* A custom force feedback effect is much like a periodic effect, where the
|
||||||
* application can define its exact shape. You will have to allocate the
|
* application can define its exact shape. You will have to allocate the
|
||||||
* data yourself. Data should consist of channels * samples Uint16 samples.
|
* data yourself. Data should consist of channels * samples Uint16 samples.
|
||||||
|
@ -804,7 +808,7 @@ typedef union SDL_HapticEffect
|
||||||
extern DECLSPEC int SDLCALL SDL_NumHaptics(void);
|
extern DECLSPEC int SDLCALL SDL_NumHaptics(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Get the implementation dependent name of a Haptic device.
|
* \brief Get the implementation dependent name of a haptic device.
|
||||||
*
|
*
|
||||||
* This can be called before any joysticks are opened.
|
* This can be called before any joysticks are opened.
|
||||||
* If no name can be found, this function returns NULL.
|
* If no name can be found, this function returns NULL.
|
||||||
|
@ -817,9 +821,9 @@ extern DECLSPEC int SDLCALL SDL_NumHaptics(void);
|
||||||
extern DECLSPEC const char *SDLCALL SDL_HapticName(int device_index);
|
extern DECLSPEC const char *SDLCALL SDL_HapticName(int device_index);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Opens a Haptic device for usage.
|
* \brief Opens a haptic device for use.
|
||||||
*
|
*
|
||||||
* The index passed as an argument refers to the N'th Haptic device on this
|
* The index passed as an argument refers to the N'th haptic device on this
|
||||||
* system.
|
* system.
|
||||||
*
|
*
|
||||||
* When opening a haptic device, its gain will be set to maximum and
|
* When opening a haptic device, its gain will be set to maximum and
|
||||||
|
@ -885,15 +889,15 @@ extern DECLSPEC SDL_Haptic *SDLCALL SDL_HapticOpenFromMouse(void);
|
||||||
* \brief Checks to see if a joystick has haptic features.
|
* \brief Checks to see if a joystick has haptic features.
|
||||||
*
|
*
|
||||||
* \param joystick Joystick to test for haptic capabilities.
|
* \param joystick Joystick to test for haptic capabilities.
|
||||||
* \return 1 if the joystick is haptic, 0 if it isn't
|
* \return SDL_TRUE if the joystick is haptic, SDL_FALSE if it isn't
|
||||||
* or -1 if an error ocurred.
|
* or -1 if an error occurred.
|
||||||
*
|
*
|
||||||
* \sa SDL_HapticOpenFromJoystick
|
* \sa SDL_HapticOpenFromJoystick
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC int SDLCALL SDL_JoystickIsHaptic(SDL_Joystick * joystick);
|
extern DECLSPEC int SDLCALL SDL_JoystickIsHaptic(SDL_Joystick * joystick);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Opens a Haptic device for usage from a Joystick device.
|
* \brief Opens a haptic device for use from a joystick device.
|
||||||
*
|
*
|
||||||
* You must still close the haptic device separately. It will not be closed
|
* You must still close the haptic device separately. It will not be closed
|
||||||
* with the joystick.
|
* with the joystick.
|
||||||
|
@ -913,7 +917,7 @@ extern DECLSPEC SDL_Haptic *SDLCALL SDL_HapticOpenFromJoystick(SDL_Joystick *
|
||||||
joystick);
|
joystick);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Closes a Haptic device previously opened with SDL_HapticOpen().
|
* \brief Closes a haptic device previously opened with SDL_HapticOpen().
|
||||||
*
|
*
|
||||||
* \param haptic Haptic device to close.
|
* \param haptic Haptic device to close.
|
||||||
*/
|
*/
|
||||||
|
@ -957,7 +961,7 @@ extern DECLSPEC int SDLCALL SDL_HapticNumEffectsPlaying(SDL_Haptic * haptic);
|
||||||
* Example:
|
* Example:
|
||||||
* \code
|
* \code
|
||||||
* if (SDL_HapticQuery(haptic) & SDL_HAPTIC_CONSTANT) {
|
* if (SDL_HapticQuery(haptic) & SDL_HAPTIC_CONSTANT) {
|
||||||
* printf("We have constant haptic effect!");
|
* printf("We have constant haptic effect!\n");
|
||||||
* }
|
* }
|
||||||
* \endcode
|
* \endcode
|
||||||
*
|
*
|
||||||
|
@ -996,7 +1000,7 @@ extern DECLSPEC int SDLCALL SDL_HapticEffectSupported(SDL_Haptic * haptic,
|
||||||
*
|
*
|
||||||
* \param haptic Haptic device to create the effect on.
|
* \param haptic Haptic device to create the effect on.
|
||||||
* \param effect Properties of the effect to create.
|
* \param effect Properties of the effect to create.
|
||||||
* \return The id of the effect on success or -1 on error.
|
* \return The identifier of the effect on success or -1 on error.
|
||||||
*
|
*
|
||||||
* \sa SDL_HapticUpdateEffect
|
* \sa SDL_HapticUpdateEffect
|
||||||
* \sa SDL_HapticRunEffect
|
* \sa SDL_HapticRunEffect
|
||||||
|
@ -1008,13 +1012,13 @@ extern DECLSPEC int SDLCALL SDL_HapticNewEffect(SDL_Haptic * haptic,
|
||||||
/**
|
/**
|
||||||
* \brief Updates the properties of an effect.
|
* \brief Updates the properties of an effect.
|
||||||
*
|
*
|
||||||
* Can be used dynamically, although behaviour when dynamically changing
|
* Can be used dynamically, although behavior when dynamically changing
|
||||||
* direction may be strange. Specifically the effect may reupload itself
|
* direction may be strange. Specifically the effect may reupload itself
|
||||||
* and start playing from the start. You cannot change the type either when
|
* and start playing from the start. You cannot change the type either when
|
||||||
* running SDL_HapticUpdateEffect().
|
* running SDL_HapticUpdateEffect().
|
||||||
*
|
*
|
||||||
* \param haptic Haptic device that has the effect.
|
* \param haptic Haptic device that has the effect.
|
||||||
* \param effect Effect to update.
|
* \param effect Identifier of the effect to update.
|
||||||
* \param data New effect properties to use.
|
* \param data New effect properties to use.
|
||||||
* \return 0 on success or -1 on error.
|
* \return 0 on success or -1 on error.
|
||||||
*
|
*
|
||||||
|
|
|
@ -118,6 +118,17 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_RENDER_DIRECT3D11_DEBUG "SDL_RENDER_DIRECT3D11_DEBUG"
|
#define SDL_HINT_RENDER_DIRECT3D11_DEBUG "SDL_RENDER_DIRECT3D11_DEBUG"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable controlling the scaling policy for SDL_RenderSetLogicalSize.
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
* "0" or "letterbox" - Uses letterbox/sidebars to fit the entire rendering on screen
|
||||||
|
* "1" or "overscan" - Will zoom the rendering so it fills the entire screen, allowing edges to be drawn offscreen
|
||||||
|
*
|
||||||
|
* By default letterbox is used
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_RENDER_LOGICAL_SIZE_MODE "SDL_RENDER_LOGICAL_SIZE_MODE"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable controlling the scaling quality
|
* \brief A variable controlling the scaling quality
|
||||||
*
|
*
|
||||||
|
@ -264,6 +275,17 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH "SDL_MOUSE_FOCUS_CLICKTHROUGH"
|
#define SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH "SDL_MOUSE_FOCUS_CLICKTHROUGH"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable controlling whether touch events should generate synthetic mouse events
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
* "0" - Touch events will not generate mouse events
|
||||||
|
* "1" - Touch events will generate mouse events
|
||||||
|
*
|
||||||
|
* By default SDL will generate mouse events for touch events
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_TOUCH_MOUSE_EVENTS "SDL_TOUCH_MOUSE_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.
|
||||||
*
|
*
|
||||||
|
@ -337,7 +359,6 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_ACCELEROMETER_AS_JOYSTICK "SDL_ACCELEROMETER_AS_JOYSTICK"
|
#define SDL_HINT_ACCELEROMETER_AS_JOYSTICK "SDL_ACCELEROMETER_AS_JOYSTICK"
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable that lets you disable the detection and use of Xinput gamepad devices
|
* \brief A variable that lets you disable the detection and use of Xinput gamepad devices
|
||||||
*
|
*
|
||||||
|
@ -347,7 +368,6 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_XINPUT_ENABLED "SDL_XINPUT_ENABLED"
|
#define SDL_HINT_XINPUT_ENABLED "SDL_XINPUT_ENABLED"
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable that causes SDL to use the old axis and button mapping for XInput devices.
|
* \brief A variable that causes SDL to use the old axis and button mapping for XInput devices.
|
||||||
*
|
*
|
||||||
|
@ -357,9 +377,8 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_XINPUT_USE_OLD_JOYSTICK_MAPPING "SDL_XINPUT_USE_OLD_JOYSTICK_MAPPING"
|
#define SDL_HINT_XINPUT_USE_OLD_JOYSTICK_MAPPING "SDL_XINPUT_USE_OLD_JOYSTICK_MAPPING"
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable that lets you manually hint extra gamecontroller db entries
|
* \brief A variable that lets you manually hint extra gamecontroller db entries.
|
||||||
*
|
*
|
||||||
* The variable should be newline delimited rows of gamecontroller config data, see SDL_gamecontroller.h
|
* The variable should be newline delimited rows of gamecontroller config data, see SDL_gamecontroller.h
|
||||||
*
|
*
|
||||||
|
@ -368,6 +387,31 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_GAMECONTROLLERCONFIG "SDL_GAMECONTROLLERCONFIG"
|
#define SDL_HINT_GAMECONTROLLERCONFIG "SDL_GAMECONTROLLERCONFIG"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable containing a list of devices to skip when scanning for game controllers.
|
||||||
|
*
|
||||||
|
* The format of the string is a comma separated list of USB VID/PID pairs
|
||||||
|
* in hexadecimal form, e.g.
|
||||||
|
*
|
||||||
|
* 0xAAAA/0xBBBB,0xCCCC/0xDDDD
|
||||||
|
*
|
||||||
|
* The variable can also take the form of @file, in which case the named
|
||||||
|
* file will be loaded and interpreted as the value of the variable.
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES "SDL_GAMECONTROLLER_IGNORE_DEVICES"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief If set, all devices will be skipped when scanning for game controllers except for the ones listed in this variable.
|
||||||
|
*
|
||||||
|
* The format of the string is a comma separated list of USB VID/PID pairs
|
||||||
|
* in hexadecimal form, e.g.
|
||||||
|
*
|
||||||
|
* 0xAAAA/0xBBBB,0xCCCC/0xDDDD
|
||||||
|
*
|
||||||
|
* The variable can also take the form of @file, in which case the named
|
||||||
|
* file will be loaded and interpreted as the value of the variable.
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT "SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable that lets you enable joystick (and gamecontroller) events even when your app is in the background.
|
* \brief A variable that lets you enable joystick (and gamecontroller) events even when your app is in the background.
|
||||||
|
@ -382,7 +426,6 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS "SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS"
|
#define SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS "SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS"
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief If set to "0" then never set the top most bit on a SDL Window, even if the video mode expects it.
|
* \brief If set to "0" then never set the top most bit on a SDL Window, even if the video mode expects it.
|
||||||
* This is a debugging aid for developers and not expected to be used by end users. The default is "1"
|
* This is a debugging aid for developers and not expected to be used by end users. The default is "1"
|
||||||
|
@ -393,7 +436,6 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_ALLOW_TOPMOST "SDL_ALLOW_TOPMOST"
|
#define SDL_HINT_ALLOW_TOPMOST "SDL_ALLOW_TOPMOST"
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable that controls the timer resolution, in milliseconds.
|
* \brief A variable that controls the timer resolution, in milliseconds.
|
||||||
*
|
*
|
||||||
|
@ -726,13 +768,18 @@ extern "C" {
|
||||||
#define SDL_HINT_BMP_SAVE_LEGACY_FORMAT "SDL_BMP_SAVE_LEGACY_FORMAT"
|
#define SDL_HINT_BMP_SAVE_LEGACY_FORMAT "SDL_BMP_SAVE_LEGACY_FORMAT"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Tell SDL not to name threads on Windows.
|
* \brief Tell SDL not to name threads on Windows with the 0x406D1388 Exception.
|
||||||
|
* The 0x406D1388 Exception is a trick used to inform Visual Studio of a
|
||||||
|
* thread's name, but it tends to cause problems with other debuggers,
|
||||||
|
* and the .NET runtime. Note that SDL 2.0.6 and later will still use
|
||||||
|
* the (safer) SetThreadDescription API, introduced in the Windows 10
|
||||||
|
* Creators Update, if available.
|
||||||
*
|
*
|
||||||
* The variable can be set to the following values:
|
* The variable can be set to the following values:
|
||||||
* "0" - SDL will raise the 0x406D1388 Exception to name threads.
|
* "0" - SDL will raise the 0x406D1388 Exception to name threads.
|
||||||
* This is the default behavior of SDL <= 2.0.4. (default)
|
* This is the default behavior of SDL <= 2.0.4.
|
||||||
* "1" - SDL will not raise this exception, and threads will be unnamed.
|
* "1" - SDL will not raise this exception, and threads will be unnamed. (default)
|
||||||
* For .NET languages this is required when running under a debugger.
|
* This is necessary with .NET languages or debuggers that aren't Visual Studio.
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_WINDOWS_DISABLE_THREAD_NAMING "SDL_WINDOWS_DISABLE_THREAD_NAMING"
|
#define SDL_HINT_WINDOWS_DISABLE_THREAD_NAMING "SDL_WINDOWS_DISABLE_THREAD_NAMING"
|
||||||
|
|
||||||
|
|
|
@ -71,6 +71,13 @@ typedef struct {
|
||||||
Uint8 data[16];
|
Uint8 data[16];
|
||||||
} SDL_JoystickGUID;
|
} SDL_JoystickGUID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is a unique ID for a joystick for the time it is connected to the system,
|
||||||
|
* and is never reused for the lifetime of the application. If the joystick is
|
||||||
|
* disconnected and reconnected, it will get a new ID.
|
||||||
|
*
|
||||||
|
* The ID value starts at 0 and increments from there. The value -1 is an invalid ID.
|
||||||
|
*/
|
||||||
typedef Sint32 SDL_JoystickID;
|
typedef Sint32 SDL_JoystickID;
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
|
@ -144,6 +151,13 @@ extern DECLSPEC Uint16 SDLCALL SDL_JoystickGetDeviceProductVersion(int device_in
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC SDL_JoystickType SDLCALL SDL_JoystickGetDeviceType(int device_index);
|
extern DECLSPEC SDL_JoystickType SDLCALL SDL_JoystickGetDeviceType(int device_index);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the instance ID of a joystick.
|
||||||
|
* This can be called before any joysticks are opened.
|
||||||
|
* If the index is out of range, this function will return -1.
|
||||||
|
*/
|
||||||
|
extern DECLSPEC SDL_JoystickID SDLCALL SDL_JoystickGetDeviceInstanceID(int device_index);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Open a joystick for use.
|
* Open a joystick for use.
|
||||||
* The index passed as an argument refers to the N'th joystick on the system.
|
* The index passed as an argument refers to the N'th joystick on the system.
|
||||||
|
|
|
@ -308,7 +308,12 @@ enum
|
||||||
SDLK_KBDILLUMDOWN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KBDILLUMDOWN),
|
SDLK_KBDILLUMDOWN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KBDILLUMDOWN),
|
||||||
SDLK_KBDILLUMUP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KBDILLUMUP),
|
SDLK_KBDILLUMUP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KBDILLUMUP),
|
||||||
SDLK_EJECT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_EJECT),
|
SDLK_EJECT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_EJECT),
|
||||||
SDLK_SLEEP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_SLEEP)
|
SDLK_SLEEP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_SLEEP),
|
||||||
|
SDLK_APP1 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_APP1),
|
||||||
|
SDLK_APP2 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_APP2),
|
||||||
|
|
||||||
|
SDLK_AUDIOREWIND = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AUDIOREWIND),
|
||||||
|
SDLK_AUDIOFASTFORWARD = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AUDIOFASTFORWARD)
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef struct SDL_Cursor SDL_Cursor; /* Implementation dependent */
|
typedef struct SDL_Cursor SDL_Cursor; /**< Implementation dependent */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Cursor types for SDL_CreateSystemCursor().
|
* \brief Cursor types for SDL_CreateSystemCursor().
|
||||||
|
|
|
@ -370,9 +370,12 @@ extern DECLSPEC int SDLCALL SDL_GetTextureBlendMode(SDL_Texture * texture,
|
||||||
* \param texture The texture to update
|
* \param texture The texture to update
|
||||||
* \param rect A pointer to the rectangle of pixels to update, or NULL to
|
* \param rect A pointer to the rectangle of pixels to update, or NULL to
|
||||||
* update the entire texture.
|
* update the entire texture.
|
||||||
* \param pixels The raw pixel data.
|
* \param pixels The raw pixel data in the format of the texture.
|
||||||
* \param pitch The number of bytes in a row of pixel data, including padding between lines.
|
* \param pitch The number of bytes in a row of pixel data, including padding between lines.
|
||||||
*
|
*
|
||||||
|
* The pixel data must be in the format of the texture. The pixel format can be
|
||||||
|
* queried with SDL_QueryTexture.
|
||||||
|
*
|
||||||
* \return 0 on success, or -1 if the texture is not valid.
|
* \return 0 on success, or -1 if the texture is not valid.
|
||||||
*
|
*
|
||||||
* \note This is a fairly slow function.
|
* \note This is a fairly slow function.
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
#define SDL_REVISION "hg-10881:2a8921196432"
|
#define SDL_REVISION "hg-11216:908e4fe53f5a"
|
||||||
#define SDL_REVISION_NUMBER 10881
|
#define SDL_REVISION_NUMBER 11216
|
||||||
|
|
|
@ -39,12 +39,12 @@ extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* RWops Types */
|
/* RWops Types */
|
||||||
#define SDL_RWOPS_UNKNOWN 0U /* Unknown stream type */
|
#define SDL_RWOPS_UNKNOWN 0U /**< Unknown stream type */
|
||||||
#define SDL_RWOPS_WINFILE 1U /* Win32 file */
|
#define SDL_RWOPS_WINFILE 1U /**< Win32 file */
|
||||||
#define SDL_RWOPS_STDFILE 2U /* Stdio file */
|
#define SDL_RWOPS_STDFILE 2U /**< Stdio file */
|
||||||
#define SDL_RWOPS_JNIFILE 3U /* Android asset */
|
#define SDL_RWOPS_JNIFILE 3U /**< Android asset */
|
||||||
#define SDL_RWOPS_MEMORY 4U /* Memory stream */
|
#define SDL_RWOPS_MEMORY 4U /**< Memory stream */
|
||||||
#define SDL_RWOPS_MEMORY_RO 5U /* Read-Only memory stream */
|
#define SDL_RWOPS_MEMORY_RO 5U /**< Read-Only memory stream */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is the read/write operation structure -- very basic.
|
* This is the read/write operation structure -- very basic.
|
||||||
|
@ -190,6 +190,29 @@ extern DECLSPEC void SDLCALL SDL_FreeRW(SDL_RWops * area);
|
||||||
/* @} *//* Read/write macros */
|
/* @} *//* Read/write macros */
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Load all the data from an SDL data stream.
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
extern DECLSPEC void *SDLCALL SDL_LoadFile_RW(SDL_RWops * src, size_t *datasize,
|
||||||
|
int freesrc);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Load an entire file.
|
||||||
|
*
|
||||||
|
* Convenience macro.
|
||||||
|
*/
|
||||||
|
#define SDL_LoadFile(file, datasize) SDL_LoadFile_RW(SDL_RWFromFile(file, "rb"), datasize, 1)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \name Read endian functions
|
* \name Read endian functions
|
||||||
*
|
*
|
||||||
|
|
|
@ -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/devclass_docs/Hut1_12v2.pdf
|
* http://www.usb.org/developers/hidpage/Hut1_12v2.pdf
|
||||||
*/
|
*/
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
|
@ -390,6 +390,18 @@ typedef enum
|
||||||
|
|
||||||
/* @} *//* Walther keys */
|
/* @} *//* Walther keys */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \name Usage page 0x0C (additional media keys)
|
||||||
|
*
|
||||||
|
* These values are mapped from usage page 0x0C (USB consumer page).
|
||||||
|
*/
|
||||||
|
/* @{ */
|
||||||
|
|
||||||
|
SDL_SCANCODE_AUDIOREWIND = 285,
|
||||||
|
SDL_SCANCODE_AUDIOFASTFORWARD = 286,
|
||||||
|
|
||||||
|
/* @} *//* Usage page 0x0C (additional media keys) */
|
||||||
|
|
||||||
/* Add any other keys here. */
|
/* Add any other keys here. */
|
||||||
|
|
||||||
SDL_NUM_SCANCODES = 512 /**< not a key, just marks the number of scancodes
|
SDL_NUM_SCANCODES = 512 /**< not a key, just marks the number of scancodes
|
||||||
|
|
|
@ -71,6 +71,7 @@ extern DECLSPEC SDL_Window * SDLCALL SDL_CreateShapedWindow(const char *title,un
|
||||||
* \param window The window to query for being shaped.
|
* \param window The window to query for being shaped.
|
||||||
*
|
*
|
||||||
* \return SDL_TRUE if the window is a window that can be shaped, SDL_FALSE if the window is unshaped or NULL.
|
* \return SDL_TRUE if the window is a window that can be shaped, SDL_FALSE if the window is unshaped or NULL.
|
||||||
|
*
|
||||||
* \sa SDL_CreateShapedWindow
|
* \sa SDL_CreateShapedWindow
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC SDL_bool SDLCALL SDL_IsShapedWindow(const SDL_Window *window);
|
extern DECLSPEC SDL_bool SDLCALL SDL_IsShapedWindow(const SDL_Window *window);
|
||||||
|
@ -91,7 +92,7 @@ typedef enum {
|
||||||
|
|
||||||
/** \brief A union containing parameters for shaped windows. */
|
/** \brief A union containing parameters for shaped windows. */
|
||||||
typedef union {
|
typedef union {
|
||||||
/** \brief a cutoff alpha value for binarization of the window shape's alpha channel. */
|
/** \brief A cutoff alpha value for binarization of the window shape's alpha channel. */
|
||||||
Uint8 binarizationCutoff;
|
Uint8 binarizationCutoff;
|
||||||
SDL_Color colorKey;
|
SDL_Color colorKey;
|
||||||
} SDL_WindowShapeParams;
|
} SDL_WindowShapeParams;
|
||||||
|
@ -111,8 +112,8 @@ typedef struct SDL_WindowShapeMode {
|
||||||
* \param shape A surface encoding the desired shape for the window.
|
* \param shape A surface encoding the desired shape for the window.
|
||||||
* \param shape_mode The parameters to set for the shaped window.
|
* \param shape_mode The parameters to set for the shaped window.
|
||||||
*
|
*
|
||||||
* \return 0 on success, SDL_INVALID_SHAPE_ARGUMENT on invalid an invalid shape argument, or SDL_NONSHAPEABLE_WINDOW
|
* \return 0 on success, SDL_INVALID_SHAPE_ARGUMENT on an invalid shape argument, or SDL_NONSHAPEABLE_WINDOW
|
||||||
* if the SDL_Window* given does not reference a valid shaped window.
|
* if the SDL_Window given does not reference a valid shaped window.
|
||||||
*
|
*
|
||||||
* \sa SDL_WindowShapeMode
|
* \sa SDL_WindowShapeMode
|
||||||
* \sa SDL_GetShapedWindowMode.
|
* \sa SDL_GetShapedWindowMode.
|
||||||
|
@ -127,7 +128,7 @@ extern DECLSPEC int SDLCALL SDL_SetWindowShape(SDL_Window *window,SDL_Surface *s
|
||||||
*
|
*
|
||||||
* \return 0 if the window has a shape and, provided shape_mode was not NULL, shape_mode has been filled with the mode
|
* \return 0 if the window has a shape and, provided shape_mode was not NULL, shape_mode has been filled with the mode
|
||||||
* data, SDL_NONSHAPEABLE_WINDOW if the SDL_Window given is not a shaped window, or SDL_WINDOW_LACKS_SHAPE if
|
* data, SDL_NONSHAPEABLE_WINDOW if the SDL_Window given is not a shaped window, or SDL_WINDOW_LACKS_SHAPE if
|
||||||
* the SDL_Window* given is a shapeable window currently lacking a shape.
|
* the SDL_Window given is a shapeable window currently lacking a shape.
|
||||||
*
|
*
|
||||||
* \sa SDL_WindowShapeMode
|
* \sa SDL_WindowShapeMode
|
||||||
* \sa SDL_SetWindowShape
|
* \sa SDL_SetWindowShape
|
||||||
|
|
|
@ -127,11 +127,18 @@
|
||||||
*/
|
*/
|
||||||
/* @{ */
|
/* @{ */
|
||||||
|
|
||||||
|
#ifdef __CC_ARM
|
||||||
|
/* ARM's compiler throws warnings if we use an enum: like "SDL_bool x = a < b;" */
|
||||||
|
#define SDL_FALSE 0
|
||||||
|
#define SDL_TRUE 1
|
||||||
|
typedef int SDL_bool;
|
||||||
|
#else
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
SDL_FALSE = 0,
|
SDL_FALSE = 0,
|
||||||
SDL_TRUE = 1
|
SDL_TRUE = 1
|
||||||
} SDL_bool;
|
} SDL_bool;
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A signed 8-bit integer type.
|
* \brief A signed 8-bit integer type.
|
||||||
|
@ -262,7 +269,7 @@ typedef uint64_t Uint64;
|
||||||
#endif /* SDL_DISABLE_ANALYZE_MACROS */
|
#endif /* SDL_DISABLE_ANALYZE_MACROS */
|
||||||
|
|
||||||
#define SDL_COMPILE_TIME_ASSERT(name, x) \
|
#define SDL_COMPILE_TIME_ASSERT(name, x) \
|
||||||
typedef int SDL_dummy_ ## name[(x) * 2 - 1]
|
typedef int SDL_compile_time_assert_ ## name[(x) * 2 - 1]
|
||||||
/** \cond */
|
/** \cond */
|
||||||
#ifndef DOXYGEN_SHOULD_IGNORE_THIS
|
#ifndef DOXYGEN_SHOULD_IGNORE_THIS
|
||||||
SDL_COMPILE_TIME_ASSERT(uint8, sizeof(Uint8) == 1);
|
SDL_COMPILE_TIME_ASSERT(uint8, sizeof(Uint8) == 1);
|
||||||
|
@ -409,6 +416,7 @@ extern DECLSPEC char *SDLCALL SDL_strlwr(char *str);
|
||||||
extern DECLSPEC char *SDLCALL SDL_strchr(const char *str, int c);
|
extern DECLSPEC char *SDLCALL SDL_strchr(const char *str, int c);
|
||||||
extern DECLSPEC char *SDLCALL SDL_strrchr(const char *str, int c);
|
extern DECLSPEC char *SDLCALL SDL_strrchr(const char *str, int c);
|
||||||
extern DECLSPEC char *SDLCALL SDL_strstr(const char *haystack, const char *needle);
|
extern DECLSPEC char *SDLCALL SDL_strstr(const char *haystack, const char *needle);
|
||||||
|
extern DECLSPEC size_t SDLCALL SDL_utf8strlen(const char *str);
|
||||||
|
|
||||||
extern DECLSPEC char *SDLCALL SDL_itoa(int value, char *str, int radix);
|
extern DECLSPEC char *SDLCALL SDL_itoa(int value, char *str, int radix);
|
||||||
extern DECLSPEC char *SDLCALL SDL_uitoa(unsigned int value, char *str, int radix);
|
extern DECLSPEC char *SDLCALL SDL_uitoa(unsigned int value, char *str, int radix);
|
||||||
|
@ -437,7 +445,7 @@ extern DECLSPEC int SDLCALL SDL_vsnprintf(SDL_OUT_Z_CAP(maxlen) char *text, size
|
||||||
|
|
||||||
#ifndef HAVE_M_PI
|
#ifndef HAVE_M_PI
|
||||||
#ifndef M_PI
|
#ifndef M_PI
|
||||||
#define M_PI 3.14159265358979323846264338327950288 /* pi */
|
#define M_PI 3.14159265358979323846264338327950288 /**< pi */
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -118,8 +118,11 @@ typedef int (*SDL_blit) (struct SDL_Surface * src, SDL_Rect * srcrect,
|
||||||
extern DECLSPEC SDL_Surface *SDLCALL SDL_CreateRGBSurface
|
extern DECLSPEC SDL_Surface *SDLCALL SDL_CreateRGBSurface
|
||||||
(Uint32 flags, int width, int height, int depth,
|
(Uint32 flags, int width, int height, int depth,
|
||||||
Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask);
|
Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask);
|
||||||
|
|
||||||
|
/* !!! FIXME for 2.1: why does this ask for depth? Format provides that. */
|
||||||
extern DECLSPEC SDL_Surface *SDLCALL SDL_CreateRGBSurfaceWithFormat
|
extern DECLSPEC SDL_Surface *SDLCALL SDL_CreateRGBSurfaceWithFormat
|
||||||
(Uint32 flags, int width, int height, int depth, Uint32 format);
|
(Uint32 flags, int width, int height, int depth, Uint32 format);
|
||||||
|
|
||||||
extern DECLSPEC SDL_Surface *SDLCALL SDL_CreateRGBSurfaceFrom(void *pixels,
|
extern DECLSPEC SDL_Surface *SDLCALL SDL_CreateRGBSurfaceFrom(void *pixels,
|
||||||
int width,
|
int width,
|
||||||
int height,
|
int height,
|
||||||
|
|
|
@ -229,9 +229,9 @@ struct SDL_SysWMinfo
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
#if defined(__OBJC__) && defined(__has_feature) && __has_feature(objc_arc)
|
#if defined(__OBJC__) && defined(__has_feature) && __has_feature(objc_arc)
|
||||||
NSWindow __unsafe_unretained *window; /* The Cocoa window */
|
NSWindow __unsafe_unretained *window; /**< The Cocoa window */
|
||||||
#else
|
#else
|
||||||
NSWindow *window; /* The Cocoa window */
|
NSWindow *window; /**< The Cocoa window */
|
||||||
#endif
|
#endif
|
||||||
} cocoa;
|
} cocoa;
|
||||||
#endif
|
#endif
|
||||||
|
@ -239,13 +239,13 @@ struct SDL_SysWMinfo
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
#if defined(__OBJC__) && defined(__has_feature) && __has_feature(objc_arc)
|
#if defined(__OBJC__) && defined(__has_feature) && __has_feature(objc_arc)
|
||||||
UIWindow __unsafe_unretained *window; /* The UIKit window */
|
UIWindow __unsafe_unretained *window; /**< The UIKit window */
|
||||||
#else
|
#else
|
||||||
UIWindow *window; /* The UIKit window */
|
UIWindow *window; /**< The UIKit window */
|
||||||
#endif
|
#endif
|
||||||
GLuint framebuffer; /* The GL view's Framebuffer Object. It must be bound when rendering to the screen using GL. */
|
GLuint framebuffer; /**< The GL view's Framebuffer Object. It must be bound when rendering to the screen using GL. */
|
||||||
GLuint colorbuffer; /* The GL view's color Renderbuffer Object. It must be bound when SDL_GL_SwapWindow is called. */
|
GLuint colorbuffer; /**< The GL view's color Renderbuffer Object. It must be bound when SDL_GL_SwapWindow is called. */
|
||||||
GLuint resolveFramebuffer; /* The Framebuffer Object which holds the resolve color Renderbuffer, when MSAA is used. */
|
GLuint resolveFramebuffer; /**< The Framebuffer Object which holds the resolve color Renderbuffer, when MSAA is used. */
|
||||||
} uikit;
|
} uikit;
|
||||||
#endif
|
#endif
|
||||||
#if defined(SDL_VIDEO_DRIVER_WAYLAND)
|
#if defined(SDL_VIDEO_DRIVER_WAYLAND)
|
||||||
|
@ -280,8 +280,9 @@ struct SDL_SysWMinfo
|
||||||
} vivante;
|
} vivante;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Can't have an empty union */
|
/* Make sure this union is always 64 bytes (8 64-bit pointers). */
|
||||||
int dummy;
|
/* Be careful not to overflow this if you add a new target! */
|
||||||
|
Uint8 dummy[64];
|
||||||
} info;
|
} info;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -74,15 +74,15 @@ typedef int (SDLCALL * SDL_ThreadFunction) (void *data);
|
||||||
*
|
*
|
||||||
* We compile SDL into a DLL. This means, that it's the DLL which
|
* We compile SDL into a DLL. This means, that it's the DLL which
|
||||||
* creates a new thread for the calling process with the SDL_CreateThread()
|
* creates a new thread for the calling process with the SDL_CreateThread()
|
||||||
* API. There is a problem with this, that only the RTL of the SDL.DLL will
|
* API. There is a problem with this, that only the RTL of the SDL2.DLL will
|
||||||
* be initialized for those threads, and not the RTL of the calling
|
* be initialized for those threads, and not the RTL of the calling
|
||||||
* application!
|
* application!
|
||||||
*
|
*
|
||||||
* To solve this, we make a little hack here.
|
* To solve this, we make a little hack here.
|
||||||
*
|
*
|
||||||
* We'll always use the caller's _beginthread() and _endthread() APIs to
|
* We'll always use the caller's _beginthread() and _endthread() APIs to
|
||||||
* start a new thread. This way, if it's the SDL.DLL which uses this API,
|
* start a new thread. This way, if it's the SDL2.DLL which uses this API,
|
||||||
* then the RTL of SDL.DLL will be used to create the new thread, and if it's
|
* then the RTL of SDL2.DLL will be used to create the new thread, and if it's
|
||||||
* the application, then the RTL of the application will be used.
|
* the application, then the RTL of the application will be used.
|
||||||
*
|
*
|
||||||
* So, in short:
|
* So, in short:
|
||||||
|
|
|
@ -116,7 +116,8 @@ typedef enum
|
||||||
SDL_WINDOW_SKIP_TASKBAR = 0x00010000, /**< window should not be added to the taskbar */
|
SDL_WINDOW_SKIP_TASKBAR = 0x00010000, /**< window should not be added to the taskbar */
|
||||||
SDL_WINDOW_UTILITY = 0x00020000, /**< window should be treated as a utility window */
|
SDL_WINDOW_UTILITY = 0x00020000, /**< window should be treated as a utility window */
|
||||||
SDL_WINDOW_TOOLTIP = 0x00040000, /**< window should be treated as a tooltip */
|
SDL_WINDOW_TOOLTIP = 0x00040000, /**< window should be treated as a tooltip */
|
||||||
SDL_WINDOW_POPUP_MENU = 0x00080000 /**< window should be treated as a popup menu */
|
SDL_WINDOW_POPUP_MENU = 0x00080000, /**< window should be treated as a popup menu */
|
||||||
|
SDL_WINDOW_VULKAN = 0x00100000 /**< window usable for Vulkan surface */
|
||||||
} SDL_WindowFlags;
|
} SDL_WindowFlags;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -207,7 +208,7 @@ typedef enum
|
||||||
{
|
{
|
||||||
SDL_GL_CONTEXT_PROFILE_CORE = 0x0001,
|
SDL_GL_CONTEXT_PROFILE_CORE = 0x0001,
|
||||||
SDL_GL_CONTEXT_PROFILE_COMPATIBILITY = 0x0002,
|
SDL_GL_CONTEXT_PROFILE_COMPATIBILITY = 0x0002,
|
||||||
SDL_GL_CONTEXT_PROFILE_ES = 0x0004 /* GLX_CONTEXT_ES2_PROFILE_BIT_EXT */
|
SDL_GL_CONTEXT_PROFILE_ES = 0x0004 /**< GLX_CONTEXT_ES2_PROFILE_BIT_EXT */
|
||||||
} SDL_GLprofile;
|
} SDL_GLprofile;
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
|
@ -1110,11 +1111,16 @@ extern DECLSPEC void SDLCALL SDL_GL_ResetAttributes(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Set an OpenGL window attribute before window creation.
|
* \brief Set an OpenGL window attribute before window creation.
|
||||||
|
*
|
||||||
|
* \return 0 on success, or -1 if the attribute could not be set.
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC int SDLCALL SDL_GL_SetAttribute(SDL_GLattr attr, int value);
|
extern DECLSPEC int SDLCALL SDL_GL_SetAttribute(SDL_GLattr attr, int value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Get the actual value for an attribute from the current context.
|
* \brief Get the actual value for an attribute from the current context.
|
||||||
|
*
|
||||||
|
* \return 0 on success, or -1 if the attribute could not be retrieved.
|
||||||
|
* The integer at \c value will be modified in either case.
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC int SDLCALL SDL_GL_GetAttribute(SDL_GLattr attr, int *value);
|
extern DECLSPEC int SDLCALL SDL_GL_GetAttribute(SDL_GLattr attr, int *value);
|
||||||
|
|
||||||
|
|
|
@ -111,7 +111,7 @@
|
||||||
#elif defined(_MSC_VER) || defined(__BORLANDC__) || \
|
#elif defined(_MSC_VER) || defined(__BORLANDC__) || \
|
||||||
defined(__DMC__) || defined(__SC__) || \
|
defined(__DMC__) || defined(__SC__) || \
|
||||||
defined(__WATCOMC__) || defined(__LCC__) || \
|
defined(__WATCOMC__) || defined(__LCC__) || \
|
||||||
defined(__DECC)
|
defined(__DECC) || defined(__CC_ARM)
|
||||||
#define SDL_INLINE __inline
|
#define SDL_INLINE __inline
|
||||||
#ifndef __inline__
|
#ifndef __inline__
|
||||||
#define __inline__ __inline
|
#define __inline__ __inline
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -35,6 +35,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
|
#include <basetyps.h> /* for REFIID with broken mingw.org headers */
|
||||||
|
|
||||||
/* Routines to convert from UTF8 to native Windows text */
|
/* Routines to convert from UTF8 to native Windows text */
|
||||||
#if UNICODE
|
#if UNICODE
|
||||||
|
@ -62,6 +63,10 @@ extern BOOL WIN_IsWindowsVistaOrGreater(void);
|
||||||
/* You need to SDL_free() the result of this call. */
|
/* You need to SDL_free() the result of this call. */
|
||||||
extern char *WIN_LookupAudioDeviceName(const WCHAR *name, const GUID *guid);
|
extern char *WIN_LookupAudioDeviceName(const WCHAR *name, const GUID *guid);
|
||||||
|
|
||||||
|
/* Checks to see if two GUID are the same. */
|
||||||
|
extern BOOL WIN_IsEqualGUID(const GUID * a, const GUID * b);
|
||||||
|
extern BOOL WIN_IsEqualIID(REFIID a, REFIID b);
|
||||||
|
|
||||||
#endif /* _INCLUDED_WINDOWS_H */
|
#endif /* _INCLUDED_WINDOWS_H */
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
|
|
|
@ -296,6 +296,7 @@ SDL_JoystickGetAxisInitialState
|
||||||
SDL_JoystickGetBall
|
SDL_JoystickGetBall
|
||||||
SDL_JoystickGetButton
|
SDL_JoystickGetButton
|
||||||
SDL_JoystickGetDeviceGUID
|
SDL_JoystickGetDeviceGUID
|
||||||
|
SDL_JoystickGetDeviceInstanceID
|
||||||
SDL_JoystickGetDeviceProduct
|
SDL_JoystickGetDeviceProduct
|
||||||
SDL_JoystickGetDeviceProductVersion
|
SDL_JoystickGetDeviceProductVersion
|
||||||
SDL_JoystickGetDeviceType
|
SDL_JoystickGetDeviceType
|
||||||
|
@ -320,6 +321,7 @@ SDL_JoystickOpen
|
||||||
SDL_JoystickUpdate
|
SDL_JoystickUpdate
|
||||||
SDL_LoadBMP_RW
|
SDL_LoadBMP_RW
|
||||||
SDL_LoadDollarTemplates
|
SDL_LoadDollarTemplates
|
||||||
|
SDL_LoadFile_RW
|
||||||
SDL_LoadFunction
|
SDL_LoadFunction
|
||||||
SDL_LoadObject
|
SDL_LoadObject
|
||||||
SDL_LoadWAV_RW
|
SDL_LoadWAV_RW
|
||||||
|
@ -580,6 +582,7 @@ SDL_uitoa
|
||||||
SDL_ulltoa
|
SDL_ulltoa
|
||||||
SDL_ultoa
|
SDL_ultoa
|
||||||
SDL_utf8strlcpy
|
SDL_utf8strlcpy
|
||||||
|
SDL_utf8strlen
|
||||||
SDL_vsnprintf
|
SDL_vsnprintf
|
||||||
SDL_vsscanf
|
SDL_vsscanf
|
||||||
SDL_wcslcat
|
SDL_wcslcat
|
||||||
|
|
|
@ -293,6 +293,7 @@
|
||||||
++'_SDL_JoystickGetBall'.'SDL2.DLL'..'SDL_JoystickGetBall'
|
++'_SDL_JoystickGetBall'.'SDL2.DLL'..'SDL_JoystickGetBall'
|
||||||
++'_SDL_JoystickGetButton'.'SDL2.DLL'..'SDL_JoystickGetButton'
|
++'_SDL_JoystickGetButton'.'SDL2.DLL'..'SDL_JoystickGetButton'
|
||||||
++'_SDL_JoystickGetDeviceGUID'.'SDL2.DLL'..'SDL_JoystickGetDeviceGUID'
|
++'_SDL_JoystickGetDeviceGUID'.'SDL2.DLL'..'SDL_JoystickGetDeviceGUID'
|
||||||
|
++'_SDL_JoystickGetDeviceInstanceID'.'SDL2.DLL'..'SDL_JoystickGetDeviceInstanceID'
|
||||||
++'_SDL_JoystickGetDeviceProduct'.'SDL2.DLL'..'SDL_JoystickGetDeviceProduct'
|
++'_SDL_JoystickGetDeviceProduct'.'SDL2.DLL'..'SDL_JoystickGetDeviceProduct'
|
||||||
++'_SDL_JoystickGetDeviceProductVersion'.'SDL2.DLL'..'SDL_JoystickGetDeviceProductVersion'
|
++'_SDL_JoystickGetDeviceProductVersion'.'SDL2.DLL'..'SDL_JoystickGetDeviceProductVersion'
|
||||||
++'_SDL_JoystickGetDeviceType'.'SDL2.DLL'..'SDL_JoystickGetDeviceType'
|
++'_SDL_JoystickGetDeviceType'.'SDL2.DLL'..'SDL_JoystickGetDeviceType'
|
||||||
|
@ -317,6 +318,7 @@
|
||||||
++'_SDL_JoystickUpdate'.'SDL2.DLL'..'SDL_JoystickUpdate'
|
++'_SDL_JoystickUpdate'.'SDL2.DLL'..'SDL_JoystickUpdate'
|
||||||
++'_SDL_LoadBMP_RW'.'SDL2.DLL'..'SDL_LoadBMP_RW'
|
++'_SDL_LoadBMP_RW'.'SDL2.DLL'..'SDL_LoadBMP_RW'
|
||||||
++'_SDL_LoadDollarTemplates'.'SDL2.DLL'..'SDL_LoadDollarTemplates'
|
++'_SDL_LoadDollarTemplates'.'SDL2.DLL'..'SDL_LoadDollarTemplates'
|
||||||
|
++'_SDL_LoadFile_RW'.'SDL2.DLL'..'SDL_LoadFile_RW'
|
||||||
++'_SDL_LoadFunction'.'SDL2.DLL'..'SDL_LoadFunction'
|
++'_SDL_LoadFunction'.'SDL2.DLL'..'SDL_LoadFunction'
|
||||||
++'_SDL_LoadObject'.'SDL2.DLL'..'SDL_LoadObject'
|
++'_SDL_LoadObject'.'SDL2.DLL'..'SDL_LoadObject'
|
||||||
++'_SDL_LoadWAV_RW'.'SDL2.DLL'..'SDL_LoadWAV_RW'
|
++'_SDL_LoadWAV_RW'.'SDL2.DLL'..'SDL_LoadWAV_RW'
|
||||||
|
@ -577,6 +579,7 @@
|
||||||
++'_SDL_ulltoa'.'SDL2.DLL'..'SDL_ulltoa'
|
++'_SDL_ulltoa'.'SDL2.DLL'..'SDL_ulltoa'
|
||||||
++'_SDL_ultoa'.'SDL2.DLL'..'SDL_ultoa'
|
++'_SDL_ultoa'.'SDL2.DLL'..'SDL_ultoa'
|
||||||
++'_SDL_utf8strlcpy'.'SDL2.DLL'..'SDL_utf8strlcpy'
|
++'_SDL_utf8strlcpy'.'SDL2.DLL'..'SDL_utf8strlcpy'
|
||||||
|
++'_SDL_utf8strlen'.'SDL2.DLL'..'SDL_utf8strlen'
|
||||||
++'_SDL_vsnprintf'.'SDL2.DLL'..'SDL_vsnprintf'
|
++'_SDL_vsnprintf'.'SDL2.DLL'..'SDL_vsnprintf'
|
||||||
++'_SDL_vsscanf'.'SDL2.DLL'..'SDL_vsscanf'
|
++'_SDL_vsscanf'.'SDL2.DLL'..'SDL_vsscanf'
|
||||||
++'_SDL_wcslcat'.'SDL2.DLL'..'SDL_wcslcat'
|
++'_SDL_wcslcat'.'SDL2.DLL'..'SDL_wcslcat'
|
||||||
|
|
Binary file not shown.
Loading…
Reference in a new issue