mirror of
https://github.com/etlegacy/etlegacy-libs.git
synced 2025-02-24 04:01:12 +00:00
libs: updated to SDL 2.0.10
This commit is contained in:
parent
c6b91498a8
commit
95881ee707
886 changed files with 86473 additions and 21217 deletions
|
@ -20,6 +20,7 @@ LOCAL_SRC_FILES := \
|
||||||
$(wildcard $(LOCAL_PATH)/src/audio/*.c) \
|
$(wildcard $(LOCAL_PATH)/src/audio/*.c) \
|
||||||
$(wildcard $(LOCAL_PATH)/src/audio/android/*.c) \
|
$(wildcard $(LOCAL_PATH)/src/audio/android/*.c) \
|
||||||
$(wildcard $(LOCAL_PATH)/src/audio/dummy/*.c) \
|
$(wildcard $(LOCAL_PATH)/src/audio/dummy/*.c) \
|
||||||
|
$(wildcard $(LOCAL_PATH)/src/audio/openslES/*.c) \
|
||||||
$(LOCAL_PATH)/src/atomic/SDL_atomic.c.arm \
|
$(LOCAL_PATH)/src/atomic/SDL_atomic.c.arm \
|
||||||
$(LOCAL_PATH)/src/atomic/SDL_spinlock.c.arm \
|
$(LOCAL_PATH)/src/atomic/SDL_spinlock.c.arm \
|
||||||
$(wildcard $(LOCAL_PATH)/src/core/android/*.c) \
|
$(wildcard $(LOCAL_PATH)/src/core/android/*.c) \
|
||||||
|
@ -53,12 +54,30 @@ LOCAL_SRC_FILES := \
|
||||||
LOCAL_SHARED_LIBRARIES := hidapi
|
LOCAL_SHARED_LIBRARIES := hidapi
|
||||||
|
|
||||||
LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES
|
LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES
|
||||||
LOCAL_LDLIBS := -ldl -lGLESv1_CM -lGLESv2 -llog -landroid
|
LOCAL_CFLAGS += \
|
||||||
|
-Wall -Wextra \
|
||||||
|
-Wdocumentation \
|
||||||
|
-Wdocumentation-unknown-command \
|
||||||
|
-Wmissing-prototypes \
|
||||||
|
-Wunreachable-code-break \
|
||||||
|
-Wunneeded-internal-declaration \
|
||||||
|
-Wmissing-variable-declarations \
|
||||||
|
-Wfloat-conversion \
|
||||||
|
-Wshorten-64-to-32 \
|
||||||
|
-Wunreachable-code-return
|
||||||
|
|
||||||
|
# Warnings we haven't fixed (yet)
|
||||||
|
LOCAL_CFLAGS += -Wno-unused-parameter -Wno-sign-compare
|
||||||
|
|
||||||
|
|
||||||
|
LOCAL_LDLIBS := -ldl -lGLESv1_CM -lGLESv2 -lOpenSLES -llog -landroid
|
||||||
|
|
||||||
ifeq ($(NDK_DEBUG),1)
|
ifeq ($(NDK_DEBUG),1)
|
||||||
cmd-strip :=
|
cmd-strip :=
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
LOCAL_STATIC_LIBRARIES := cpufeatures
|
||||||
|
|
||||||
include $(BUILD_SHARED_LIBRARY)
|
include $(BUILD_SHARED_LIBRARY)
|
||||||
|
|
||||||
###########################
|
###########################
|
||||||
|
@ -108,3 +127,6 @@ LOCAL_MODULE := libhidapi
|
||||||
LOCAL_LDLIBS := -llog
|
LOCAL_LDLIBS := -llog
|
||||||
|
|
||||||
include $(BUILD_SHARED_LIBRARY)
|
include $(BUILD_SHARED_LIBRARY)
|
||||||
|
|
||||||
|
$(call import-module,android/cpufeatures)
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 2.8.11)
|
cmake_minimum_required(VERSION 2.8.11)
|
||||||
project(SDL2 C)
|
project(SDL2 C CXX)
|
||||||
|
|
||||||
# !!! FIXME: this should probably do "MACOSX_RPATH ON" as a target property
|
# !!! FIXME: this should probably do "MACOSX_RPATH ON" as a target property
|
||||||
# !!! FIXME: for the SDL2 shared library (so you get an
|
# !!! FIXME: for the SDL2 shared library (so you get an
|
||||||
|
@ -42,9 +42,9 @@ include(${SDL2_SOURCE_DIR}/cmake/sdlchecks.cmake)
|
||||||
# set SDL_BINARY_AGE and SDL_INTERFACE_AGE to 0.
|
# set SDL_BINARY_AGE and SDL_INTERFACE_AGE to 0.
|
||||||
set(SDL_MAJOR_VERSION 2)
|
set(SDL_MAJOR_VERSION 2)
|
||||||
set(SDL_MINOR_VERSION 0)
|
set(SDL_MINOR_VERSION 0)
|
||||||
set(SDL_MICRO_VERSION 9)
|
set(SDL_MICRO_VERSION 10)
|
||||||
set(SDL_INTERFACE_AGE 0)
|
set(SDL_INTERFACE_AGE 0)
|
||||||
set(SDL_BINARY_AGE 9)
|
set(SDL_BINARY_AGE 10)
|
||||||
set(SDL_VERSION "${SDL_MAJOR_VERSION}.${SDL_MINOR_VERSION}.${SDL_MICRO_VERSION}")
|
set(SDL_VERSION "${SDL_MAJOR_VERSION}.${SDL_MINOR_VERSION}.${SDL_MICRO_VERSION}")
|
||||||
# the following should match the versions in Xcode project file:
|
# the following should match the versions in Xcode project file:
|
||||||
set(DYLIB_CURRENT_VERSION 10.0.0)
|
set(DYLIB_CURRENT_VERSION 10.0.0)
|
||||||
|
@ -64,7 +64,7 @@ set(LT_REVISION "${SDL_INTERFACE_AGE}")
|
||||||
set(LT_RELEASE "${SDL_MAJOR_VERSION}.${SDL_MINOR_VERSION}")
|
set(LT_RELEASE "${SDL_MAJOR_VERSION}.${SDL_MINOR_VERSION}")
|
||||||
set(LT_VERSION "${LT_MAJOR}.${LT_AGE}.${LT_REVISION}")
|
set(LT_VERSION "${LT_MAJOR}.${LT_AGE}.${LT_REVISION}")
|
||||||
|
|
||||||
message(STATUS "${LT_VERSION} :: ${LT_AGE} :: ${LT_REVISION} :: ${LT_CURRENT} :: ${LT_RELEASE}")
|
#message(STATUS "${LT_VERSION} :: ${LT_AGE} :: ${LT_REVISION} :: ${LT_CURRENT} :: ${LT_RELEASE}")
|
||||||
|
|
||||||
# General settings & flags
|
# General settings & flags
|
||||||
set(LIBRARY_OUTPUT_DIRECTORY "build")
|
set(LIBRARY_OUTPUT_DIRECTORY "build")
|
||||||
|
@ -155,6 +155,20 @@ if(UNIX OR MINGW OR MSYS)
|
||||||
set(OPT_DEF_LIBC ON)
|
set(OPT_DEF_LIBC ON)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# The hidraw support doesn't catch Xbox, PS4 and Nintendo controllers,
|
||||||
|
# so we'll just use libusb when it's available. Except that libusb
|
||||||
|
# requires root permissions to open devices, so that's not generally
|
||||||
|
# useful, and we'll disable this by default on Unix. Windows and macOS
|
||||||
|
# can use it without root access, though, so enable by default there.
|
||||||
|
if(WINDOWS OR APPLE OR ANDROID)
|
||||||
|
set(HIDAPI_SKIP_LIBUSB TRUE)
|
||||||
|
else()
|
||||||
|
set(HIDAPI_SKIP_LIBUSB FALSE)
|
||||||
|
endif()
|
||||||
|
if (HIDAPI_SKIP_LIBUSB)
|
||||||
|
set(OPT_DEF_HIDAPI ON)
|
||||||
|
endif()
|
||||||
|
|
||||||
# Compiler info
|
# Compiler info
|
||||||
if(CMAKE_COMPILER_IS_GNUCC)
|
if(CMAKE_COMPILER_IS_GNUCC)
|
||||||
set(USE_GCC TRUE)
|
set(USE_GCC TRUE)
|
||||||
|
@ -264,8 +278,23 @@ if(EMSCRIPTEN)
|
||||||
set(SDL_DLOPEN_ENABLED_BY_DEFAULT OFF)
|
set(SDL_DLOPEN_ENABLED_BY_DEFAULT OFF)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# When defined, respect CMake's BUILD_SHARED_LIBS setting:
|
||||||
|
set(SDL_STATIC_ENABLED_BY_DEFAULT ON)
|
||||||
if (NOT DEFINED SDL_SHARED_ENABLED_BY_DEFAULT)
|
if (NOT DEFINED SDL_SHARED_ENABLED_BY_DEFAULT)
|
||||||
|
# ...unless decided already (as for EMSCRIPTEN)
|
||||||
|
|
||||||
|
set(SDL_SHARED_ENABLED_BY_DEFAULT OFF)
|
||||||
|
|
||||||
|
if (NOT DEFINED BUILD_SHARED_LIBS)
|
||||||
|
# No preference? Build both, just like the AC/AM configure
|
||||||
set(SDL_SHARED_ENABLED_BY_DEFAULT ON)
|
set(SDL_SHARED_ENABLED_BY_DEFAULT ON)
|
||||||
|
|
||||||
|
elseif (BUILD_SHARED_LIBS)
|
||||||
|
# In this case, we assume the user wants a shared lib and don't build
|
||||||
|
# the static one
|
||||||
|
set(SDL_SHARED_ENABLED_BY_DEFAULT ON)
|
||||||
|
set(SDL_STATIC_ENABLED_BY_DEFAULT OFF)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(SDL_SUBSYSTEMS
|
set(SDL_SUBSYSTEMS
|
||||||
|
@ -326,8 +355,6 @@ set_option(VIDEO_X11 "Use X11 video driver" ${UNIX_SYS})
|
||||||
set_option(VIDEO_WAYLAND "Use Wayland video driver" ${UNIX_SYS})
|
set_option(VIDEO_WAYLAND "Use Wayland video driver" ${UNIX_SYS})
|
||||||
dep_option(WAYLAND_SHARED "Dynamically load Wayland support" ON "VIDEO_WAYLAND" OFF)
|
dep_option(WAYLAND_SHARED "Dynamically load Wayland support" ON "VIDEO_WAYLAND" OFF)
|
||||||
dep_option(VIDEO_WAYLAND_QT_TOUCH "QtWayland server support for Wayland video driver" ON "VIDEO_WAYLAND" OFF)
|
dep_option(VIDEO_WAYLAND_QT_TOUCH "QtWayland server support for Wayland video driver" ON "VIDEO_WAYLAND" OFF)
|
||||||
set_option(VIDEO_MIR "Use Mir video driver" ${UNIX_SYS})
|
|
||||||
dep_option(MIR_SHARED "Dynamically load Mir support" ON "VIDEO_MIR" OFF)
|
|
||||||
set_option(VIDEO_RPI "Use Raspberry Pi video driver" ${UNIX_SYS})
|
set_option(VIDEO_RPI "Use Raspberry Pi video driver" ${UNIX_SYS})
|
||||||
dep_option(X11_SHARED "Dynamically load X11 support" ON "VIDEO_X11" OFF)
|
dep_option(X11_SHARED "Dynamically load X11 support" ON "VIDEO_X11" OFF)
|
||||||
set(SDL_X11_OPTIONS Xcursor Xinerama XInput Xrandr Xscrnsaver XShape Xvm)
|
set(SDL_X11_OPTIONS Xcursor Xinerama XInput Xrandr Xscrnsaver XShape Xvm)
|
||||||
|
@ -343,11 +370,12 @@ set_option(VIDEO_VIVANTE "Use Vivante EGL video driver" ${UNIX_SYS})
|
||||||
dep_option(VIDEO_VULKAN "Enable Vulkan support" ON "ANDROID OR APPLE OR LINUX OR WINDOWS" OFF)
|
dep_option(VIDEO_VULKAN "Enable Vulkan support" ON "ANDROID OR APPLE OR LINUX OR WINDOWS" OFF)
|
||||||
set_option(VIDEO_KMSDRM "Use KMS DRM video driver" ${UNIX_SYS})
|
set_option(VIDEO_KMSDRM "Use KMS DRM video driver" ${UNIX_SYS})
|
||||||
dep_option(KMSDRM_SHARED "Dynamically load KMS DRM support" ON "VIDEO_KMSDRM" OFF)
|
dep_option(KMSDRM_SHARED "Dynamically load KMS DRM support" ON "VIDEO_KMSDRM" OFF)
|
||||||
|
option_string(BACKGROUNDING_SIGNAL "number to use for magic backgrounding signal or 'OFF'" "OFF")
|
||||||
|
option_string(FOREGROUNDING_SIGNAL "number to use for magic foregrounding signal or 'OFF'" "OFF")
|
||||||
|
set_option(HIDAPI "Use HIDAPI for low level joystick drivers" ${OPT_DEF_HIDAPI})
|
||||||
|
|
||||||
# TODO: We should (should we?) respect cmake's ${BUILD_SHARED_LIBS} flag here
|
|
||||||
# The options below are for compatibility to configure's default behaviour.
|
|
||||||
set(SDL_SHARED ${SDL_SHARED_ENABLED_BY_DEFAULT} CACHE BOOL "Build a shared version of the library")
|
set(SDL_SHARED ${SDL_SHARED_ENABLED_BY_DEFAULT} CACHE BOOL "Build a shared version of the library")
|
||||||
set(SDL_STATIC ON CACHE BOOL "Build a static version of the library")
|
set(SDL_STATIC ${SDL_STATIC_ENABLED_BY_DEFAULT} CACHE BOOL "Build a static version of the library")
|
||||||
|
|
||||||
dep_option(SDL_STATIC_PIC "Static version of the library should be built with Position Independent Code" OFF "SDL_STATIC" OFF)
|
dep_option(SDL_STATIC_PIC "Static version of the library should be built with Position Independent Code" OFF "SDL_STATIC" OFF)
|
||||||
set_option(SDL_TEST "Build the test directory" OFF)
|
set_option(SDL_TEST "Build the test directory" OFF)
|
||||||
|
@ -386,6 +414,14 @@ else()
|
||||||
endif()
|
endif()
|
||||||
set(HAVE_ASSERTIONS ${ASSERTIONS})
|
set(HAVE_ASSERTIONS ${ASSERTIONS})
|
||||||
|
|
||||||
|
if(NOT BACKGROUNDING_SIGNAL STREQUAL "OFF")
|
||||||
|
add_definitions("-DSDL_BACKGROUNDING_SIGNAL=${BACKGROUNDING_SIGNAL}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT FOREGROUNDING_SIGNAL STREQUAL "OFF")
|
||||||
|
add_definitions("-DSDL_FOREGROUNDING_SIGNAL=${FOREGROUNDING_SIGNAL}")
|
||||||
|
endif()
|
||||||
|
|
||||||
# Compiler option evaluation
|
# Compiler option evaluation
|
||||||
if(USE_GCC OR USE_CLANG)
|
if(USE_GCC OR USE_CLANG)
|
||||||
# Check for -Wall first, so later things can override pieces of it.
|
# Check for -Wall first, so later things can override pieces of it.
|
||||||
|
@ -397,6 +433,11 @@ if(USE_GCC OR USE_CLANG)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
check_c_compiler_flag(-fno-strict-aliasing HAVE_GCC_NO_STRICT_ALIASING)
|
||||||
|
if(HAVE_GCC_NO_STRICT_ALIASING)
|
||||||
|
list(APPEND EXTRA_CFLAGS "-fno-strict-aliasing")
|
||||||
|
endif()
|
||||||
|
|
||||||
check_c_compiler_flag(-Wdeclaration-after-statement HAVE_GCC_WDECLARATION_AFTER_STATEMENT)
|
check_c_compiler_flag(-Wdeclaration-after-statement HAVE_GCC_WDECLARATION_AFTER_STATEMENT)
|
||||||
if(HAVE_GCC_WDECLARATION_AFTER_STATEMENT)
|
if(HAVE_GCC_WDECLARATION_AFTER_STATEMENT)
|
||||||
check_c_compiler_flag(-Werror=declaration-after-statement HAVE_GCC_WERROR_DECLARATION_AFTER_STATEMENT)
|
check_c_compiler_flag(-Werror=declaration-after-statement HAVE_GCC_WERROR_DECLARATION_AFTER_STATEMENT)
|
||||||
|
@ -691,7 +732,7 @@ if(LIBC)
|
||||||
_uitoa _ultoa strtol strtoul _i64toa _ui64toa strtoll strtoull
|
_uitoa _ultoa strtol strtoul _i64toa _ui64toa strtoll strtoull
|
||||||
atoi atof strcmp strncmp _stricmp strcasecmp _strnicmp strncasecmp
|
atoi atof strcmp strncmp _stricmp strcasecmp _strnicmp strncasecmp
|
||||||
vsscanf vsnprintf fopen64 fseeko fseeko64 sigaction setjmp
|
vsscanf vsnprintf fopen64 fseeko fseeko64 sigaction setjmp
|
||||||
nanosleep sysconf sysctlbyname getauxval poll
|
nanosleep sysconf sysctlbyname getauxval poll _Exit
|
||||||
)
|
)
|
||||||
string(TOUPPER ${_FN} _UPPER)
|
string(TOUPPER ${_FN} _UPPER)
|
||||||
set(_HAVEVAR "HAVE_${_UPPER}")
|
set(_HAVEVAR "HAVE_${_UPPER}")
|
||||||
|
@ -763,7 +804,7 @@ if(SDL_POWER)
|
||||||
file(GLOB POWER_SOURCES ${SDL2_SOURCE_DIR}/src/power/*.c)
|
file(GLOB POWER_SOURCES ${SDL2_SOURCE_DIR}/src/power/*.c)
|
||||||
set(SOURCE_FILES ${SOURCE_FILES} ${POWER_SOURCES})
|
set(SOURCE_FILES ${SOURCE_FILES} ${POWER_SOURCES})
|
||||||
endif()
|
endif()
|
||||||
# TODO: in configure.in, the test for LOADSO and SDL_DLOPEN is a bit weird:
|
# TODO: in configure.ac, the test for LOADSO and SDL_DLOPEN is a bit weird:
|
||||||
# if LOADSO is not wanted, SDL_LOADSO_DISABLED is set
|
# if LOADSO is not wanted, SDL_LOADSO_DISABLED is set
|
||||||
# If however on Unix or APPLE dlopen() is detected via CheckDLOPEN(),
|
# If however on Unix or APPLE dlopen() is detected via CheckDLOPEN(),
|
||||||
# SDL_LOADSO_DISABLED will not be set, regardless of the LOADSO settings
|
# SDL_LOADSO_DISABLED will not be set, regardless of the LOADSO settings
|
||||||
|
@ -802,6 +843,7 @@ if(SDL_VIDEO)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# Platform-specific options and settings
|
||||||
if(ANDROID)
|
if(ANDROID)
|
||||||
file(GLOB ANDROID_CORE_SOURCES ${SDL2_SOURCE_DIR}/src/core/android/*.c)
|
file(GLOB ANDROID_CORE_SOURCES ${SDL2_SOURCE_DIR}/src/core/android/*.c)
|
||||||
set(SOURCE_FILES ${SOURCE_FILES} ${ANDROID_CORE_SOURCES})
|
set(SOURCE_FILES ${SOURCE_FILES} ${ANDROID_CORE_SOURCES})
|
||||||
|
@ -837,6 +879,7 @@ if(ANDROID)
|
||||||
set(HAVE_SDL_HAPTIC TRUE)
|
set(HAVE_SDL_HAPTIC TRUE)
|
||||||
endif()
|
endif()
|
||||||
if(SDL_JOYSTICK)
|
if(SDL_JOYSTICK)
|
||||||
|
CheckHIDAPI()
|
||||||
set(SDL_JOYSTICK_ANDROID 1)
|
set(SDL_JOYSTICK_ANDROID 1)
|
||||||
file(GLOB ANDROID_JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/android/*.c ${SDL2_SOURCE_DIR}/src/joystick/steam/*.c)
|
file(GLOB ANDROID_JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/android/*.c ${SDL2_SOURCE_DIR}/src/joystick/steam/*.c)
|
||||||
set(SOURCE_FILES ${SOURCE_FILES} ${ANDROID_JOYSTICK_SOURCES})
|
set(SOURCE_FILES ${SOURCE_FILES} ${ANDROID_JOYSTICK_SOURCES})
|
||||||
|
@ -883,6 +926,8 @@ if(ANDROID)
|
||||||
if(VIDEO_OPENGLES)
|
if(VIDEO_OPENGLES)
|
||||||
set(SDL_VIDEO_OPENGL_EGL 1)
|
set(SDL_VIDEO_OPENGL_EGL 1)
|
||||||
set(HAVE_VIDEO_OPENGLES TRUE)
|
set(HAVE_VIDEO_OPENGLES TRUE)
|
||||||
|
set(SDL_VIDEO_OPENGL_ES 1)
|
||||||
|
set(SDL_VIDEO_RENDER_OGL_ES 1)
|
||||||
set(SDL_VIDEO_OPENGL_ES2 1)
|
set(SDL_VIDEO_OPENGL_ES2 1)
|
||||||
set(SDL_VIDEO_RENDER_OGL_ES2 1)
|
set(SDL_VIDEO_RENDER_OGL_ES2 1)
|
||||||
|
|
||||||
|
@ -908,10 +953,7 @@ if(ANDROID)
|
||||||
|
|
||||||
CheckPTHREAD()
|
CheckPTHREAD()
|
||||||
|
|
||||||
endif()
|
elseif(EMSCRIPTEN)
|
||||||
|
|
||||||
# Platform-specific options and settings
|
|
||||||
if(EMSCRIPTEN)
|
|
||||||
# Hide noisy warnings that intend to aid mostly during initial stages of porting a new
|
# Hide noisy warnings that intend to aid mostly during initial stages of porting a new
|
||||||
# project. Uncomment at will for verbose cross-compiling -I/../ path info.
|
# project. Uncomment at will for verbose cross-compiling -I/../ path info.
|
||||||
add_definitions(-Wno-warn-absolute-paths)
|
add_definitions(-Wno-warn-absolute-paths)
|
||||||
|
@ -963,6 +1005,7 @@ if(EMSCRIPTEN)
|
||||||
set(SDL_VIDEO_RENDER_OGL_ES2 1)
|
set(SDL_VIDEO_RENDER_OGL_ES2 1)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
elseif(UNIX AND NOT APPLE AND NOT ANDROID)
|
elseif(UNIX AND NOT APPLE AND NOT ANDROID)
|
||||||
if(SDL_AUDIO)
|
if(SDL_AUDIO)
|
||||||
if(SYSV5 OR SOLARIS OR HPUX)
|
if(SYSV5 OR SOLARIS OR HPUX)
|
||||||
|
@ -997,7 +1040,6 @@ elseif(UNIX AND NOT APPLE AND NOT ANDROID)
|
||||||
# Need to check for Raspberry PI first and add platform specific compiler flags, otherwise the test for GLES fails!
|
# Need to check for Raspberry PI first and add platform specific compiler flags, otherwise the test for GLES fails!
|
||||||
CheckRPI()
|
CheckRPI()
|
||||||
CheckX11()
|
CheckX11()
|
||||||
CheckMir()
|
|
||||||
CheckDirectFB()
|
CheckDirectFB()
|
||||||
CheckOpenGLX11()
|
CheckOpenGLX11()
|
||||||
CheckOpenGLESX11()
|
CheckOpenGLESX11()
|
||||||
|
@ -1087,6 +1129,7 @@ elseif(UNIX AND NOT APPLE AND NOT ANDROID)
|
||||||
|
|
||||||
if(SDL_JOYSTICK)
|
if(SDL_JOYSTICK)
|
||||||
CheckUSBHID() # seems to be BSD specific - limit the test to BSD only?
|
CheckUSBHID() # seems to be BSD specific - limit the test to BSD only?
|
||||||
|
CheckHIDAPI()
|
||||||
if(LINUX AND NOT ANDROID)
|
if(LINUX AND NOT ANDROID)
|
||||||
set(SDL_JOYSTICK_LINUX 1)
|
set(SDL_JOYSTICK_LINUX 1)
|
||||||
file(GLOB JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/linux/*.c ${SDL2_SOURCE_DIR}/src/joystick/steam/*.c)
|
file(GLOB JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/linux/*.c ${SDL2_SOURCE_DIR}/src/joystick/steam/*.c)
|
||||||
|
@ -1292,9 +1335,9 @@ elseif(WINDOWS)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Libraries for Win32 native and MinGW
|
# Libraries for Win32 native and MinGW
|
||||||
list(APPEND EXTRA_LIBS user32 gdi32 winmm imm32 ole32 oleaut32 version uuid advapi32 shell32)
|
list(APPEND EXTRA_LIBS user32 gdi32 winmm imm32 ole32 oleaut32 version uuid advapi32 setupapi shell32)
|
||||||
|
|
||||||
# TODO: in configure.in the check for timers is set on
|
# TODO: in configure.ac the check for timers is set on
|
||||||
# cygwin | mingw32* - does this include mingw32CE?
|
# cygwin | mingw32* - does this include mingw32CE?
|
||||||
if(SDL_TIMERS)
|
if(SDL_TIMERS)
|
||||||
set(SDL_TIMER_WINDOWS 1)
|
set(SDL_TIMER_WINDOWS 1)
|
||||||
|
@ -1330,6 +1373,10 @@ elseif(WINDOWS)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(SDL_JOYSTICK)
|
if(SDL_JOYSTICK)
|
||||||
|
CheckHIDAPI()
|
||||||
|
if(HAVE_HIDAPI)
|
||||||
|
set(SOURCE_FILES ${SOURCE_FILES} ${SDL2_SOURCE_DIR}/src/hidapi/windows/hid.c)
|
||||||
|
endif()
|
||||||
file(GLOB JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/windows/*.c)
|
file(GLOB JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/windows/*.c)
|
||||||
set(SOURCE_FILES ${SOURCE_FILES} ${JOYSTICK_SOURCES})
|
set(SOURCE_FILES ${SOURCE_FILES} ${JOYSTICK_SOURCES})
|
||||||
if(HAVE_DINPUT_H)
|
if(HAVE_DINPUT_H)
|
||||||
|
@ -1375,6 +1422,7 @@ elseif(WINDOWS)
|
||||||
set(SDL_CFLAGS "${SDL_CFLAGS} -Dmain=SDL_main")
|
set(SDL_CFLAGS "${SDL_CFLAGS} -Dmain=SDL_main")
|
||||||
list(APPEND SDL_LIBS "-lmingw32" "-lSDL2main" "-mwindows")
|
list(APPEND SDL_LIBS "-lmingw32" "-lSDL2main" "-mwindows")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
elseif(APPLE)
|
elseif(APPLE)
|
||||||
# TODO: rework this all for proper MacOS X, iOS and Darwin support
|
# TODO: rework this all for proper MacOS X, iOS and Darwin support
|
||||||
|
|
||||||
|
@ -1412,6 +1460,14 @@ elseif(APPLE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(SDL_JOYSTICK)
|
if(SDL_JOYSTICK)
|
||||||
|
CheckHIDAPI()
|
||||||
|
if(HAVE_HIDAPI)
|
||||||
|
if(IOS)
|
||||||
|
set(SOURCE_FILES ${SOURCE_FILES} ${SDL2_SOURCE_DIR}/src/hidapi/ios/hid.m)
|
||||||
|
else()
|
||||||
|
set(SOURCE_FILES ${SOURCE_FILES} ${SDL2_SOURCE_DIR}/src/hidapi/mac/hid.c)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
set(SDL_JOYSTICK_IOKIT 1)
|
set(SDL_JOYSTICK_IOKIT 1)
|
||||||
if (IOS)
|
if (IOS)
|
||||||
file(GLOB JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/iphoneos/*.m ${SDL2_SOURCE_DIR}/src/joystick/steam/*.c)
|
file(GLOB JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/iphoneos/*.m ${SDL2_SOURCE_DIR}/src/joystick/steam/*.c)
|
||||||
|
@ -1524,6 +1580,7 @@ elseif(APPLE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
CheckPTHREAD()
|
CheckPTHREAD()
|
||||||
|
|
||||||
elseif(HAIKU)
|
elseif(HAIKU)
|
||||||
if(SDL_VIDEO)
|
if(SDL_VIDEO)
|
||||||
set(SDL_VIDEO_DRIVER_HAIKU 1)
|
set(SDL_VIDEO_DRIVER_HAIKU 1)
|
||||||
|
@ -1562,7 +1619,7 @@ if(VIDEO_VULKAN)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Dummies
|
# Dummies
|
||||||
# configure.in does it differently:
|
# configure.ac does it differently:
|
||||||
# if not have X
|
# if not have X
|
||||||
# if enable_X { SDL_X_DISABLED = 1 }
|
# if enable_X { SDL_X_DISABLED = 1 }
|
||||||
# [add dummy sources]
|
# [add dummy sources]
|
||||||
|
@ -1769,6 +1826,20 @@ if(SDL_SHARED)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(ANDROID)
|
||||||
|
if(HAVE_HIDAPI)
|
||||||
|
add_library(hidapi SHARED ${SDL2_SOURCE_DIR}/src/hidapi/android/hid.cpp)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(MSVC AND NOT LIBC)
|
||||||
|
# Don't try to link with the default set of libraries.
|
||||||
|
set_target_properties(hidapi PROPERTIES LINK_FLAGS_RELEASE "/NODEFAULTLIB")
|
||||||
|
set_target_properties(hidapi PROPERTIES LINK_FLAGS_DEBUG "/NODEFAULTLIB")
|
||||||
|
set_target_properties(hidapi PROPERTIES STATIC_LIBRARY_FLAGS "/NODEFAULTLIB")
|
||||||
|
endif()
|
||||||
|
target_link_libraries(hidapi log)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(SDL_STATIC)
|
if(SDL_STATIC)
|
||||||
set (BUILD_SHARED_LIBS FALSE)
|
set (BUILD_SHARED_LIBS FALSE)
|
||||||
add_library(SDL2-static STATIC ${SOURCE_FILES})
|
add_library(SDL2-static STATIC ${SOURCE_FILES})
|
||||||
|
@ -1811,9 +1882,7 @@ install(TARGETS ${_INSTALL_LIBS} EXPORT SDL2Targets
|
||||||
RUNTIME DESTINATION bin)
|
RUNTIME DESTINATION bin)
|
||||||
|
|
||||||
##### Export files #####
|
##### Export files #####
|
||||||
if (APPLE)
|
if (WINDOWS)
|
||||||
set(PKG_PREFIX "SDL2.framework/Resources")
|
|
||||||
elseif (WINDOWS)
|
|
||||||
set(PKG_PREFIX "cmake")
|
set(PKG_PREFIX "cmake")
|
||||||
else ()
|
else ()
|
||||||
set(PKG_PREFIX "lib/cmake/SDL2")
|
set(PKG_PREFIX "lib/cmake/SDL2")
|
||||||
|
@ -1861,8 +1930,8 @@ if(NOT (WINDOWS OR CYGWIN))
|
||||||
if(NOT ANDROID)
|
if(NOT ANDROID)
|
||||||
install(CODE "
|
install(CODE "
|
||||||
execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink
|
execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink
|
||||||
\"lib${SONAME}${SOPOSTFIX}${SOEXT}\" \"libSDL2${SOPOSTFIX}${SOEXT}\")"
|
\"lib${SONAME}${SOPOSTFIX}${SOEXT}\" \"libSDL2${SOPOSTFIX}${SOEXT}\"
|
||||||
WORKING_DIR "${SDL2_BINARY_DIR}")
|
WORKING_DIRECTORY \"${SDL2_BINARY_DIR}\")")
|
||||||
install(FILES ${SDL2_BINARY_DIR}/libSDL2${SOPOSTFIX}${SOEXT} DESTINATION "lib${LIB_SUFFIX}")
|
install(FILES ${SDL2_BINARY_DIR}/libSDL2${SOPOSTFIX}${SOEXT} DESTINATION "lib${LIB_SUFFIX}")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -44,7 +44,9 @@ SDLTEST_OBJECTS = @SDLTEST_OBJECTS@
|
||||||
|
|
||||||
WAYLAND_SCANNER = @WAYLAND_SCANNER@
|
WAYLAND_SCANNER = @WAYLAND_SCANNER@
|
||||||
|
|
||||||
SRC_DIST = *.txt acinclude Android.mk autogen.sh android-project build-scripts cmake cmake_uninstall.cmake.in configure configure.in debian docs include Makefile.* sdl2-config.cmake.in sdl2-config.in sdl2.m4 sdl2.pc.in SDL2.spec.in SDL2Config.cmake src test VisualC.html VisualC VisualC-WinRT Xcode Xcode-iOS wayland-protocols
|
INSTALL_SDL2_CONFIG = @INSTALL_SDL2_CONFIG@
|
||||||
|
|
||||||
|
SRC_DIST = *.txt acinclude Android.mk autogen.sh android-project build-scripts cmake cmake_uninstall.cmake.in configure configure.ac debian docs include Makefile.* sdl2-config.cmake.in sdl2-config.in sdl2.m4 sdl2.pc.in SDL2.spec.in SDL2Config.cmake src test VisualC.html VisualC VisualC-WinRT Xcode Xcode-iOS wayland-protocols
|
||||||
GEN_DIST = SDL2.spec
|
GEN_DIST = SDL2.spec
|
||||||
|
|
||||||
ifneq ($V,1)
|
ifneq ($V,1)
|
||||||
|
@ -125,9 +127,9 @@ LT_RELEASE = @LT_RELEASE@
|
||||||
LT_REVISION = @LT_REVISION@
|
LT_REVISION = @LT_REVISION@
|
||||||
LT_LDFLAGS = -no-undefined -rpath $(libdir) -release $(LT_RELEASE) -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
|
LT_LDFLAGS = -no-undefined -rpath $(libdir) -release $(LT_RELEASE) -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
|
||||||
|
|
||||||
all: $(srcdir)/configure Makefile $(objects) $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET) $(objects)/$(SDLTEST_TARGET)
|
all: $(srcdir)/configure Makefile $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET) $(objects)/$(SDLTEST_TARGET)
|
||||||
|
|
||||||
$(srcdir)/configure: $(srcdir)/configure.in
|
$(srcdir)/configure: $(srcdir)/configure.ac
|
||||||
@echo "Warning, configure is out of date, please re-run autogen.sh"
|
@echo "Warning, configure is out of date, please re-run autogen.sh"
|
||||||
|
|
||||||
Makefile: $(srcdir)/Makefile.in
|
Makefile: $(srcdir)/Makefile.in
|
||||||
|
@ -135,8 +137,9 @@ Makefile: $(srcdir)/Makefile.in
|
||||||
|
|
||||||
Makefile.in:;
|
Makefile.in:;
|
||||||
|
|
||||||
$(objects):
|
$(objects)/.created:
|
||||||
$(SHELL) $(auxdir)/mkinstalldirs $@
|
$(SHELL) $(auxdir)/mkinstalldirs $(objects)
|
||||||
|
touch $@
|
||||||
|
|
||||||
update-revision:
|
update-revision:
|
||||||
$(SHELL) $(auxdir)/updaterev.sh
|
$(SHELL) $(auxdir)/updaterev.sh
|
||||||
|
@ -154,8 +157,11 @@ $(objects)/$(SDLTEST_TARGET): $(SDLTEST_OBJECTS)
|
||||||
|
|
||||||
install: all install-bin install-hdrs install-lib install-data
|
install: all install-bin install-hdrs install-lib install-data
|
||||||
install-bin:
|
install-bin:
|
||||||
|
ifeq ($(INSTALL_SDL2_CONFIG),TRUE)
|
||||||
$(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(bindir)
|
$(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(bindir)
|
||||||
$(INSTALL) -m 755 sdl2-config $(DESTDIR)$(bindir)/sdl2-config
|
$(INSTALL) -m 755 sdl2-config $(DESTDIR)$(bindir)/sdl2-config
|
||||||
|
endif
|
||||||
|
|
||||||
install-hdrs: update-revision
|
install-hdrs: update-revision
|
||||||
$(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(includedir)/SDL2
|
$(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(includedir)/SDL2
|
||||||
for file in $(HDRS) $(SDLTEST_HDRS); do \
|
for file in $(HDRS) $(SDLTEST_HDRS); do \
|
||||||
|
@ -178,8 +184,10 @@ install-data:
|
||||||
$(INSTALL) -m 644 $(srcdir)/sdl2.m4 $(DESTDIR)$(datadir)/aclocal/sdl2.m4
|
$(INSTALL) -m 644 $(srcdir)/sdl2.m4 $(DESTDIR)$(datadir)/aclocal/sdl2.m4
|
||||||
$(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(libdir)/pkgconfig
|
$(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(libdir)/pkgconfig
|
||||||
$(INSTALL) -m 644 sdl2.pc $(DESTDIR)$(libdir)/pkgconfig
|
$(INSTALL) -m 644 sdl2.pc $(DESTDIR)$(libdir)/pkgconfig
|
||||||
|
ifeq ($(INSTALL_SDL2_CONFIG),TRUE)
|
||||||
$(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(libdir)/cmake/SDL2
|
$(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(libdir)/cmake/SDL2
|
||||||
$(INSTALL) -m 644 sdl2-config.cmake $(DESTDIR)$(libdir)/cmake/SDL2
|
$(INSTALL) -m 644 sdl2-config.cmake $(DESTDIR)$(libdir)/cmake/SDL2
|
||||||
|
endif
|
||||||
|
|
||||||
uninstall: uninstall-bin uninstall-hdrs uninstall-lib uninstall-data
|
uninstall: uninstall-bin uninstall-hdrs uninstall-lib uninstall-data
|
||||||
uninstall-bin:
|
uninstall-bin:
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
# wmake -f Makefile.os2
|
# wmake -f Makefile.os2
|
||||||
|
|
||||||
LIBNAME = SDL2
|
LIBNAME = SDL2
|
||||||
VERSION = 2.0.9
|
VERSION = 2.0.10
|
||||||
DESCRIPTION = Simple DirectMedia Layer 2
|
DESCRIPTION = Simple DirectMedia Layer 2
|
||||||
|
|
||||||
LIBHOME = .
|
LIBHOME = .
|
||||||
|
@ -15,7 +15,8 @@ INCPATH = -I"$(%WATCOM)/h/os2" -I"$(%WATCOM)/h"
|
||||||
INCPATH+= -I"$(LIBHOME)/h"
|
INCPATH+= -I"$(LIBHOME)/h"
|
||||||
INCPATH+= -Iinclude
|
INCPATH+= -Iinclude
|
||||||
|
|
||||||
LIBS = mmpm2.lib libuls.lib libconv.lib
|
LIBM = libm.lib
|
||||||
|
LIBS = mmpm2.lib libuls.lib libconv.lib $(LIBM)
|
||||||
|
|
||||||
CFLAGS = -bt=os2 -d0 -q -bm -5s -fp5 -fpi87 -sg -oteanbmier -ei
|
CFLAGS = -bt=os2 -d0 -q -bm -5s -fp5 -fpi87 -sg -oteanbmier -ei
|
||||||
# max warnings:
|
# max warnings:
|
||||||
|
@ -24,9 +25,13 @@ CFLAGS+= -wx
|
||||||
CFLAGS+= -bd
|
CFLAGS+= -bd
|
||||||
# the include paths :
|
# the include paths :
|
||||||
CFLAGS+= $(INCPATH)
|
CFLAGS+= $(INCPATH)
|
||||||
# building SDL itself:
|
# building SDL itself (for DECLSPEC):
|
||||||
CFLAGS+= -DBUILD_SDL
|
CFLAGS+= -DBUILD_SDL
|
||||||
|
|
||||||
|
MSRCS= e_atan2.c e_exp.c e_fmod.c e_log10.c e_log.c e_pow.c e_rem_pio2.c e_sqrt.c &
|
||||||
|
k_cos.c k_rem_pio2.c k_sin.c k_tan.c &
|
||||||
|
s_atan.c s_copysign.c s_cos.c s_fabs.c s_floor.c s_scalbn.c s_sin.c s_tan.c
|
||||||
|
|
||||||
SRCS = SDL.c SDL_assert.c SDL_error.c SDL_log.c SDL_dataqueue.c SDL_hints.c
|
SRCS = SDL.c SDL_assert.c SDL_error.c SDL_log.c SDL_dataqueue.c SDL_hints.c
|
||||||
SRCS+= SDL_getenv.c SDL_iconv.c SDL_malloc.c SDL_qsort.c SDL_stdlib.c SDL_string.c
|
SRCS+= SDL_getenv.c SDL_iconv.c SDL_malloc.c SDL_qsort.c SDL_stdlib.c SDL_string.c
|
||||||
SRCS+= SDL_cpuinfo.c SDL_atomic.c SDL_spinlock.c SDL_thread.c SDL_timer.c
|
SRCS+= SDL_cpuinfo.c SDL_atomic.c SDL_spinlock.c SDL_thread.c SDL_timer.c
|
||||||
|
@ -56,6 +61,7 @@ SRCS+= SDL_dummysensor.c
|
||||||
SRCS+= SDL_dynapi.c
|
SRCS+= SDL_dynapi.c
|
||||||
|
|
||||||
OBJS = $(SRCS:.c=.obj)
|
OBJS = $(SRCS:.c=.obj)
|
||||||
|
MOBJS= $(MSRCS:.c=.obj)
|
||||||
|
|
||||||
.extensions:
|
.extensions:
|
||||||
.extensions: .lib .dll .obj .c .asm
|
.extensions: .lib .dll .obj .c .asm
|
||||||
|
@ -66,7 +72,7 @@ OBJS = $(SRCS:.c=.obj)
|
||||||
|
|
||||||
all: $(DLLFILE) $(LIBFILE) .symbolic
|
all: $(DLLFILE) $(LIBFILE) .symbolic
|
||||||
|
|
||||||
$(DLLFILE): $(OBJS) $(LNKFILE)
|
$(DLLFILE): $(OBJS) $(LIBM) $(LNKFILE)
|
||||||
@echo * Linking: $@
|
@echo * Linking: $@
|
||||||
wlink @$(LNKFILE)
|
wlink @$(LNKFILE)
|
||||||
|
|
||||||
|
@ -95,6 +101,10 @@ SDL_blendpoint.obj: SDL_blendpoint.c
|
||||||
SDL_RLEaccel.obj: SDL_RLEaccel.c
|
SDL_RLEaccel.obj: SDL_RLEaccel.c
|
||||||
wcc386 $(CFLAGS) -wcd=201 -fo=$^@ $<
|
wcc386 $(CFLAGS) -wcd=201 -fo=$^@ $<
|
||||||
|
|
||||||
|
.c: ./src/libm;
|
||||||
|
$(LIBM): $(MOBJS)
|
||||||
|
wlib -q -b -n -c -pa -s -t -zld -ii -io $@ $(MOBJS)
|
||||||
|
|
||||||
$(LNKFILE):
|
$(LNKFILE):
|
||||||
@echo * Creating linker file: $@
|
@echo * Creating linker file: $@
|
||||||
@%create $@
|
@%create $@
|
||||||
|
@ -118,6 +128,7 @@ clean: .SYMBOLIC
|
||||||
@if exist *.obj rm *.obj
|
@if exist *.obj rm *.obj
|
||||||
@if exist *.err rm *.err
|
@if exist *.err rm *.err
|
||||||
@if exist $(LNKFILE) rm $(LNKFILE)
|
@if exist $(LNKFILE) rm $(LNKFILE)
|
||||||
|
@if exist $(LIBM) rm $(LIBM)
|
||||||
|
|
||||||
distclean: .SYMBOLIC clean
|
distclean: .SYMBOLIC clean
|
||||||
@if exist $(LIBHOME)/*.exp rm $(LIBHOME)/*.exp
|
@if exist $(LIBHOME)/*.exp rm $(LIBHOME)/*.exp
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
Summary: Simple DirectMedia Layer
|
Summary: Simple DirectMedia Layer
|
||||||
Name: SDL2
|
Name: SDL2
|
||||||
Version: 2.0.9
|
Version: 2.0.10
|
||||||
Release: 2
|
Release: 2
|
||||||
Source: http://www.libsdl.org/release/%{name}-%{version}.tar.gz
|
Source: http://www.libsdl.org/release/%{name}-%{version}.tar.gz
|
||||||
URL: http://www.libsdl.org/
|
URL: http://www.libsdl.org/
|
||||||
|
@ -74,7 +74,8 @@ rm -rf $RPM_BUILD_ROOT
|
||||||
%{_libdir}/lib*.la
|
%{_libdir}/lib*.la
|
||||||
%{_libdir}/lib*.%{__soext}
|
%{_libdir}/lib*.%{__soext}
|
||||||
%{_includedir}/*/*.h
|
%{_includedir}/*/*.h
|
||||||
%{_libdir}/pkgconfig/*
|
%{_libdir}/cmake/*
|
||||||
|
%{_libdir}/pkgconfig/SDL2/*
|
||||||
%{_datadir}/aclocal/*
|
%{_datadir}/aclocal/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
|
|
@ -74,7 +74,8 @@ rm -rf $RPM_BUILD_ROOT
|
||||||
%{_libdir}/lib*.la
|
%{_libdir}/lib*.la
|
||||||
%{_libdir}/lib*.%{__soext}
|
%{_libdir}/lib*.%{__soext}
|
||||||
%{_includedir}/*/*.h
|
%{_includedir}/*/*.h
|
||||||
%{_libdir}/pkgconfig/*
|
%{_libdir}/cmake/*
|
||||||
|
%{_libdir}/pkgconfig/SDL2/*
|
||||||
%{_datadir}/aclocal/*
|
%{_datadir}/aclocal/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
|
|
@ -80,18 +80,6 @@
|
||||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||||
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">C:\Program Files %28x86%29\Microsoft DirectX SDK %28June 2010%29\Lib\x86;$(LibraryPath)</LibraryPath>
|
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">C:\Program Files %28x86%29\Microsoft DirectX SDK %28June 2010%29\Lib\x86;$(LibraryPath)</LibraryPath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<IncludePath>D:\dev\steam\rel\streaming_client\SDL\src\hidapi\hidapi;$(IncludePath)</IncludePath>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<IncludePath>D:\dev\steam\rel\streaming_client\SDL\src\hidapi\hidapi;$(IncludePath)</IncludePath>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
|
||||||
<IncludePath>D:\dev\steam\rel\streaming_client\SDL\src\hidapi\hidapi;$(IncludePath)</IncludePath>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
|
||||||
<IncludePath>D:\dev\steam\rel\streaming_client\SDL\src\hidapi\hidapi;$(IncludePath)</IncludePath>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<PreBuildEvent>
|
<PreBuildEvent>
|
||||||
<Command>
|
<Command>
|
||||||
|
|
|
@ -189,6 +189,12 @@
|
||||||
<CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
|
<CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
|
||||||
<ReferenceOutputAssembly>true</ReferenceOutputAssembly>
|
<ReferenceOutputAssembly>true</ReferenceOutputAssembly>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\..\SDLtest\SDLtest.vcxproj">
|
||||||
|
<Project>{da956fd3-e143-46f2-9fe5-c77bebc56b1a}</Project>
|
||||||
|
<Private>false</Private>
|
||||||
|
<CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
|
||||||
|
<ReferenceOutputAssembly>true</ReferenceOutputAssembly>
|
||||||
|
</ProjectReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\..\test\testgesture.c" />
|
<ClCompile Include="..\..\..\test\testgesture.c" />
|
||||||
|
|
|
@ -1,6 +1,38 @@
|
||||||
|
|
||||||
This is a list of major changes in SDL's version history.
|
This is a list of major changes in SDL's version history.
|
||||||
|
|
||||||
|
---------------------------------------------------------------------------
|
||||||
|
2.0.10:
|
||||||
|
---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
General:
|
||||||
|
* The SDL_RW* macros have been turned into functions that are available only in 2.0.10 and onward
|
||||||
|
* Added SDL_SIMDGetAlignment(), SDL_SIMDAlloc(), and SDL_SIMDFree(), to allocate memory aligned for SIMD operations for the current CPU
|
||||||
|
* Added SDL_RenderDrawPointF(), SDL_RenderDrawPointsF(), SDL_RenderDrawLineF(), SDL_RenderDrawLinesF(), SDL_RenderDrawRectF(), SDL_RenderDrawRectsF(), SDL_RenderFillRectF(), SDL_RenderFillRectsF(), SDL_RenderCopyF(), SDL_RenderCopyExF(), to allow floating point precision in the SDL rendering API.
|
||||||
|
* Added SDL_GetTouchDeviceType() to get the type of a touch device, which can be a touch screen or a trackpad in relative or absolute coordinate mode.
|
||||||
|
* The SDL rendering API now uses batched rendering by default, for improved performance
|
||||||
|
* Added SDL_RenderFlush() to force batched render commands to execute, if you're going to mix SDL rendering with native rendering
|
||||||
|
* Added the hint SDL_HINT_RENDER_BATCHING to control whether batching should be used for the rendering API. This defaults to "1" if you don't specify what rendering driver to use when creating the renderer.
|
||||||
|
* Added the hint SDL_HINT_EVENT_LOGGING to enable logging of SDL events for debugging purposes
|
||||||
|
* Added the hint SDL_HINT_GAMECONTROLLERCONFIG_FILE to specify a file that will be loaded at joystick initialization with game controller bindings
|
||||||
|
* Added the hint SDL_HINT_MOUSE_TOUCH_EVENTS to control whether SDL will synthesize touch events from mouse events
|
||||||
|
* Improved handling of malformed WAVE and BMP files, fixing potential security exploits
|
||||||
|
|
||||||
|
Linux:
|
||||||
|
* Removed the Mir video driver in favor of Wayland
|
||||||
|
|
||||||
|
iOS / tvOS:
|
||||||
|
* Added support for Xbox and PS4 wireless controllers in iOS 13 and tvOS 13
|
||||||
|
* Added support for text input using Bluetooth keyboards
|
||||||
|
|
||||||
|
Android:
|
||||||
|
* Added low latency audio using OpenSL ES
|
||||||
|
* Removed SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH (replaced by SDL_HINT_MOUSE_TOUCH_EVENTS and SDL_HINT_TOUCH_MOUSE_EVENTS)
|
||||||
|
SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH=1, should be replaced by setting both previous hints to 0.
|
||||||
|
SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH=0, should be replaced by setting both previous hints to 1.
|
||||||
|
* Added the hint SDL_HINT_ANDROID_BLOCK_ON_PAUSE to set whether the event loop will block itself when the app is paused.
|
||||||
|
|
||||||
|
|
||||||
---------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
2.0.9:
|
2.0.9:
|
||||||
---------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
|
|
|
@ -10,6 +10,13 @@
|
||||||
1D3623EC0D0F72F000981E51 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D3623EB0D0F72F000981E51 /* CoreGraphics.framework */; };
|
1D3623EC0D0F72F000981E51 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D3623EB0D0F72F000981E51 /* CoreGraphics.framework */; };
|
||||||
1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
|
1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
|
||||||
1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
|
1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
|
||||||
|
F3F7590022AC5EC7001D97F2 /* Metal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F3F758FF22AC5EC7001D97F2 /* Metal.framework */; };
|
||||||
|
F3F7590122AC5F00001D97F2 /* Metal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F3F758FF22AC5EC7001D97F2 /* Metal.framework */; };
|
||||||
|
F3F7590222AC5F3D001D97F2 /* Metal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F3F758FF22AC5EC7001D97F2 /* Metal.framework */; };
|
||||||
|
F3F7590322AC5F71001D97F2 /* Metal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F3F758FF22AC5EC7001D97F2 /* Metal.framework */; };
|
||||||
|
F3F7590422AC5F8D001D97F2 /* Metal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F3F758FF22AC5EC7001D97F2 /* Metal.framework */; };
|
||||||
|
F3F7590522AC5FB3001D97F2 /* Metal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F3F758FF22AC5EC7001D97F2 /* Metal.framework */; };
|
||||||
|
F3F7590622AC5FD1001D97F2 /* Metal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F3F758FF22AC5EC7001D97F2 /* Metal.framework */; };
|
||||||
FA30DEB01BBF5A8F009C397F /* common.c in Sources */ = {isa = PBXBuildFile; fileRef = FD77A0060E26BC0500F39101 /* common.c */; };
|
FA30DEB01BBF5A8F009C397F /* common.c in Sources */ = {isa = PBXBuildFile; fileRef = FD77A0060E26BC0500F39101 /* common.c */; };
|
||||||
FA30DEB11BBF5A93009C397F /* happy.c in Sources */ = {isa = PBXBuildFile; fileRef = FD77A0080E26BC0500F39101 /* happy.c */; };
|
FA30DEB11BBF5A93009C397F /* happy.c in Sources */ = {isa = PBXBuildFile; fileRef = FD77A0080E26BC0500F39101 /* happy.c */; };
|
||||||
FA30DEB31BBF5AD7009C397F /* icon.bmp in Resources */ = {isa = PBXBuildFile; fileRef = FDB651CC0E43D19800F688B5 /* icon.bmp */; };
|
FA30DEB31BBF5AD7009C397F /* icon.bmp in Resources */ = {isa = PBXBuildFile; fileRef = FDB651CC0E43D19800F688B5 /* icon.bmp */; };
|
||||||
|
@ -40,7 +47,6 @@
|
||||||
FA8B4BA91967073D00F8EB7C /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BA21967070A00F8EB7C /* CoreMotion.framework */; };
|
FA8B4BA91967073D00F8EB7C /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BA21967070A00F8EB7C /* CoreMotion.framework */; };
|
||||||
FABA34D41D8B5E5600915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34D31D8B5E5600915323 /* AVFoundation.framework */; };
|
FABA34D41D8B5E5600915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34D31D8B5E5600915323 /* AVFoundation.framework */; };
|
||||||
FABA34D61D8B5E5A00915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34D31D8B5E5600915323 /* AVFoundation.framework */; };
|
FABA34D61D8B5E5A00915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34D31D8B5E5600915323 /* AVFoundation.framework */; };
|
||||||
FABA34D81D8B5E7700915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34D71D8B5E7700915323 /* AVFoundation.framework */; };
|
|
||||||
FABA34D91D8B5E7B00915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34D31D8B5E5600915323 /* AVFoundation.framework */; };
|
FABA34D91D8B5E7B00915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34D31D8B5E5600915323 /* AVFoundation.framework */; };
|
||||||
FABA34DA1D8B5E7F00915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34D31D8B5E5600915323 /* AVFoundation.framework */; };
|
FABA34DA1D8B5E7F00915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34D31D8B5E5600915323 /* AVFoundation.framework */; };
|
||||||
FABA34DB1D8B5E8500915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34D31D8B5E5600915323 /* AVFoundation.framework */; };
|
FABA34DB1D8B5E8500915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34D31D8B5E5600915323 /* AVFoundation.framework */; };
|
||||||
|
@ -197,6 +203,34 @@
|
||||||
remoteGlobalIDString = FD6526620DE8FCCB002AD96B;
|
remoteGlobalIDString = FD6526620DE8FCCB002AD96B;
|
||||||
remoteInfo = libSDL;
|
remoteInfo = libSDL;
|
||||||
};
|
};
|
||||||
|
F3F758F722AC5E8F001D97F2 /* PBXContainerItemProxy */ = {
|
||||||
|
isa = PBXContainerItemProxy;
|
||||||
|
containerPortal = FD1B48920E313154007AB34E /* SDL.xcodeproj */;
|
||||||
|
proxyType = 2;
|
||||||
|
remoteGlobalIDString = 52ED1E5C222889500061FCE0;
|
||||||
|
remoteInfo = "libSDL-iOS-dylib";
|
||||||
|
};
|
||||||
|
F3F758F922AC5E8F001D97F2 /* PBXContainerItemProxy */ = {
|
||||||
|
isa = PBXContainerItemProxy;
|
||||||
|
containerPortal = FD1B48920E313154007AB34E /* SDL.xcodeproj */;
|
||||||
|
proxyType = 2;
|
||||||
|
remoteGlobalIDString = F3E3C7572241389A007D243C;
|
||||||
|
remoteInfo = "libSDL-tvOS-dylib";
|
||||||
|
};
|
||||||
|
F3F758FB22AC5E8F001D97F2 /* PBXContainerItemProxy */ = {
|
||||||
|
isa = PBXContainerItemProxy;
|
||||||
|
containerPortal = FD1B48920E313154007AB34E /* SDL.xcodeproj */;
|
||||||
|
proxyType = 2;
|
||||||
|
remoteGlobalIDString = F3E3C65222406928007D243C;
|
||||||
|
remoteInfo = "libSDLmain-iOS";
|
||||||
|
};
|
||||||
|
F3F758FD22AC5E8F001D97F2 /* PBXContainerItemProxy */ = {
|
||||||
|
isa = PBXContainerItemProxy;
|
||||||
|
containerPortal = FD1B48920E313154007AB34E /* SDL.xcodeproj */;
|
||||||
|
proxyType = 2;
|
||||||
|
remoteGlobalIDString = F3E3C75F224138AE007D243C;
|
||||||
|
remoteInfo = "libSDLmain-tvOS";
|
||||||
|
};
|
||||||
FA30DEAB1BBF59D9009C397F /* PBXContainerItemProxy */ = {
|
FA30DEAB1BBF59D9009C397F /* PBXContainerItemProxy */ = {
|
||||||
isa = PBXContainerItemProxy;
|
isa = PBXContainerItemProxy;
|
||||||
containerPortal = FD1B48920E313154007AB34E /* SDL.xcodeproj */;
|
containerPortal = FD1B48920E313154007AB34E /* SDL.xcodeproj */;
|
||||||
|
@ -226,6 +260,7 @@
|
||||||
1D6058910D05DD3D006BFB54 /* Rectangles.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Rectangles.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
1D6058910D05DD3D006BFB54 /* Rectangles.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Rectangles.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
|
1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
|
||||||
8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||||
|
F3F758FF22AC5EC7001D97F2 /* Metal.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Metal.framework; path = System/Library/Frameworks/Metal.framework; sourceTree = SDKROOT; };
|
||||||
FA30DE961BBF59D9009C397F /* Happy-TV.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Happy-TV.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
FA30DE961BBF59D9009C397F /* Happy-TV.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Happy-TV.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
FA86C0361D9765BA009CB637 /* iOS Launch Screen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = "iOS Launch Screen.storyboard"; sourceTree = "<group>"; };
|
FA86C0361D9765BA009CB637 /* iOS Launch Screen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = "iOS Launch Screen.storyboard"; sourceTree = "<group>"; };
|
||||||
FA8B4BA21967070A00F8EB7C /* CoreMotion.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMotion.framework; path = System/Library/Frameworks/CoreMotion.framework; sourceTree = SDKROOT; };
|
FA8B4BA21967070A00F8EB7C /* CoreMotion.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMotion.framework; path = System/Library/Frameworks/CoreMotion.framework; sourceTree = SDKROOT; };
|
||||||
|
@ -271,17 +306,18 @@
|
||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
FABA34D41D8B5E5600915323 /* AVFoundation.framework in Frameworks */,
|
|
||||||
FD1B48DD0E313255007AB34E /* libSDL2.a in Frameworks */,
|
FD1B48DD0E313255007AB34E /* libSDL2.a in Frameworks */,
|
||||||
FAE0E96A1BAF96A00098DFA4 /* GameController.framework in Frameworks */,
|
|
||||||
FA8B4BA31967070A00F8EB7C /* CoreMotion.framework in Frameworks */,
|
|
||||||
FDF0D7AB0E12D53800247964 /* CoreAudio.framework in Frameworks */,
|
|
||||||
FDF0D7AC0E12D53800247964 /* AudioToolbox.framework in Frameworks */,
|
FDF0D7AC0E12D53800247964 /* AudioToolbox.framework in Frameworks */,
|
||||||
1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */,
|
FABA34D41D8B5E5600915323 /* AVFoundation.framework in Frameworks */,
|
||||||
1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */,
|
FDF0D7AB0E12D53800247964 /* CoreAudio.framework in Frameworks */,
|
||||||
1D3623EC0D0F72F000981E51 /* CoreGraphics.framework in Frameworks */,
|
1D3623EC0D0F72F000981E51 /* CoreGraphics.framework in Frameworks */,
|
||||||
|
FA8B4BA31967070A00F8EB7C /* CoreMotion.framework in Frameworks */,
|
||||||
|
1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */,
|
||||||
|
FAE0E96A1BAF96A00098DFA4 /* GameController.framework in Frameworks */,
|
||||||
|
F3F7590022AC5EC7001D97F2 /* Metal.framework in Frameworks */,
|
||||||
FDB96ED40DEFC9C700FAF19F /* OpenGLES.framework in Frameworks */,
|
FDB96ED40DEFC9C700FAF19F /* OpenGLES.framework in Frameworks */,
|
||||||
FDB96EE00DEFC9DC00FAF19F /* QuartzCore.framework in Frameworks */,
|
FDB96EE00DEFC9DC00FAF19F /* QuartzCore.framework in Frameworks */,
|
||||||
|
1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
@ -289,16 +325,15 @@
|
||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
FABA34D81D8B5E7700915323 /* AVFoundation.framework in Frameworks */,
|
|
||||||
FA30DEB71BBF5BB8009C397F /* libSDL2.a in Frameworks */,
|
FA30DEB71BBF5BB8009C397F /* libSDL2.a in Frameworks */,
|
||||||
FA30DEC81BBF5C14009C397F /* GameController.framework in Frameworks */,
|
|
||||||
FA30DEC91BBF5C14009C397F /* AudioToolbox.framework in Frameworks */,
|
FA30DEC91BBF5C14009C397F /* AudioToolbox.framework in Frameworks */,
|
||||||
|
FA30DECF1BBF5C14009C397F /* CoreAudio.framework in Frameworks */,
|
||||||
|
FA30DECC1BBF5C14009C397F /* CoreGraphics.framework in Frameworks */,
|
||||||
|
FA30DECE1BBF5C14009C397F /* Foundation.framework in Frameworks */,
|
||||||
|
FA30DEC81BBF5C14009C397F /* GameController.framework in Frameworks */,
|
||||||
FA30DECA1BBF5C14009C397F /* QuartzCore.framework in Frameworks */,
|
FA30DECA1BBF5C14009C397F /* QuartzCore.framework in Frameworks */,
|
||||||
FA30DECB1BBF5C14009C397F /* OpenGLES.framework in Frameworks */,
|
FA30DECB1BBF5C14009C397F /* OpenGLES.framework in Frameworks */,
|
||||||
FA30DECC1BBF5C14009C397F /* CoreGraphics.framework in Frameworks */,
|
|
||||||
FA30DECD1BBF5C14009C397F /* UIKit.framework in Frameworks */,
|
FA30DECD1BBF5C14009C397F /* UIKit.framework in Frameworks */,
|
||||||
FA30DECE1BBF5C14009C397F /* Foundation.framework in Frameworks */,
|
|
||||||
FA30DECF1BBF5C14009C397F /* CoreAudio.framework in Frameworks */,
|
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
@ -306,17 +341,18 @@
|
||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
FABA34D61D8B5E5A00915323 /* AVFoundation.framework in Frameworks */,
|
|
||||||
FD1B49980E313261007AB34E /* libSDL2.a in Frameworks */,
|
FD1B49980E313261007AB34E /* libSDL2.a in Frameworks */,
|
||||||
FAE0E96C1BAF96A90098DFA4 /* GameController.framework in Frameworks */,
|
|
||||||
FA8B4BA41967071300F8EB7C /* CoreMotion.framework in Frameworks */,
|
|
||||||
FDF0D7A90E12D53500247964 /* CoreAudio.framework in Frameworks */,
|
|
||||||
FDF0D7AA0E12D53500247964 /* AudioToolbox.framework in Frameworks */,
|
FDF0D7AA0E12D53500247964 /* AudioToolbox.framework in Frameworks */,
|
||||||
FD15FD690E086911003BDF25 /* Foundation.framework in Frameworks */,
|
FABA34D61D8B5E5A00915323 /* AVFoundation.framework in Frameworks */,
|
||||||
FD15FD6A0E086911003BDF25 /* UIKit.framework in Frameworks */,
|
FDF0D7A90E12D53500247964 /* CoreAudio.framework in Frameworks */,
|
||||||
FD15FD6B0E086911003BDF25 /* CoreGraphics.framework in Frameworks */,
|
FD15FD6B0E086911003BDF25 /* CoreGraphics.framework in Frameworks */,
|
||||||
|
FA8B4BA41967071300F8EB7C /* CoreMotion.framework in Frameworks */,
|
||||||
|
FD15FD690E086911003BDF25 /* Foundation.framework in Frameworks */,
|
||||||
|
FAE0E96C1BAF96A90098DFA4 /* GameController.framework in Frameworks */,
|
||||||
|
F3F7590122AC5F00001D97F2 /* Metal.framework in Frameworks */,
|
||||||
FD15FD6C0E086911003BDF25 /* OpenGLES.framework in Frameworks */,
|
FD15FD6C0E086911003BDF25 /* OpenGLES.framework in Frameworks */,
|
||||||
FD15FD6D0E086911003BDF25 /* QuartzCore.framework in Frameworks */,
|
FD15FD6D0E086911003BDF25 /* QuartzCore.framework in Frameworks */,
|
||||||
|
FD15FD6A0E086911003BDF25 /* UIKit.framework in Frameworks */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
@ -324,17 +360,18 @@
|
||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
FABA34D91D8B5E7B00915323 /* AVFoundation.framework in Frameworks */,
|
|
||||||
FD1B499C0E313269007AB34E /* libSDL2.a in Frameworks */,
|
FD1B499C0E313269007AB34E /* libSDL2.a in Frameworks */,
|
||||||
FAE0E96D1BAF96AF0098DFA4 /* GameController.framework in Frameworks */,
|
|
||||||
FA8B4BA51967071A00F8EB7C /* CoreMotion.framework in Frameworks */,
|
|
||||||
FDF0D7A70E12D53200247964 /* CoreAudio.framework in Frameworks */,
|
|
||||||
FDF0D7A80E12D53200247964 /* AudioToolbox.framework in Frameworks */,
|
FDF0D7A80E12D53200247964 /* AudioToolbox.framework in Frameworks */,
|
||||||
|
FABA34D91D8B5E7B00915323 /* AVFoundation.framework in Frameworks */,
|
||||||
|
FDF0D7A70E12D53200247964 /* CoreAudio.framework in Frameworks */,
|
||||||
|
FD5F9CEA0E0E0741008E885B /* CoreGraphics.framework in Frameworks */,
|
||||||
|
FA8B4BA51967071A00F8EB7C /* CoreMotion.framework in Frameworks */,
|
||||||
|
FD5F9CE80E0E0741008E885B /* Foundation.framework in Frameworks */,
|
||||||
|
FAE0E96D1BAF96AF0098DFA4 /* GameController.framework in Frameworks */,
|
||||||
|
F3F7590222AC5F3D001D97F2 /* Metal.framework in Frameworks */,
|
||||||
FD5F9CEB0E0E0741008E885B /* OpenGLES.framework in Frameworks */,
|
FD5F9CEB0E0E0741008E885B /* OpenGLES.framework in Frameworks */,
|
||||||
FD5F9CEC0E0E0741008E885B /* QuartzCore.framework in Frameworks */,
|
FD5F9CEC0E0E0741008E885B /* QuartzCore.framework in Frameworks */,
|
||||||
FD5F9CE80E0E0741008E885B /* Foundation.framework in Frameworks */,
|
|
||||||
FD5F9CE90E0E0741008E885B /* UIKit.framework in Frameworks */,
|
FD5F9CE90E0E0741008E885B /* UIKit.framework in Frameworks */,
|
||||||
FD5F9CEA0E0E0741008E885B /* CoreGraphics.framework in Frameworks */,
|
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
@ -342,17 +379,18 @@
|
||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
FABA34DD1D8B5E8D00915323 /* AVFoundation.framework in Frameworks */,
|
|
||||||
FDB652000E43D1F300F688B5 /* libSDL2.a in Frameworks */,
|
FDB652000E43D1F300F688B5 /* libSDL2.a in Frameworks */,
|
||||||
FAE0E9711BAF96BB0098DFA4 /* GameController.framework in Frameworks */,
|
FDB652080E43D1F300F688B5 /* AudioToolbox.framework in Frameworks */,
|
||||||
|
FABA34DD1D8B5E8D00915323 /* AVFoundation.framework in Frameworks */,
|
||||||
|
FDB652070E43D1F300F688B5 /* CoreAudio.framework in Frameworks */,
|
||||||
|
FDB652040E43D1F300F688B5 /* CoreGraphics.framework in Frameworks */,
|
||||||
FA8B4BA91967073D00F8EB7C /* CoreMotion.framework in Frameworks */,
|
FA8B4BA91967073D00F8EB7C /* CoreMotion.framework in Frameworks */,
|
||||||
FDB652020E43D1F300F688B5 /* Foundation.framework in Frameworks */,
|
FDB652020E43D1F300F688B5 /* Foundation.framework in Frameworks */,
|
||||||
FDB652030E43D1F300F688B5 /* UIKit.framework in Frameworks */,
|
FAE0E9711BAF96BB0098DFA4 /* GameController.framework in Frameworks */,
|
||||||
FDB652040E43D1F300F688B5 /* CoreGraphics.framework in Frameworks */,
|
F3F7590622AC5FD1001D97F2 /* Metal.framework in Frameworks */,
|
||||||
FDB652050E43D1F300F688B5 /* OpenGLES.framework in Frameworks */,
|
FDB652050E43D1F300F688B5 /* OpenGLES.framework in Frameworks */,
|
||||||
FDB652060E43D1F300F688B5 /* QuartzCore.framework in Frameworks */,
|
FDB652060E43D1F300F688B5 /* QuartzCore.framework in Frameworks */,
|
||||||
FDB652070E43D1F300F688B5 /* CoreAudio.framework in Frameworks */,
|
FDB652030E43D1F300F688B5 /* UIKit.framework in Frameworks */,
|
||||||
FDB652080E43D1F300F688B5 /* AudioToolbox.framework in Frameworks */,
|
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
@ -360,17 +398,18 @@
|
||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
FABA34DA1D8B5E7F00915323 /* AVFoundation.framework in Frameworks */,
|
|
||||||
FD1B499E0E31326C007AB34E /* libSDL2.a in Frameworks */,
|
FD1B499E0E31326C007AB34E /* libSDL2.a in Frameworks */,
|
||||||
FAE0E96E1BAF96B10098DFA4 /* GameController.framework in Frameworks */,
|
|
||||||
FA8B4BA61967072100F8EB7C /* CoreMotion.framework in Frameworks */,
|
|
||||||
FDF0D7950E12D52900247964 /* CoreAudio.framework in Frameworks */,
|
|
||||||
FDF0D7960E12D52900247964 /* AudioToolbox.framework in Frameworks */,
|
FDF0D7960E12D52900247964 /* AudioToolbox.framework in Frameworks */,
|
||||||
FDC202E60E107B1200ABAC90 /* Foundation.framework in Frameworks */,
|
FABA34DA1D8B5E7F00915323 /* AVFoundation.framework in Frameworks */,
|
||||||
FDC202E70E107B1200ABAC90 /* UIKit.framework in Frameworks */,
|
FDF0D7950E12D52900247964 /* CoreAudio.framework in Frameworks */,
|
||||||
FDC202E80E107B1200ABAC90 /* CoreGraphics.framework in Frameworks */,
|
FDC202E80E107B1200ABAC90 /* CoreGraphics.framework in Frameworks */,
|
||||||
|
FA8B4BA61967072100F8EB7C /* CoreMotion.framework in Frameworks */,
|
||||||
|
FDC202E60E107B1200ABAC90 /* Foundation.framework in Frameworks */,
|
||||||
|
FAE0E96E1BAF96B10098DFA4 /* GameController.framework in Frameworks */,
|
||||||
|
F3F7590322AC5F71001D97F2 /* Metal.framework in Frameworks */,
|
||||||
FDC202E90E107B1200ABAC90 /* OpenGLES.framework in Frameworks */,
|
FDC202E90E107B1200ABAC90 /* OpenGLES.framework in Frameworks */,
|
||||||
FDC202EA0E107B1200ABAC90 /* QuartzCore.framework in Frameworks */,
|
FDC202EA0E107B1200ABAC90 /* QuartzCore.framework in Frameworks */,
|
||||||
|
FDC202E70E107B1200ABAC90 /* UIKit.framework in Frameworks */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
@ -378,17 +417,18 @@
|
||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
FABA34DC1D8B5E8900915323 /* AVFoundation.framework in Frameworks */,
|
|
||||||
FD1B49A20E313273007AB34E /* libSDL2.a in Frameworks */,
|
FD1B49A20E313273007AB34E /* libSDL2.a in Frameworks */,
|
||||||
FAE0E9701BAF96B80098DFA4 /* GameController.framework in Frameworks */,
|
FDC52EDA0E2843D6008D768C /* AudioToolbox.framework in Frameworks */,
|
||||||
|
FABA34DC1D8B5E8900915323 /* AVFoundation.framework in Frameworks */,
|
||||||
|
FDC52ED90E2843D6008D768C /* CoreAudio.framework in Frameworks */,
|
||||||
|
FDC52ED60E2843D6008D768C /* CoreGraphics.framework in Frameworks */,
|
||||||
FA8B4BA81967073400F8EB7C /* CoreMotion.framework in Frameworks */,
|
FA8B4BA81967073400F8EB7C /* CoreMotion.framework in Frameworks */,
|
||||||
FDC52ED40E2843D6008D768C /* Foundation.framework in Frameworks */,
|
FDC52ED40E2843D6008D768C /* Foundation.framework in Frameworks */,
|
||||||
FDC52ED50E2843D6008D768C /* UIKit.framework in Frameworks */,
|
FAE0E9701BAF96B80098DFA4 /* GameController.framework in Frameworks */,
|
||||||
FDC52ED60E2843D6008D768C /* CoreGraphics.framework in Frameworks */,
|
F3F7590522AC5FB3001D97F2 /* Metal.framework in Frameworks */,
|
||||||
FDC52ED70E2843D6008D768C /* OpenGLES.framework in Frameworks */,
|
FDC52ED70E2843D6008D768C /* OpenGLES.framework in Frameworks */,
|
||||||
FDC52ED80E2843D6008D768C /* QuartzCore.framework in Frameworks */,
|
FDC52ED80E2843D6008D768C /* QuartzCore.framework in Frameworks */,
|
||||||
FDC52ED90E2843D6008D768C /* CoreAudio.framework in Frameworks */,
|
FDC52ED50E2843D6008D768C /* UIKit.framework in Frameworks */,
|
||||||
FDC52EDA0E2843D6008D768C /* AudioToolbox.framework in Frameworks */,
|
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
@ -396,17 +436,18 @@
|
||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
FABA34DB1D8B5E8500915323 /* AVFoundation.framework in Frameworks */,
|
|
||||||
FD1B49A00E313270007AB34E /* libSDL2.a in Frameworks */,
|
FD1B49A00E313270007AB34E /* libSDL2.a in Frameworks */,
|
||||||
FAE0E96F1BAF96B50098DFA4 /* GameController.framework in Frameworks */,
|
FDF0D7230E12D31800247964 /* AudioToolbox.framework in Frameworks */,
|
||||||
|
FABA34DB1D8B5E8500915323 /* AVFoundation.framework in Frameworks */,
|
||||||
|
FDF0D71E0E12D2AB00247964 /* CoreAudio.framework in Frameworks */,
|
||||||
|
FDF0D69E0E12D05400247964 /* CoreGraphics.framework in Frameworks */,
|
||||||
FA8B4BA71967072800F8EB7C /* CoreMotion.framework in Frameworks */,
|
FA8B4BA71967072800F8EB7C /* CoreMotion.framework in Frameworks */,
|
||||||
FDF0D69C0E12D05400247964 /* Foundation.framework in Frameworks */,
|
FDF0D69C0E12D05400247964 /* Foundation.framework in Frameworks */,
|
||||||
FDF0D69D0E12D05400247964 /* UIKit.framework in Frameworks */,
|
FAE0E96F1BAF96B50098DFA4 /* GameController.framework in Frameworks */,
|
||||||
FDF0D69E0E12D05400247964 /* CoreGraphics.framework in Frameworks */,
|
F3F7590422AC5F8D001D97F2 /* Metal.framework in Frameworks */,
|
||||||
FDF0D69F0E12D05400247964 /* OpenGLES.framework in Frameworks */,
|
FDF0D69F0E12D05400247964 /* OpenGLES.framework in Frameworks */,
|
||||||
FDF0D6A00E12D05400247964 /* QuartzCore.framework in Frameworks */,
|
FDF0D6A00E12D05400247964 /* QuartzCore.framework in Frameworks */,
|
||||||
FDF0D71E0E12D2AB00247964 /* CoreAudio.framework in Frameworks */,
|
FDF0D69D0E12D05400247964 /* UIKit.framework in Frameworks */,
|
||||||
FDF0D7230E12D31800247964 /* AudioToolbox.framework in Frameworks */,
|
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
@ -455,6 +496,7 @@
|
||||||
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
|
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
F3F758FF22AC5EC7001D97F2 /* Metal.framework */,
|
||||||
FABA34D71D8B5E7700915323 /* AVFoundation.framework */,
|
FABA34D71D8B5E7700915323 /* AVFoundation.framework */,
|
||||||
FABA34D31D8B5E5600915323 /* AVFoundation.framework */,
|
FABA34D31D8B5E5600915323 /* AVFoundation.framework */,
|
||||||
FAE0E9691BAF96A00098DFA4 /* GameController.framework */,
|
FAE0E9691BAF96A00098DFA4 /* GameController.framework */,
|
||||||
|
@ -474,7 +516,11 @@
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
FD1B489E0E313154007AB34E /* libSDL2.a */,
|
FD1B489E0E313154007AB34E /* libSDL2.a */,
|
||||||
|
F3F758F822AC5E8F001D97F2 /* libSDL2.dylib */,
|
||||||
FA30DEAC1BBF59D9009C397F /* libSDL2.a */,
|
FA30DEAC1BBF59D9009C397F /* libSDL2.a */,
|
||||||
|
F3F758FA22AC5E8F001D97F2 /* libSDL2.dylib */,
|
||||||
|
F3F758FC22AC5E8F001D97F2 /* libSDLmain.a */,
|
||||||
|
F3F758FE22AC5E8F001D97F2 /* libSDLmain.a */,
|
||||||
);
|
);
|
||||||
name = Products;
|
name = Products;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
|
@ -725,6 +771,34 @@
|
||||||
/* End PBXProject section */
|
/* End PBXProject section */
|
||||||
|
|
||||||
/* Begin PBXReferenceProxy section */
|
/* Begin PBXReferenceProxy section */
|
||||||
|
F3F758F822AC5E8F001D97F2 /* libSDL2.dylib */ = {
|
||||||
|
isa = PBXReferenceProxy;
|
||||||
|
fileType = archive.ar;
|
||||||
|
path = libSDL2.dylib;
|
||||||
|
remoteRef = F3F758F722AC5E8F001D97F2 /* PBXContainerItemProxy */;
|
||||||
|
sourceTree = BUILT_PRODUCTS_DIR;
|
||||||
|
};
|
||||||
|
F3F758FA22AC5E8F001D97F2 /* libSDL2.dylib */ = {
|
||||||
|
isa = PBXReferenceProxy;
|
||||||
|
fileType = archive.ar;
|
||||||
|
path = libSDL2.dylib;
|
||||||
|
remoteRef = F3F758F922AC5E8F001D97F2 /* PBXContainerItemProxy */;
|
||||||
|
sourceTree = BUILT_PRODUCTS_DIR;
|
||||||
|
};
|
||||||
|
F3F758FC22AC5E8F001D97F2 /* libSDLmain.a */ = {
|
||||||
|
isa = PBXReferenceProxy;
|
||||||
|
fileType = archive.ar;
|
||||||
|
path = libSDLmain.a;
|
||||||
|
remoteRef = F3F758FB22AC5E8F001D97F2 /* PBXContainerItemProxy */;
|
||||||
|
sourceTree = BUILT_PRODUCTS_DIR;
|
||||||
|
};
|
||||||
|
F3F758FE22AC5E8F001D97F2 /* libSDLmain.a */ = {
|
||||||
|
isa = PBXReferenceProxy;
|
||||||
|
fileType = archive.ar;
|
||||||
|
path = libSDLmain.a;
|
||||||
|
remoteRef = F3F758FD22AC5E8F001D97F2 /* PBXContainerItemProxy */;
|
||||||
|
sourceTree = BUILT_PRODUCTS_DIR;
|
||||||
|
};
|
||||||
FA30DEAC1BBF59D9009C397F /* libSDL2.a */ = {
|
FA30DEAC1BBF59D9009C397F /* libSDL2.a */ = {
|
||||||
isa = PBXReferenceProxy;
|
isa = PBXReferenceProxy;
|
||||||
fileType = archive.ar;
|
fileType = archive.ar;
|
||||||
|
@ -957,6 +1031,7 @@
|
||||||
1D6058940D05DD3E006BFB54 /* Debug */ = {
|
1D6058940D05DD3E006BFB54 /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
DEVELOPMENT_TEAM = "";
|
||||||
INFOPLIST_FILE = Info.plist;
|
INFOPLIST_FILE = Info.plist;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Rectangles;
|
PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Rectangles;
|
||||||
PRODUCT_NAME = Rectangles;
|
PRODUCT_NAME = Rectangles;
|
||||||
|
@ -966,6 +1041,7 @@
|
||||||
1D6058950D05DD3E006BFB54 /* Release */ = {
|
1D6058950D05DD3E006BFB54 /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
DEVELOPMENT_TEAM = "";
|
||||||
INFOPLIST_FILE = Info.plist;
|
INFOPLIST_FILE = Info.plist;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Rectangles;
|
PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Rectangles;
|
||||||
PRODUCT_NAME = Rectangles;
|
PRODUCT_NAME = Rectangles;
|
||||||
|
@ -1089,6 +1165,7 @@
|
||||||
FD15FCB50E086866003BDF25 /* Debug */ = {
|
FD15FCB50E086866003BDF25 /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
DEVELOPMENT_TEAM = "";
|
||||||
GCC_DYNAMIC_NO_PIC = NO;
|
GCC_DYNAMIC_NO_PIC = NO;
|
||||||
INFOPLIST_FILE = Info.plist;
|
INFOPLIST_FILE = Info.plist;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Happy;
|
PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Happy;
|
||||||
|
@ -1100,6 +1177,7 @@
|
||||||
FD15FCB60E086866003BDF25 /* Release */ = {
|
FD15FCB60E086866003BDF25 /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
DEVELOPMENT_TEAM = "";
|
||||||
INFOPLIST_FILE = Info.plist;
|
INFOPLIST_FILE = Info.plist;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Happy;
|
PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Happy;
|
||||||
PRODUCT_NAME = Happy;
|
PRODUCT_NAME = Happy;
|
||||||
|
@ -1110,6 +1188,7 @@
|
||||||
FD5F9BE70E0DEBEB008E885B /* Debug */ = {
|
FD5F9BE70E0DEBEB008E885B /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
DEVELOPMENT_TEAM = "";
|
||||||
INFOPLIST_FILE = Info.plist;
|
INFOPLIST_FILE = Info.plist;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Accel;
|
PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Accel;
|
||||||
PRODUCT_NAME = Accel;
|
PRODUCT_NAME = Accel;
|
||||||
|
@ -1120,6 +1199,7 @@
|
||||||
FD5F9BE80E0DEBEB008E885B /* Release */ = {
|
FD5F9BE80E0DEBEB008E885B /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
DEVELOPMENT_TEAM = "";
|
||||||
INFOPLIST_FILE = Info.plist;
|
INFOPLIST_FILE = Info.plist;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Accel;
|
PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Accel;
|
||||||
PRODUCT_NAME = Accel;
|
PRODUCT_NAME = Accel;
|
||||||
|
@ -1130,6 +1210,7 @@
|
||||||
FDB6520A0E43D1F300F688B5 /* Debug */ = {
|
FDB6520A0E43D1F300F688B5 /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
DEVELOPMENT_TEAM = "";
|
||||||
INFOPLIST_FILE = Info.plist;
|
INFOPLIST_FILE = Info.plist;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Keyboard;
|
PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Keyboard;
|
||||||
PRODUCT_NAME = Keyboard;
|
PRODUCT_NAME = Keyboard;
|
||||||
|
@ -1140,6 +1221,7 @@
|
||||||
FDB6520B0E43D1F300F688B5 /* Release */ = {
|
FDB6520B0E43D1F300F688B5 /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
DEVELOPMENT_TEAM = "";
|
||||||
INFOPLIST_FILE = Info.plist;
|
INFOPLIST_FILE = Info.plist;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Keyboard;
|
PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Keyboard;
|
||||||
PRODUCT_NAME = Keyboard;
|
PRODUCT_NAME = Keyboard;
|
||||||
|
@ -1150,6 +1232,7 @@
|
||||||
FDC202EC0E107B1200ABAC90 /* Debug */ = {
|
FDC202EC0E107B1200ABAC90 /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
DEVELOPMENT_TEAM = "";
|
||||||
INFOPLIST_FILE = Info.plist;
|
INFOPLIST_FILE = Info.plist;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Touch;
|
PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Touch;
|
||||||
PRODUCT_NAME = Touch;
|
PRODUCT_NAME = Touch;
|
||||||
|
@ -1160,6 +1243,7 @@
|
||||||
FDC202ED0E107B1200ABAC90 /* Release */ = {
|
FDC202ED0E107B1200ABAC90 /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
DEVELOPMENT_TEAM = "";
|
||||||
INFOPLIST_FILE = Info.plist;
|
INFOPLIST_FILE = Info.plist;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Touch;
|
PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Touch;
|
||||||
PRODUCT_NAME = Touch;
|
PRODUCT_NAME = Touch;
|
||||||
|
@ -1194,6 +1278,7 @@
|
||||||
FDF0D6A20E12D05400247964 /* Debug */ = {
|
FDF0D6A20E12D05400247964 /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
DEVELOPMENT_TEAM = "";
|
||||||
INFOPLIST_FILE = Info.plist;
|
INFOPLIST_FILE = Info.plist;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Mixer;
|
PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Mixer;
|
||||||
PRODUCT_NAME = Mixer;
|
PRODUCT_NAME = Mixer;
|
||||||
|
@ -1204,6 +1289,7 @@
|
||||||
FDF0D6A30E12D05400247964 /* Release */ = {
|
FDF0D6A30E12D05400247964 /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
DEVELOPMENT_TEAM = "";
|
||||||
INFOPLIST_FILE = Info.plist;
|
INFOPLIST_FILE = Info.plist;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Mixer;
|
PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Mixer;
|
||||||
PRODUCT_NAME = Mixer;
|
PRODUCT_NAME = Mixer;
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,80 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
LastUpgradeVersion = "1020"
|
||||||
|
version = "1.3">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES">
|
||||||
|
<BuildActionEntries>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "C143576D1F4C4DAA000B792B"
|
||||||
|
BuildableName = "All-iOS"
|
||||||
|
BlueprintName = "All-iOS"
|
||||||
|
ReferencedContainer = "container:SDL.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
</BuildActionEntries>
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||||
|
<Testables>
|
||||||
|
</Testables>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
|
debugDocumentVersioning = "YES"
|
||||||
|
debugServiceExtension = "internal"
|
||||||
|
allowLocationSimulation = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "C143576D1F4C4DAA000B792B"
|
||||||
|
BuildableName = "All-iOS"
|
||||||
|
BlueprintName = "All-iOS"
|
||||||
|
ReferencedContainer = "container:SDL.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
debugDocumentVersioning = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "C143576D1F4C4DAA000B792B"
|
||||||
|
BuildableName = "All-iOS"
|
||||||
|
BlueprintName = "All-iOS"
|
||||||
|
ReferencedContainer = "container:SDL.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
|
@ -0,0 +1,80 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
LastUpgradeVersion = "1020"
|
||||||
|
version = "1.3">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES">
|
||||||
|
<BuildActionEntries>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "C14357721F4C4F2A000B792B"
|
||||||
|
BuildableName = "All-tvOS"
|
||||||
|
BlueprintName = "All-tvOS"
|
||||||
|
ReferencedContainer = "container:SDL.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
</BuildActionEntries>
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||||
|
<Testables>
|
||||||
|
</Testables>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
|
debugDocumentVersioning = "YES"
|
||||||
|
debugServiceExtension = "internal"
|
||||||
|
allowLocationSimulation = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "C14357721F4C4F2A000B792B"
|
||||||
|
BuildableName = "All-tvOS"
|
||||||
|
BlueprintName = "All-tvOS"
|
||||||
|
ReferencedContainer = "container:SDL.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
debugDocumentVersioning = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "C14357721F4C4F2A000B792B"
|
||||||
|
BuildableName = "All-tvOS"
|
||||||
|
BlueprintName = "All-tvOS"
|
||||||
|
ReferencedContainer = "container:SDL.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
|
@ -0,0 +1,80 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
LastUpgradeVersion = "1020"
|
||||||
|
version = "1.3">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES">
|
||||||
|
<BuildActionEntries>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "00B4F48B12F6A69C0084EC00"
|
||||||
|
BuildableName = "PrepareXcodeProjectTemplate"
|
||||||
|
BlueprintName = "PrepareXcodeProjectTemplate"
|
||||||
|
ReferencedContainer = "container:SDL.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
</BuildActionEntries>
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||||
|
<Testables>
|
||||||
|
</Testables>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
|
debugDocumentVersioning = "YES"
|
||||||
|
debugServiceExtension = "internal"
|
||||||
|
allowLocationSimulation = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "00B4F48B12F6A69C0084EC00"
|
||||||
|
BuildableName = "PrepareXcodeProjectTemplate"
|
||||||
|
BlueprintName = "PrepareXcodeProjectTemplate"
|
||||||
|
ReferencedContainer = "container:SDL.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
debugDocumentVersioning = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "00B4F48B12F6A69C0084EC00"
|
||||||
|
BuildableName = "PrepareXcodeProjectTemplate"
|
||||||
|
BlueprintName = "PrepareXcodeProjectTemplate"
|
||||||
|
ReferencedContainer = "container:SDL.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
|
@ -0,0 +1,80 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
LastUpgradeVersion = "1020"
|
||||||
|
version = "1.3">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES">
|
||||||
|
<BuildActionEntries>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "52ED1D6B222889500061FCE0"
|
||||||
|
BuildableName = "libSDL2.dylib"
|
||||||
|
BlueprintName = "libSDL-iOS-dylib"
|
||||||
|
ReferencedContainer = "container:SDL.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
</BuildActionEntries>
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||||
|
<Testables>
|
||||||
|
</Testables>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
|
debugDocumentVersioning = "YES"
|
||||||
|
debugServiceExtension = "internal"
|
||||||
|
allowLocationSimulation = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "52ED1D6B222889500061FCE0"
|
||||||
|
BuildableName = "libSDL2.dylib"
|
||||||
|
BlueprintName = "libSDL-iOS-dylib"
|
||||||
|
ReferencedContainer = "container:SDL.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
debugDocumentVersioning = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "52ED1D6B222889500061FCE0"
|
||||||
|
BuildableName = "libSDL2.dylib"
|
||||||
|
BlueprintName = "libSDL-iOS-dylib"
|
||||||
|
ReferencedContainer = "container:SDL.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
|
@ -0,0 +1,80 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
LastUpgradeVersion = "1020"
|
||||||
|
version = "1.3">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES">
|
||||||
|
<BuildActionEntries>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "FD6526620DE8FCCB002AD96B"
|
||||||
|
BuildableName = "libSDL2.a"
|
||||||
|
BlueprintName = "libSDL-iOS"
|
||||||
|
ReferencedContainer = "container:SDL.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
</BuildActionEntries>
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||||
|
<Testables>
|
||||||
|
</Testables>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
|
debugDocumentVersioning = "YES"
|
||||||
|
debugServiceExtension = "internal"
|
||||||
|
allowLocationSimulation = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "FD6526620DE8FCCB002AD96B"
|
||||||
|
BuildableName = "libSDL2.a"
|
||||||
|
BlueprintName = "libSDL-iOS"
|
||||||
|
ReferencedContainer = "container:SDL.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
debugDocumentVersioning = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "FD6526620DE8FCCB002AD96B"
|
||||||
|
BuildableName = "libSDL2.a"
|
||||||
|
BlueprintName = "libSDL-iOS"
|
||||||
|
ReferencedContainer = "container:SDL.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
|
@ -0,0 +1,80 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
LastUpgradeVersion = "1020"
|
||||||
|
version = "1.3">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES">
|
||||||
|
<BuildActionEntries>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "F3E3C6592241389A007D243C"
|
||||||
|
BuildableName = "libSDL2.dylib"
|
||||||
|
BlueprintName = "libSDL-tvOS-dylib"
|
||||||
|
ReferencedContainer = "container:SDL.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
</BuildActionEntries>
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||||
|
<Testables>
|
||||||
|
</Testables>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
|
debugDocumentVersioning = "YES"
|
||||||
|
debugServiceExtension = "internal"
|
||||||
|
allowLocationSimulation = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "F3E3C6592241389A007D243C"
|
||||||
|
BuildableName = "libSDL2.dylib"
|
||||||
|
BlueprintName = "libSDL-tvOS-dylib"
|
||||||
|
ReferencedContainer = "container:SDL.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
debugDocumentVersioning = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "F3E3C6592241389A007D243C"
|
||||||
|
BuildableName = "libSDL2.dylib"
|
||||||
|
BlueprintName = "libSDL-tvOS-dylib"
|
||||||
|
ReferencedContainer = "container:SDL.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
|
@ -0,0 +1,80 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
LastUpgradeVersion = "1020"
|
||||||
|
version = "1.3">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES">
|
||||||
|
<BuildActionEntries>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "FAB598131BB5C1B100BE72C5"
|
||||||
|
BuildableName = "libSDL2.a"
|
||||||
|
BlueprintName = "libSDL-tvOS"
|
||||||
|
ReferencedContainer = "container:SDL.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
</BuildActionEntries>
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||||
|
<Testables>
|
||||||
|
</Testables>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
|
debugDocumentVersioning = "YES"
|
||||||
|
debugServiceExtension = "internal"
|
||||||
|
allowLocationSimulation = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "FAB598131BB5C1B100BE72C5"
|
||||||
|
BuildableName = "libSDL2.a"
|
||||||
|
BlueprintName = "libSDL-tvOS"
|
||||||
|
ReferencedContainer = "container:SDL.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
debugDocumentVersioning = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "FAB598131BB5C1B100BE72C5"
|
||||||
|
BuildableName = "libSDL2.a"
|
||||||
|
BlueprintName = "libSDL-tvOS"
|
||||||
|
ReferencedContainer = "container:SDL.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
|
@ -0,0 +1,80 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
LastUpgradeVersion = "1020"
|
||||||
|
version = "1.3">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES">
|
||||||
|
<BuildActionEntries>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "F3E3C56022406928007D243C"
|
||||||
|
BuildableName = "libSDLmain.a"
|
||||||
|
BlueprintName = "libSDLmain-iOS"
|
||||||
|
ReferencedContainer = "container:SDL.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
</BuildActionEntries>
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||||
|
<Testables>
|
||||||
|
</Testables>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
|
debugDocumentVersioning = "YES"
|
||||||
|
debugServiceExtension = "internal"
|
||||||
|
allowLocationSimulation = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "F3E3C56022406928007D243C"
|
||||||
|
BuildableName = "libSDLmain.a"
|
||||||
|
BlueprintName = "libSDLmain-iOS"
|
||||||
|
ReferencedContainer = "container:SDL.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
debugDocumentVersioning = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "F3E3C56022406928007D243C"
|
||||||
|
BuildableName = "libSDLmain.a"
|
||||||
|
BlueprintName = "libSDLmain-iOS"
|
||||||
|
ReferencedContainer = "container:SDL.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
|
@ -0,0 +1,80 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
LastUpgradeVersion = "1020"
|
||||||
|
version = "1.3">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES">
|
||||||
|
<BuildActionEntries>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "F3E3C758224138AE007D243C"
|
||||||
|
BuildableName = "libSDLmain.a"
|
||||||
|
BlueprintName = "libSDLmain-tvOS"
|
||||||
|
ReferencedContainer = "container:SDL.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
</BuildActionEntries>
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||||
|
<Testables>
|
||||||
|
</Testables>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
|
debugDocumentVersioning = "YES"
|
||||||
|
debugServiceExtension = "internal"
|
||||||
|
allowLocationSimulation = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "F3E3C758224138AE007D243C"
|
||||||
|
BuildableName = "libSDLmain.a"
|
||||||
|
BlueprintName = "libSDLmain-tvOS"
|
||||||
|
ReferencedContainer = "container:SDL.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
debugDocumentVersioning = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "F3E3C758224138AE007D243C"
|
||||||
|
BuildableName = "libSDLmain.a"
|
||||||
|
BlueprintName = "libSDLmain-tvOS"
|
||||||
|
ReferencedContainer = "container:SDL.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
|
@ -11,7 +11,7 @@
|
||||||
<key>CFBundleIconFile</key>
|
<key>CFBundleIconFile</key>
|
||||||
<string></string>
|
<string></string>
|
||||||
<key>CFBundleIdentifier</key>
|
<key>CFBundleIdentifier</key>
|
||||||
<string>com.yourcompany.${PRODUCT_NAME:identifier}</string>
|
<string>com.yourcompany.${PRODUCT_NAME}</string>
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
<string>6.0</string>
|
<string>6.0</string>
|
||||||
<key>CFBundleName</key>
|
<key>CFBundleName</key>
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -19,10 +19,10 @@
|
||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>FMWK</string>
|
<string>FMWK</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>2.0.9</string>
|
<string>2.0.10</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>SDLX</string>
|
<string>SDLX</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>2.0.9</string>
|
<string>2.0.10</string>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
|
|
@ -468,9 +468,6 @@
|
||||||
A704171A20F09AC900A82227 /* SDL_hidapi_switch.c in Sources */ = {isa = PBXBuildFile; fileRef = A704170F20F09AC800A82227 /* SDL_hidapi_switch.c */; };
|
A704171A20F09AC900A82227 /* SDL_hidapi_switch.c in Sources */ = {isa = PBXBuildFile; fileRef = A704170F20F09AC800A82227 /* SDL_hidapi_switch.c */; };
|
||||||
A704171B20F09AC900A82227 /* SDL_hidapi_switch.c in Sources */ = {isa = PBXBuildFile; fileRef = A704170F20F09AC800A82227 /* SDL_hidapi_switch.c */; };
|
A704171B20F09AC900A82227 /* SDL_hidapi_switch.c in Sources */ = {isa = PBXBuildFile; fileRef = A704170F20F09AC800A82227 /* SDL_hidapi_switch.c */; };
|
||||||
A704171C20F09AC900A82227 /* SDL_hidapi_switch.c in Sources */ = {isa = PBXBuildFile; fileRef = A704170F20F09AC800A82227 /* SDL_hidapi_switch.c */; };
|
A704171C20F09AC900A82227 /* SDL_hidapi_switch.c in Sources */ = {isa = PBXBuildFile; fileRef = A704170F20F09AC800A82227 /* SDL_hidapi_switch.c */; };
|
||||||
A704171D20F09AC900A82227 /* controller_type.h in Headers */ = {isa = PBXBuildFile; fileRef = A704171020F09AC900A82227 /* controller_type.h */; };
|
|
||||||
A704171E20F09AC900A82227 /* controller_type.h in Headers */ = {isa = PBXBuildFile; fileRef = A704171020F09AC900A82227 /* controller_type.h */; };
|
|
||||||
A704171F20F09AC900A82227 /* controller_type.h in Headers */ = {isa = PBXBuildFile; fileRef = A704171020F09AC900A82227 /* controller_type.h */; };
|
|
||||||
A704172020F09AC900A82227 /* SDL_hidapi_ps4.c in Sources */ = {isa = PBXBuildFile; fileRef = A704171120F09AC900A82227 /* SDL_hidapi_ps4.c */; };
|
A704172020F09AC900A82227 /* SDL_hidapi_ps4.c in Sources */ = {isa = PBXBuildFile; fileRef = A704171120F09AC900A82227 /* SDL_hidapi_ps4.c */; };
|
||||||
A704172120F09AC900A82227 /* SDL_hidapi_ps4.c in Sources */ = {isa = PBXBuildFile; fileRef = A704171120F09AC900A82227 /* SDL_hidapi_ps4.c */; };
|
A704172120F09AC900A82227 /* SDL_hidapi_ps4.c in Sources */ = {isa = PBXBuildFile; fileRef = A704171120F09AC900A82227 /* SDL_hidapi_ps4.c */; };
|
||||||
A704172220F09AC900A82227 /* SDL_hidapi_ps4.c in Sources */ = {isa = PBXBuildFile; fileRef = A704171120F09AC900A82227 /* SDL_hidapi_ps4.c */; };
|
A704172220F09AC900A82227 /* SDL_hidapi_ps4.c in Sources */ = {isa = PBXBuildFile; fileRef = A704171120F09AC900A82227 /* SDL_hidapi_ps4.c */; };
|
||||||
|
@ -1158,7 +1155,6 @@
|
||||||
A704170D20F09AC800A82227 /* SDL_hidapijoystick.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_hidapijoystick.c; sourceTree = "<group>"; };
|
A704170D20F09AC800A82227 /* SDL_hidapijoystick.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_hidapijoystick.c; sourceTree = "<group>"; };
|
||||||
A704170E20F09AC800A82227 /* SDL_hidapijoystick_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_hidapijoystick_c.h; sourceTree = "<group>"; };
|
A704170E20F09AC800A82227 /* SDL_hidapijoystick_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_hidapijoystick_c.h; sourceTree = "<group>"; };
|
||||||
A704170F20F09AC800A82227 /* SDL_hidapi_switch.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_hidapi_switch.c; sourceTree = "<group>"; };
|
A704170F20F09AC800A82227 /* SDL_hidapi_switch.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_hidapi_switch.c; sourceTree = "<group>"; };
|
||||||
A704171020F09AC900A82227 /* controller_type.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = controller_type.h; sourceTree = "<group>"; };
|
|
||||||
A704171120F09AC900A82227 /* SDL_hidapi_ps4.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_hidapi_ps4.c; sourceTree = "<group>"; };
|
A704171120F09AC900A82227 /* SDL_hidapi_ps4.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_hidapi_ps4.c; sourceTree = "<group>"; };
|
||||||
A704171220F09AC900A82227 /* SDL_hidapi_xboxone.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_hidapi_xboxone.c; sourceTree = "<group>"; };
|
A704171220F09AC900A82227 /* SDL_hidapi_xboxone.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_hidapi_xboxone.c; sourceTree = "<group>"; };
|
||||||
A704171320F09AC900A82227 /* SDL_hidapi_xbox360.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_hidapi_xbox360.c; sourceTree = "<group>"; };
|
A704171320F09AC900A82227 /* SDL_hidapi_xbox360.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_hidapi_xbox360.c; sourceTree = "<group>"; };
|
||||||
|
@ -1932,7 +1928,6 @@
|
||||||
A704170C20F09AA600A82227 /* hidapi */ = {
|
A704170C20F09AA600A82227 /* hidapi */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
A704171020F09AC900A82227 /* controller_type.h */,
|
|
||||||
A704171120F09AC900A82227 /* SDL_hidapi_ps4.c */,
|
A704171120F09AC900A82227 /* SDL_hidapi_ps4.c */,
|
||||||
A704170F20F09AC800A82227 /* SDL_hidapi_switch.c */,
|
A704170F20F09AC800A82227 /* SDL_hidapi_switch.c */,
|
||||||
A704171320F09AC900A82227 /* SDL_hidapi_xbox360.c */,
|
A704171320F09AC900A82227 /* SDL_hidapi_xbox360.c */,
|
||||||
|
@ -2163,7 +2158,6 @@
|
||||||
04BD01F912E6671800899322 /* SDL_x11window.h in Headers */,
|
04BD01F912E6671800899322 /* SDL_x11window.h in Headers */,
|
||||||
041B2CA612FA0D680087D585 /* SDL_sysrender.h in Headers */,
|
041B2CA612FA0D680087D585 /* SDL_sysrender.h in Headers */,
|
||||||
AA9A7F161FB0209D00FED37F /* SDL_yuv_c.h in Headers */,
|
AA9A7F161FB0209D00FED37F /* SDL_yuv_c.h in Headers */,
|
||||||
A704171D20F09AC900A82227 /* controller_type.h in Headers */,
|
|
||||||
04409B9312FA97ED00FB9AA8 /* SDL_yuv_sw_c.h in Headers */,
|
04409B9312FA97ED00FB9AA8 /* SDL_yuv_sw_c.h in Headers */,
|
||||||
04F7803912FB748500FC43C0 /* SDL_nullframebuffer_c.h in Headers */,
|
04F7803912FB748500FC43C0 /* SDL_nullframebuffer_c.h in Headers */,
|
||||||
04F7804A12FB74A200FC43C0 /* SDL_blendfillrect.h in Headers */,
|
04F7804A12FB74A200FC43C0 /* SDL_blendfillrect.h in Headers */,
|
||||||
|
@ -2215,7 +2209,6 @@
|
||||||
AA75581F1595D4D800BBD41B /* SDL_joystick.h in Headers */,
|
AA75581F1595D4D800BBD41B /* SDL_joystick.h in Headers */,
|
||||||
AA7558211595D4D800BBD41B /* SDL_keyboard.h in Headers */,
|
AA7558211595D4D800BBD41B /* SDL_keyboard.h in Headers */,
|
||||||
AA7558231595D4D800BBD41B /* SDL_keycode.h in Headers */,
|
AA7558231595D4D800BBD41B /* SDL_keycode.h in Headers */,
|
||||||
A704171E20F09AC900A82227 /* controller_type.h in Headers */,
|
|
||||||
AA7558251595D4D800BBD41B /* SDL_loadso.h in Headers */,
|
AA7558251595D4D800BBD41B /* SDL_loadso.h in Headers */,
|
||||||
AA7558271595D4D800BBD41B /* SDL_log.h in Headers */,
|
AA7558271595D4D800BBD41B /* SDL_log.h in Headers */,
|
||||||
AA7558291595D4D800BBD41B /* SDL_main.h in Headers */,
|
AA7558291595D4D800BBD41B /* SDL_main.h in Headers */,
|
||||||
|
@ -2386,7 +2379,6 @@
|
||||||
DB313FD917554B71006C0E22 /* SDL_joystick.h in Headers */,
|
DB313FD917554B71006C0E22 /* SDL_joystick.h in Headers */,
|
||||||
DB313FDA17554B71006C0E22 /* SDL_keyboard.h in Headers */,
|
DB313FDA17554B71006C0E22 /* SDL_keyboard.h in Headers */,
|
||||||
DB313FDB17554B71006C0E22 /* SDL_keycode.h in Headers */,
|
DB313FDB17554B71006C0E22 /* SDL_keycode.h in Headers */,
|
||||||
A704171F20F09AC900A82227 /* controller_type.h in Headers */,
|
|
||||||
DB313FDC17554B71006C0E22 /* SDL_loadso.h in Headers */,
|
DB313FDC17554B71006C0E22 /* SDL_loadso.h in Headers */,
|
||||||
DB313FDD17554B71006C0E22 /* SDL_log.h in Headers */,
|
DB313FDD17554B71006C0E22 /* SDL_log.h in Headers */,
|
||||||
DB313FDE17554B71006C0E22 /* SDL_main.h in Headers */,
|
DB313FDE17554B71006C0E22 /* SDL_main.h in Headers */,
|
||||||
|
@ -2674,7 +2666,7 @@
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
shellPath = /bin/sh;
|
shellPath = /bin/sh;
|
||||||
shellScript = "# Sign framework\nif [ \"$SDL_CODESIGN_IDENTITY\" != \"\" ]; then\n codesign --force --deep --sign \"$SDL_CODESIGN_IDENTITY\" $TARGET_BUILD_DIR/SDL2.framework/Versions/A\nfi\n\n# clean up the framework, remove headers, extra files\nmkdir -p build/dmg-tmp\nxcrun CpMac -r $TARGET_BUILD_DIR/SDL2.framework build/dmg-tmp/\n\ncp pkg-support/resources/License.txt build/dmg-tmp\ncp pkg-support/resources/ReadMe.txt build/dmg-tmp\n\n# remove the .DS_Store files if any (we may want to provide one in the future for fancy .dmgs)\nfind build/dmg-tmp -name .DS_Store -exec rm -f \"{}\" \\;\n\n# for fancy .dmg\nmkdir -p build/dmg-tmp/.logo\ncp pkg-support/resources/SDL_DS_Store build/dmg-tmp/.DS_Store\ncp pkg-support/sdl_logo.pdf build/dmg-tmp/.logo\n\n# create the dmg\nhdiutil create -ov -fs HFS+ -volname SDL2 -srcfolder build/dmg-tmp build/SDL2.dmg\n\n# clean up\nrm -rf build/dmg-tmp";
|
shellScript = "# Sign framework\nif [ \"$SDL_CODESIGN_IDENTITY\" != \"\" ]; then\n codesign --force --deep --sign \"$SDL_CODESIGN_IDENTITY\" $TARGET_BUILD_DIR/SDL2.framework/Versions/A || exit $?\nfi\n\n# clean up the framework, remove headers, extra files\nmkdir -p build/dmg-tmp\ncp -r $TARGET_BUILD_DIR/SDL2.framework build/dmg-tmp/\n\ncp pkg-support/resources/License.txt build/dmg-tmp\ncp pkg-support/resources/ReadMe.txt build/dmg-tmp\n\n# remove the .DS_Store files if any (we may want to provide one in the future for fancy .dmgs)\nfind build/dmg-tmp -name .DS_Store -exec rm -f \"{}\" \\;\n\n# for fancy .dmg\nmkdir -p build/dmg-tmp/.logo\ncp pkg-support/resources/SDL_DS_Store build/dmg-tmp/.DS_Store\ncp pkg-support/sdl_logo.pdf build/dmg-tmp/.logo\n\n# create the dmg\nhdiutil create -ov -fs HFS+ -volname SDL2 -srcfolder build/dmg-tmp build/SDL2.dmg\n\n# clean up\nrm -rf build/dmg-tmp\n";
|
||||||
};
|
};
|
||||||
/* End PBXShellScriptBuildPhase section */
|
/* End PBXShellScriptBuildPhase section */
|
||||||
|
|
||||||
|
@ -3160,7 +3152,7 @@
|
||||||
CLANG_LINK_OBJC_RUNTIME = NO;
|
CLANG_LINK_OBJC_RUNTIME = NO;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
DYLIB_COMPATIBILITY_VERSION = 1.0.0;
|
DYLIB_COMPATIBILITY_VERSION = 1.0.0;
|
||||||
DYLIB_CURRENT_VERSION = 10.0.0;
|
DYLIB_CURRENT_VERSION = 11.0.0;
|
||||||
FRAMEWORK_SEARCH_PATHS = (
|
FRAMEWORK_SEARCH_PATHS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"$(PROJECT_DIR)",
|
"$(PROJECT_DIR)",
|
||||||
|
@ -3259,7 +3251,7 @@
|
||||||
CLANG_LINK_OBJC_RUNTIME = NO;
|
CLANG_LINK_OBJC_RUNTIME = NO;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
DYLIB_COMPATIBILITY_VERSION = 1.0.0;
|
DYLIB_COMPATIBILITY_VERSION = 1.0.0;
|
||||||
DYLIB_CURRENT_VERSION = 10.0.0;
|
DYLIB_CURRENT_VERSION = 11.0.0;
|
||||||
FRAMEWORK_SEARCH_PATHS = (
|
FRAMEWORK_SEARCH_PATHS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"$(PROJECT_DIR)",
|
"$(PROJECT_DIR)",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
133
sdl2/acinclude/pkg_config.m4
Normal file
133
sdl2/acinclude/pkg_config.m4
Normal file
|
@ -0,0 +1,133 @@
|
||||||
|
# PKG_PROG_PKG_CONFIG([MIN-VERSION])
|
||||||
|
# ----------------------------------
|
||||||
|
AC_DEFUN([PKG_PROG_PKG_CONFIG],
|
||||||
|
[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
|
||||||
|
m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
|
||||||
|
AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
|
||||||
|
AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
|
||||||
|
AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
|
||||||
|
|
||||||
|
if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
|
||||||
|
AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
|
||||||
|
fi
|
||||||
|
if test -n "$PKG_CONFIG"; then
|
||||||
|
_pkg_min_version=m4_default([$1], [0.9.0])
|
||||||
|
AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
|
||||||
|
if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
|
||||||
|
AC_MSG_RESULT([yes])
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
PKG_CONFIG=""
|
||||||
|
fi
|
||||||
|
fi[]dnl
|
||||||
|
])# PKG_PROG_PKG_CONFIG
|
||||||
|
|
||||||
|
# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
|
||||||
|
#
|
||||||
|
# Check to see whether a particular set of modules exists. Similar
|
||||||
|
# to PKG_CHECK_MODULES(), but does not set variables or print errors.
|
||||||
|
#
|
||||||
|
# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
|
||||||
|
# only at the first occurence in configure.ac, so if the first place
|
||||||
|
# it's called might be skipped (such as if it is within an "if", you
|
||||||
|
# have to call PKG_CHECK_EXISTS manually
|
||||||
|
# --------------------------------------------------------------
|
||||||
|
AC_DEFUN([PKG_CHECK_EXISTS],
|
||||||
|
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
|
||||||
|
if test -n "$PKG_CONFIG" && \
|
||||||
|
AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
|
||||||
|
m4_default([$2], [:])
|
||||||
|
m4_ifvaln([$3], [else
|
||||||
|
$3])dnl
|
||||||
|
fi])
|
||||||
|
|
||||||
|
# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
|
||||||
|
# ---------------------------------------------
|
||||||
|
m4_define([_PKG_CONFIG],
|
||||||
|
[if test -n "$$1"; then
|
||||||
|
pkg_cv_[]$1="$$1"
|
||||||
|
elif test -n "$PKG_CONFIG"; then
|
||||||
|
PKG_CHECK_EXISTS([$3],
|
||||||
|
[pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
|
||||||
|
[pkg_failed=yes])
|
||||||
|
else
|
||||||
|
pkg_failed=untried
|
||||||
|
fi[]dnl
|
||||||
|
])# _PKG_CONFIG
|
||||||
|
|
||||||
|
# _PKG_SHORT_ERRORS_SUPPORTED
|
||||||
|
# -----------------------------
|
||||||
|
AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
|
||||||
|
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
|
||||||
|
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
|
||||||
|
_pkg_short_errors_supported=yes
|
||||||
|
else
|
||||||
|
_pkg_short_errors_supported=no
|
||||||
|
fi[]dnl
|
||||||
|
])# _PKG_SHORT_ERRORS_SUPPORTED
|
||||||
|
|
||||||
|
|
||||||
|
# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
|
||||||
|
# [ACTION-IF-NOT-FOUND])
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Note that if there is a possibility the first call to
|
||||||
|
# PKG_CHECK_MODULES might not happen, you should be sure to include an
|
||||||
|
# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# --------------------------------------------------------------
|
||||||
|
AC_DEFUN([PKG_CHECK_MODULES],
|
||||||
|
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
|
||||||
|
AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
|
||||||
|
AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
|
||||||
|
|
||||||
|
pkg_failed=no
|
||||||
|
AC_MSG_CHECKING([for $1])
|
||||||
|
|
||||||
|
_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
|
||||||
|
_PKG_CONFIG([$1][_LIBS], [libs], [$2])
|
||||||
|
|
||||||
|
m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
|
||||||
|
and $1[]_LIBS to avoid the need to call pkg-config.
|
||||||
|
See the pkg-config man page for more details.])
|
||||||
|
|
||||||
|
if test $pkg_failed = yes; then
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
_PKG_SHORT_ERRORS_SUPPORTED
|
||||||
|
if test $_pkg_short_errors_supported = yes; then
|
||||||
|
$1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1`
|
||||||
|
else
|
||||||
|
$1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1`
|
||||||
|
fi
|
||||||
|
# Put the nasty error message in config.log where it belongs
|
||||||
|
echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
|
||||||
|
|
||||||
|
m4_default([$4], [AC_MSG_ERROR(
|
||||||
|
[Package requirements ($2) were not met:
|
||||||
|
|
||||||
|
$$1_PKG_ERRORS
|
||||||
|
|
||||||
|
Consider adjusting the PKG_CONFIG_PATH environment variable if you
|
||||||
|
installed software in a non-standard prefix.
|
||||||
|
|
||||||
|
_PKG_TEXT])dnl
|
||||||
|
])
|
||||||
|
elif test $pkg_failed = untried; then
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
m4_default([$4], [AC_MSG_FAILURE(
|
||||||
|
[The pkg-config script could not be found or is too old. Make sure it
|
||||||
|
is in your PATH or set the PKG_CONFIG environment variable to the full
|
||||||
|
path to pkg-config.
|
||||||
|
|
||||||
|
_PKG_TEXT
|
||||||
|
|
||||||
|
To get pkg-config, see <http://pkg-config.freedesktop.org/>.])dnl
|
||||||
|
])
|
||||||
|
else
|
||||||
|
$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
|
||||||
|
$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
|
||||||
|
AC_MSG_RESULT([yes])
|
||||||
|
$3
|
||||||
|
fi[]dnl
|
||||||
|
])# PKG_CHECK_MODULES
|
|
@ -13,13 +13,13 @@ android {
|
||||||
if (buildAsApplication) {
|
if (buildAsApplication) {
|
||||||
applicationId "org.libsdl.app"
|
applicationId "org.libsdl.app"
|
||||||
}
|
}
|
||||||
minSdkVersion 14
|
minSdkVersion 16
|
||||||
targetSdkVersion 26
|
targetSdkVersion 26
|
||||||
versionCode 1
|
versionCode 1
|
||||||
versionName "1.0"
|
versionName "1.0"
|
||||||
externalNativeBuild {
|
externalNativeBuild {
|
||||||
ndkBuild {
|
ndkBuild {
|
||||||
arguments "APP_PLATFORM=android-14"
|
arguments "APP_PLATFORM=android-16"
|
||||||
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
|
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,4 +7,4 @@
|
||||||
APP_ABI := armeabi-v7a arm64-v8a x86 x86_64
|
APP_ABI := armeabi-v7a arm64-v8a x86 x86_64
|
||||||
|
|
||||||
# Min runtime API level
|
# Min runtime API level
|
||||||
APP_PLATFORM=android-14
|
APP_PLATFORM=android-16
|
||||||
|
|
|
@ -54,7 +54,9 @@
|
||||||
|
|
||||||
<activity android:name="SDLActivity"
|
<activity android:name="SDLActivity"
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
|
android:alwaysRetainTaskState="true"
|
||||||
|
android:launchMode="singleInstance"
|
||||||
|
android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|keyboard|keyboardHidden|navigation"
|
||||||
>
|
>
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
|
|
|
@ -12,12 +12,11 @@ import android.bluetooth.BluetoothGattService;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.Looper;
|
import android.os.Looper;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
import android.os.*;
|
||||||
|
|
||||||
//import com.android.internal.util.HexDump;
|
//import com.android.internal.util.HexDump;
|
||||||
|
|
||||||
import java.lang.Runnable;
|
import java.lang.Runnable;
|
||||||
import java.lang.reflect.InvocationTargetException;
|
|
||||||
import java.lang.reflect.Method;
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
@ -186,12 +185,15 @@ class HIDDeviceBLESteamController extends BluetoothGattCallback implements HIDDe
|
||||||
// Because on Chromebooks we show up as a dual-mode device, it will attempt to connect TRANSPORT_AUTO, which will use TRANSPORT_BREDR instead
|
// Because on Chromebooks we show up as a dual-mode device, it will attempt to connect TRANSPORT_AUTO, which will use TRANSPORT_BREDR instead
|
||||||
// of TRANSPORT_LE. Let's force ourselves to connect low energy.
|
// of TRANSPORT_LE. Let's force ourselves to connect low energy.
|
||||||
private BluetoothGatt connectGatt(boolean managed) {
|
private BluetoothGatt connectGatt(boolean managed) {
|
||||||
|
if (Build.VERSION.SDK_INT >= 23) {
|
||||||
try {
|
try {
|
||||||
Method m = mDevice.getClass().getDeclaredMethod("connectGatt", Context.class, boolean.class, BluetoothGattCallback.class, int.class);
|
return mDevice.connectGatt(mManager.getContext(), managed, this, TRANSPORT_LE);
|
||||||
return (BluetoothGatt) m.invoke(mDevice, mManager.getContext(), managed, this, TRANSPORT_LE);
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return mDevice.connectGatt(mManager.getContext(), managed, this);
|
return mDevice.connectGatt(mManager.getContext(), managed, this);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
return mDevice.connectGatt(mManager.getContext(), managed, this);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private BluetoothGatt connectGatt() {
|
private BluetoothGatt connectGatt() {
|
||||||
|
|
|
@ -411,7 +411,7 @@ public class HIDDeviceManager {
|
||||||
|
|
||||||
if (mIsChromebook) {
|
if (mIsChromebook) {
|
||||||
mHandler = new Handler(Looper.getMainLooper());
|
mHandler = new Handler(Looper.getMainLooper());
|
||||||
mLastBluetoothDevices = new ArrayList<>();
|
mLastBluetoothDevices = new ArrayList<BluetoothDevice>();
|
||||||
|
|
||||||
// final HIDDeviceManager finalThis = this;
|
// final HIDDeviceManager finalThis = this;
|
||||||
// mHandler.postDelayed(new Runnable() {
|
// mHandler.postDelayed(new Runnable() {
|
||||||
|
@ -439,8 +439,8 @@ public class HIDDeviceManager {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ArrayList<BluetoothDevice> disconnected = new ArrayList<>();
|
ArrayList<BluetoothDevice> disconnected = new ArrayList<BluetoothDevice>();
|
||||||
ArrayList<BluetoothDevice> connected = new ArrayList<>();
|
ArrayList<BluetoothDevice> connected = new ArrayList<BluetoothDevice>();
|
||||||
|
|
||||||
List<BluetoothDevice> currentConnected = mBluetoothManager.getConnectedDevices(BluetoothProfile.GATT);
|
List<BluetoothDevice> currentConnected = mBluetoothManager.getConnectedDevices(BluetoothProfile.GATT);
|
||||||
|
|
||||||
|
|
|
@ -37,7 +37,8 @@ import android.content.pm.ApplicationInfo;
|
||||||
public class SDLActivity extends Activity implements View.OnSystemUiVisibilityChangeListener {
|
public class SDLActivity extends Activity implements View.OnSystemUiVisibilityChangeListener {
|
||||||
private static final String TAG = "SDL";
|
private static final String TAG = "SDL";
|
||||||
|
|
||||||
public static boolean mIsResumedCalled, mIsSurfaceReady, mHasFocus;
|
public static boolean mIsResumedCalled, mHasFocus;
|
||||||
|
public static final boolean mHasMultiWindow = (Build.VERSION.SDK_INT >= 24);
|
||||||
|
|
||||||
// Cursor types
|
// Cursor types
|
||||||
private static final int SDL_SYSTEM_CURSOR_NONE = -1;
|
private static final int SDL_SYSTEM_CURSOR_NONE = -1;
|
||||||
|
@ -70,15 +71,9 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh
|
||||||
public static NativeState mNextNativeState;
|
public static NativeState mNextNativeState;
|
||||||
public static NativeState mCurrentNativeState;
|
public static NativeState mCurrentNativeState;
|
||||||
|
|
||||||
public static boolean mExitCalledFromJava;
|
|
||||||
|
|
||||||
/** If shared libraries (e.g. SDL or the native application) could not be loaded. */
|
/** If shared libraries (e.g. SDL or the native application) could not be loaded. */
|
||||||
public static boolean mBrokenLibraries;
|
public static boolean mBrokenLibraries;
|
||||||
|
|
||||||
// If we want to separate mouse and touch events.
|
|
||||||
// This is only toggled in native code when a hint is set!
|
|
||||||
public static boolean mSeparateMouseAndTouch;
|
|
||||||
|
|
||||||
// Main components
|
// Main components
|
||||||
protected static SDLActivity mSingleton;
|
protected static SDLActivity mSingleton;
|
||||||
protected static SDLSurface mSurface;
|
protected static SDLSurface mSurface;
|
||||||
|
@ -86,7 +81,7 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh
|
||||||
protected static boolean mScreenKeyboardShown;
|
protected static boolean mScreenKeyboardShown;
|
||||||
protected static ViewGroup mLayout;
|
protected static ViewGroup mLayout;
|
||||||
protected static SDLClipboardHandler mClipboardHandler;
|
protected static SDLClipboardHandler mClipboardHandler;
|
||||||
protected static Hashtable<Integer, Object> mCursors;
|
protected static Hashtable<Integer, PointerIcon> mCursors;
|
||||||
protected static int mLastCursorID;
|
protected static int mLastCursorID;
|
||||||
protected static SDLGenericMotionListener_API12 mMotionListener;
|
protected static SDLGenericMotionListener_API12 mMotionListener;
|
||||||
protected static HIDDeviceManager mHIDDeviceManager;
|
protected static HIDDeviceManager mHIDDeviceManager;
|
||||||
|
@ -142,6 +137,7 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh
|
||||||
*/
|
*/
|
||||||
protected String[] getLibraries() {
|
protected String[] getLibraries() {
|
||||||
return new String[] {
|
return new String[] {
|
||||||
|
"hidapi",
|
||||||
"SDL2",
|
"SDL2",
|
||||||
// "SDL2_image",
|
// "SDL2_image",
|
||||||
// "SDL2_mixer",
|
// "SDL2_mixer",
|
||||||
|
@ -176,13 +172,11 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh
|
||||||
mTextEdit = null;
|
mTextEdit = null;
|
||||||
mLayout = null;
|
mLayout = null;
|
||||||
mClipboardHandler = null;
|
mClipboardHandler = null;
|
||||||
mCursors = new Hashtable<Integer, Object>();
|
mCursors = new Hashtable<Integer, PointerIcon>();
|
||||||
mLastCursorID = 0;
|
mLastCursorID = 0;
|
||||||
mSDLThread = null;
|
mSDLThread = null;
|
||||||
mExitCalledFromJava = false;
|
|
||||||
mBrokenLibraries = false;
|
mBrokenLibraries = false;
|
||||||
mIsResumedCalled = false;
|
mIsResumedCalled = false;
|
||||||
mIsSurfaceReady = false;
|
|
||||||
mHasFocus = true;
|
mHasFocus = true;
|
||||||
mNextNativeState = NativeState.INIT;
|
mNextNativeState = NativeState.INIT;
|
||||||
mCurrentNativeState = NativeState.INIT;
|
mCurrentNativeState = NativeState.INIT;
|
||||||
|
@ -196,6 +190,12 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh
|
||||||
Log.v(TAG, "onCreate()");
|
Log.v(TAG, "onCreate()");
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
|
try {
|
||||||
|
Thread.currentThread().setName("SDLActivity");
|
||||||
|
} catch (Exception e) {
|
||||||
|
Log.v(TAG, "modify thread properties failed " + e.toString());
|
||||||
|
}
|
||||||
|
|
||||||
// Load shared libraries
|
// Load shared libraries
|
||||||
String errorMsgBrokenLib = "";
|
String errorMsgBrokenLib = "";
|
||||||
try {
|
try {
|
||||||
|
@ -243,12 +243,7 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh
|
||||||
mSingleton = this;
|
mSingleton = this;
|
||||||
SDL.setContext(this);
|
SDL.setContext(this);
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT >= 11) {
|
|
||||||
mClipboardHandler = new SDLClipboardHandler_API11();
|
mClipboardHandler = new SDLClipboardHandler_API11();
|
||||||
} else {
|
|
||||||
/* Before API 11, no clipboard notification (eg no SDL_CLIPBOARDUPDATE) */
|
|
||||||
mClipboardHandler = new SDLClipboardHandler_Old();
|
|
||||||
}
|
|
||||||
|
|
||||||
mHIDDeviceManager = HIDDeviceManager.acquire(this);
|
mHIDDeviceManager = HIDDeviceManager.acquire(this);
|
||||||
|
|
||||||
|
@ -260,6 +255,7 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh
|
||||||
|
|
||||||
// Get our current screen orientation and pass it down.
|
// Get our current screen orientation and pass it down.
|
||||||
mCurrentOrientation = SDLActivity.getCurrentOrientation();
|
mCurrentOrientation = SDLActivity.getCurrentOrientation();
|
||||||
|
// Only record current orientation
|
||||||
SDLActivity.onNativeOrientationChanged(mCurrentOrientation);
|
SDLActivity.onNativeOrientationChanged(mCurrentOrientation);
|
||||||
|
|
||||||
setContentView(mLayout);
|
setContentView(mLayout);
|
||||||
|
@ -279,11 +275,7 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Events
|
protected void pauseNativeThread() {
|
||||||
@Override
|
|
||||||
protected void onPause() {
|
|
||||||
Log.v(TAG, "onPause()");
|
|
||||||
super.onPause();
|
|
||||||
mNextNativeState = NativeState.PAUSED;
|
mNextNativeState = NativeState.PAUSED;
|
||||||
mIsResumedCalled = false;
|
mIsResumedCalled = false;
|
||||||
|
|
||||||
|
@ -298,10 +290,7 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh
|
||||||
SDLActivity.handleNativeState();
|
SDLActivity.handleNativeState();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
protected void resumeNativeThread() {
|
||||||
protected void onResume() {
|
|
||||||
Log.v(TAG, "onResume()");
|
|
||||||
super.onResume();
|
|
||||||
mNextNativeState = NativeState.RESUMED;
|
mNextNativeState = NativeState.RESUMED;
|
||||||
mIsResumedCalled = true;
|
mIsResumedCalled = true;
|
||||||
|
|
||||||
|
@ -316,6 +305,43 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh
|
||||||
SDLActivity.handleNativeState();
|
SDLActivity.handleNativeState();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Events
|
||||||
|
@Override
|
||||||
|
protected void onPause() {
|
||||||
|
Log.v(TAG, "onPause()");
|
||||||
|
super.onPause();
|
||||||
|
if (!mHasMultiWindow) {
|
||||||
|
pauseNativeThread();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onResume() {
|
||||||
|
Log.v(TAG, "onResume()");
|
||||||
|
super.onResume();
|
||||||
|
if (!mHasMultiWindow) {
|
||||||
|
resumeNativeThread();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onStop() {
|
||||||
|
Log.v(TAG, "onStop()");
|
||||||
|
super.onStop();
|
||||||
|
if (mHasMultiWindow) {
|
||||||
|
pauseNativeThread();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onStart() {
|
||||||
|
Log.v(TAG, "onStart()");
|
||||||
|
super.onStart();
|
||||||
|
if (mHasMultiWindow) {
|
||||||
|
resumeNativeThread();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static int getCurrentOrientation() {
|
public static int getCurrentOrientation() {
|
||||||
final Context context = SDLActivity.getContext();
|
final Context context = SDLActivity.getContext();
|
||||||
final Display display = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
|
final Display display = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
|
||||||
|
@ -352,15 +378,21 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
SDLActivity.mHasFocus = hasFocus;
|
mHasFocus = hasFocus;
|
||||||
if (hasFocus) {
|
if (hasFocus) {
|
||||||
mNextNativeState = NativeState.RESUMED;
|
mNextNativeState = NativeState.RESUMED;
|
||||||
SDLActivity.getMotionListener().reclaimRelativeMouseModeIfNeeded();
|
SDLActivity.getMotionListener().reclaimRelativeMouseModeIfNeeded();
|
||||||
} else {
|
|
||||||
mNextNativeState = NativeState.PAUSED;
|
|
||||||
}
|
|
||||||
|
|
||||||
SDLActivity.handleNativeState();
|
SDLActivity.handleNativeState();
|
||||||
|
nativeFocusChanged(true);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
nativeFocusChanged(false);
|
||||||
|
if (!mHasMultiWindow) {
|
||||||
|
mNextNativeState = NativeState.PAUSED;
|
||||||
|
SDLActivity.handleNativeState();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -386,34 +418,25 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh
|
||||||
|
|
||||||
if (SDLActivity.mBrokenLibraries) {
|
if (SDLActivity.mBrokenLibraries) {
|
||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
// Reset everything in case the user re opens the app
|
|
||||||
SDLActivity.initialize();
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
mNextNativeState = NativeState.PAUSED;
|
|
||||||
SDLActivity.handleNativeState();
|
|
||||||
|
|
||||||
// Send a quit message to the application
|
|
||||||
SDLActivity.mExitCalledFromJava = true;
|
|
||||||
SDLActivity.nativeQuit();
|
|
||||||
|
|
||||||
// Now wait for the SDL thread to quit
|
|
||||||
if (SDLActivity.mSDLThread != null) {
|
if (SDLActivity.mSDLThread != null) {
|
||||||
|
|
||||||
|
// Send Quit event to "SDLThread" thread
|
||||||
|
SDLActivity.nativeSendQuit();
|
||||||
|
|
||||||
|
// Wait for "SDLThread" thread to end
|
||||||
try {
|
try {
|
||||||
SDLActivity.mSDLThread.join();
|
SDLActivity.mSDLThread.join();
|
||||||
} catch(Exception e) {
|
} catch(Exception e) {
|
||||||
Log.v(TAG, "Problem stopping thread: " + e);
|
Log.v(TAG, "Problem stopping SDLThread: " + e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
SDLActivity.mSDLThread = null;
|
|
||||||
|
|
||||||
//Log.v(TAG, "Finished waiting for SDL thread");
|
SDLActivity.nativeQuit();
|
||||||
}
|
|
||||||
|
|
||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
|
|
||||||
// Reset everything in case the user re opens the app
|
|
||||||
SDLActivity.initialize();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -490,16 +513,19 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh
|
||||||
|
|
||||||
// Try a transition to paused state
|
// Try a transition to paused state
|
||||||
if (mNextNativeState == NativeState.PAUSED) {
|
if (mNextNativeState == NativeState.PAUSED) {
|
||||||
|
if (mSDLThread != null) {
|
||||||
nativePause();
|
nativePause();
|
||||||
if (mSurface != null)
|
}
|
||||||
|
if (mSurface != null) {
|
||||||
mSurface.handlePause();
|
mSurface.handlePause();
|
||||||
|
}
|
||||||
mCurrentNativeState = mNextNativeState;
|
mCurrentNativeState = mNextNativeState;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Try a transition to resumed state
|
// Try a transition to resumed state
|
||||||
if (mNextNativeState == NativeState.RESUMED) {
|
if (mNextNativeState == NativeState.RESUMED) {
|
||||||
if (mIsSurfaceReady && mHasFocus && mIsResumedCalled) {
|
if (mSurface.mIsSurfaceReady && mHasFocus && mIsResumedCalled) {
|
||||||
if (mSDLThread == null) {
|
if (mSDLThread == null) {
|
||||||
// This is the entry point to the C app.
|
// This is the entry point to the C app.
|
||||||
// Start up the C app thread and enable sensor input for the first time
|
// Start up the C app thread and enable sensor input for the first time
|
||||||
|
@ -508,28 +534,24 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh
|
||||||
mSDLThread = new Thread(new SDLMain(), "SDLThread");
|
mSDLThread = new Thread(new SDLMain(), "SDLThread");
|
||||||
mSurface.enableSensor(Sensor.TYPE_ACCELEROMETER, true);
|
mSurface.enableSensor(Sensor.TYPE_ACCELEROMETER, true);
|
||||||
mSDLThread.start();
|
mSDLThread.start();
|
||||||
}
|
|
||||||
|
|
||||||
|
// No nativeResume(), don't signal Android_ResumeSem
|
||||||
|
mSurface.handleResume();
|
||||||
|
} else {
|
||||||
nativeResume();
|
nativeResume();
|
||||||
mSurface.handleResume();
|
mSurface.handleResume();
|
||||||
|
}
|
||||||
|
|
||||||
mCurrentNativeState = mNextNativeState;
|
mCurrentNativeState = mNextNativeState;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The native thread has finished */
|
|
||||||
public static void handleNativeExit() {
|
|
||||||
SDLActivity.mSDLThread = null;
|
|
||||||
if (mSingleton != null) {
|
|
||||||
mSingleton.finish();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Messages from the SDLMain thread
|
// Messages from the SDLMain thread
|
||||||
static final int COMMAND_CHANGE_TITLE = 1;
|
static final int COMMAND_CHANGE_TITLE = 1;
|
||||||
static final int COMMAND_CHANGE_WINDOW_STYLE = 2;
|
static final int COMMAND_CHANGE_WINDOW_STYLE = 2;
|
||||||
static final int COMMAND_TEXTEDIT_HIDE = 3;
|
static final int COMMAND_TEXTEDIT_HIDE = 3;
|
||||||
|
static final int COMMAND_CHANGE_SURFACEVIEW_FORMAT = 4;
|
||||||
static final int COMMAND_SET_KEEP_SCREEN_ON = 5;
|
static final int COMMAND_SET_KEEP_SCREEN_ON = 5;
|
||||||
|
|
||||||
protected static final int COMMAND_USER = 0x8000;
|
protected static final int COMMAND_USER = 0x8000;
|
||||||
|
@ -627,6 +649,32 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case COMMAND_CHANGE_SURFACEVIEW_FORMAT:
|
||||||
|
{
|
||||||
|
int format = (Integer) msg.obj;
|
||||||
|
int pf;
|
||||||
|
|
||||||
|
if (SDLActivity.mSurface == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
SurfaceHolder holder = SDLActivity.mSurface.getHolder();
|
||||||
|
if (holder == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (format == 1) {
|
||||||
|
pf = PixelFormat.RGBA_8888;
|
||||||
|
} else if (format == 2) {
|
||||||
|
pf = PixelFormat.RGBX_8888;
|
||||||
|
} else {
|
||||||
|
pf = PixelFormat.RGB_565;
|
||||||
|
}
|
||||||
|
|
||||||
|
holder.setFormat(pf);
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
if ((context instanceof SDLActivity) && !((SDLActivity) context).onUnhandledMessage(msg.arg1, msg.obj)) {
|
if ((context instanceof SDLActivity) && !((SDLActivity) context).onUnhandledMessage(msg.arg1, msg.obj)) {
|
||||||
Log.e(TAG, "error handling message, command is " + msg.arg1);
|
Log.e(TAG, "error handling message, command is " + msg.arg1);
|
||||||
|
@ -704,13 +752,17 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh
|
||||||
public static native int nativeSetupJNI();
|
public static native int nativeSetupJNI();
|
||||||
public static native int nativeRunMain(String library, String function, Object arguments);
|
public static native int nativeRunMain(String library, String function, Object arguments);
|
||||||
public static native void nativeLowMemory();
|
public static native void nativeLowMemory();
|
||||||
|
public static native void nativeSendQuit();
|
||||||
public static native void nativeQuit();
|
public static native void nativeQuit();
|
||||||
public static native void nativePause();
|
public static native void nativePause();
|
||||||
public static native void nativeResume();
|
public static native void nativeResume();
|
||||||
|
public static native void nativeFocusChanged(boolean hasFocus);
|
||||||
public static native void onNativeDropFile(String filename);
|
public static native void onNativeDropFile(String filename);
|
||||||
public static native void onNativeResize(int surfaceWidth, int surfaceHeight, int deviceWidth, int deviceHeight, int format, float rate);
|
public static native void nativeSetScreenResolution(int surfaceWidth, int surfaceHeight, int deviceWidth, int deviceHeight, int format, float rate);
|
||||||
|
public static native void onNativeResize();
|
||||||
public static native void onNativeKeyDown(int keycode);
|
public static native void onNativeKeyDown(int keycode);
|
||||||
public static native void onNativeKeyUp(int keycode);
|
public static native void onNativeKeyUp(int keycode);
|
||||||
|
public static native boolean onNativeSoftReturnKey();
|
||||||
public static native void onNativeKeyboardFocusLost();
|
public static native void onNativeKeyboardFocusLost();
|
||||||
public static native void onNativeMouse(int button, int action, float x, float y, boolean relative);
|
public static native void onNativeMouse(int button, int action, float x, float y, boolean relative);
|
||||||
public static native void onNativeTouch(int touchDevId, int pointerFingerId,
|
public static native void onNativeTouch(int touchDevId, int pointerFingerId,
|
||||||
|
@ -718,11 +770,13 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh
|
||||||
float y, float p);
|
float y, float p);
|
||||||
public static native void onNativeAccel(float x, float y, float z);
|
public static native void onNativeAccel(float x, float y, float z);
|
||||||
public static native void onNativeClipboardChanged();
|
public static native void onNativeClipboardChanged();
|
||||||
|
public static native void onNativeSurfaceCreated();
|
||||||
public static native void onNativeSurfaceChanged();
|
public static native void onNativeSurfaceChanged();
|
||||||
public static native void onNativeSurfaceDestroyed();
|
public static native void onNativeSurfaceDestroyed();
|
||||||
public static native String nativeGetHint(String name);
|
public static native String nativeGetHint(String name);
|
||||||
public static native void nativeSetenv(String name, String value);
|
public static native void nativeSetenv(String name, String value);
|
||||||
public static native void onNativeOrientationChanged(int orientation);
|
public static native void onNativeOrientationChanged(int orientation);
|
||||||
|
public static native void nativeAddTouch(int touchId, String name);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method is called by SDL using JNI.
|
* This method is called by SDL using JNI.
|
||||||
|
@ -792,6 +846,45 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method is called by SDL using JNI.
|
||||||
|
*/
|
||||||
|
public static void minimizeWindow() {
|
||||||
|
|
||||||
|
if (mSingleton == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Intent startMain = new Intent(Intent.ACTION_MAIN);
|
||||||
|
startMain.addCategory(Intent.CATEGORY_HOME);
|
||||||
|
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||||
|
mSingleton.startActivity(startMain);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method is called by SDL using JNI.
|
||||||
|
*/
|
||||||
|
public static boolean shouldMinimizeOnFocusLoss() {
|
||||||
|
/*
|
||||||
|
if (Build.VERSION.SDK_INT >= 24) {
|
||||||
|
if (mSingleton == null) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mSingleton.isInMultiWindowMode()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mSingleton.isInPictureInPictureMode()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
*/
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method is called by SDL using JNI.
|
* This method is called by SDL using JNI.
|
||||||
*/
|
*/
|
||||||
|
@ -976,6 +1069,14 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh
|
||||||
this.y = y;
|
this.y = y;
|
||||||
this.w = w;
|
this.w = w;
|
||||||
this.h = h;
|
this.h = h;
|
||||||
|
|
||||||
|
/* Minimum size of 1 pixel, so it takes focus. */
|
||||||
|
if (this.w <= 0) {
|
||||||
|
this.w = 1;
|
||||||
|
}
|
||||||
|
if (this.h + HEIGHT_PADDING <= 0) {
|
||||||
|
this.h = 1 - HEIGHT_PADDING;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -1013,11 +1114,9 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh
|
||||||
public static boolean isTextInputEvent(KeyEvent event) {
|
public static boolean isTextInputEvent(KeyEvent event) {
|
||||||
|
|
||||||
// Key pressed with Ctrl should be sent as SDL_KEYDOWN/SDL_KEYUP and not SDL_TEXTINPUT
|
// Key pressed with Ctrl should be sent as SDL_KEYDOWN/SDL_KEYUP and not SDL_TEXTINPUT
|
||||||
if (Build.VERSION.SDK_INT >= 11) {
|
|
||||||
if (event.isCtrlPressed()) {
|
if (event.isCtrlPressed()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
return event.isPrintingKey() || event.getKeyCode() == KeyEvent.KEYCODE_SPACE;
|
return event.isPrintingKey() || event.getKeyCode() == KeyEvent.KEYCODE_SPACE;
|
||||||
}
|
}
|
||||||
|
@ -1032,23 +1131,28 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh
|
||||||
return SDLActivity.mSurface.getNativeSurface();
|
return SDLActivity.mSurface.getNativeSurface();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method is called by SDL using JNI.
|
||||||
|
*/
|
||||||
|
public static void setSurfaceViewFormat(int format) {
|
||||||
|
mSingleton.sendCommand(COMMAND_CHANGE_SURFACEVIEW_FORMAT, format);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Input
|
// Input
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method is called by SDL using JNI.
|
* This method is called by SDL using JNI.
|
||||||
* @return an array which may be empty but is never null.
|
|
||||||
*/
|
*/
|
||||||
public static int[] inputGetInputDeviceIds(int sources) {
|
public static void initTouch() {
|
||||||
int[] ids = InputDevice.getDeviceIds();
|
int[] ids = InputDevice.getDeviceIds();
|
||||||
int[] filtered = new int[ids.length];
|
|
||||||
int used = 0;
|
|
||||||
for (int i = 0; i < ids.length; ++i) {
|
for (int i = 0; i < ids.length; ++i) {
|
||||||
InputDevice device = InputDevice.getDevice(ids[i]);
|
InputDevice device = InputDevice.getDevice(ids[i]);
|
||||||
if ((device != null) && ((device.getSources() & sources) != 0)) {
|
if (device != null && (device.getSources() & InputDevice.SOURCE_TOUCHSCREEN) != 0) {
|
||||||
filtered[used++] = device.getId();
|
nativeAddTouch(device.getId(), device.getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Arrays.copyOf(filtered, used);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// APK expansion files support
|
// APK expansion files support
|
||||||
|
@ -1341,7 +1445,7 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh
|
||||||
};
|
};
|
||||||
|
|
||||||
public void onSystemUiVisibilityChange(int visibility) {
|
public void onSystemUiVisibilityChange(int visibility) {
|
||||||
if (SDLActivity.mFullscreenModeActive && (visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0 || (visibility & View.SYSTEM_UI_FLAG_HIDE_NAVIGATION) == 0) {
|
if (SDLActivity.mFullscreenModeActive && ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0 || (visibility & View.SYSTEM_UI_FLAG_HIDE_NAVIGATION) == 0)) {
|
||||||
|
|
||||||
Handler handler = getWindow().getDecorView().getHandler();
|
Handler handler = getWindow().getDecorView().getHandler();
|
||||||
if (handler != null) {
|
if (handler != null) {
|
||||||
|
@ -1379,15 +1483,16 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh
|
||||||
public static int createCustomCursor(int[] colors, int width, int height, int hotSpotX, int hotSpotY) {
|
public static int createCustomCursor(int[] colors, int width, int height, int hotSpotX, int hotSpotY) {
|
||||||
Bitmap bitmap = Bitmap.createBitmap(colors, width, height, Bitmap.Config.ARGB_8888);
|
Bitmap bitmap = Bitmap.createBitmap(colors, width, height, Bitmap.Config.ARGB_8888);
|
||||||
++mLastCursorID;
|
++mLastCursorID;
|
||||||
// This requires API 24, so use reflection to implement this
|
|
||||||
|
if (Build.VERSION.SDK_INT >= 24) {
|
||||||
try {
|
try {
|
||||||
Class PointerIconClass = Class.forName("android.view.PointerIcon");
|
mCursors.put(mLastCursorID, PointerIcon.create(bitmap, hotSpotX, hotSpotY));
|
||||||
Class[] arg_types = new Class[] { Bitmap.class, float.class, float.class };
|
|
||||||
Method create = PointerIconClass.getMethod("create", arg_types);
|
|
||||||
mCursors.put(mLastCursorID, create.invoke(null, bitmap, hotSpotX, hotSpotY));
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
return mLastCursorID;
|
return mLastCursorID;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1395,14 +1500,16 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh
|
||||||
* This method is called by SDL using JNI.
|
* This method is called by SDL using JNI.
|
||||||
*/
|
*/
|
||||||
public static boolean setCustomCursor(int cursorID) {
|
public static boolean setCustomCursor(int cursorID) {
|
||||||
// This requires API 24, so use reflection to implement this
|
|
||||||
|
if (Build.VERSION.SDK_INT >= 24) {
|
||||||
try {
|
try {
|
||||||
Class PointerIconClass = Class.forName("android.view.PointerIcon");
|
mSurface.setPointerIcon(mCursors.get(cursorID));
|
||||||
Method setPointerIcon = SDLSurface.class.getMethod("setPointerIcon", PointerIconClass);
|
|
||||||
setPointerIcon.invoke(mSurface, mCursors.get(cursorID));
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1449,16 +1556,13 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh
|
||||||
cursor_type = 1002; //PointerIcon.TYPE_HAND;
|
cursor_type = 1002; //PointerIcon.TYPE_HAND;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
// This requires API 24, so use reflection to implement this
|
if (Build.VERSION.SDK_INT >= 24) {
|
||||||
try {
|
try {
|
||||||
Class PointerIconClass = Class.forName("android.view.PointerIcon");
|
mSurface.setPointerIcon(PointerIcon.getSystemIcon(SDL.getContext(), cursor_type));
|
||||||
Class[] arg_types = new Class[] { Context.class, int.class };
|
|
||||||
Method getSystemIcon = PointerIconClass.getMethod("getSystemIcon", arg_types);
|
|
||||||
Method setPointerIcon = SDLSurface.class.getMethod("setPointerIcon", PointerIconClass);
|
|
||||||
setPointerIcon.invoke(mSurface, getSystemIcon.invoke(null, SDL.getContext(), cursor_type));
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1474,14 +1578,24 @@ class SDLMain implements Runnable {
|
||||||
String function = SDLActivity.mSingleton.getMainFunction();
|
String function = SDLActivity.mSingleton.getMainFunction();
|
||||||
String[] arguments = SDLActivity.mSingleton.getArguments();
|
String[] arguments = SDLActivity.mSingleton.getArguments();
|
||||||
|
|
||||||
|
try {
|
||||||
|
android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_DISPLAY);
|
||||||
|
} catch (Exception e) {
|
||||||
|
Log.v("SDL", "modify thread properties failed " + e.toString());
|
||||||
|
}
|
||||||
|
|
||||||
Log.v("SDL", "Running main function " + function + " from library " + library);
|
Log.v("SDL", "Running main function " + function + " from library " + library);
|
||||||
|
|
||||||
SDLActivity.nativeRunMain(library, function, arguments);
|
SDLActivity.nativeRunMain(library, function, arguments);
|
||||||
|
|
||||||
Log.v("SDL", "Finished main function");
|
Log.v("SDL", "Finished main function");
|
||||||
|
|
||||||
// Native thread has finished, let's finish the Activity
|
if (SDLActivity.mSingleton.isFinishing()) {
|
||||||
if (!SDLActivity.mExitCalledFromJava) {
|
// Activity is already being destroyed
|
||||||
SDLActivity.handleNativeExit();
|
} else {
|
||||||
|
// Let's finish the Activity
|
||||||
|
SDLActivity.mSDLThread = null;
|
||||||
|
SDLActivity.mSingleton.finish();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1497,11 +1611,14 @@ class SDLSurface extends SurfaceView implements SurfaceHolder.Callback,
|
||||||
View.OnKeyListener, View.OnTouchListener, SensorEventListener {
|
View.OnKeyListener, View.OnTouchListener, SensorEventListener {
|
||||||
|
|
||||||
// Sensors
|
// Sensors
|
||||||
protected static SensorManager mSensorManager;
|
protected SensorManager mSensorManager;
|
||||||
protected static Display mDisplay;
|
protected Display mDisplay;
|
||||||
|
|
||||||
// Keep track of the surface size to normalize touch events
|
// Keep track of the surface size to normalize touch events
|
||||||
protected static float mWidth, mHeight;
|
protected float mWidth, mHeight;
|
||||||
|
|
||||||
|
// Is SurfaceView ready for rendering
|
||||||
|
public boolean mIsSurfaceReady;
|
||||||
|
|
||||||
// Startup
|
// Startup
|
||||||
public SDLSurface(Context context) {
|
public SDLSurface(Context context) {
|
||||||
|
@ -1517,13 +1634,13 @@ class SDLSurface extends SurfaceView implements SurfaceHolder.Callback,
|
||||||
mDisplay = ((WindowManager)context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
|
mDisplay = ((WindowManager)context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
|
||||||
mSensorManager = (SensorManager)context.getSystemService(Context.SENSOR_SERVICE);
|
mSensorManager = (SensorManager)context.getSystemService(Context.SENSOR_SERVICE);
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT >= 12) {
|
|
||||||
setOnGenericMotionListener(SDLActivity.getMotionListener());
|
setOnGenericMotionListener(SDLActivity.getMotionListener());
|
||||||
}
|
|
||||||
|
|
||||||
// Some arbitrary defaults to avoid a potential division by zero
|
// Some arbitrary defaults to avoid a potential division by zero
|
||||||
mWidth = 1.0f;
|
mWidth = 1.0f;
|
||||||
mHeight = 1.0f;
|
mHeight = 1.0f;
|
||||||
|
|
||||||
|
mIsSurfaceReady = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void handlePause() {
|
public void handlePause() {
|
||||||
|
@ -1547,7 +1664,7 @@ class SDLSurface extends SurfaceView implements SurfaceHolder.Callback,
|
||||||
@Override
|
@Override
|
||||||
public void surfaceCreated(SurfaceHolder holder) {
|
public void surfaceCreated(SurfaceHolder holder) {
|
||||||
Log.v("SDL", "surfaceCreated()");
|
Log.v("SDL", "surfaceCreated()");
|
||||||
holder.setType(SurfaceHolder.SURFACE_TYPE_GPU);
|
SDLActivity.onNativeSurfaceCreated();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Called when we lose the surface
|
// Called when we lose the surface
|
||||||
|
@ -1559,7 +1676,7 @@ class SDLSurface extends SurfaceView implements SurfaceHolder.Callback,
|
||||||
SDLActivity.mNextNativeState = SDLActivity.NativeState.PAUSED;
|
SDLActivity.mNextNativeState = SDLActivity.NativeState.PAUSED;
|
||||||
SDLActivity.handleNativeState();
|
SDLActivity.handleNativeState();
|
||||||
|
|
||||||
SDLActivity.mIsSurfaceReady = false;
|
mIsSurfaceReady = false;
|
||||||
SDLActivity.onNativeSurfaceDestroyed();
|
SDLActivity.onNativeSurfaceDestroyed();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1575,23 +1692,6 @@ class SDLSurface extends SurfaceView implements SurfaceHolder.Callback,
|
||||||
|
|
||||||
int sdlFormat = 0x15151002; // SDL_PIXELFORMAT_RGB565 by default
|
int sdlFormat = 0x15151002; // SDL_PIXELFORMAT_RGB565 by default
|
||||||
switch (format) {
|
switch (format) {
|
||||||
case PixelFormat.A_8:
|
|
||||||
Log.v("SDL", "pixel format A_8");
|
|
||||||
break;
|
|
||||||
case PixelFormat.LA_88:
|
|
||||||
Log.v("SDL", "pixel format LA_88");
|
|
||||||
break;
|
|
||||||
case PixelFormat.L_8:
|
|
||||||
Log.v("SDL", "pixel format L_8");
|
|
||||||
break;
|
|
||||||
case PixelFormat.RGBA_4444:
|
|
||||||
Log.v("SDL", "pixel format RGBA_4444");
|
|
||||||
sdlFormat = 0x15421002; // SDL_PIXELFORMAT_RGBA4444
|
|
||||||
break;
|
|
||||||
case PixelFormat.RGBA_5551:
|
|
||||||
Log.v("SDL", "pixel format RGBA_5551");
|
|
||||||
sdlFormat = 0x15441002; // SDL_PIXELFORMAT_RGBA5551
|
|
||||||
break;
|
|
||||||
case PixelFormat.RGBA_8888:
|
case PixelFormat.RGBA_8888:
|
||||||
Log.v("SDL", "pixel format RGBA_8888");
|
Log.v("SDL", "pixel format RGBA_8888");
|
||||||
sdlFormat = 0x16462004; // SDL_PIXELFORMAT_RGBA8888
|
sdlFormat = 0x16462004; // SDL_PIXELFORMAT_RGBA8888
|
||||||
|
@ -1600,10 +1700,6 @@ class SDLSurface extends SurfaceView implements SurfaceHolder.Callback,
|
||||||
Log.v("SDL", "pixel format RGBX_8888");
|
Log.v("SDL", "pixel format RGBX_8888");
|
||||||
sdlFormat = 0x16261804; // SDL_PIXELFORMAT_RGBX8888
|
sdlFormat = 0x16261804; // SDL_PIXELFORMAT_RGBX8888
|
||||||
break;
|
break;
|
||||||
case PixelFormat.RGB_332:
|
|
||||||
Log.v("SDL", "pixel format RGB_332");
|
|
||||||
sdlFormat = 0x14110801; // SDL_PIXELFORMAT_RGB332
|
|
||||||
break;
|
|
||||||
case PixelFormat.RGB_565:
|
case PixelFormat.RGB_565:
|
||||||
Log.v("SDL", "pixel format RGB_565");
|
Log.v("SDL", "pixel format RGB_565");
|
||||||
sdlFormat = 0x15151002; // SDL_PIXELFORMAT_RGB565
|
sdlFormat = 0x15151002; // SDL_PIXELFORMAT_RGB565
|
||||||
|
@ -1640,8 +1736,11 @@ class SDLSurface extends SurfaceView implements SurfaceHolder.Callback,
|
||||||
|
|
||||||
Log.v("SDL", "Window size: " + width + "x" + height);
|
Log.v("SDL", "Window size: " + width + "x" + height);
|
||||||
Log.v("SDL", "Device size: " + nDeviceWidth + "x" + nDeviceHeight);
|
Log.v("SDL", "Device size: " + nDeviceWidth + "x" + nDeviceHeight);
|
||||||
SDLActivity.onNativeResize(width, height, nDeviceWidth, nDeviceHeight, sdlFormat, mDisplay.getRefreshRate());
|
SDLActivity.nativeSetScreenResolution(width, height, nDeviceWidth, nDeviceHeight, sdlFormat, mDisplay.getRefreshRate());
|
||||||
|
SDLActivity.onNativeResize();
|
||||||
|
|
||||||
|
// Prevent a screen distortion glitch,
|
||||||
|
// for instance when the device is in Landscape and a Portrait App is resumed.
|
||||||
boolean skip = false;
|
boolean skip = false;
|
||||||
int requestedOrientation = SDLActivity.mSingleton.getRequestedOrientation();
|
int requestedOrientation = SDLActivity.mSingleton.getRequestedOrientation();
|
||||||
|
|
||||||
|
@ -1671,24 +1770,39 @@ class SDLSurface extends SurfaceView implements SurfaceHolder.Callback,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Don't skip in MultiWindow.
|
||||||
if (skip) {
|
if (skip) {
|
||||||
Log.v("SDL", "Skip .. Surface is not ready.");
|
if (Build.VERSION.SDK_INT >= 24) {
|
||||||
SDLActivity.mIsSurfaceReady = false;
|
if (SDLActivity.mSingleton.isInMultiWindowMode()) {
|
||||||
return;
|
Log.v("SDL", "Don't skip in Multi-Window");
|
||||||
|
skip = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Surface is ready */
|
if (skip) {
|
||||||
SDLActivity.mIsSurfaceReady = true;
|
Log.v("SDL", "Skip .. Surface is not ready.");
|
||||||
|
mIsSurfaceReady = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
/* If the surface has been previously destroyed by onNativeSurfaceDestroyed, recreate it here */
|
/* If the surface has been previously destroyed by onNativeSurfaceDestroyed, recreate it here */
|
||||||
SDLActivity.onNativeSurfaceChanged();
|
SDLActivity.onNativeSurfaceChanged();
|
||||||
|
|
||||||
|
/* Surface is ready */
|
||||||
|
mIsSurfaceReady = true;
|
||||||
|
|
||||||
|
SDLActivity.mNextNativeState = SDLActivity.NativeState.RESUMED;
|
||||||
SDLActivity.handleNativeState();
|
SDLActivity.handleNativeState();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Key events
|
// Key events
|
||||||
@Override
|
@Override
|
||||||
public boolean onKey(View v, int keyCode, KeyEvent event) {
|
public boolean onKey(View v, int keyCode, KeyEvent event) {
|
||||||
|
|
||||||
|
int deviceId = event.getDeviceId();
|
||||||
|
int source = event.getSource();
|
||||||
|
|
||||||
// Dispatch the different events depending on where they come from
|
// Dispatch the different events depending on where they come from
|
||||||
// Some SOURCE_JOYSTICK, SOURCE_DPAD or SOURCE_GAMEPAD are also SOURCE_KEYBOARD
|
// Some SOURCE_JOYSTICK, SOURCE_DPAD or SOURCE_GAMEPAD are also SOURCE_KEYBOARD
|
||||||
// So, we try to process them as JOYSTICK/DPAD/GAMEPAD events first, if that fails we try them as KEYBOARD
|
// So, we try to process them as JOYSTICK/DPAD/GAMEPAD events first, if that fails we try them as KEYBOARD
|
||||||
|
@ -1696,20 +1810,25 @@ class SDLSurface extends SurfaceView implements SurfaceHolder.Callback,
|
||||||
// Furthermore, it's possible a game controller has SOURCE_KEYBOARD and
|
// Furthermore, it's possible a game controller has SOURCE_KEYBOARD and
|
||||||
// SOURCE_JOYSTICK, while its key events arrive from the keyboard source
|
// SOURCE_JOYSTICK, while its key events arrive from the keyboard source
|
||||||
// So, retrieve the device itself and check all of its sources
|
// So, retrieve the device itself and check all of its sources
|
||||||
if (SDLControllerManager.isDeviceSDLJoystick(event.getDeviceId())) {
|
if (SDLControllerManager.isDeviceSDLJoystick(deviceId)) {
|
||||||
// Note that we process events with specific key codes here
|
// Note that we process events with specific key codes here
|
||||||
if (event.getAction() == KeyEvent.ACTION_DOWN) {
|
if (event.getAction() == KeyEvent.ACTION_DOWN) {
|
||||||
if (SDLControllerManager.onNativePadDown(event.getDeviceId(), keyCode) == 0) {
|
if (SDLControllerManager.onNativePadDown(deviceId, keyCode) == 0) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
} else if (event.getAction() == KeyEvent.ACTION_UP) {
|
} else if (event.getAction() == KeyEvent.ACTION_UP) {
|
||||||
if (SDLControllerManager.onNativePadUp(event.getDeviceId(), keyCode) == 0) {
|
if (SDLControllerManager.onNativePadUp(deviceId, keyCode) == 0) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((event.getSource() & InputDevice.SOURCE_KEYBOARD) != 0) {
|
if (source == InputDevice.SOURCE_UNKNOWN) {
|
||||||
|
InputDevice device = InputDevice.getDevice(deviceId);
|
||||||
|
source = device.getSources();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((source & InputDevice.SOURCE_KEYBOARD) != 0) {
|
||||||
if (event.getAction() == KeyEvent.ACTION_DOWN) {
|
if (event.getAction() == KeyEvent.ACTION_DOWN) {
|
||||||
//Log.v("SDL", "key down: " + keyCode);
|
//Log.v("SDL", "key down: " + keyCode);
|
||||||
if (SDLActivity.isTextInputEvent(event)) {
|
if (SDLActivity.isTextInputEvent(event)) {
|
||||||
|
@ -1725,7 +1844,7 @@ class SDLSurface extends SurfaceView implements SurfaceHolder.Callback,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((event.getSource() & InputDevice.SOURCE_MOUSE) != 0) {
|
if ((source & InputDevice.SOURCE_MOUSE) != 0) {
|
||||||
// on some devices key events are sent for mouse BUTTON_BACK/FORWARD presses
|
// on some devices key events are sent for mouse BUTTON_BACK/FORWARD presses
|
||||||
// they are ignored here because sending them as mouse input to SDL is messy
|
// they are ignored here because sending them as mouse input to SDL is messy
|
||||||
if ((keyCode == KeyEvent.KEYCODE_BACK) || (keyCode == KeyEvent.KEYCODE_FORWARD)) {
|
if ((keyCode == KeyEvent.KEYCODE_BACK) || (keyCode == KeyEvent.KEYCODE_FORWARD)) {
|
||||||
|
@ -1754,18 +1873,15 @@ class SDLSurface extends SurfaceView implements SurfaceHolder.Callback,
|
||||||
int i = -1;
|
int i = -1;
|
||||||
float x,y,p;
|
float x,y,p;
|
||||||
|
|
||||||
// !!! FIXME: dump this SDK check after 2.0.4 ships and require API14.
|
|
||||||
// 12290 = Samsung DeX mode desktop mouse
|
// 12290 = Samsung DeX mode desktop mouse
|
||||||
if ((event.getSource() == InputDevice.SOURCE_MOUSE || event.getSource() == 12290) && SDLActivity.mSeparateMouseAndTouch) {
|
// 12290 = 0x3002 = 0x2002 | 0x1002 = SOURCE_MOUSE | SOURCE_TOUCHSCREEN
|
||||||
if (Build.VERSION.SDK_INT < 14) {
|
// 0x2 = SOURCE_CLASS_POINTER
|
||||||
mouseButton = 1; // all mouse buttons are the left button
|
if (event.getSource() == InputDevice.SOURCE_MOUSE || event.getSource() == (InputDevice.SOURCE_MOUSE | InputDevice.SOURCE_TOUCHSCREEN)) {
|
||||||
} else {
|
|
||||||
try {
|
try {
|
||||||
mouseButton = (Integer) event.getClass().getMethod("getButtonState").invoke(event);
|
mouseButton = (Integer) event.getClass().getMethod("getButtonState").invoke(event);
|
||||||
} catch(Exception e) {
|
} catch(Exception e) {
|
||||||
mouseButton = 1; // oh well.
|
mouseButton = 1; // oh well.
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// We need to check if we're in relative mouse mode and get the axis offset rather than the x/y values
|
// We need to check if we're in relative mouse mode and get the axis offset rather than the x/y values
|
||||||
// if we are. We'll leverage our existing mouse motion listener
|
// if we are. We'll leverage our existing mouse motion listener
|
||||||
|
@ -1876,8 +1992,8 @@ class SDLSurface extends SurfaceView implements SurfaceHolder.Callback,
|
||||||
newOrientation = SDLActivity.SDL_ORIENTATION_LANDSCAPE_FLIPPED;
|
newOrientation = SDLActivity.SDL_ORIENTATION_LANDSCAPE_FLIPPED;
|
||||||
break;
|
break;
|
||||||
case Surface.ROTATION_180:
|
case Surface.ROTATION_180:
|
||||||
x = -event.values[1];
|
x = -event.values[0];
|
||||||
y = -event.values[0];
|
y = -event.values[1];
|
||||||
newOrientation = SDLActivity.SDL_ORIENTATION_PORTRAIT_FLIPPED;
|
newOrientation = SDLActivity.SDL_ORIENTATION_PORTRAIT_FLIPPED;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -2032,16 +2148,10 @@ class SDLInputConnection extends BaseInputConnection {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
|
if (event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
|
||||||
String imeHide = SDLActivity.nativeGetHint("SDL_RETURN_KEY_HIDES_IME");
|
if (SDLActivity.onNativeSoftReturnKey()) {
|
||||||
if ((imeHide != null) && imeHide.equals("1")) {
|
|
||||||
Context c = SDL.getContext();
|
|
||||||
if (c instanceof SDLActivity) {
|
|
||||||
SDLActivity activity = (SDLActivity)c;
|
|
||||||
activity.sendCommand(SDLActivity.COMMAND_TEXTEDIT_HIDE, null);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
return super.sendKeyEvent(event);
|
return super.sendKeyEvent(event);
|
||||||
|
@ -2052,6 +2162,11 @@ class SDLInputConnection extends BaseInputConnection {
|
||||||
|
|
||||||
for (int i = 0; i < text.length(); i++) {
|
for (int i = 0; i < text.length(); i++) {
|
||||||
char c = text.charAt(i);
|
char c = text.charAt(i);
|
||||||
|
if (c == '\n') {
|
||||||
|
if (SDLActivity.onNativeSoftReturnKey()) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
nativeGenerateScancodeForUnichar(c);
|
nativeGenerateScancodeForUnichar(c);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2142,33 +2257,3 @@ class SDLClipboardHandler_API11 implements
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class SDLClipboardHandler_Old implements
|
|
||||||
SDLClipboardHandler {
|
|
||||||
|
|
||||||
protected android.text.ClipboardManager mClipMgrOld;
|
|
||||||
|
|
||||||
SDLClipboardHandler_Old() {
|
|
||||||
mClipMgrOld = (android.text.ClipboardManager) SDL.getContext().getSystemService(Context.CLIPBOARD_SERVICE);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean clipboardHasText() {
|
|
||||||
return mClipMgrOld.hasText();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String clipboardGetText() {
|
|
||||||
CharSequence text;
|
|
||||||
text = mClipMgrOld.getText();
|
|
||||||
if (text != null) {
|
|
||||||
return text.toString();
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void clipboardSetText(String string) {
|
|
||||||
mClipMgrOld.setText(string);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
|
@ -364,5 +364,24 @@ public class SDLAudioManager
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** This method is called by SDL using JNI. */
|
||||||
|
public static void audioSetThreadPriority(boolean iscapture, int device_id) {
|
||||||
|
try {
|
||||||
|
|
||||||
|
/* Set thread name */
|
||||||
|
if (iscapture) {
|
||||||
|
Thread.currentThread().setName("SDLAudioC" + device_id);
|
||||||
|
} else {
|
||||||
|
Thread.currentThread().setName("SDLAudioP" + device_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Set thread priority */
|
||||||
|
android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_AUDIO);
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
Log.v(TAG, "modify thread properties failed " + e.toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static native int nativeSetupJNI();
|
public static native int nativeSetupJNI();
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,12 +39,8 @@ public class SDLControllerManager
|
||||||
if (mJoystickHandler == null) {
|
if (mJoystickHandler == null) {
|
||||||
if (Build.VERSION.SDK_INT >= 19) {
|
if (Build.VERSION.SDK_INT >= 19) {
|
||||||
mJoystickHandler = new SDLJoystickHandler_API19();
|
mJoystickHandler = new SDLJoystickHandler_API19();
|
||||||
} else if (Build.VERSION.SDK_INT >= 16) {
|
|
||||||
mJoystickHandler = new SDLJoystickHandler_API16();
|
|
||||||
} else if (Build.VERSION.SDK_INT >= 12) {
|
|
||||||
mJoystickHandler = new SDLJoystickHandler_API12();
|
|
||||||
} else {
|
} else {
|
||||||
mJoystickHandler = new SDLJoystickHandler();
|
mJoystickHandler = new SDLJoystickHandler_API16();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -103,8 +99,8 @@ public class SDLControllerManager
|
||||||
|
|
||||||
/* This is called for every button press, so let's not spam the logs */
|
/* This is called for every button press, so let's not spam the logs */
|
||||||
/**
|
/**
|
||||||
if ((sources & InputDevice.SOURCE_CLASS_JOYSTICK) == InputDevice.SOURCE_CLASS_JOYSTICK) {
|
if ((sources & InputDevice.SOURCE_CLASS_JOYSTICK) != 0) {
|
||||||
Log.v(TAG, "Input device " + device.getName() + " is a joystick.");
|
Log.v(TAG, "Input device " + device.getName() + " has class joystick.");
|
||||||
}
|
}
|
||||||
if ((sources & InputDevice.SOURCE_DPAD) == InputDevice.SOURCE_DPAD) {
|
if ((sources & InputDevice.SOURCE_DPAD) == InputDevice.SOURCE_DPAD) {
|
||||||
Log.v(TAG, "Input device " + device.getName() + " is a dpad.");
|
Log.v(TAG, "Input device " + device.getName() + " is a dpad.");
|
||||||
|
@ -114,7 +110,7 @@ public class SDLControllerManager
|
||||||
}
|
}
|
||||||
**/
|
**/
|
||||||
|
|
||||||
return (((sources & InputDevice.SOURCE_CLASS_JOYSTICK) == InputDevice.SOURCE_CLASS_JOYSTICK) ||
|
return ((sources & InputDevice.SOURCE_CLASS_JOYSTICK) != 0 ||
|
||||||
((sources & InputDevice.SOURCE_DPAD) == InputDevice.SOURCE_DPAD) ||
|
((sources & InputDevice.SOURCE_DPAD) == InputDevice.SOURCE_DPAD) ||
|
||||||
((sources & InputDevice.SOURCE_GAMEPAD) == InputDevice.SOURCE_GAMEPAD)
|
((sources & InputDevice.SOURCE_GAMEPAD) == InputDevice.SOURCE_GAMEPAD)
|
||||||
);
|
);
|
||||||
|
@ -122,7 +118,6 @@ public class SDLControllerManager
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* A null joystick handler for API level < 12 devices (the accelerometer is handled separately) */
|
|
||||||
class SDLJoystickHandler {
|
class SDLJoystickHandler {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -142,7 +137,7 @@ class SDLJoystickHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Actual joystick functionality available for API >= 12 devices */
|
/* Actual joystick functionality available for API >= 12 devices */
|
||||||
class SDLJoystickHandler_API12 extends SDLJoystickHandler {
|
class SDLJoystickHandler_API16 extends SDLJoystickHandler {
|
||||||
|
|
||||||
static class SDLJoystick {
|
static class SDLJoystick {
|
||||||
public int device_id;
|
public int device_id;
|
||||||
|
@ -174,7 +169,7 @@ class SDLJoystickHandler_API12 extends SDLJoystickHandler {
|
||||||
|
|
||||||
private ArrayList<SDLJoystick> mJoysticks;
|
private ArrayList<SDLJoystick> mJoysticks;
|
||||||
|
|
||||||
public SDLJoystickHandler_API12() {
|
public SDLJoystickHandler_API16() {
|
||||||
|
|
||||||
mJoysticks = new ArrayList<SDLJoystick>();
|
mJoysticks = new ArrayList<SDLJoystick>();
|
||||||
}
|
}
|
||||||
|
@ -278,6 +273,12 @@ class SDLJoystickHandler_API12 extends SDLJoystickHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getJoystickDescriptor(InputDevice joystickDevice) {
|
public String getJoystickDescriptor(InputDevice joystickDevice) {
|
||||||
|
String desc = joystickDevice.getDescriptor();
|
||||||
|
|
||||||
|
if (desc != null && !desc.isEmpty()) {
|
||||||
|
return desc;
|
||||||
|
}
|
||||||
|
|
||||||
return joystickDevice.getName();
|
return joystickDevice.getName();
|
||||||
}
|
}
|
||||||
public int getProductId(InputDevice joystickDevice) {
|
public int getProductId(InputDevice joystickDevice) {
|
||||||
|
@ -291,20 +292,6 @@ class SDLJoystickHandler_API12 extends SDLJoystickHandler {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class SDLJoystickHandler_API16 extends SDLJoystickHandler_API12 {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getJoystickDescriptor(InputDevice joystickDevice) {
|
|
||||||
String desc = joystickDevice.getDescriptor();
|
|
||||||
|
|
||||||
if (desc != null && !desc.isEmpty()) {
|
|
||||||
return desc;
|
|
||||||
}
|
|
||||||
|
|
||||||
return super.getJoystickDescriptor(joystickDevice);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class SDLJoystickHandler_API19 extends SDLJoystickHandler_API16 {
|
class SDLJoystickHandler_API19 extends SDLJoystickHandler_API16 {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -482,8 +469,6 @@ class SDLHapticHandler {
|
||||||
// so the first controller seen by SDL matches what the receiver
|
// so the first controller seen by SDL matches what the receiver
|
||||||
// considers to be the first controller
|
// considers to be the first controller
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT >= 16)
|
|
||||||
{
|
|
||||||
for (int i = deviceIds.length - 1; i > -1; i--) {
|
for (int i = deviceIds.length - 1; i > -1; i--) {
|
||||||
SDLHaptic haptic = getHaptic(deviceIds[i]);
|
SDLHaptic haptic = getHaptic(deviceIds[i]);
|
||||||
if (haptic == null) {
|
if (haptic == null) {
|
||||||
|
@ -499,16 +484,11 @@ class SDLHapticHandler {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/* Check VIBRATOR_SERVICE */
|
/* Check VIBRATOR_SERVICE */
|
||||||
Vibrator vib = (Vibrator) SDL.getContext().getSystemService(Context.VIBRATOR_SERVICE);
|
Vibrator vib = (Vibrator) SDL.getContext().getSystemService(Context.VIBRATOR_SERVICE);
|
||||||
if (vib != null) {
|
if (vib != null) {
|
||||||
if (Build.VERSION.SDK_INT >= 11) {
|
|
||||||
hasVibratorService = vib.hasVibrator();
|
hasVibratorService = vib.hasVibrator();
|
||||||
} else {
|
|
||||||
hasVibratorService = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (hasVibratorService) {
|
if (hasVibratorService) {
|
||||||
SDLHaptic haptic = getHaptic(deviceId_VIBRATOR_SERVICE);
|
SDLHaptic haptic = getHaptic(deviceId_VIBRATOR_SERVICE);
|
||||||
|
@ -575,9 +555,6 @@ class SDLGenericMotionListener_API12 implements View.OnGenericMotionListener {
|
||||||
return SDLControllerManager.handleJoystickMotionEvent(event);
|
return SDLControllerManager.handleJoystickMotionEvent(event);
|
||||||
|
|
||||||
case InputDevice.SOURCE_MOUSE:
|
case InputDevice.SOURCE_MOUSE:
|
||||||
if (!SDLActivity.mSeparateMouseAndTouch) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
action = event.getActionMasked();
|
action = event.getActionMasked();
|
||||||
switch (action) {
|
switch (action) {
|
||||||
case MotionEvent.ACTION_SCROLL:
|
case MotionEvent.ACTION_SCROLL:
|
||||||
|
@ -640,51 +617,22 @@ class SDLGenericMotionListener_API24 extends SDLGenericMotionListener_API12 {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onGenericMotion(View v, MotionEvent event) {
|
public boolean onGenericMotion(View v, MotionEvent event) {
|
||||||
float x, y;
|
|
||||||
int action;
|
|
||||||
|
|
||||||
switch ( event.getSource() ) {
|
// Handle relative mouse mode
|
||||||
case InputDevice.SOURCE_JOYSTICK:
|
|
||||||
case InputDevice.SOURCE_GAMEPAD:
|
|
||||||
case InputDevice.SOURCE_DPAD:
|
|
||||||
return SDLControllerManager.handleJoystickMotionEvent(event);
|
|
||||||
|
|
||||||
case InputDevice.SOURCE_MOUSE:
|
|
||||||
if (!SDLActivity.mSeparateMouseAndTouch) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
action = event.getActionMasked();
|
|
||||||
switch (action) {
|
|
||||||
case MotionEvent.ACTION_SCROLL:
|
|
||||||
x = event.getAxisValue(MotionEvent.AXIS_HSCROLL, 0);
|
|
||||||
y = event.getAxisValue(MotionEvent.AXIS_VSCROLL, 0);
|
|
||||||
SDLActivity.onNativeMouse(0, action, x, y, false);
|
|
||||||
return true;
|
|
||||||
|
|
||||||
case MotionEvent.ACTION_HOVER_MOVE:
|
|
||||||
if (mRelativeModeEnabled) {
|
if (mRelativeModeEnabled) {
|
||||||
x = event.getAxisValue(MotionEvent.AXIS_RELATIVE_X);
|
if (event.getSource() == InputDevice.SOURCE_MOUSE) {
|
||||||
y = event.getAxisValue(MotionEvent.AXIS_RELATIVE_Y);
|
int action = event.getActionMasked();
|
||||||
}
|
if (action == MotionEvent.ACTION_HOVER_MOVE) {
|
||||||
else {
|
float x = event.getAxisValue(MotionEvent.AXIS_RELATIVE_X);
|
||||||
x = event.getX(0);
|
float y = event.getAxisValue(MotionEvent.AXIS_RELATIVE_Y);
|
||||||
y = event.getY(0);
|
SDLActivity.onNativeMouse(0, action, x, y, true);
|
||||||
}
|
|
||||||
|
|
||||||
SDLActivity.onNativeMouse(0, action, x, y, mRelativeModeEnabled);
|
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
break;
|
}
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Event was not managed
|
// Event was not managed, call SDLGenericMotionListener_API12 method
|
||||||
return false;
|
return super.onGenericMotion(v, event);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -741,11 +689,8 @@ class SDLGenericMotionListener_API26 extends SDLGenericMotionListener_API24 {
|
||||||
return SDLControllerManager.handleJoystickMotionEvent(event);
|
return SDLControllerManager.handleJoystickMotionEvent(event);
|
||||||
|
|
||||||
case InputDevice.SOURCE_MOUSE:
|
case InputDevice.SOURCE_MOUSE:
|
||||||
case 12290: // DeX desktop mouse cursor is a separate non-standard input type.
|
// DeX desktop mouse cursor is a separate non-standard input type.
|
||||||
if (!SDLActivity.mSeparateMouseAndTouch) {
|
case InputDevice.SOURCE_MOUSE | InputDevice.SOURCE_TOUCHSCREEN:
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
action = event.getActionMasked();
|
action = event.getActionMasked();
|
||||||
switch (action) {
|
switch (action) {
|
||||||
case MotionEvent.ACTION_SCROLL:
|
case MotionEvent.ACTION_SCROLL:
|
||||||
|
@ -766,9 +711,6 @@ class SDLGenericMotionListener_API26 extends SDLGenericMotionListener_API24 {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case InputDevice.SOURCE_MOUSE_RELATIVE:
|
case InputDevice.SOURCE_MOUSE_RELATIVE:
|
||||||
if (!SDLActivity.mSeparateMouseAndTouch) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
action = event.getActionMasked();
|
action = event.getActionMasked();
|
||||||
switch (action) {
|
switch (action) {
|
||||||
case MotionEvent.ACTION_SCROLL:
|
case MotionEvent.ACTION_SCROLL:
|
||||||
|
|
|
@ -69,6 +69,6 @@ ndk-build \
|
||||||
NDK_LIBS_OUT=$lib \
|
NDK_LIBS_OUT=$lib \
|
||||||
APP_BUILD_SCRIPT=Android.mk \
|
APP_BUILD_SCRIPT=Android.mk \
|
||||||
APP_ABI="armeabi-v7a arm64-v8a x86 x86_64" \
|
APP_ABI="armeabi-v7a arm64-v8a x86 x86_64" \
|
||||||
APP_PLATFORM=android-14 \
|
APP_PLATFORM=android-16 \
|
||||||
APP_MODULES="SDL2 SDL2_main" \
|
APP_MODULES="SDL2 SDL2_main" \
|
||||||
$ndk_args
|
$ndk_args
|
||||||
|
|
|
@ -7404,11 +7404,8 @@ func_mode_link ()
|
||||||
# Darwin ld doesn't like 0 for these options...
|
# Darwin ld doesn't like 0 for these options...
|
||||||
func_arith $current + 1
|
func_arith $current + 1
|
||||||
minor_current=$func_arith_result
|
minor_current=$func_arith_result
|
||||||
#xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
|
xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
|
||||||
#verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
|
verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
|
||||||
# make the compatibility version match the Xcode project files, i.e. 1.0
|
|
||||||
xlcverstring="${wl}-compatibility_version 1.0 ${wl}-current_version ${wl}$minor_current.$revision"
|
|
||||||
verstring="-compatibility_version 1.0 -current_version $minor_current.$revision"
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
freebsd-aout)
|
freebsd-aout)
|
||||||
|
|
42
sdl2/build-scripts/os2-buildbot.sh
Normal file
42
sdl2/build-scripts/os2-buildbot.sh
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# This is the script buildbot.libsdl.org uses to cross-compile SDL2 from
|
||||||
|
# x86 Linux to OS/2, using OpenWatcom.
|
||||||
|
|
||||||
|
# The final zipfile can be unpacked on any machine that supports OpenWatcom
|
||||||
|
# (Windows, Linux, OS/2, etc). Point the compiler at the include directory
|
||||||
|
# and link against the SDL2.lib file. Ship the SDL2.dll with your app.
|
||||||
|
|
||||||
|
if [ -z "$WATCOM" ]; then
|
||||||
|
echo "This script expects \$WATCOM to be set to the OpenWatcom install dir." 1>&2
|
||||||
|
echo "This is often something like '/usr/local/share/watcom'" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
export PATH="$WATCOM/binl:$PATH"
|
||||||
|
|
||||||
|
ZIPFILE="$1"
|
||||||
|
if [ -z $1 ]; then
|
||||||
|
ZIPFILE=sdl-os2.zip
|
||||||
|
fi
|
||||||
|
ZIPDIR=SDL2-os2
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -x
|
||||||
|
|
||||||
|
cd `dirname "$0"`
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
rm -f $ZIPFILE
|
||||||
|
wmake -f Makefile.os2
|
||||||
|
rm -rf $ZIPDIR
|
||||||
|
mkdir $ZIPDIR
|
||||||
|
chmod a+r SDL2.lib SDL2.dll
|
||||||
|
mv SDL2.lib SDL2.dll $ZIPDIR/
|
||||||
|
cp -R include $ZIPDIR/
|
||||||
|
zip -9r "$ZIPFILE" $ZIPDIR
|
||||||
|
|
||||||
|
wmake -f Makefile.os2 distclean
|
||||||
|
|
||||||
|
set +x
|
||||||
|
echo "All done. Final installable is in $ZIPFILE ...";
|
|
@ -42,7 +42,7 @@ SYSROOT="/opt/rpi-sysroot"
|
||||||
export CC="ccache /opt/rpi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc --sysroot=$SYSROOT -I$SYSROOT/opt/vc/include -I$SYSROOT/usr/include -I$SYSROOT/opt/vc/include/interface/vcos/pthreads -I$SYSROOT/opt/vc/include/interface/vmcs_host/linux -L$SYSROOT/opt/vc/lib"
|
export CC="ccache /opt/rpi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc --sysroot=$SYSROOT -I$SYSROOT/opt/vc/include -I$SYSROOT/usr/include -I$SYSROOT/opt/vc/include/interface/vcos/pthreads -I$SYSROOT/opt/vc/include/interface/vmcs_host/linux -L$SYSROOT/opt/vc/lib"
|
||||||
# -L$SYSROOT/usr/lib/arm-linux-gnueabihf"
|
# -L$SYSROOT/usr/lib/arm-linux-gnueabihf"
|
||||||
# !!! FIXME: shouldn't have to --disable-* things here.
|
# !!! FIXME: shouldn't have to --disable-* things here.
|
||||||
../configure --with-sysroot=$SYSROOT --host=arm-raspberry-linux-gnueabihf --prefix=$PWD/rpi-sdl2-installed --disable-pulseaudio --disable-esd --disable-video-mir --disable-video-wayland
|
../configure --with-sysroot=$SYSROOT --host=arm-raspberry-linux-gnueabihf --prefix=$PWD/rpi-sdl2-installed --disable-pulseaudio --disable-esd --disable-video-wayland
|
||||||
$MAKE
|
$MAKE
|
||||||
$MAKE install
|
$MAKE install
|
||||||
# Fix up a few things to a real install path on a real Raspberry Pi...
|
# Fix up a few things to a real install path on a real Raspberry Pi...
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
# Base version of SDL, used for packaging purposes
|
# Base version of SDL, used for packaging purposes
|
||||||
$SDLVersion = "2.0.9"
|
$SDLVersion = "2.0.10"
|
||||||
|
|
||||||
# Gets the .bat file that sets up an MSBuild environment, given one of
|
# Gets the .bat file that sets up an MSBuild environment, given one of
|
||||||
# Visual Studio's, "PlatformToolset"s.
|
# Visual Studio's, "PlatformToolset"s.
|
||||||
|
|
|
@ -564,46 +564,6 @@ macro(CheckX11)
|
||||||
endif()
|
endif()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
# Requires:
|
|
||||||
# - EGL
|
|
||||||
# - PkgCheckModules
|
|
||||||
# Optional:
|
|
||||||
# - MIR_SHARED opt
|
|
||||||
# - HAVE_DLOPEN opt
|
|
||||||
macro(CheckMir)
|
|
||||||
if(VIDEO_MIR)
|
|
||||||
find_library(MIR_LIB mirclient mircommon egl)
|
|
||||||
pkg_check_modules(MIR_TOOLKIT mirclient>=0.26 mircommon)
|
|
||||||
pkg_check_modules(EGL egl)
|
|
||||||
pkg_check_modules(XKB xkbcommon)
|
|
||||||
|
|
||||||
if (MIR_LIB AND MIR_TOOLKIT_FOUND AND EGL_FOUND AND XKB_FOUND)
|
|
||||||
set(HAVE_VIDEO_MIR TRUE)
|
|
||||||
set(HAVE_SDL_VIDEO TRUE)
|
|
||||||
|
|
||||||
file(GLOB MIR_SOURCES ${SDL2_SOURCE_DIR}/src/video/mir/*.c)
|
|
||||||
set(SOURCE_FILES ${SOURCE_FILES} ${MIR_SOURCES})
|
|
||||||
set(SDL_VIDEO_DRIVER_MIR 1)
|
|
||||||
|
|
||||||
list(APPEND EXTRA_CFLAGS ${MIR_TOOLKIT_CFLAGS} ${EGL_CFLAGS} ${XKB_CFLAGS})
|
|
||||||
|
|
||||||
if(MIR_SHARED)
|
|
||||||
if(NOT HAVE_DLOPEN)
|
|
||||||
message_warn("You must have SDL_LoadObject() support for dynamic Mir loading")
|
|
||||||
else()
|
|
||||||
FindLibraryAndSONAME(mirclient)
|
|
||||||
FindLibraryAndSONAME(xkbcommon)
|
|
||||||
set(SDL_VIDEO_DRIVER_MIR_DYNAMIC "\"${MIRCLIENT_LIB_SONAME}\"")
|
|
||||||
set(SDL_VIDEO_DRIVER_MIR_DYNAMIC_XKBCOMMON "\"${XKBCOMMON_LIB_SONAME}\"")
|
|
||||||
set(HAVE_MIR_SHARED TRUE)
|
|
||||||
endif()
|
|
||||||
else()
|
|
||||||
set(EXTRA_LIBS ${MIR_TOOLKIT_LIBRARIES} ${EXTRA_LIBS})
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
endmacro()
|
|
||||||
|
|
||||||
macro(WaylandProtocolGen _SCANNER _XML _PROTL)
|
macro(WaylandProtocolGen _SCANNER _XML _PROTL)
|
||||||
set(_WAYLAND_PROT_C_CODE "${CMAKE_CURRENT_BINARY_DIR}/wayland-generated-protocols/${_PROTL}-protocol.c")
|
set(_WAYLAND_PROT_C_CODE "${CMAKE_CURRENT_BINARY_DIR}/wayland-generated-protocols/${_PROTL}-protocol.c")
|
||||||
set(_WAYLAND_PROT_H_CODE "${CMAKE_CURRENT_BINARY_DIR}/wayland-generated-protocols/${_PROTL}-client-protocol.h")
|
set(_WAYLAND_PROT_H_CODE "${CMAKE_CURRENT_BINARY_DIR}/wayland-generated-protocols/${_PROTL}-client-protocol.h")
|
||||||
|
@ -1105,6 +1065,37 @@ macro(CheckUSBHID)
|
||||||
endif()
|
endif()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
|
# Check for HIDAPI joystick drivers. This is currently a Unix thing, not Windows or macOS!
|
||||||
|
macro(CheckHIDAPI)
|
||||||
|
if(HIDAPI)
|
||||||
|
if(HIDAPI_SKIP_LIBUSB)
|
||||||
|
set(HAVE_HIDAPI TRUE)
|
||||||
|
else()
|
||||||
|
set(HAVE_HIDAPI FALSE)
|
||||||
|
pkg_check_modules(LIBUSB libusb)
|
||||||
|
if (LIBUSB_FOUND)
|
||||||
|
check_include_file(libusb.h HAVE_LIBUSB_H)
|
||||||
|
if (HAVE_LIBUSB_H)
|
||||||
|
set(HAVE_HIDAPI TRUE)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(HAVE_HIDAPI)
|
||||||
|
set(SDL_JOYSTICK_HIDAPI 1)
|
||||||
|
set(HAVE_SDL_JOYSTICK TRUE)
|
||||||
|
file(GLOB HIDAPI_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/hidapi/*.c)
|
||||||
|
set(SOURCE_FILES ${SOURCE_FILES} ${HIDAPI_SOURCES})
|
||||||
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${LIBUSB_CFLAGS} -I${SDL2_SOURCE_DIR}/src/hidapi/hidapi")
|
||||||
|
if(NOT HIDAPI_SKIP_LIBUSB)
|
||||||
|
set(SOURCE_FILES ${SOURCE_FILES} ${SDL2_SOURCE_DIR}/src/hidapi/libusb/hid.c)
|
||||||
|
list(APPEND EXTRA_LIBS ${LIBUSB_LIBS})
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endmacro()
|
||||||
|
|
||||||
|
|
||||||
# Requires:
|
# Requires:
|
||||||
# - n/a
|
# - n/a
|
||||||
macro(CheckRPI)
|
macro(CheckRPI)
|
||||||
|
|
1892
sdl2/configure
vendored
1892
sdl2/configure
vendored
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,3 +1,9 @@
|
||||||
|
libsdl2 (2.0.10) UNRELEASED; urgency=low
|
||||||
|
|
||||||
|
* Updated SDL to version 2.0.10
|
||||||
|
|
||||||
|
-- Sam Lantinga <slouken@libsdl.org> Mon, 17 Jun 2018 08:48:47 -0800
|
||||||
|
|
||||||
libsdl2 (2.0.9) UNRELEASED; urgency=low
|
libsdl2 (2.0.9) UNRELEASED; urgency=low
|
||||||
|
|
||||||
* Updated SDL to version 2.0.9
|
* Updated SDL to version 2.0.9
|
||||||
|
|
|
@ -4,7 +4,7 @@ Upstream-Contact: Sam Lantinga <slouken@libsdl.org>
|
||||||
Source: http://www.libsdl.org/
|
Source: http://www.libsdl.org/
|
||||||
|
|
||||||
Files: *
|
Files: *
|
||||||
Copyright: 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright: 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
License: zlib/libpng
|
License: zlib/libpng
|
||||||
|
|
||||||
Files: src/libm/*
|
Files: src/libm/*
|
||||||
|
@ -12,7 +12,7 @@ Copyright: 1993 by Sun Microsystems, Inc. All rights reserved.
|
||||||
License: SunPro
|
License: SunPro
|
||||||
|
|
||||||
Files: src/main/windows/SDL_windows_main.c
|
Files: src/main/windows/SDL_windows_main.c
|
||||||
Copyright: 2018 Sam Lantinga
|
Copyright: 2019 Sam Lantinga
|
||||||
License: PublicDomain_Sam_Lantinga
|
License: PublicDomain_Sam_Lantinga
|
||||||
Comment: SDL_main.c, placed in the public domain by Sam Lantinga 4/13/98
|
Comment: SDL_main.c, placed in the public domain by Sam Lantinga 4/13/98
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ Copyright: 1995 Erik Corry
|
||||||
License: BrownUn_UnCalifornia_ErikCorry
|
License: BrownUn_UnCalifornia_ErikCorry
|
||||||
|
|
||||||
Files: src/test/SDL_test_md5.c
|
Files: src/test/SDL_test_md5.c
|
||||||
Copyright: 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright: 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
1990 RSA Data Security, Inc.
|
1990 RSA Data Security, Inc.
|
||||||
License: zlib/libpng and RSA_Data_Security
|
License: zlib/libpng and RSA_Data_Security
|
||||||
|
|
||||||
|
@ -46,12 +46,12 @@ Copyright: 1994-2003 The XFree86 Project, Inc.
|
||||||
License: MIT/X11
|
License: MIT/X11
|
||||||
|
|
||||||
Files: test/testhaptic.c
|
Files: test/testhaptic.c
|
||||||
Copyright: 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright: 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
2008 Edgar Simo Serra
|
2008 Edgar Simo Serra
|
||||||
License: BSD_3_clause
|
License: BSD_3_clause
|
||||||
|
|
||||||
Files: test/testrumble.c
|
Files: test/testrumble.c
|
||||||
Copyright: 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright: 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
2011 Edgar Simo Serra
|
2011 Edgar Simo Serra
|
||||||
License: BSD_3_clause
|
License: BSD_3_clause
|
||||||
|
|
||||||
|
@ -169,7 +169,7 @@ License: BSD_3_clause
|
||||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
Comment:
|
Comment:
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
.
|
.
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -4,9 +4,22 @@ DEB_HOST_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU)
|
||||||
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
|
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
|
||||||
|
|
||||||
confflags = --disable-rpath --disable-video-directfb \
|
confflags = --disable-rpath --disable-video-directfb \
|
||||||
--disable-nas --disable-esd --disable-arts \
|
--disable-nas --disable-esd --disable-arts
|
||||||
--disable-alsa-shared --disable-pulseaudio-shared \
|
|
||||||
--disable-x11-shared
|
# These flags can be used to create a package directly linking with external libraries and having the appropriate package dependencies
|
||||||
|
#confflags += --disable-alsa-shared
|
||||||
|
#confflags += --disable-arts-shared
|
||||||
|
#confflags += --disable-directfb-shared
|
||||||
|
#confflags += --disable-esd-shared
|
||||||
|
#confflags += --disable-fusionsound-shared
|
||||||
|
#confflags += --disable-jack-shared
|
||||||
|
#confflags += --disable-kmsdrm-shared
|
||||||
|
#confflags += --disable-libsamplerate-shared
|
||||||
|
#confflags += --disable-nas-shared
|
||||||
|
#confflags += --disable-pulseaudio-shared
|
||||||
|
#confflags += --disable-sndio-shared
|
||||||
|
#confflags += --disable-wayland-shared
|
||||||
|
#confflags += --disable-x11-shared
|
||||||
|
|
||||||
%:
|
%:
|
||||||
dh $@ --parallel
|
dh $@ --parallel
|
||||||
|
|
|
@ -20,7 +20,7 @@ https://developer.android.com/sdk/index.html
|
||||||
Android NDK r15c or later
|
Android NDK r15c or later
|
||||||
https://developer.android.com/tools/sdk/ndk/index.html
|
https://developer.android.com/tools/sdk/ndk/index.html
|
||||||
|
|
||||||
Minimum API level supported by SDL: 14 (Android 4.0.1)
|
Minimum API level supported by SDL: 16 (Android 4.1)
|
||||||
|
|
||||||
|
|
||||||
================================================================================
|
================================================================================
|
||||||
|
@ -174,7 +174,7 @@ http://ponystyle.com/blog/2010/03/26/dealing-with-asset-compression-in-android-a
|
||||||
Pause / Resume behaviour
|
Pause / Resume behaviour
|
||||||
================================================================================
|
================================================================================
|
||||||
|
|
||||||
If SDL is compiled with SDL_ANDROID_BLOCK_ON_PAUSE defined (the default),
|
If SDL_HINT_ANDROID_BLOCK_ON_PAUSE hint is set (the default),
|
||||||
the event loop will block itself when the app is paused (ie, when the user
|
the event loop will block itself when the app is paused (ie, when the user
|
||||||
returns to the main Android dashboard). Blocking is better in terms of battery
|
returns to the main Android dashboard). Blocking is better in terms of battery
|
||||||
use, and it allows your app to spring back to life instantaneously after resume
|
use, and it allows your app to spring back to life instantaneously after resume
|
||||||
|
@ -380,13 +380,13 @@ https://developer.nvidia.com/tegra-graphics-debugger
|
||||||
|
|
||||||
|
|
||||||
================================================================================
|
================================================================================
|
||||||
Why is API level 14 the minimum required?
|
Why is API level 16 the minimum required?
|
||||||
================================================================================
|
================================================================================
|
||||||
|
|
||||||
The latest NDK toolchain doesn't support targeting earlier than API level 14.
|
The latest NDK toolchain doesn't support targeting earlier than API level 16.
|
||||||
As of this writing, according to https://developer.android.com/about/dashboards/index.html
|
As of this writing, according to https://developer.android.com/about/dashboards/index.html
|
||||||
about 99% of the Android devices accessing Google Play support API level 14 or
|
about 99% of the Android devices accessing Google Play support API level 16 or
|
||||||
higher (October 2017).
|
higher (January 2018).
|
||||||
|
|
||||||
|
|
||||||
================================================================================
|
================================================================================
|
||||||
|
@ -408,6 +408,24 @@ screen each frame.
|
||||||
Reference: http://www.khronos.org/registry/egl/specs/EGLTechNote0001.html
|
Reference: http://www.khronos.org/registry/egl/specs/EGLTechNote0001.html
|
||||||
|
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
Ending your application
|
||||||
|
================================================================================
|
||||||
|
|
||||||
|
Two legitimate ways:
|
||||||
|
|
||||||
|
- return from your main() function. Java side will automatically terminate the
|
||||||
|
Activity by calling Activity.finish().
|
||||||
|
|
||||||
|
- Android OS can decide to terminate your application by calling onDestroy()
|
||||||
|
(see Activity life cycle). Your application will receive a SDL_QUIT event you
|
||||||
|
can handle to save things and quit.
|
||||||
|
|
||||||
|
Don't call exit() as it stops the activity badly.
|
||||||
|
|
||||||
|
NB: "Back button" can be handled as a SDL_KEYDOWN/UP events, with Keycode
|
||||||
|
SDLK_AC_BACK, for any purpose.
|
||||||
|
|
||||||
================================================================================
|
================================================================================
|
||||||
Known issues
|
Known issues
|
||||||
================================================================================
|
================================================================================
|
||||||
|
|
|
@ -25,9 +25,6 @@ fcitx-libs-dev libsamplerate0-dev libsndio-dev
|
||||||
Ubuntu 16.04+ can also add "libwayland-dev libxkbcommon-dev wayland-protocols"
|
Ubuntu 16.04+ can also add "libwayland-dev libxkbcommon-dev wayland-protocols"
|
||||||
to that command line for Wayland support.
|
to that command line for Wayland support.
|
||||||
|
|
||||||
Ubuntu 16.10 can also add "libmirclient-dev libxkbcommon-dev" to that command
|
|
||||||
line for Mir support.
|
|
||||||
|
|
||||||
NOTES:
|
NOTES:
|
||||||
- This includes all the audio targets except arts, because Ubuntu pulled the
|
- This includes all the audio targets except arts, because Ubuntu pulled the
|
||||||
artsc0-dev package, but in theory SDL still supports it.
|
artsc0-dev package, but in theory SDL still supports it.
|
||||||
|
|
|
@ -100,7 +100,7 @@ You should replace EXE_NAME with the name of the executable. APP_NAME is what
|
||||||
will be visible to the user in the Finder. Usually it will be the same
|
will be visible to the user in the Finder. Usually it will be the same
|
||||||
as EXE_NAME but capitalized. E.g. if EXE_NAME is "testgame" then APP_NAME
|
as EXE_NAME but capitalized. E.g. if EXE_NAME is "testgame" then APP_NAME
|
||||||
usually is "TestGame". You might also want to use `@PACKAGE@` to use the package
|
usually is "TestGame". You might also want to use `@PACKAGE@` to use the package
|
||||||
name as specified in your configure.in file.
|
name as specified in your configure.ac file.
|
||||||
|
|
||||||
If your project builds more than one application, you will have to do a bit
|
If your project builds more than one application, you will have to do a bit
|
||||||
more. For each of your target applications, you need a separate rule.
|
more. For each of your target applications, you need a separate rule.
|
||||||
|
|
|
@ -13,7 +13,7 @@ There are two basic ways of building SDL at the moment:
|
||||||
|
|
||||||
1. The "UNIX" way: ./configure; make; make install
|
1. The "UNIX" way: ./configure; make; make install
|
||||||
|
|
||||||
If you have a GNUish system, then you might try this. Edit configure.in,
|
If you have a GNUish system, then you might try this. Edit configure.ac,
|
||||||
take a look at the large section labelled:
|
take a look at the large section labelled:
|
||||||
|
|
||||||
"Set up the configuration based on the host platform!"
|
"Set up the configuration based on the host platform!"
|
||||||
|
|
|
@ -296,7 +296,7 @@ A few files should be included directly in your app's MSVC project, specifically
|
||||||
included, mouse-position reporting may fail if and when the cursor is
|
included, mouse-position reporting may fail if and when the cursor is
|
||||||
hidden, due to possible bugs/design-oddities in Windows itself.*
|
hidden, due to possible bugs/design-oddities in Windows itself.*
|
||||||
|
|
||||||
To include these files:
|
To include these files for C/C++ projects:
|
||||||
|
|
||||||
1. right-click on your project (again, in Visual C++'s Solution Explorer),
|
1. right-click on your project (again, in Visual C++'s Solution Explorer),
|
||||||
navigate to "Add", then choose "Existing Item...".
|
navigate to "Add", then choose "Existing Item...".
|
||||||
|
@ -313,11 +313,14 @@ To include these files:
|
||||||
7. change the setting for "Consume Windows Runtime Extension" to "Yes (/ZW)".
|
7. change the setting for "Consume Windows Runtime Extension" to "Yes (/ZW)".
|
||||||
8. click the OK button. This will close the dialog.
|
8. click the OK button. This will close the dialog.
|
||||||
|
|
||||||
|
|
||||||
**NOTE: C++/CX compilation is currently required in at least one file of your
|
**NOTE: C++/CX compilation is currently required in at least one file of your
|
||||||
app's project. This is to make sure that Visual C++'s linker builds a 'Windows
|
app's project. This is to make sure that Visual C++'s linker builds a 'Windows
|
||||||
Metadata' file (.winmd) for your app. Not doing so can lead to build errors.**
|
Metadata' file (.winmd) for your app. Not doing so can lead to build errors.**
|
||||||
|
|
||||||
|
For non-C++ projects, you will need to call SDL_WinRTRunApp from your language's
|
||||||
|
main function, and generate SDL2-WinRTResources.res manually by using `rc` via
|
||||||
|
the Developer Command Prompt and including it as a <Win32Resource> within the
|
||||||
|
first <PropertyGroup> block in your Visual Studio project file.
|
||||||
|
|
||||||
### 6. Add app code and assets ###
|
### 6. Add app code and assets ###
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -162,12 +162,29 @@ extern DECLSPEC void SDLCALL SDL_MemoryBarrierAcquireFunction(void);
|
||||||
#define SDL_MemoryBarrierRelease() __asm__ __volatile__ ("dmb ish" : : : "memory")
|
#define SDL_MemoryBarrierRelease() __asm__ __volatile__ ("dmb ish" : : : "memory")
|
||||||
#define SDL_MemoryBarrierAcquire() __asm__ __volatile__ ("dmb ish" : : : "memory")
|
#define SDL_MemoryBarrierAcquire() __asm__ __volatile__ ("dmb ish" : : : "memory")
|
||||||
#elif defined(__GNUC__) && defined(__arm__)
|
#elif defined(__GNUC__) && defined(__arm__)
|
||||||
#if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7EM__) || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7S__)
|
#if 0 /* defined(__LINUX__) || defined(__ANDROID__) */
|
||||||
|
/* Information from:
|
||||||
|
https://chromium.googlesource.com/chromium/chromium/+/trunk/base/atomicops_internals_arm_gcc.h#19
|
||||||
|
|
||||||
|
The Linux kernel provides a helper function which provides the right code for a memory barrier,
|
||||||
|
hard-coded at address 0xffff0fa0
|
||||||
|
*/
|
||||||
|
typedef void (*SDL_KernelMemoryBarrierFunc)();
|
||||||
|
#define SDL_MemoryBarrierRelease() ((SDL_KernelMemoryBarrierFunc)0xffff0fa0)()
|
||||||
|
#define SDL_MemoryBarrierAcquire() ((SDL_KernelMemoryBarrierFunc)0xffff0fa0)()
|
||||||
|
#elif 0 /* defined(__QNXNTO__) */
|
||||||
|
#include <sys/cpuinline.h>
|
||||||
|
|
||||||
|
#define SDL_MemoryBarrierRelease() __cpu_membarrier()
|
||||||
|
#define SDL_MemoryBarrierAcquire() __cpu_membarrier()
|
||||||
|
#else
|
||||||
|
#if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7EM__) || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7S__) || defined(__ARM_ARCH_8A__)
|
||||||
#define SDL_MemoryBarrierRelease() __asm__ __volatile__ ("dmb ish" : : : "memory")
|
#define SDL_MemoryBarrierRelease() __asm__ __volatile__ ("dmb ish" : : : "memory")
|
||||||
#define SDL_MemoryBarrierAcquire() __asm__ __volatile__ ("dmb ish" : : : "memory")
|
#define SDL_MemoryBarrierAcquire() __asm__ __volatile__ ("dmb ish" : : : "memory")
|
||||||
#elif defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6T2__) || defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_5TE__)
|
#elif defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6T2__) || defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_5TE__)
|
||||||
#ifdef __thumb__
|
#ifdef __thumb__
|
||||||
/* The mcr instruction isn't available in thumb mode, use real functions */
|
/* The mcr instruction isn't available in thumb mode, use real functions */
|
||||||
|
#define SDL_MEMORY_BARRIER_USES_FUNCTION
|
||||||
#define SDL_MemoryBarrierRelease() SDL_MemoryBarrierReleaseFunction()
|
#define SDL_MemoryBarrierRelease() SDL_MemoryBarrierReleaseFunction()
|
||||||
#define SDL_MemoryBarrierAcquire() SDL_MemoryBarrierAcquireFunction()
|
#define SDL_MemoryBarrierAcquire() SDL_MemoryBarrierAcquireFunction()
|
||||||
#else
|
#else
|
||||||
|
@ -177,6 +194,7 @@ extern DECLSPEC void SDLCALL SDL_MemoryBarrierAcquireFunction(void);
|
||||||
#else
|
#else
|
||||||
#define SDL_MemoryBarrierRelease() __asm__ __volatile__ ("" : : : "memory")
|
#define SDL_MemoryBarrierRelease() __asm__ __volatile__ ("" : : : "memory")
|
||||||
#define SDL_MemoryBarrierAcquire() __asm__ __volatile__ ("" : : : "memory")
|
#define SDL_MemoryBarrierAcquire() __asm__ __volatile__ ("" : : : "memory")
|
||||||
|
#endif /* __LINUX__ || __ANDROID__ */
|
||||||
#endif /* __GNUC__ && __arm__ */
|
#endif /* __GNUC__ && __arm__ */
|
||||||
#else
|
#else
|
||||||
#if (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x5120))
|
#if (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x5120))
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -420,23 +420,56 @@ extern DECLSPEC void SDLCALL SDL_PauseAudioDevice(SDL_AudioDeviceID dev,
|
||||||
/* @} *//* Pause audio functions */
|
/* @} *//* Pause audio functions */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This function loads a WAVE from the data source, automatically freeing
|
* \brief Load the audio data of a WAVE file into memory
|
||||||
* that source if \c freesrc is non-zero. For example, to load a WAVE file,
|
*
|
||||||
* you could do:
|
* Loading a WAVE file requires \c src, \c spec, \c audio_buf and \c audio_len
|
||||||
|
* to be valid pointers. The entire data portion of the file is then loaded
|
||||||
|
* into memory and decoded if necessary.
|
||||||
|
*
|
||||||
|
* If \c freesrc is non-zero, the data source gets automatically closed and
|
||||||
|
* freed before the function returns.
|
||||||
|
*
|
||||||
|
* Supported are RIFF WAVE files with the formats PCM (8, 16, 24, and 32 bits),
|
||||||
|
* IEEE Float (32 bits), Microsoft ADPCM and IMA ADPCM (4 bits), and A-law and
|
||||||
|
* µ-law (8 bits). Other formats are currently unsupported and cause an error.
|
||||||
|
*
|
||||||
|
* If this function succeeds, the pointer returned by it is equal to \c spec
|
||||||
|
* and the pointer to the audio data allocated by the function is written to
|
||||||
|
* \c audio_buf and its length in bytes to \c audio_len. The \ref SDL_AudioSpec
|
||||||
|
* members \c freq, \c channels, and \c format are set to the values of the
|
||||||
|
* audio data in the buffer. The \c samples member is set to a sane default and
|
||||||
|
* all others are set to zero.
|
||||||
|
*
|
||||||
|
* It's necessary to use SDL_FreeWAV() to free the audio data returned in
|
||||||
|
* \c audio_buf when it is no longer used.
|
||||||
|
*
|
||||||
|
* Because of the underspecification of the Waveform format, there are many
|
||||||
|
* problematic files in the wild that cause issues with strict decoders. To
|
||||||
|
* provide compatibility with these files, this decoder is lenient in regards
|
||||||
|
* to the truncation of the file, the fact chunk, and the size of the RIFF
|
||||||
|
* chunk. The hints SDL_HINT_WAVE_RIFF_CHUNK_SIZE, SDL_HINT_WAVE_TRUNCATION,
|
||||||
|
* and SDL_HINT_WAVE_FACT_CHUNK can be used to tune the behavior of the
|
||||||
|
* loading process.
|
||||||
|
*
|
||||||
|
* Any file that is invalid (due to truncation, corruption, or wrong values in
|
||||||
|
* the headers), too big, or unsupported causes an error. Additionally, any
|
||||||
|
* critical I/O error from the data source will terminate the loading process
|
||||||
|
* with an error. The function returns NULL on error and in all cases (with the
|
||||||
|
* exception of \c src being NULL), an appropriate error message will be set.
|
||||||
|
*
|
||||||
|
* It is required that the data source supports seeking.
|
||||||
|
*
|
||||||
|
* Example:
|
||||||
* \code
|
* \code
|
||||||
* SDL_LoadWAV_RW(SDL_RWFromFile("sample.wav", "rb"), 1, ...);
|
* SDL_LoadWAV_RW(SDL_RWFromFile("sample.wav", "rb"), 1, ...);
|
||||||
* \endcode
|
* \endcode
|
||||||
*
|
*
|
||||||
* If this function succeeds, it returns the given SDL_AudioSpec,
|
* \param src The data source with the WAVE data
|
||||||
* filled with the audio data format of the wave data, and sets
|
* \param freesrc A integer value that makes the function close the data source if non-zero
|
||||||
* \c *audio_buf to a malloc()'d buffer containing the audio data,
|
* \param spec A pointer filled with the audio format of the audio data
|
||||||
* and sets \c *audio_len to the length of that audio buffer, in bytes.
|
* \param audio_buf A pointer filled with the audio data allocated by the function
|
||||||
* You need to free the audio buffer with SDL_FreeWAV() when you are
|
* \param audio_len A pointer filled with the length of the audio data buffer in bytes
|
||||||
* done with it.
|
* \return NULL on error, or non-NULL on success.
|
||||||
*
|
|
||||||
* This function returns NULL and sets the SDL error message if the
|
|
||||||
* wave file cannot be opened, uses an unknown data format, or is
|
|
||||||
* corrupt. Currently raw and MS-ADPCM WAVE files are supported.
|
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC SDL_AudioSpec *SDLCALL SDL_LoadWAV_RW(SDL_RWops * src,
|
extern DECLSPEC SDL_AudioSpec *SDLCALL SDL_LoadWAV_RW(SDL_RWops * src,
|
||||||
int freesrc,
|
int freesrc,
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -101,6 +101,15 @@ SDL_MostSignificantBitIndex32(Uint32 x)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SDL_FORCE_INLINE SDL_bool
|
||||||
|
SDL_HasExactlyOneBitSet32(Uint32 x)
|
||||||
|
{
|
||||||
|
if (x && !(x & (x - 1))) {
|
||||||
|
return SDL_TRUE;
|
||||||
|
}
|
||||||
|
return SDL_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
/* Ends C function definitions when using C++ */
|
/* Ends C function definitions when using C++ */
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -90,12 +90,12 @@ typedef enum
|
||||||
/**
|
/**
|
||||||
* \brief Create a custom blend mode, which may or may not be supported by a given renderer
|
* \brief Create a custom blend mode, which may or may not be supported by a given renderer
|
||||||
*
|
*
|
||||||
* \param srcColorFactor
|
* \param srcColorFactor source color factor
|
||||||
* \param dstColorFactor
|
* \param dstColorFactor destination color factor
|
||||||
* \param colorOperation
|
* \param colorOperation color operation
|
||||||
* \param srcAlphaFactor
|
* \param srcAlphaFactor source alpha factor
|
||||||
* \param dstAlphaFactor
|
* \param dstAlphaFactor destination alpha factor
|
||||||
* \param alphaOperation
|
* \param alphaOperation alpha operation
|
||||||
*
|
*
|
||||||
* The result of the blend mode operation will be:
|
* The result of the blend mode operation will be:
|
||||||
* dstRGB = dstRGB * dstColorFactor colorOperation srcRGB * srcColorFactor
|
* dstRGB = dstRGB * dstColorFactor colorOperation srcRGB * srcColorFactor
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -184,6 +184,7 @@
|
||||||
#cmakedefine HAVE_SEM_TIMEDWAIT 1
|
#cmakedefine HAVE_SEM_TIMEDWAIT 1
|
||||||
#cmakedefine HAVE_GETAUXVAL 1
|
#cmakedefine HAVE_GETAUXVAL 1
|
||||||
#cmakedefine HAVE_POLL 1
|
#cmakedefine HAVE_POLL 1
|
||||||
|
#cmakedefine HAVE__EXIT 1
|
||||||
|
|
||||||
#elif __WIN32__
|
#elif __WIN32__
|
||||||
#cmakedefine HAVE_STDARG_H 1
|
#cmakedefine HAVE_STDARG_H 1
|
||||||
|
@ -285,6 +286,7 @@
|
||||||
#cmakedefine SDL_JOYSTICK_WINMM @SDL_JOYSTICK_WINMM@
|
#cmakedefine SDL_JOYSTICK_WINMM @SDL_JOYSTICK_WINMM@
|
||||||
#cmakedefine SDL_JOYSTICK_USBHID @SDL_JOYSTICK_USBHID@
|
#cmakedefine SDL_JOYSTICK_USBHID @SDL_JOYSTICK_USBHID@
|
||||||
#cmakedefine SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H @SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H@
|
#cmakedefine SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H @SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H@
|
||||||
|
#cmakedefine SDL_JOYSTICK_HIDAPI @SDL_JOYSTICK_HIDAPI@
|
||||||
#cmakedefine SDL_JOYSTICK_EMSCRIPTEN @SDL_JOYSTICK_EMSCRIPTEN@
|
#cmakedefine SDL_JOYSTICK_EMSCRIPTEN @SDL_JOYSTICK_EMSCRIPTEN@
|
||||||
#cmakedefine SDL_HAPTIC_DUMMY @SDL_HAPTIC_DUMMY@
|
#cmakedefine SDL_HAPTIC_DUMMY @SDL_HAPTIC_DUMMY@
|
||||||
#cmakedefine SDL_HAPTIC_LINUX @SDL_HAPTIC_LINUX@
|
#cmakedefine SDL_HAPTIC_LINUX @SDL_HAPTIC_LINUX@
|
||||||
|
@ -339,9 +341,6 @@
|
||||||
#cmakedefine SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR @SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR@
|
#cmakedefine SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR @SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR@
|
||||||
#cmakedefine SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON @SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON@
|
#cmakedefine SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON @SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON@
|
||||||
|
|
||||||
#cmakedefine SDL_VIDEO_DRIVER_MIR @SDL_VIDEO_DRIVER_MIR@
|
|
||||||
#cmakedefine SDL_VIDEO_DRIVER_MIR_DYNAMIC @SDL_VIDEO_DRIVER_MIR_DYNAMIC@
|
|
||||||
#cmakedefine SDL_VIDEO_DRIVER_MIR_DYNAMIC_XKBCOMMON @SDL_VIDEO_DRIVER_MIR_DYNAMIC_XKBCOMMON@
|
|
||||||
#cmakedefine SDL_VIDEO_DRIVER_EMSCRIPTEN @SDL_VIDEO_DRIVER_EMSCRIPTEN@
|
#cmakedefine SDL_VIDEO_DRIVER_EMSCRIPTEN @SDL_VIDEO_DRIVER_EMSCRIPTEN@
|
||||||
#cmakedefine SDL_VIDEO_DRIVER_X11 @SDL_VIDEO_DRIVER_X11@
|
#cmakedefine SDL_VIDEO_DRIVER_X11 @SDL_VIDEO_DRIVER_X11@
|
||||||
#cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC @SDL_VIDEO_DRIVER_X11_DYNAMIC@
|
#cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC @SDL_VIDEO_DRIVER_X11_DYNAMIC@
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -189,6 +189,7 @@
|
||||||
#undef HAVE_SEM_TIMEDWAIT
|
#undef HAVE_SEM_TIMEDWAIT
|
||||||
#undef HAVE_GETAUXVAL
|
#undef HAVE_GETAUXVAL
|
||||||
#undef HAVE_POLL
|
#undef HAVE_POLL
|
||||||
|
#undef HAVE__EXIT
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#define HAVE_STDARG_H 1
|
#define HAVE_STDARG_H 1
|
||||||
|
@ -327,9 +328,6 @@
|
||||||
#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_EGL
|
#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_EGL
|
||||||
#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR
|
#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR
|
||||||
#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON
|
#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON
|
||||||
#undef SDL_VIDEO_DRIVER_MIR
|
|
||||||
#undef SDL_VIDEO_DRIVER_MIR_DYNAMIC
|
|
||||||
#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
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -130,6 +130,7 @@
|
||||||
|
|
||||||
/* Enable various audio drivers */
|
/* Enable various audio drivers */
|
||||||
#define SDL_AUDIO_DRIVER_ANDROID 1
|
#define SDL_AUDIO_DRIVER_ANDROID 1
|
||||||
|
#define SDL_AUDIO_DRIVER_OPENSLES 1
|
||||||
#define SDL_AUDIO_DRIVER_DUMMY 1
|
#define SDL_AUDIO_DRIVER_DUMMY 1
|
||||||
|
|
||||||
/* Enable various input drivers */
|
/* Enable various input drivers */
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -218,7 +218,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Enable Vulkan support */
|
/* Enable Vulkan support */
|
||||||
/* Metal/MoltenVK/Vulkan only supported on 64-bit architectures with 10.11+ */
|
/* Metal/Vulkan Portability only supported on 64-bit architectures with 10.11+ */
|
||||||
#if TARGET_CPU_X86_64 && (MAC_OS_X_VERSION_MAX_ALLOWED >= 101100)
|
#if TARGET_CPU_X86_64 && (MAC_OS_X_VERSION_MAX_ALLOWED >= 101100)
|
||||||
#define SDL_VIDEO_VULKAN 1
|
#define SDL_VIDEO_VULKAN 1
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -41,24 +41,43 @@
|
||||||
#else
|
#else
|
||||||
#include <intrin.h>
|
#include <intrin.h>
|
||||||
#ifndef _WIN64
|
#ifndef _WIN64
|
||||||
|
#ifndef __MMX__
|
||||||
#define __MMX__
|
#define __MMX__
|
||||||
|
#endif
|
||||||
|
#ifndef __3dNOW__
|
||||||
#define __3dNOW__
|
#define __3dNOW__
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
#ifndef __SSE__
|
||||||
#define __SSE__
|
#define __SSE__
|
||||||
|
#endif
|
||||||
|
#ifndef __SSE2__
|
||||||
#define __SSE2__
|
#define __SSE2__
|
||||||
|
#endif
|
||||||
#endif /* __clang__ */
|
#endif /* __clang__ */
|
||||||
#elif defined(__MINGW64_VERSION_MAJOR)
|
#elif defined(__MINGW64_VERSION_MAJOR)
|
||||||
#include <intrin.h>
|
#include <intrin.h>
|
||||||
#else
|
#else
|
||||||
#ifdef __ALTIVEC__
|
/* altivec.h redefining bool causes a number of problems, see bugs 3993 and 4392, so you need to explicitly define SDL_ENABLE_ALTIVEC_H to have it included. */
|
||||||
#if defined(HAVE_ALTIVEC_H) && !defined(__APPLE_ALTIVEC__) && !defined(SDL_DISABLE_ALTIVEC_H)
|
#if defined(HAVE_ALTIVEC_H) && defined(__ALTIVEC__) && !defined(__APPLE_ALTIVEC__) && defined(SDL_ENABLE_ALTIVEC_H)
|
||||||
#include <altivec.h>
|
#include <altivec.h>
|
||||||
#undef pixel
|
|
||||||
#undef bool
|
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#if !defined(SDL_DISABLE_ARM_NEON_H)
|
||||||
#if defined(__ARM_NEON__) && !defined(SDL_DISABLE_ARM_NEON_H)
|
# if defined(__ARM_NEON)
|
||||||
#include <arm_neon.h>
|
# include <arm_neon.h>
|
||||||
|
# elif defined(__WINDOWS__) || defined(__WINRT__)
|
||||||
|
/* Visual Studio doesn't define __ARM_ARCH, but _M_ARM (if set, always 7), and _M_ARM64 (if set, always 1). */
|
||||||
|
# if defined(_M_ARM)
|
||||||
|
# include <armintr.h>
|
||||||
|
# include <arm_neon.h>
|
||||||
|
# define __ARM_NEON 1 /* Set __ARM_NEON so that it can be used elsewhere, at compile time */
|
||||||
|
# endif
|
||||||
|
# if defined (_M_ARM64)
|
||||||
|
# include <armintr.h>
|
||||||
|
# include <arm_neon.h>
|
||||||
|
# define __ARM_NEON 1 /* Set __ARM_NEON so that it can be used elsewhere, at compile time */
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
#if defined(__3dNOW__) && !defined(SDL_DISABLE_MM3DNOW_H)
|
#if defined(__3dNOW__) && !defined(SDL_DISABLE_MM3DNOW_H)
|
||||||
#include <mm3dnow.h>
|
#include <mm3dnow.h>
|
||||||
|
@ -177,6 +196,69 @@ extern DECLSPEC SDL_bool SDLCALL SDL_HasNEON(void);
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC int SDLCALL SDL_GetSystemRAM(void);
|
extern DECLSPEC int SDLCALL SDL_GetSystemRAM(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Report the alignment this system needs for SIMD allocations.
|
||||||
|
*
|
||||||
|
* This will return the minimum number of bytes to which a pointer must be
|
||||||
|
* aligned to be compatible with SIMD instructions on the current machine.
|
||||||
|
* For example, if the machine supports SSE only, it will return 16, but if
|
||||||
|
* it supports AVX-512F, it'll return 64 (etc). This only reports values for
|
||||||
|
* instruction sets SDL knows about, so if your SDL build doesn't have
|
||||||
|
* SDL_HasAVX512F(), then it might return 16 for the SSE support it sees and
|
||||||
|
* not 64 for the AVX-512 instructions that exist but SDL doesn't know about.
|
||||||
|
* Plan accordingly.
|
||||||
|
*/
|
||||||
|
extern DECLSPEC size_t SDLCALL SDL_SIMDGetAlignment(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Allocate memory in a SIMD-friendly way.
|
||||||
|
*
|
||||||
|
* This will allocate a block of memory that is suitable for use with SIMD
|
||||||
|
* instructions. Specifically, it will be properly aligned and padded for
|
||||||
|
* the system's supported vector instructions.
|
||||||
|
*
|
||||||
|
* The memory returned will be padded such that it is safe to read or write
|
||||||
|
* an incomplete vector at the end of the memory block. This can be useful
|
||||||
|
* so you don't have to drop back to a scalar fallback at the end of your
|
||||||
|
* SIMD processing loop to deal with the final elements without overflowing
|
||||||
|
* the allocated buffer.
|
||||||
|
*
|
||||||
|
* You must free this memory with SDL_FreeSIMD(), not free() or SDL_free()
|
||||||
|
* or delete[], etc.
|
||||||
|
*
|
||||||
|
* Note that SDL will only deal with SIMD instruction sets it is aware of;
|
||||||
|
* for example, SDL 2.0.8 knows that SSE wants 16-byte vectors
|
||||||
|
* (SDL_HasSSE()), and AVX2 wants 32 bytes (SDL_HasAVX2()), but doesn't
|
||||||
|
* know that AVX-512 wants 64. To be clear: if you can't decide to use an
|
||||||
|
* instruction set with an SDL_Has*() function, don't use that instruction
|
||||||
|
* set with memory allocated through here.
|
||||||
|
*
|
||||||
|
* SDL_AllocSIMD(0) will return a non-NULL pointer, assuming the system isn't
|
||||||
|
* out of memory.
|
||||||
|
*
|
||||||
|
* \param len The length, in bytes, of the block to allocated. The actual
|
||||||
|
* allocated block might be larger due to padding, etc.
|
||||||
|
* \return Pointer to newly-allocated block, NULL if out of memory.
|
||||||
|
*
|
||||||
|
* \sa SDL_SIMDAlignment
|
||||||
|
* \sa SDL_SIMDFree
|
||||||
|
*/
|
||||||
|
extern DECLSPEC void * SDLCALL SDL_SIMDAlloc(const size_t len);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Deallocate memory obtained from SDL_SIMDAlloc
|
||||||
|
*
|
||||||
|
* It is not valid to use this function on a pointer from anything but
|
||||||
|
* SDL_SIMDAlloc(). It can't be used on pointers from malloc, realloc,
|
||||||
|
* SDL_malloc, memalign, new[], etc.
|
||||||
|
*
|
||||||
|
* However, SDL_SIMDFree(NULL) is a legal no-op.
|
||||||
|
*
|
||||||
|
* \sa SDL_SIMDAlloc
|
||||||
|
*/
|
||||||
|
extern DECLSPEC void SDLCALL SDL_SIMDFree(void *ptr);
|
||||||
|
|
||||||
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
/* Ends C function definitions when using C++ */
|
/* Ends C function definitions when using C++ */
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -594,6 +594,9 @@ typedef union SDL_Event
|
||||||
Uint8 padding[56];
|
Uint8 padding[56];
|
||||||
} SDL_Event;
|
} SDL_Event;
|
||||||
|
|
||||||
|
/* Make sure we haven't broken binary compatibility */
|
||||||
|
SDL_COMPILE_TIME_ASSERT(SDL_Event, sizeof(SDL_Event) == 56);
|
||||||
|
|
||||||
|
|
||||||
/* Function prototypes */
|
/* Function prototypes */
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -315,6 +315,16 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_TOUCH_MOUSE_EVENTS "SDL_TOUCH_MOUSE_EVENTS"
|
#define SDL_HINT_TOUCH_MOUSE_EVENTS "SDL_TOUCH_MOUSE_EVENTS"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable controlling whether mouse events should generate synthetic touch events
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
* "0" - Mouse events will not generate touch events (default for desktop platforms)
|
||||||
|
* "1" - Mouse events will generate touch events (default for mobile platforms, such as Android and iOS)
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define SDL_HINT_MOUSE_TOUCH_EVENTS "SDL_MOUSE_TOUCH_EVENTS"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Minimize your SDL_Window if it loses key focus when in fullscreen mode. Defaults to true.
|
* \brief Minimize your SDL_Window if it loses key focus when in fullscreen mode. Defaults to true.
|
||||||
*
|
*
|
||||||
|
@ -436,6 +446,16 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_GAMECONTROLLERCONFIG "SDL_GAMECONTROLLERCONFIG"
|
#define SDL_HINT_GAMECONTROLLERCONFIG "SDL_GAMECONTROLLERCONFIG"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable that lets you provide a file with extra gamecontroller db entries.
|
||||||
|
*
|
||||||
|
* The file should contain lines of gamecontroller config data, see SDL_gamecontroller.h
|
||||||
|
*
|
||||||
|
* This hint must be set before calling SDL_Init(SDL_INIT_GAMECONTROLLER)
|
||||||
|
* You can update mappings after the system is initialized with SDL_GameControllerMappingForGUID() and SDL_GameControllerAddMapping()
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_GAMECONTROLLERCONFIG_FILE "SDL_GAMECONTROLLERCONFIG_FILE"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable containing a list of devices to skip when scanning for game controllers.
|
* \brief A variable containing a list of devices to skip when scanning for game controllers.
|
||||||
*
|
*
|
||||||
|
@ -836,19 +856,7 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_IME_INTERNAL_EDITING "SDL_IME_INTERNAL_EDITING"
|
#define SDL_HINT_IME_INTERNAL_EDITING "SDL_IME_INTERNAL_EDITING"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable to control whether mouse and touch events are to be treated together or separately
|
|
||||||
*
|
|
||||||
* The variable can be set to the following values:
|
|
||||||
* "0" - Mouse events will be handled as touch events, and touch will raise fake mouse
|
|
||||||
* events. This is the behaviour of SDL <= 2.0.3. (default)
|
|
||||||
* "1" - Mouse events will be handled separately from pure touch events.
|
|
||||||
*
|
|
||||||
* The value of this hint is used at runtime, so it can be changed at any time.
|
|
||||||
*/
|
|
||||||
#define SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH "SDL_ANDROID_SEPARATE_MOUSE_AND_TOUCH"
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief A variable to control whether we trap the Android back button to handle it manually.
|
* \brief A variable to control whether we trap the Android back button to handle it manually.
|
||||||
* This is necessary for the right mouse button to work on some Android devices, or
|
* This is necessary for the right mouse button to work on some Android devices, or
|
||||||
* to be able to trap the back button for use in your code reliably. If set to true,
|
* to be able to trap the back button for use in your code reliably. If set to true,
|
||||||
|
@ -865,6 +873,17 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_ANDROID_TRAP_BACK_BUTTON "SDL_ANDROID_TRAP_BACK_BUTTON"
|
#define SDL_HINT_ANDROID_TRAP_BACK_BUTTON "SDL_ANDROID_TRAP_BACK_BUTTON"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable to control whether the event loop will block itself when the app is paused.
|
||||||
|
*
|
||||||
|
* The variable can be set to the following values:
|
||||||
|
* "0" - Non blocking.
|
||||||
|
* "1" - Blocking. (default)
|
||||||
|
*
|
||||||
|
* The value should be set before SDL is initialized.
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_ANDROID_BLOCK_ON_PAUSE "SDL_ANDROID_BLOCK_ON_PAUSE"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable to control whether the return key on the soft keyboard
|
* \brief A variable to control whether the return key on the soft keyboard
|
||||||
* should hide the soft keyboard on Android and iOS.
|
* should hide the soft keyboard on Android and iOS.
|
||||||
|
@ -1043,6 +1062,118 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_AUDIO_CATEGORY "SDL_AUDIO_CATEGORY"
|
#define SDL_HINT_AUDIO_CATEGORY "SDL_AUDIO_CATEGORY"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable controlling whether the 2D render API is compatible or efficient.
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
*
|
||||||
|
* "0" - Don't use batching to make rendering more efficient.
|
||||||
|
* "1" - Use batching, but might cause problems if app makes its own direct OpenGL calls.
|
||||||
|
*
|
||||||
|
* Up to SDL 2.0.9, the render API would draw immediately when requested. Now
|
||||||
|
* it batches up draw requests and sends them all to the GPU only when forced
|
||||||
|
* to (during SDL_RenderPresent, when changing render targets, by updating a
|
||||||
|
* texture that the batch needs, etc). This is significantly more efficient,
|
||||||
|
* but it can cause problems for apps that expect to render on top of the
|
||||||
|
* render API's output. As such, SDL will disable batching if a specific
|
||||||
|
* render backend is requested (since this might indicate that the app is
|
||||||
|
* planning to use the underlying graphics API directly). This hint can
|
||||||
|
* be used to explicitly request batching in this instance. It is a contract
|
||||||
|
* that you will either never use the underlying graphics API directly, or
|
||||||
|
* if you do, you will call SDL_RenderFlush() before you do so any current
|
||||||
|
* batch goes to the GPU before your work begins. Not following this contract
|
||||||
|
* will result in undefined behavior.
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_RENDER_BATCHING "SDL_RENDER_BATCHING"
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable controlling whether SDL logs all events pushed onto its internal queue.
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
*
|
||||||
|
* "0" - Don't log any events (default)
|
||||||
|
* "1" - Log all events except mouse and finger motion, which are pretty spammy.
|
||||||
|
* "2" - Log all events.
|
||||||
|
*
|
||||||
|
* This is generally meant to be used to debug SDL itself, but can be useful
|
||||||
|
* for application developers that need better visibility into what is going
|
||||||
|
* on in the event queue. Logged events are sent through SDL_Log(), which
|
||||||
|
* means by default they appear on stdout on most platforms or maybe
|
||||||
|
* OutputDebugString() on Windows, and can be funneled by the app with
|
||||||
|
* SDL_LogSetOutputFunction(), etc.
|
||||||
|
*
|
||||||
|
* This hint can be toggled on and off at runtime, if you only need to log
|
||||||
|
* events for a small subset of program execution.
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_EVENT_LOGGING "SDL_EVENT_LOGGING"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Controls how the size of the RIFF chunk affects the loading of a WAVE file.
|
||||||
|
*
|
||||||
|
* The size of the RIFF chunk (which includes all the sub-chunks of the WAVE
|
||||||
|
* file) is not always reliable. In case the size is wrong, it's possible to
|
||||||
|
* just ignore it and step through the chunks until a fixed limit is reached.
|
||||||
|
*
|
||||||
|
* Note that files that have trailing data unrelated to the WAVE file or
|
||||||
|
* corrupt files may slow down the loading process without a reliable boundary.
|
||||||
|
* By default, SDL stops after 10000 chunks to prevent wasting time. Use the
|
||||||
|
* environment variable SDL_WAVE_CHUNK_LIMIT to adjust this value.
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
*
|
||||||
|
* "force" - Always use the RIFF chunk size as a boundary for the chunk search
|
||||||
|
* "ignorezero" - Like "force", but a zero size searches up to 4 GiB (default)
|
||||||
|
* "ignore" - Ignore the RIFF chunk size and always search up to 4 GiB
|
||||||
|
* "maximum" - Search for chunks until the end of file (not recommended)
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_WAVE_RIFF_CHUNK_SIZE "SDL_WAVE_RIFF_CHUNK_SIZE"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Controls how a truncated WAVE file is handled.
|
||||||
|
*
|
||||||
|
* A WAVE file is considered truncated if any of the chunks are incomplete or
|
||||||
|
* the data chunk size is not a multiple of the block size. By default, SDL
|
||||||
|
* decodes until the first incomplete block, as most applications seem to do.
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
*
|
||||||
|
* "verystrict" - Raise an error if the file is truncated
|
||||||
|
* "strict" - Like "verystrict", but the size of the RIFF chunk is ignored
|
||||||
|
* "dropframe" - Decode until the first incomplete sample frame
|
||||||
|
* "dropblock" - Decode until the first incomplete block (default)
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_WAVE_TRUNCATION "SDL_WAVE_TRUNCATION"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Controls how the fact chunk affects the loading of a WAVE file.
|
||||||
|
*
|
||||||
|
* The fact chunk stores information about the number of samples of a WAVE
|
||||||
|
* file. The Standards Update from Microsoft notes that this value can be used
|
||||||
|
* to 'determine the length of the data in seconds'. This is especially useful
|
||||||
|
* for compressed formats (for which this is a mandatory chunk) if they produce
|
||||||
|
* multiple sample frames per block and truncating the block is not allowed.
|
||||||
|
* The fact chunk can exactly specify how many sample frames there should be
|
||||||
|
* in this case.
|
||||||
|
*
|
||||||
|
* Unfortunately, most application seem to ignore the fact chunk and so SDL
|
||||||
|
* ignores it by default as well.
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
*
|
||||||
|
* "truncate" - Use the number of samples to truncate the wave data if
|
||||||
|
* the fact chunk is present and valid
|
||||||
|
* "strict" - Like "truncate", but raise an error if the fact chunk
|
||||||
|
* is invalid, not present for non-PCM formats, or if the
|
||||||
|
* data chunk doesn't have that many samples
|
||||||
|
* "ignorezero" - Like "truncate", but ignore fact chunk if the number of
|
||||||
|
* samples is zero
|
||||||
|
* "ignore" - Ignore fact chunk entirely (default)
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_WAVE_FACT_CHUNK "SDL_WAVE_FACT_CHUNK"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief An enumeration of hint priorities
|
* \brief An enumeration of hint priorities
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -55,6 +55,10 @@
|
||||||
/* On iOS SDL provides a main function that creates an application delegate
|
/* On iOS SDL provides a main function that creates an application delegate
|
||||||
and starts the iOS application run loop.
|
and starts the iOS application run loop.
|
||||||
|
|
||||||
|
If you link with SDL dynamically on iOS, the main function can't be in a
|
||||||
|
shared library, so you need to link with libSDLmain.a, which includes a
|
||||||
|
stub main function that calls into the shared library to start execution.
|
||||||
|
|
||||||
See src/video/uikit/SDL_uikitappdelegate.m for more details.
|
See src/video/uikit/SDL_uikitappdelegate.m for more details.
|
||||||
*/
|
*/
|
||||||
#define SDL_MAIN_NEEDED
|
#define SDL_MAIN_NEEDED
|
||||||
|
@ -82,12 +86,6 @@
|
||||||
#endif
|
#endif
|
||||||
#endif /* SDL_MAIN_HANDLED */
|
#endif /* SDL_MAIN_HANDLED */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
#define C_LINKAGE "C"
|
|
||||||
#else
|
|
||||||
#define C_LINKAGE
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
|
|
||||||
#ifndef SDLMAIN_DECLSPEC
|
#ifndef SDLMAIN_DECLSPEC
|
||||||
#define SDLMAIN_DECLSPEC
|
#define SDLMAIN_DECLSPEC
|
||||||
#endif
|
#endif
|
||||||
|
@ -111,17 +109,18 @@
|
||||||
#define main SDL_main
|
#define main SDL_main
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
|
||||||
* The prototype for the application's main() function
|
|
||||||
*/
|
|
||||||
extern C_LINKAGE SDLMAIN_DECLSPEC int SDL_main(int argc, char *argv[]);
|
|
||||||
|
|
||||||
|
|
||||||
#include "begin_code.h"
|
#include "begin_code.h"
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The prototype for the application's main() function
|
||||||
|
*/
|
||||||
|
typedef int (*SDL_main_func)(int argc, char *argv[]);
|
||||||
|
extern SDLMAIN_DECLSPEC int SDL_main(int argc, char *argv[]);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is called by the real SDL main function to let the rest of the
|
* This is called by the real SDL main function to let the rest of the
|
||||||
* library know that initialization was done properly.
|
* library know that initialization was done properly.
|
||||||
|
@ -136,8 +135,7 @@ extern DECLSPEC void SDLCALL SDL_SetMainReady(void);
|
||||||
/**
|
/**
|
||||||
* This can be called to set the application class at startup
|
* This can be called to set the application class at startup
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC int SDLCALL SDL_RegisterApp(char *name, Uint32 style,
|
extern DECLSPEC int SDLCALL SDL_RegisterApp(char *name, Uint32 style, void *hInst);
|
||||||
void *hInst);
|
|
||||||
extern DECLSPEC void SDLCALL SDL_UnregisterApp(void);
|
extern DECLSPEC void SDLCALL SDL_UnregisterApp(void);
|
||||||
|
|
||||||
#endif /* __WIN32__ */
|
#endif /* __WIN32__ */
|
||||||
|
@ -153,10 +151,24 @@ extern DECLSPEC void SDLCALL SDL_UnregisterApp(void);
|
||||||
* \return 0 on success, -1 on failure. On failure, use SDL_GetError to retrieve more
|
* \return 0 on success, -1 on failure. On failure, use SDL_GetError to retrieve more
|
||||||
* information on the failure.
|
* information on the failure.
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC int SDLCALL SDL_WinRTRunApp(int (*mainFunction)(int, char **), void * reserved);
|
extern DECLSPEC int SDLCALL SDL_WinRTRunApp(SDL_main_func mainFunction, void * reserved);
|
||||||
|
|
||||||
#endif /* __WINRT__ */
|
#endif /* __WINRT__ */
|
||||||
|
|
||||||
|
#if defined(__IPHONEOS__)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Initializes and launches an SDL application.
|
||||||
|
*
|
||||||
|
* \param argc The argc parameter from the application's main() function
|
||||||
|
* \param argv The argv parameter from the application's main() function
|
||||||
|
* \param mainFunction The SDL app's C-style main().
|
||||||
|
* \return the return value from mainFunction
|
||||||
|
*/
|
||||||
|
extern DECLSPEC int SDLCALL SDL_UIKitRunApp(int argc, char *argv[], SDL_main_func mainFunction);
|
||||||
|
|
||||||
|
#endif /* __IPHONEOS__ */
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -168,7 +168,7 @@ enum
|
||||||
((format) && (SDL_PIXELFLAG(format) != 1))
|
((format) && (SDL_PIXELFLAG(format) != 1))
|
||||||
|
|
||||||
/* Note: If you modify this list, update SDL_GetPixelFormatName() */
|
/* Note: If you modify this list, update SDL_GetPixelFormatName() */
|
||||||
enum
|
typedef enum
|
||||||
{
|
{
|
||||||
SDL_PIXELFORMAT_UNKNOWN,
|
SDL_PIXELFORMAT_UNKNOWN,
|
||||||
SDL_PIXELFORMAT_INDEX1LSB =
|
SDL_PIXELFORMAT_INDEX1LSB =
|
||||||
|
@ -290,7 +290,7 @@ enum
|
||||||
SDL_DEFINE_PIXELFOURCC('N', 'V', '2', '1'),
|
SDL_DEFINE_PIXELFOURCC('N', 'V', '2', '1'),
|
||||||
SDL_PIXELFORMAT_EXTERNAL_OES = /**< Android video texture format */
|
SDL_PIXELFORMAT_EXTERNAL_OES = /**< Android video texture format */
|
||||||
SDL_DEFINE_PIXELFOURCC('O', 'E', 'S', ' ')
|
SDL_DEFINE_PIXELFOURCC('O', 'E', 'S', ' ')
|
||||||
};
|
} SDL_PixelFormatEnum;
|
||||||
|
|
||||||
typedef struct SDL_Color
|
typedef struct SDL_Color
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -40,7 +40,7 @@ extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief The structure that defines a point
|
* \brief The structure that defines a point (integer)
|
||||||
*
|
*
|
||||||
* \sa SDL_EnclosePoints
|
* \sa SDL_EnclosePoints
|
||||||
* \sa SDL_PointInRect
|
* \sa SDL_PointInRect
|
||||||
|
@ -52,7 +52,20 @@ typedef struct SDL_Point
|
||||||
} SDL_Point;
|
} SDL_Point;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A rectangle, with the origin at the upper left.
|
* \brief The structure that defines a point (floating point)
|
||||||
|
*
|
||||||
|
* \sa SDL_EnclosePoints
|
||||||
|
* \sa SDL_PointInRect
|
||||||
|
*/
|
||||||
|
typedef struct SDL_FPoint
|
||||||
|
{
|
||||||
|
float x;
|
||||||
|
float y;
|
||||||
|
} SDL_FPoint;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A rectangle, with the origin at the upper left (integer).
|
||||||
*
|
*
|
||||||
* \sa SDL_RectEmpty
|
* \sa SDL_RectEmpty
|
||||||
* \sa SDL_RectEquals
|
* \sa SDL_RectEquals
|
||||||
|
@ -67,6 +80,19 @@ typedef struct SDL_Rect
|
||||||
int w, h;
|
int w, h;
|
||||||
} SDL_Rect;
|
} SDL_Rect;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A rectangle, with the origin at the upper left (floating point).
|
||||||
|
*/
|
||||||
|
typedef struct SDL_FRect
|
||||||
|
{
|
||||||
|
float x;
|
||||||
|
float y;
|
||||||
|
float w;
|
||||||
|
float h;
|
||||||
|
} SDL_FRect;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Returns true if point resides inside a rectangle.
|
* \brief Returns true if point resides inside a rectangle.
|
||||||
*/
|
*/
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue