Go to the documentation of this file.
21 #if defined(__clang_analyzer__)
22 #define SDL_DISABLE_ANALYZE_MACROS 1
25 #include "../SDL_internal.h"
31 #if !defined(HAVE_VSSCANF) || !defined(HAVE_STRTOL) || !defined(HAVE_STRTOUL) || !defined(HAVE_STRTOLL) || !defined(HAVE_STRTOULL) || !defined(HAVE_STRTOD)
32 #define SDL_isupperhex(X) (((X) >= 'A') && ((X) <= 'F'))
33 #define SDL_islowerhex(X) (((X) >= 'a') && ((X) <= 'f'))
36 #define UTF8_IsLeadByte(c) ((c) >= 0xC0 && (c) <= 0xF4)
37 #define UTF8_IsTrailingByte(c) ((c) >= 0x80 && (c) <= 0xBF)
41 if (
c >= 0xC0 &&
c <= 0xDF)
43 else if (
c >= 0xE0 &&
c <= 0xEF)
45 else if (
c >= 0xF0 &&
c <= 0xF4)
51 #if !defined(HAVE_VSSCANF) || !defined(HAVE_STRTOL)
55 const char *textstart =
text;
71 v = 10 + (*
text -
'A');
73 v = 10 + (*
text -
'a');
81 if (valuep &&
text > textstart) {
82 if (negative &&
value) {
88 return (
text - textstart);
92 #if !defined(HAVE_VSSCANF) || !defined(HAVE_STRTOUL) || !defined(HAVE_STRTOD)
96 const char *textstart =
text;
97 unsigned long value = 0;
107 v = 10 + (*
text -
'A');
109 v = 10 + (*
text -
'a');
117 if (valuep &&
text > textstart) {
120 return (
text - textstart);
128 const char *textstart =
text;
139 v = 10 + (*
text -
'A');
141 v = 10 + (*
text -
'a');
149 if (valuep &&
text > textstart) {
152 return (
text - textstart);
156 #if !defined(HAVE_VSSCANF) || !defined(HAVE_STRTOLL)
160 const char *textstart =
text;
176 v = 10 + (*
text -
'A');
178 v = 10 + (*
text -
'a');
186 if (valuep &&
text > textstart) {
187 if (negative &&
value) {
193 return (
text - textstart);
197 #if !defined(HAVE_VSSCANF) || !defined(HAVE_STRTOULL)
201 const char *textstart =
text;
212 v = 10 + (*
text -
'A');
214 v = 10 + (*
text -
'a');
222 if (valuep &&
text > textstart) {
225 return (
text - textstart);
229 #if !defined(HAVE_VSSCANF) || !defined(HAVE_STRTOD)
233 const char *textstart =
text;
234 unsigned long lvalue = 0;
248 lvalue = *
text -
'0';
249 value += (double) lvalue / mult;
254 if (valuep &&
text > textstart) {
255 if (negative &&
value) {
261 return (
text - textstart);
268 #if defined(HAVE_MEMSET)
284 while ((intptr_t)dstp1 & 0x3) {
292 value4 = (
c | (
c << 8) | (
c << 16) | (
c << 24));
300 dstp1 = (
Uint8 *) dstp4;
322 #elif defined(HAVE_MEMCPY)
324 #elif defined(HAVE_BCOPY)
332 if (((intptr_t)
src & 0x3) || ((intptr_t)
dst & 0x3)) {
343 Uint8 *srcp1, *dstp1;
352 srcp1 = (
Uint8 *) srcp4;
353 dstp1 = (
Uint8 *) dstp4;
370 #if defined(HAVE_MEMMOVE)
373 char *srcp = (
char *)
src;
374 char *dstp = (
char *)
dst;
394 #if defined(HAVE_MEMCMP)
395 return memcmp(
s1, s2,
len);
397 char *s1p = (
char *)
s1;
398 char *s2p = (
char *) s2;
401 return (*s1p - *s2p);
413 #if defined(HAVE_STRLEN)
414 return strlen(
string);
427 #if defined(HAVE_WCSLEN)
428 return wcslen(
string);
441 #if defined(HAVE_WCSLCPY)
442 return wcslcpy(
dst,
src, maxlen);
457 #if defined(HAVE_WCSLCAT)
458 return wcslcat(
dst,
src, maxlen);
462 if (dstlen < maxlen) {
465 return dstlen + srclen;
483 #if defined(HAVE_WCSSTR)
489 return (
wchar_t *)haystack;
500 #if defined(HAVE_WCSCMP)
501 return wcscmp(str1, str2);
503 while (*str1 && *str2) {
509 return (
int)(*str1 - *str2);
514 SDL_wcsncmp(
const wchar_t *str1,
const wchar_t *str2,
size_t maxlen)
516 #if defined(HAVE_WCSNCMP)
517 return wcsncmp(str1, str2, maxlen);
519 while (*str1 && *str2) {
525 return (
int)(*str1 - *str2);
532 #if defined(HAVE_STRLCPY)
533 return strlcpy(
dst,
src, maxlen);
549 size_t bytes =
SDL_min(src_bytes, dst_bytes - 1);
551 char trailing_bytes = 0;
554 unsigned char c = (
unsigned char)
src[bytes - 1];
559 for (
i = bytes - 1;
i != 0; --
i)
561 c = (
unsigned char)
src[
i];
565 if (bytes -
i != trailing_bytes + 1)
585 while ((ch = *(
p++)) != 0) {
587 if ((ch & 0xc0) != 0x80) {
598 #if defined(HAVE_STRLCAT)
599 return strlcat(
dst,
src, maxlen);
603 if (dstlen < maxlen) {
606 return dstlen + srclen;
624 #if defined(HAVE__STRREV)
625 return _strrev(
string);
628 char *
a = &
string[0];
629 char *
b = &
string[
len - 1];
643 #if defined(HAVE__STRUPR)
644 return _strupr(
string);
658 #if defined(HAVE__STRLWR)
659 return _strlwr(
string);
675 #elif defined(HAVE_INDEX)
693 #elif defined(HAVE_RINDEX)
696 const char *bufp =
string +
SDL_strlen(
string) - 1;
697 while (bufp >=
string) {
699 return (
char *) bufp;
710 #if defined(HAVE_STRSTR)
716 return (
char *) haystack;
724 #if !defined(HAVE__LTOA) || !defined(HAVE__I64TOA) || \
725 !defined(HAVE__ULTOA) || !defined(HAVE__UI64TOA)
727 '0',
'1',
'2',
'3',
'4',
'5',
'6',
'7',
'8',
'9',
728 'A',
'B',
'C',
'D',
'E',
'F',
'G',
'H',
'I',
'J',
729 'K',
'L',
'M',
'N',
'O',
'P',
'Q',
'R',
'S',
'T',
730 'U',
'V',
'W',
'X',
'Y',
'Z'
738 return itoa(
value,
string, radix);
748 return _uitoa(
value,
string, radix);
757 #if defined(HAVE__LTOA)
758 return _ltoa(
value,
string, radix);
776 #if defined(HAVE__ULTOA)
777 return _ultoa(
value,
string, radix);
801 #if defined(HAVE__I64TOA)
802 return _i64toa(
value,
string, radix);
820 #if defined(HAVE__UI64TOA)
821 return _ui64toa(
value,
string, radix);
863 #if defined(HAVE_STRTOL)
864 return strtol(
string, endp,
base);
879 *endp = (
char *)
string +
len;
888 #if defined(HAVE_STRTOUL)
889 return strtoul(
string, endp,
base);
892 unsigned long value = 0;
904 *endp = (
char *)
string +
len;
913 #if defined(HAVE_STRTOLL)
914 return strtoll(
string, endp,
base);
929 *endp = (
char *)
string +
len;
938 #if defined(HAVE_STRTOULL)
939 return strtoull(
string, endp,
base);
954 *endp = (
char *)
string +
len;
963 #if defined(HAVE_STRTOD)
964 return strtod(
string, endp);
971 *endp = (
char *)
string +
len;
980 #if defined(HAVE_STRCMP)
981 return strcmp(str1, str2);
983 while (*str1 && *str2) {
989 return (
int)((
unsigned char) *str1 - (
unsigned char) *str2);
996 #if defined(HAVE_STRNCMP)
997 return strncmp(str1, str2, maxlen);
999 while (*str1 && *str2 && maxlen) {
1009 return (
int) ((
unsigned char) *str1 - (
unsigned char) *str2);
1016 #ifdef HAVE_STRCASECMP
1017 return strcasecmp(str1, str2);
1018 #elif defined(HAVE__STRICMP)
1019 return _stricmp(str1, str2);
1023 while (*str1 && *str2) {
1033 return (
int) ((
unsigned char)
a - (
unsigned char)
b);
1040 #ifdef HAVE_STRNCASECMP
1041 return strncasecmp(str1, str2, maxlen);
1042 #elif defined(HAVE__STRNICMP)
1043 return _strnicmp(str1, str2, maxlen);
1047 while (*str1 && *str2 && maxlen) {
1061 return (
int) ((
unsigned char)
a - (
unsigned char)
b);
1081 return vsscanf(
text, fmt, ap);
1139 char *valuep = va_arg(ap,
char *);
1141 *valuep++ = *
text++;
1159 if (inttype > DO_SHORT) {
1164 if (inttype < DO_LONGLONG) {
1171 inttype = DO_LONGLONG;
1190 if (inttype == DO_LONGLONG) {
1194 if (advance && !suppress) {
1203 if (advance && !suppress) {
1207 short *valuep = va_arg(ap,
short *);
1208 *valuep = (short)
value;
1213 int *valuep = va_arg(ap,
int *);
1214 *valuep = (int)
value;
1219 long *valuep = va_arg(ap,
long *);
1244 if (inttype == DO_LONGLONG) {
1248 if (advance && !suppress) {
1254 unsigned long value = 0;
1257 if (advance && !suppress) {
1261 short *valuep = va_arg(ap,
short *);
1262 *valuep = (short)
value;
1267 int *valuep = va_arg(ap,
int *);
1268 *valuep = (int)
value;
1273 long *valuep = va_arg(ap,
long *);
1291 if (advance && !suppress) {
1292 void **valuep = va_arg(ap,
void **);
1293 *valuep = (
void *)
value;
1304 if (advance && !suppress) {
1305 float *valuep = va_arg(ap,
float *);
1306 *valuep = (float)
value;
1323 char *valuep = va_arg(ap,
char *);
1325 *valuep++ = *
text++;
1345 if (*
text == *fmt) {
1371 #if defined(HAVE_LIBC) && defined(__WATCOMC__)
1378 if (maxlen > 0)
text[maxlen-1] =
'\0';
1382 #elif defined(HAVE_VSNPRINTF)
1388 return vsnprintf(
text, maxlen, fmt, ap);
1417 if (
string ==
NULL) {
1422 if (info && info->
width > 0 && (
size_t)info->
width > sz) {
1423 const char fill = info->
pad_zeroes ?
'0' :
' ';
1443 if (slen < maxlen) {
1460 size_t sz, pad, have_sign;
1466 if (*
num ==
'-' || *
num ==
'+') {
1474 if (pad + sz + 1 <= maxlen) {
1486 if (pad + sz + 1 <= maxlen) {
1547 size_t left = maxlen;
1548 char *textstart =
text;
1552 unsigned long value;
1568 value = (
unsigned long) arg;
1589 value = (
unsigned long) (arg * mult);
1598 arg -= (double)
value / mult;
1619 const char fill = info->
pad_zeroes ?
'0' :
' ';
1636 if (
end != textstart) {
1637 const size_t filllen =
SDL_min(
len, ((
size_t) (
end - textstart)) - 1);
1642 return (
text - textstart);
1648 size_t left = maxlen;
1649 char *textstart =
text;
1654 while (*fmt &&
left > 1) {
1672 while (check_flag) {
1693 if (*fmt >=
'0' && *fmt <=
'9') {
1696 else if (*fmt ==
'*') {
1698 info.
width = va_arg(ap,
int);
1703 if (*fmt >=
'0' && *fmt <=
'9') {
1705 }
else if (*fmt ==
'*') {
1728 *
text = (char) va_arg(ap,
int);
1737 if (inttype < DO_LONGLONG) {
1744 inttype = DO_LONGLONG;
1755 (
long) va_arg(ap,
int));
1776 if (info.
radix == 10) {
1784 if (info.
radix == 10) {
1797 va_arg(ap,
unsigned int));
1801 va_arg(ap,
unsigned long));
1817 wchar_t *wide_arg = va_arg(ap,
wchar_t *);
1851 return (
int)(
text - textstart);
char * SDL_strdup(const char *string)
int SDL_strcmp(const char *str1, const char *str2)
static size_t SDL_PrintUnsignedLongLong(char *text, size_t maxlen, SDL_FormatInfo *info, Uint64 value)
void * SDL_memset(SDL_OUT_BYTECAP(len) void *dst, int c, size_t len)
size_t SDL_strlcpy(SDL_OUT_Z_CAP(maxlen) char *dst, const char *src, size_t maxlen)
#define SDL_PRINTF_FORMAT_STRING
set set set set set set set macro pixldst1 abits if abits op else op endif endm macro pixldst2 abits if abits op else op endif endm macro pixldst4 abits if abits op else op endif endm macro pixldst0 abits op endm macro pixldst3 mem_operand op endm macro pixldst30 mem_operand op endm macro pixldst abits if abits elseif abits elseif abits elseif abits elseif abits pixldst0 abits else pixldst0 abits pixldst0 abits pixldst0 abits pixldst0 abits endif elseif abits else pixldst0 abits pixldst0 abits endif elseif abits else error unsupported bpp *numpix else pixst endif endm macro pixld1_s mem_operand if asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl elseif asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl else error unsupported endif endm macro pixld2_s mem_operand if mov asr add asl add asl mov asr sub UNIT_X add asl mov asr add asl add asl mov asr add UNIT_X add asl else pixld1_s mem_operand pixld1_s mem_operand endif endm macro pixld0_s mem_operand if asr adds SRC_WIDTH_FIXED bpl add asl elseif asr adds SRC_WIDTH_FIXED bpl add asl endif endm macro pixld_s_internal mem_operand if mem_operand pixld2_s mem_operand pixdeinterleave basereg elseif mem_operand elseif mem_operand elseif mem_operand elseif mem_operand pixld0_s mem_operand else pixld0_s mem_operand pixld0_s mem_operand pixld0_s mem_operand pixld0_s mem_operand endif elseif mem_operand else pixld0_s mem_operand pixld0_s mem_operand endif elseif mem_operand else error unsupported mem_operand if bpp mem_operand endif endm macro vuzp8 reg2 vuzp d d ®2 endm macro vzip8 reg2 vzip d d ®2 endm macro pixdeinterleave basereg basereg basereg basereg basereg endif endm macro pixinterleave basereg basereg basereg basereg basereg endif endm macro PF boost_increment endif if endif PF tst PF addne PF subne PF cmp ORIG_W if endif if endif if endif PF subge ORIG_W PF subges if endif if endif if endif endif endm macro cache_preload_simple endif if dst_r_bpp pld[DST_R, #(PREFETCH_DISTANCE_SIMPLE *dst_r_bpp/8)] endif if mask_bpp pld if[MASK, #(PREFETCH_DISTANCE_SIMPLE *mask_bpp/8)] endif endif endm macro fetch_mask_pixblock pixld mask_basereg pixblock_size MASK endm macro ensure_destination_ptr_alignment process_pixblock_tail_head if beq irp skip1(dst_w_bpp<=(lowbit *8)) &&((lowbit *8)<(pixblock_size *dst_w_bpp)) .if lowbit< 16 tst DST_R
GLboolean GLboolean GLboolean b
GLint GLint GLsizei width
static size_t SDL_PrintString(char *text, size_t maxlen, SDL_FormatInfo *info, const char *string)
static size_t SDL_PrintFloat(char *text, size_t maxlen, SDL_FormatInfo *info, double arg)
set set set set set set set set set set set set set set set set set set set set *set set set macro pixldst base
static size_t SDL_ScanUintPtrT(const char *text, int radix, uintptr_t *valuep)
GLuint GLuint GLsizei count
#define SDL_const_cast(type, expression)
static size_t SDL_PrintUnsignedLong(char *text, size_t maxlen, SDL_FormatInfo *info, unsigned long value)
const SDL_PRINTF_FORMAT_STRING char int const SDL_PRINTF_FORMAT_STRING char int const SDL_PRINTF_FORMAT_STRING char int const SDL_PRINTF_FORMAT_STRING char const char const SDL_SCANF_FORMAT_STRING char return SDL_ThreadFunction const char void return Uint32 return Uint32 SDL_AssertionHandler void SDL_SpinLock SDL_atomic_t int int return SDL_atomic_t return void void void return void return int return SDL_AudioSpec SDL_AudioSpec return int int return return int SDL_RWops int SDL_AudioSpec Uint8 Uint32 return SDL_AudioCVT SDL_AudioFormat Uint8 int SDL_AudioFormat Uint8 int return Uint8 const Uint8 Uint32 int const char return return return return return return return return Uint32 return Uint32 SDL_Event return SDL_Event int return SDL_EventFilter void SDL_EventFilter void SDL_EventFilter void int return const char const char return SDL_JoystickGUID return int return int return SDL_GameController return int return const char return SDL_GameController SDL_GameControllerAxis return const char return SDL_GameController SDL_GameControllerButton return SDL_GameController SDL_RWops return SDL_TouchID SDL_RWops return int return int return return SDL_Joystick return SDL_Haptic SDL_Haptic return SDL_Haptic return SDL_Haptic SDL_HapticEffect return SDL_Haptic int Uint32 return SDL_Haptic int SDL_Haptic int return SDL_Haptic return SDL_Haptic return SDL_Haptic return SDL_Haptic return const char const char return const char SDL_HintCallback void int return SDL_Joystick return SDL_Joystick return const char return SDL_Joystick return SDL_Joystick return SDL_Joystick return int return SDL_Joystick int return SDL_Joystick int return return return SDL_Scancode return SDL_Scancode return SDL_Keycode return return const char return void int SDL_LogPriority SDL_LogOutputFunction void Uint32 const char const char SDL_Window return int int return SDL_Window int int return SDL_Surface int int return SDL_Cursor return int return SDL_mutex return SDL_mutex return Uint32 return SDL_sem return SDL_sem Uint32 return SDL_sem return SDL_cond SDL_cond return SDL_cond SDL_mutex Uint32 return Uint32 int Uint32 Uint32 Uint32 Uint32 return Uint32 return int return SDL_Palette const SDL_Color int int return const SDL_PixelFormat Uint8 Uint8 Uint8 return Uint32 const SDL_PixelFormat Uint8 Uint8 Uint8 float Uint16 int int return const SDL_Rect const SDL_Rect SDL_Rect return const SDL_Point int const SDL_Rect SDL_Rect return return int int Uint32 SDL_Window SDL_Renderer return SDL_Surface return SDL_Renderer SDL_RendererInfo return SDL_Renderer Uint32 int int int return SDL_Texture Uint32 int int int return SDL_Texture Uint8 Uint8 Uint8 return SDL_Texture Uint8 return SDL_Texture SDL_BlendMode return SDL_Texture const SDL_Rect const Uint8 int const Uint8 int const Uint8 int return SDL_Texture SDL_Renderer SDL_Texture return SDL_Renderer int int return SDL_Renderer const SDL_Rect return SDL_Renderer const SDL_Rect return SDL_Renderer float float return SDL_Renderer Uint8 Uint8 Uint8 Uint8 return SDL_Renderer SDL_BlendMode return SDL_Renderer return SDL_Renderer const SDL_Point int return SDL_Renderer const SDL_Point int return SDL_Renderer const SDL_Rect int return SDL_Renderer const SDL_Rect int return SDL_Renderer SDL_Texture const SDL_Rect const SDL_Rect const double const SDL_Point const SDL_RendererFlip return SDL_Renderer SDL_Renderer SDL_Texture return void int return return SDL_RWops return SDL_RWops return SDL_RWops return SDL_RWops return SDL_RWops Uint16 return SDL_RWops Uint32 return SDL_RWops Uint64 return const char unsigned int unsigned int unsigned int unsigned int Uint32 return SDL_Window SDL_Surface SDL_WindowShapeMode return size_t return void size_t return const char return void size_t size_t int(*) int return int return int size_t retur SDL_IN_BYTECAP)(c) const void *b
char * SDL_strchr(const char *string, int c)
int SDL_snprintf(SDL_OUT_Z_CAP(maxlen) char *text, size_t maxlen, SDL_PRINTF_FORMAT_STRING const char *fmt,...)
int SDL_wcsncmp(const wchar_t *str1, const wchar_t *str2, size_t maxlen)
int SDL_atoi(const char *string)
char * SDL_itoa(int value, char *string, int radix)
char * SDL_strlwr(char *string)
int SDL_wcscmp(const wchar_t *str1, const wchar_t *str2)
GLboolean GLboolean GLboolean GLboolean a
GLuint GLsizei GLsizei * length
GLuint GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat s1
size_t SDL_utf8strlen(const char *str)
char * SDL_lltoa(Sint64 value, char *string, int radix)
size_t SDL_wcslcat(SDL_INOUT_Z_CAP(maxlen) wchar_t *dst, const wchar_t *src, size_t maxlen)
char * SDL_uitoa(unsigned int value, char *string, int radix)
const SDL_PRINTF_FORMAT_STRING char int const SDL_PRINTF_FORMAT_STRING char int const SDL_PRINTF_FORMAT_STRING char int const SDL_PRINTF_FORMAT_STRING char const char const SDL_SCANF_FORMAT_STRING char return SDL_ThreadFunction const char void return Uint32 return Uint32 SDL_AssertionHandler void SDL_SpinLock SDL_atomic_t int int return SDL_atomic_t return void void void return void return int return SDL_AudioSpec SDL_AudioSpec return int int return return int SDL_RWops int SDL_AudioSpec Uint8 Uint32 return SDL_AudioCVT SDL_AudioFormat Uint8 int SDL_AudioFormat Uint8 int return Uint8 const Uint8 Uint32 int const char return return return return return return return return Uint32 return Uint32 SDL_Event return SDL_Event int return SDL_EventFilter void SDL_EventFilter void SDL_EventFilter void int return const char const char return SDL_JoystickGUID return int return int return SDL_GameController return int return const char return SDL_GameController SDL_GameControllerAxis return const char return SDL_GameController SDL_GameControllerButton return SDL_GameController SDL_RWops return SDL_TouchID SDL_RWops return int return int return return SDL_Joystick return SDL_Haptic SDL_Haptic return SDL_Haptic return SDL_Haptic SDL_HapticEffect return SDL_Haptic int Uint32 return SDL_Haptic int SDL_Haptic int return SDL_Haptic return SDL_Haptic return SDL_Haptic return SDL_Haptic return const char const char return const char SDL_HintCallback void int return SDL_Joystick return SDL_Joystick return const char return SDL_Joystick return SDL_Joystick return SDL_Joystick return int return SDL_Joystick int return SDL_Joystick int return return return SDL_Scancode return SDL_Scancode return SDL_Keycode return return const char return void int SDL_LogPriority SDL_LogOutputFunction void Uint32 const char const char SDL_Window return int int return SDL_Window int int return SDL_Surface int int return SDL_Cursor return int return SDL_mutex return SDL_mutex return Uint32 return SDL_sem return SDL_sem Uint32 return SDL_sem return SDL_cond SDL_cond return SDL_cond SDL_mutex Uint32 return Uint32 int Uint32 Uint32 Uint32 Uint32 return Uint32 return int return SDL_Palette const SDL_Color int int return const SDL_PixelFormat Uint8 Uint8 Uint8 return Uint32 const SDL_PixelFormat Uint8 Uint8 Uint8 float Uint16 int int return const SDL_Rect const SDL_Rect SDL_Rect return const SDL_Point int const SDL_Rect SDL_Rect return return int int Uint32 SDL_Window SDL_Renderer return SDL_Surface return SDL_Renderer SDL_RendererInfo return SDL_Renderer Uint32 int int int return SDL_Texture Uint32 int int int return SDL_Texture Uint8 Uint8 Uint8 return SDL_Texture Uint8 return SDL_Texture SDL_BlendMode return SDL_Texture const SDL_Rect const Uint8 int const Uint8 int const Uint8 int return SDL_Texture SDL_Renderer SDL_Texture return SDL_Renderer int int return SDL_Renderer const SDL_Rect return SDL_Renderer const SDL_Rect return SDL_Renderer float float return SDL_Renderer Uint8 Uint8 Uint8 Uint8 return SDL_Renderer SDL_BlendMode return SDL_Renderer return SDL_Renderer const SDL_Point int return SDL_Renderer const SDL_Point int return SDL_Renderer const SDL_Rect int return SDL_Renderer const SDL_Rect int return SDL_Renderer SDL_Texture const SDL_Rect const SDL_Rect const double const SDL_Point const SDL_RendererFlip return SDL_Renderer SDL_Renderer SDL_Texture return void int return return SDL_RWops return SDL_RWops return SDL_RWops return SDL_RWops return SDL_RWops Uint16 return SDL_RWops Uint32 return SDL_RWops Uint64 return const char unsigned int unsigned int unsigned int unsigned int Uint32 return SDL_Window SDL_Surface SDL_WindowShapeMode return size_t return void size_t return const char return void size_t size_t int(*) int return int return int size_t return size_t return const wchar_t retur SDL_INOUT_Z_CAP)(c) wchar_t *a
static const char ntoa_table[]
int SDL_sscanf(const char *text, SDL_SCANF_FORMAT_STRING const char *fmt,...)
static void SDL_IntPrecisionAdjust(char *num, size_t maxlen, SDL_FormatInfo *info)
double SDL_atof(const char *string)
size_t SDL_strlcat(SDL_INOUT_Z_CAP(maxlen) char *dst, const char *src, size_t maxlen)
void * SDL_memcpy(SDL_OUT_BYTECAP(len) void *dst, SDL_IN_BYTECAP(len) const void *src, size_t len)
double SDL_strtod(const char *string, char **endp)
#define SDL_islowerhex(X)
size_t SDL_strlen(const char *string)
long SDL_strtol(const char *string, char **endp, int base)
static size_t SDL_ScanLong(const char *text, int radix, long *valuep)
static char text[MAX_TEXT_LENGTH]
static size_t SDL_PrintLongLong(char *text, size_t maxlen, SDL_FormatInfo *info, Sint64 value)
char * SDL_strrev(char *string)
static size_t SDL_PrintLong(char *text, size_t maxlen, SDL_FormatInfo *info, long value)
char * SDL_strstr(const char *haystack, const char *needle)
static size_t SDL_ScanLongLong(const char *text, int radix, Sint64 *valuep)
size_t SDL_wcslcpy(SDL_OUT_Z_CAP(maxlen) wchar_t *dst, const wchar_t *src, size_t maxlen)
char * SDL_ulltoa(Uint64 value, char *string, int radix)
unsigned long SDL_strtoul(const char *string, char **endp, int base)
int SDL_memcmp(const void *s1, const void *s2, size_t len)
#define UTF8_IsTrailingByte(c)
size_t SDL_utf8strlcpy(SDL_OUT_Z_CAP(dst_bytes) char *dst, const char *src, size_t dst_bytes)
#define UTF8_IsLeadByte(c)
GLsizei const GLfloat * value
const SDL_PRINTF_FORMAT_STRING char int const SDL_PRINTF_FORMAT_STRING char int const SDL_PRINTF_FORMAT_STRING char int const SDL_PRINTF_FORMAT_STRING char const char const SDL_SCANF_FORMAT_STRING char return SDL_ThreadFunction const char void return Uint32 return Uint32 SDL_AssertionHandler void SDL_SpinLock SDL_atomic_t int int return SDL_atomic_t return void void void return void return int return SDL_AudioSpec SDL_AudioSpec return int int return return int SDL_RWops int SDL_AudioSpec Uint8 Uint32 return SDL_AudioCVT SDL_AudioFormat Uint8 int SDL_AudioFormat Uint8 int return Uint8 const Uint8 Uint32 int const char return return return return return return return return Uint32 return Uint32 SDL_Event return SDL_Event int return SDL_EventFilter void SDL_EventFilter void SDL_EventFilter void int return const char const char return SDL_JoystickGUID return int return int return SDL_GameController return int return const char return SDL_GameController SDL_GameControllerAxis return const char return SDL_GameController SDL_GameControllerButton return SDL_GameController SDL_RWops return SDL_TouchID SDL_RWops return int return int return return SDL_Joystick return SDL_Haptic SDL_Haptic return SDL_Haptic return SDL_Haptic SDL_HapticEffect return SDL_Haptic int Uint32 return SDL_Haptic int SDL_Haptic int return SDL_Haptic return SDL_Haptic return SDL_Haptic return SDL_Haptic return const char const char return const char SDL_HintCallback void int return SDL_Joystick return SDL_Joystick return const char return SDL_Joystick return SDL_Joystick return SDL_Joystick return int return SDL_Joystick int return SDL_Joystick int return return return SDL_Scancode return SDL_Scancode return SDL_Keycode return return const char return void int SDL_LogPriority SDL_LogOutputFunction void Uint32 const char const char SDL_Window return int int return SDL_Window int int return SDL_Surface int int return SDL_Cursor return int return SDL_mutex return SDL_mutex return Uint32 return SDL_sem return SDL_sem Uint32 return SDL_sem return SDL_cond SDL_cond return SDL_cond SDL_mutex Uint32 return Uint32 int Uint32 Uint32 Uint32 Uint32 return Uint32 return int return SDL_Palette const SDL_Color int int return const SDL_PixelFormat Uint8 Uint8 Uint8 return Uint32 const SDL_PixelFormat Uint8 Uint8 Uint8 float Uint16 int int return const SDL_Rect const SDL_Rect SDL_Rect return const SDL_Point int const SDL_Rect SDL_Rect return return int int Uint32 SDL_Window SDL_Renderer return SDL_Surface return SDL_Renderer SDL_RendererInfo return SDL_Renderer Uint32 int int int return SDL_Texture Uint32 int int int return SDL_Texture Uint8 Uint8 Uint8 return SDL_Texture Uint8 return SDL_Texture SDL_BlendMode return SDL_Texture const SDL_Rect const Uint8 int const Uint8 int const Uint8 int return SDL_Texture SDL_Renderer SDL_Texture return SDL_Renderer int int return SDL_Renderer const SDL_Rect return SDL_Renderer const SDL_Rect return SDL_Renderer float float return SDL_Renderer Uint8 Uint8 Uint8 Uint8 return SDL_Renderer SDL_BlendMode return SDL_Renderer return SDL_Renderer const SDL_Point int return SDL_Renderer const SDL_Point int return SDL_Renderer const SDL_Rect int return SDL_Renderer const SDL_Rect int return SDL_Renderer SDL_Texture const SDL_Rect const SDL_Rect const double const SDL_Point const SDL_RendererFlip return SDL_Renderer SDL_Renderer SDL_Texture return void int return return SDL_RWops return SDL_RWops return SDL_RWops return SDL_RWops return SDL_RWops Uint16 return SDL_RWops Uint32 return SDL_RWops Uint64 return const char unsigned int unsigned int unsigned int unsigned int Uint32 return SDL_Window SDL_Surface SDL_WindowShapeMode return size_t return void size_t return const char return void size_t size_t int(*) int return int retur SDL_OUT_BYTECAP)(c) void *a
char * SDL_ltoa(long value, char *string, int radix)
wchar_t * SDL_wcsdup(const wchar_t *string)
static size_t SDL_ScanUnsignedLongLong(const char *text, int radix, Uint64 *valuep)
int SDL_vsscanf(const char *text, const char *fmt, va_list ap)
char * SDL_ultoa(unsigned long value, char *string, int radix)
size_t SDL_wcslen(const wchar_t *string)
Uint64 SDL_strtoull(const char *string, char **endp, int base)
#define SDL_isupperhex(X)
int SDL_strncasecmp(const char *str1, const char *str2, size_t maxlen)
static size_t SDL_ScanFloat(const char *text, double *valuep)
static size_t SDL_ScanUnsignedLong(const char *text, int radix, unsigned long *valuep)
wchar_t * SDL_wcsstr(const wchar_t *haystack, const wchar_t *needle)
int SDL_vsnprintf(SDL_OUT_Z_CAP(maxlen) char *text, size_t maxlen, const char *fmt, va_list ap)
char * SDL_strrchr(const char *string, int c)
const SDL_PRINTF_FORMAT_STRING char int const SDL_PRINTF_FORMAT_STRING char int const SDL_PRINTF_FORMAT_STRING char int const SDL_PRINTF_FORMAT_STRING char const char const SDL_SCANF_FORMAT_STRING char return SDL_ThreadFunction const char void return Uint32 return Uint32 SDL_AssertionHandler void SDL_SpinLock SDL_atomic_t int int return SDL_atomic_t return void void void return void return int return SDL_AudioSpec SDL_AudioSpec return int int return return int SDL_RWops int SDL_AudioSpec Uint8 Uint32 return SDL_AudioCVT SDL_AudioFormat Uint8 int SDL_AudioFormat Uint8 int return Uint8 const Uint8 Uint32 int const char return return return return return return return return Uint32 return Uint32 SDL_Event return SDL_Event int return SDL_EventFilter void SDL_EventFilter void SDL_EventFilter void int return const char const char return SDL_JoystickGUID return int return int return SDL_GameController return int return const char return SDL_GameController SDL_GameControllerAxis return const char return SDL_GameController SDL_GameControllerButton return SDL_GameController SDL_RWops return SDL_TouchID SDL_RWops return int return int return return SDL_Joystick return SDL_Haptic SDL_Haptic return SDL_Haptic return SDL_Haptic SDL_HapticEffect return SDL_Haptic int Uint32 return SDL_Haptic int SDL_Haptic int return SDL_Haptic return SDL_Haptic return SDL_Haptic return SDL_Haptic return const char const char return const char SDL_HintCallback void int return SDL_Joystick return SDL_Joystick return const char return SDL_Joystick return SDL_Joystick return SDL_Joystick return int return SDL_Joystick int return SDL_Joystick int return return return SDL_Scancode return SDL_Scancode return SDL_Keycode return return const char return void int SDL_LogPriority SDL_LogOutputFunction void Uint32 const char const char SDL_Window return int int return SDL_Window int int return SDL_Surface int int return SDL_Cursor return int return SDL_mutex return SDL_mutex return Uint32 return SDL_sem return SDL_sem Uint32 return SDL_sem return SDL_cond SDL_cond return SDL_cond SDL_mutex Uint32 return Uint32 int Uint32 Uint32 Uint32 Uint32 return Uint32 return int return SDL_Palette const SDL_Color int int return const SDL_PixelFormat Uint8 Uint8 Uint8 return Uint32 const SDL_PixelFormat Uint8 Uint8 Uint8 float Uint16 int int return const SDL_Rect const SDL_Rect SDL_Rect return const SDL_Point int const SDL_Rect SDL_Rect return return int int Uint32 SDL_Window SDL_Renderer return SDL_Surface return SDL_Renderer SDL_RendererInfo return SDL_Renderer Uint32 int int int return SDL_Texture Uint32 int int int return SDL_Texture Uint8 Uint8 Uint8 return SDL_Texture Uint8 return SDL_Texture SDL_BlendMode return SDL_Texture const SDL_Rect const Uint8 int const Uint8 int const Uint8 int return SDL_Texture SDL_Renderer SDL_Texture return SDL_Renderer int int return SDL_Renderer const SDL_Rect return SDL_Renderer const SDL_Rect return SDL_Renderer float float return SDL_Renderer Uint8 Uint8 Uint8 Uint8 return SDL_Renderer SDL_BlendMode return SDL_Renderer return SDL_Renderer const SDL_Point int return SDL_Renderer const SDL_Point int return SDL_Renderer const SDL_Rect int return SDL_Renderer const SDL_Rect int return SDL_Renderer SDL_Texture const SDL_Rect const SDL_Rect const double const SDL_Point const SDL_RendererFlip return SDL_Renderer SDL_Renderer SDL_Texture return void int return return SDL_RWops return SDL_RWops return SDL_RWops return SDL_RWops return SDL_RWops Uint16 return SDL_RWops Uint32 return SDL_RWops Uint64 return const char unsigned int unsigned int unsigned int unsigned int Uint32 return SDL_Window SDL_Surface SDL_WindowShapeMode return size_t return void size_t return const char return void size_t size_t int(*) int return int return int size_t return size_t return const wchar_t return const wchar_t size_t retur SDL_OUT_Z_CAP)(c) char *a
GLsizei const GLchar *const * string
void * SDL_memmove(SDL_OUT_BYTECAP(len) void *dst, SDL_IN_BYTECAP(len) const void *src, size_t len)
#define SDL_SCANF_FORMAT_STRING
char * SDL_strupr(char *string)
int SDL_strncmp(const char *str1, const char *str2, size_t maxlen)
int SDL_strcasecmp(const char *str1, const char *str2)
Sint64 SDL_strtoll(const char *string, char **endp, int base)
return Display return Display Bool Bool int int int return Display XEvent Bool(*) XPointer return Display return Display Drawable _Xconst char unsigned int unsigned int return Display Pixmap Pixmap XColor XColor unsigned int unsigned int return Display _Xconst char char int char return Display Visual unsigned int int int char unsigned int unsigned int in i)
static int UTF8_TrailingBytes(unsigned char c)