From 1ea8697894844ef132f509f403f3776033e24da1 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Sun, 17 Aug 2014 13:11:55 -0700 Subject: [PATCH] Removed SDL_round() because the license wasn't compatible with zlib --- CMakeLists.txt | 4 ++-- configure | 2 +- configure.in | 2 +- include/SDL_config.h.cmake | 1 - include/SDL_config.h.in | 1 - include/SDL_config_android.h | 1 - include/SDL_config_iphoneos.h | 1 - include/SDL_config_macosx.h | 1 - include/SDL_config_pandora.h | 1 - include/SDL_config_psp.h | 1 - include/SDL_config_windows.h | 1 - include/SDL_config_winrt.h | 1 - include/SDL_config_wiz.h | 1 - include/SDL_stdinc.h | 1 - src/dynapi/SDL_dynapi_overrides.h | 1 - src/dynapi/SDL_dynapi_procs.h | 1 - src/libm/math_libm.h | 1 - src/libm/math_private.h | 1 - src/stdlib/SDL_stdlib.c | 10 ---------- src/video/SDL_surface.c | 18 +++++++++--------- 20 files changed, 13 insertions(+), 38 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2f6c4ca10a007..11aa5e91f1671 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -496,7 +496,7 @@ if(LIBC) 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(LIBC) 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 beb7b8e9af632..08ecfbf3582e2 100755 --- a/configure +++ b/configure @@ -16641,7 +16641,7 @@ if test "x$ac_cv_lib_m_pow" = xyes; then : 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 1464d7eb05884..3c87ea754c53f 100644 --- a/configure.in +++ b/configure.in @@ -271,7 +271,7 @@ if test x$enable_libc = xyes; then 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 c59bdb70af4fa..51500fb2b0e05 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 96c69451d2d9e..145a7b7728c13 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 8300b46da3798..569ff1d5e256f 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 75ec3c151be3e..4e3eb2c927e74 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 ebb63cb5f7024..b6af492d408f3 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 2851ada6853ea..aead1ff9f1747 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 354dc3f7c5cf5..617d691f26213 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 1b329e2142915..8bc7ffe09485a 100644 --- a/include/SDL_config_windows.h +++ b/include/SDL_config_windows.h @@ -133,7 +133,6 @@ typedef unsigned int uintptr_t; #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 aa634764b86d3..d70a0bcd6372e 100644 --- a/include/SDL_config_winrt.h +++ b/include/SDL_config_winrt.h @@ -135,7 +135,6 @@ typedef unsigned int uintptr_t; #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 46bc816f0478d..9204567c66be1 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 47a5ca9d474b7..78d3402e72c8d 100644 --- a/include/SDL_stdinc.h +++ b/include/SDL_stdinc.h @@ -428,7 +428,6 @@ extern DECLSPEC double SDLCALL SDL_fabs(double x); 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 d887964252aac..8bcde6312d33e 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 0b8546d7313db..c41cdc9f027c0 100644 --- a/src/dynapi/SDL_dynapi_procs.h +++ b/src/dynapi/SDL_dynapi_procs.h @@ -623,4 +623,3 @@ SDL_DYNAPI_PROC(SDL_bool,SDL_HasAVX2,(void),(),return) 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 88f785267a700..6b479f44d715b 100644 --- a/src/libm/math_libm.h +++ b/src/libm/math_libm.h @@ -30,7 +30,6 @@ double SDL_uclibc_fabs(double x); 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 78b62408e53d8..74c8b3d45f5e8 100644 --- a/src/libm/math_private.h +++ b/src/libm/math_private.h @@ -37,7 +37,6 @@ typedef unsigned int u_int32_t; #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 493bebe441718..b1de63d2a8a72 100644 --- a/src/stdlib/SDL_stdlib.c +++ b/src/stdlib/SDL_stdlib.c @@ -169,16 +169,6 @@ SDL_pow(double x, double y) #endif /* HAVE_POW */ } -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) { diff --git a/src/video/SDL_surface.c b/src/video/SDL_surface.c index 3f4244b76be3e..fcd78870e1497 100644 --- a/src/video/SDL_surface.c +++ b/src/video/SDL_surface.c @@ -741,15 +741,15 @@ SDL_UpperBlitScaled(SDL_Surface * src, const SDL_Rect * srcrect, 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_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_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_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;