aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2018-05-25 08:25:14 +0200
committerLoïc Hoguin <[email protected]>2018-05-25 08:25:14 +0200
commit26f98df338c25d7ed7c9fcf996bf09860d2de34f (patch)
tree8f03df9293f1b05aadda4fad088239eca7bfebf5
parent15c7335dff7cd5e8ccd648a990b27751937e7be7 (diff)
downloadesdl2-26f98df338c25d7ed7c9fcf996bf09860d2de34f.tar.gz
esdl2-26f98df338c25d7ed7c9fcf996bf09860d2de34f.tar.bz2
esdl2-26f98df338c25d7ed7c9fcf996bf09860d2de34f.zip
Compatibility with SDL2 2.0.5
-rw-r--r--c_src/sdl_blend_mode.c15
-rw-r--r--c_src/sdl_cpu_info.c4
-rw-r--r--c_src/sdl_window.c4
3 files changed, 23 insertions, 0 deletions
diff --git a/c_src/sdl_blend_mode.c b/c_src/sdl_blend_mode.c
index 94ece52..a699dbb 100644
--- a/c_src/sdl_blend_mode.c
+++ b/c_src/sdl_blend_mode.c
@@ -14,6 +14,10 @@
#include "esdl2.h"
+#if !SDL_VERSION_ATLEAST(2, 0, 6)
+#define SDL_BLENDMODE_INVALID 0x7FFFFFFF
+#endif
+
#define BLEND_MODE_ENUM(E) \
E(none, SDL_BLENDMODE_NONE) \
E(blend, SDL_BLENDMODE_BLEND) \
@@ -24,6 +28,8 @@
NIF_ATOM_TO_ENUM_FUNCTION(atom_to_blend_mode, SDL_BlendMode, BLEND_MODE_ENUM)
NIF_ENUM_TO_ATOM_FUNCTION(blend_mode_to_atom, SDL_BlendMode, BLEND_MODE_ENUM)
+#if SDL_VERSION_ATLEAST(2, 0, 6)
+
#define BLEND_OPERATION_ENUM(E) \
E(add, SDL_BLENDOPERATION_ADD) \
E(substract, SDL_BLENDOPERATION_SUBTRACT) \
@@ -82,3 +88,12 @@ NIF_FUNCTION(compose_custom_blend_mode)
srcColorFactor, dstColorFactor, colorOp,
srcAlphaFactor, dstAlphaFactor, alphaOp);
}
+
+#else
+
+NIF_FUNCTION(compose_custom_blend_mode)
+{
+ return atom_undefined;
+}
+
+#endif /* SDL_VERSION_ATLEAST(2, 0, 6) */
diff --git a/c_src/sdl_cpu_info.c b/c_src/sdl_cpu_info.c
index c02a358..aa034f9 100644
--- a/c_src/sdl_cpu_info.c
+++ b/c_src/sdl_cpu_info.c
@@ -89,10 +89,14 @@ NIF_FUNCTION(has_mmx)
NIF_FUNCTION(has_neon)
{
+#if SDL_VERSION_ATLEAST(2, 0, 6)
if (SDL_HasNEON())
return atom_true;
return atom_false;
+#else
+ return atom_undefined;
+#endif
}
// has_rdtsc
diff --git a/c_src/sdl_window.c b/c_src/sdl_window.c
index 1c4f5a7..5f31627 100644
--- a/c_src/sdl_window.c
+++ b/c_src/sdl_window.c
@@ -23,6 +23,10 @@ void dtor_Window(ErlNifEnv* env, void* obj)
esdl2_windows_remove(window);
}
+#if !SDL_VERSION_ATLEAST(2, 0, 6)
+#define SDL_WINDOW_VULKAN 0x10000000
+#endif
+
#define WINDOW_FLAGS(F) \
F(fullscreen, SDL_WINDOW_FULLSCREEN) \
F(opengl, SDL_WINDOW_OPENGL) \