Removed SDL_round() because the license wasn't compatible with zlib
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2f6c4ca..11aa5e9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -496,7 +496,7 @@
strlen _strrev _strupr _strlwr strchr strrchr strstr itoa _ltoa
_ultoa strtol strtoul strtoll strtod atoi atof strcmp strncmp
_stricmp _strnicmp sscanf atan atan2 acos asin ceil copysign cos
- cosf fabs floor log pow round scalbn sin sinf sqrt sqrtf tan tanf)
+ cosf fabs floor log pow scalbn sin sinf sqrt sqrtf tan tanf)
string(TOUPPER ${_FN} _UPPER)
set(HAVE_${_UPPER} 1)
endforeach()
@@ -542,7 +542,7 @@
if(HAVE_LIBM)
set(CMAKE_REQUIRED_LIBRARIES m)
foreach(_FN
- atan atan2 ceil copysign cos cosf fabs floor log pow round scalbn sin
+ atan atan2 ceil copysign cos cosf fabs floor log pow scalbn sin
sinf sqrt sqrtf tan tanf)
string(TOUPPER ${_FN} _UPPER)
set(_HAVEVAR "HAVE_${_UPPER}")
diff --git a/configure b/configure
index beb7b8e..08ecfbf 100755
--- a/configure
+++ b/configure
@@ -16641,7 +16641,7 @@
LIBS="$LIBS -lm"; EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lm"
fi
- for ac_func in atan atan2 acos asin ceil copysign cos cosf fabs floor log pow round scalbn sin sinf sqrt sqrtf tan tanf
+ for ac_func in atan atan2 acos asin ceil copysign cos cosf fabs floor log pow scalbn sin sinf sqrt sqrtf tan tanf
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
diff --git a/configure.in b/configure.in
index 1464d7e..3c87ea7 100644
--- a/configure.in
+++ b/configure.in
@@ -271,7 +271,7 @@
AC_CHECK_FUNCS(malloc calloc realloc free getenv setenv putenv unsetenv qsort abs bcopy memset memcpy memmove strlen strlcpy strlcat strdup _strrev _strupr _strlwr strchr strrchr strstr itoa _ltoa _uitoa _ultoa strtol strtoul _i64toa _ui64toa strtoll strtoull atoi atof strcmp strncmp _stricmp strcasecmp _strnicmp strncasecmp vsscanf vsnprintf fseeko fseeko64 sigaction setjmp nanosleep sysconf sysctlbyname)
AC_CHECK_LIB(m, pow, [LIBS="$LIBS -lm"; EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lm"])
- AC_CHECK_FUNCS(atan atan2 acos asin ceil copysign cos cosf fabs floor log pow round scalbn sin sinf sqrt sqrtf tan tanf)
+ AC_CHECK_FUNCS(atan atan2 acos asin ceil copysign cos cosf fabs floor log pow scalbn sin sinf sqrt sqrtf tan tanf)
AC_CHECK_LIB(iconv, iconv_open, [LIBS="$LIBS -liconv"; EXTRA_LDFLAGS="$EXTRA_LDFLAGS -liconv"])
AC_CHECK_FUNCS(iconv)
diff --git a/include/SDL_config.h.cmake b/include/SDL_config.h.cmake
index c59bdb7..51500fb 100644
--- a/include/SDL_config.h.cmake
+++ b/include/SDL_config.h.cmake
@@ -140,7 +140,6 @@
#cmakedefine HAVE_FLOOR 1
#cmakedefine HAVE_LOG 1
#cmakedefine HAVE_POW 1
-#cmakedefine HAVE_ROUND 1
#cmakedefine HAVE_SCALBN 1
#cmakedefine HAVE_SIN 1
#cmakedefine HAVE_SINF 1
diff --git a/include/SDL_config.h.in b/include/SDL_config.h.in
index 96c6945..145a7b7 100644
--- a/include/SDL_config.h.in
+++ b/include/SDL_config.h.in
@@ -150,7 +150,6 @@
#undef HAVE_FLOOR
#undef HAVE_LOG
#undef HAVE_POW
-#undef HAVE_ROUND
#undef HAVE_SCALBN
#undef HAVE_SIN
#undef HAVE_SINF
diff --git a/include/SDL_config_android.h b/include/SDL_config_android.h
index 8300b46..569ff1d 100644
--- a/include/SDL_config_android.h
+++ b/include/SDL_config_android.h
@@ -96,7 +96,6 @@
#define HAVE_FLOOR 1
#define HAVE_LOG 1
#define HAVE_POW 1
-#define HAVE_ROUND 1
#define HAVE_SCALBN 1
#define HAVE_SIN 1
#define HAVE_SINF 1
diff --git a/include/SDL_config_iphoneos.h b/include/SDL_config_iphoneos.h
index 75ec3c1..4e3eb2c 100644
--- a/include/SDL_config_iphoneos.h
+++ b/include/SDL_config_iphoneos.h
@@ -94,7 +94,6 @@
#define HAVE_FLOOR 1
#define HAVE_LOG 1
#define HAVE_POW 1
-#define HAVE_ROUND 1
#define HAVE_SCALBN 1
#define HAVE_SIN 1
#define HAVE_SINF 1
diff --git a/include/SDL_config_macosx.h b/include/SDL_config_macosx.h
index ebb63cb..b6af492 100644
--- a/include/SDL_config_macosx.h
+++ b/include/SDL_config_macosx.h
@@ -92,7 +92,6 @@
#define HAVE_FLOOR 1
#define HAVE_LOG 1
#define HAVE_POW 1
-#define HAVE_ROUND 1
#define HAVE_SCALBN 1
#define HAVE_SIN 1
#define HAVE_SINF 1
diff --git a/include/SDL_config_pandora.h b/include/SDL_config_pandora.h
index 2851ada..aead1ff 100644
--- a/include/SDL_config_pandora.h
+++ b/include/SDL_config_pandora.h
@@ -91,7 +91,6 @@
#define HAVE_FABS 1
#define HAVE_FLOOR 1
#define HAVE_LOG 1
-#define HAVE_ROUND 1
#define HAVE_SCALBN 1
#define HAVE_SIN 1
#define HAVE_SINF 1
diff --git a/include/SDL_config_psp.h b/include/SDL_config_psp.h
index 354dc3f..617d691 100644
--- a/include/SDL_config_psp.h
+++ b/include/SDL_config_psp.h
@@ -94,7 +94,6 @@
#define HAVE_FLOOR 1
#define HAVE_LOG 1
#define HAVE_POW 1
-#define HAVE_ROUND 1
#define HAVE_SCALBN 1
#define HAVE_SIN 1
#define HAVE_SINF 1
diff --git a/include/SDL_config_windows.h b/include/SDL_config_windows.h
index 1b329e2..8bc7ffe 100644
--- a/include/SDL_config_windows.h
+++ b/include/SDL_config_windows.h
@@ -133,7 +133,6 @@
#define HAVE_FLOOR 1
#define HAVE_LOG 1
#define HAVE_POW 1
-#define HAVE_ROUND 1
#define HAVE_SIN 1
#define HAVE_SINF 1
#define HAVE_SQRT 1
diff --git a/include/SDL_config_winrt.h b/include/SDL_config_winrt.h
index aa63476..d70a0bc 100644
--- a/include/SDL_config_winrt.h
+++ b/include/SDL_config_winrt.h
@@ -135,7 +135,6 @@
#define HAVE_FLOOR 1
#define HAVE_LOG 1
#define HAVE_POW 1
-#define HAVE_ROUND 1
//#define HAVE_SCALBN 1
#define HAVE__SCALB 1
#define HAVE_SIN 1
diff --git a/include/SDL_config_wiz.h b/include/SDL_config_wiz.h
index 46bc816..9204567 100644
--- a/include/SDL_config_wiz.h
+++ b/include/SDL_config_wiz.h
@@ -85,7 +85,6 @@
#define HAVE_FABS 1
#define HAVE_FLOOR 1
#define HAVE_LOG 1
-#define HAVE_ROUND 1
#define HAVE_SCALBN 1
#define HAVE_SIN 1
#define HAVE_SINF 1
diff --git a/include/SDL_stdinc.h b/include/SDL_stdinc.h
index 47a5ca9..78d3402 100644
--- a/include/SDL_stdinc.h
+++ b/include/SDL_stdinc.h
@@ -428,7 +428,6 @@
extern DECLSPEC double SDLCALL SDL_floor(double x);
extern DECLSPEC double SDLCALL SDL_log(double x);
extern DECLSPEC double SDLCALL SDL_pow(double x, double y);
-extern DECLSPEC double SDLCALL SDL_round(double x);
extern DECLSPEC double SDLCALL SDL_scalbn(double x, int n);
extern DECLSPEC double SDLCALL SDL_sin(double x);
extern DECLSPEC float SDLCALL SDL_sinf(float x);
diff --git a/src/dynapi/SDL_dynapi_overrides.h b/src/dynapi/SDL_dynapi_overrides.h
index d887964..8bcde63 100644
--- a/src/dynapi/SDL_dynapi_overrides.h
+++ b/src/dynapi/SDL_dynapi_overrides.h
@@ -591,4 +591,3 @@
#define SDL_QueueAudio SDL_QueueAudio_REAL
#define SDL_GetQueuedAudioSize SDL_GetQueuedAudioSize_REAL
#define SDL_ClearQueuedAudio SDL_ClearQueuedAudio_REAL
-#define SDL_round SDL_round_REAL
diff --git a/src/dynapi/SDL_dynapi_procs.h b/src/dynapi/SDL_dynapi_procs.h
index 0b8546d..c41cdc9 100644
--- a/src/dynapi/SDL_dynapi_procs.h
+++ b/src/dynapi/SDL_dynapi_procs.h
@@ -623,4 +623,3 @@
SDL_DYNAPI_PROC(int,SDL_QueueAudio,(SDL_AudioDeviceID a, const void *b, Uint32 c),(a,b,c),return)
SDL_DYNAPI_PROC(Uint32,SDL_GetQueuedAudioSize,(SDL_AudioDeviceID a),(a),return)
SDL_DYNAPI_PROC(void,SDL_ClearQueuedAudio,(SDL_AudioDeviceID a),(a),)
-SDL_DYNAPI_PROC(double,SDL_round,(double a),(a),return)
diff --git a/src/libm/math_libm.h b/src/libm/math_libm.h
index 88f7852..6b479f4 100644
--- a/src/libm/math_libm.h
+++ b/src/libm/math_libm.h
@@ -30,7 +30,6 @@
double SDL_uclibc_floor(double x);
double SDL_uclibc_log(double x);
double SDL_uclibc_pow(double x, double y);
-double SDL_uclibc_round(double x);
double SDL_uclibc_scalbn(double x, int n);
double SDL_uclibc_sin(double x);
double SDL_uclibc_sqrt(double x);
diff --git a/src/libm/math_private.h b/src/libm/math_private.h
index 78b6240..74c8b3d 100644
--- a/src/libm/math_private.h
+++ b/src/libm/math_private.h
@@ -37,7 +37,6 @@
#define floor SDL_uclibc_floor
#define __ieee754_log SDL_uclibc_log
#define __ieee754_pow SDL_uclibc_pow
-#define round SDL_uclibc_round
#define scalbn SDL_uclibc_scalbn
#define sin SDL_uclibc_sin
#define __ieee754_sqrt SDL_uclibc_sqrt
diff --git a/src/stdlib/SDL_stdlib.c b/src/stdlib/SDL_stdlib.c
index 493bebe..b1de63d 100644
--- a/src/stdlib/SDL_stdlib.c
+++ b/src/stdlib/SDL_stdlib.c
@@ -170,16 +170,6 @@
}
double
-SDL_round(double x)
-{
-#if defined(HAVE_ROUND)
- return round(x);
-#else
- return SDL_uclibc_round(x);
-#endif /* HAVE_ROUND */
-}
-
-double
SDL_scalbn(double x, int n)
{
#if defined(HAVE_SCALBN)
diff --git a/src/video/SDL_surface.c b/src/video/SDL_surface.c
index 3f4244b..fcd7887 100644
--- a/src/video/SDL_surface.c
+++ b/src/video/SDL_surface.c
@@ -741,15 +741,15 @@
dst_y0 += dst->clip_rect.y;
dst_y1 += dst->clip_rect.y;
- final_src.x = SDL_round(src_x0);
- final_src.y = SDL_round(src_y0);
- final_src.w = SDL_round(src_x1 - src_x0 + 1);
- final_src.h = SDL_round(src_y1 - src_y0 + 1);
+ final_src.x = SDL_floor(src_x0 + 0.5);
+ final_src.y = SDL_floor(src_y0 + 0.5);
+ final_src.w = SDL_floor(src_x1 - src_x0 + 1.5);
+ final_src.h = SDL_floor(src_y1 - src_y0 + 1.5);
- final_dst.x = SDL_round(dst_x0);
- final_dst.y = SDL_round(dst_y0);
- final_dst.w = SDL_round(dst_x1 - dst_x0 + 1);
- final_dst.h = SDL_round(dst_y1 - dst_y0 + 1);
+ final_dst.x = SDL_floor(dst_x0 + 0.5);
+ final_dst.y = SDL_floor(dst_y0 + 0.5);
+ final_dst.w = SDL_floor(dst_x1 - dst_x0 + 1.5);
+ final_dst.h = SDL_floor(dst_y1 - dst_y0 + 1.5);
if (final_dst.w < 0)
final_dst.w = 0;