From 09c8cfd2c129eb8e2d9f6428f9ee8a8e3adb9107 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Mon, 31 Dec 2012 10:26:38 -0800 Subject: [PATCH] Switched the test code over to use the common functions in the test library. --- test/Makefile.in | 26 +- test/common.c | 1256 -------------------------------------- test/common.h | 92 --- test/configure | 212 +++---- test/configure.in | 2 +- test/testdraw2.c | 16 +- test/testgl2.c | 16 +- test/testgles.c | 16 +- test/testime.c | 14 +- test/testintersections.c | 16 +- test/testrelative.c | 14 +- test/testrendercopyex.c | 17 +- test/testrendertarget.c | 17 +- test/testscale.c | 17 +- test/testsprite2.c | 16 +- test/testwm2.c | 16 +- 16 files changed, 209 insertions(+), 1554 deletions(-) delete mode 100644 test/common.c delete mode 100644 test/common.h diff --git a/test/Makefile.in b/test/Makefile.in index 850fb22a8..6955b04d1 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -84,13 +84,13 @@ testmultiaudio$(EXE): $(srcdir)/testmultiaudio.c testatomic$(EXE): $(srcdir)/testatomic.c $(CC) -o $@ $^ $(CFLAGS) $(LIBS) -testintersections$(EXE): $(srcdir)/testintersections.c $(srcdir)/common.c +testintersections$(EXE): $(srcdir)/testintersections.c $(CC) -o $@ $^ $(CFLAGS) $(LIBS) -testrelative$(EXE): $(srcdir)/testrelative.c $(srcdir)/common.c +testrelative$(EXE): $(srcdir)/testrelative.c $(CC) -o $@ $^ $(CFLAGS) $(LIBS) -testdraw2$(EXE): $(srcdir)/testdraw2.c $(srcdir)/common.c +testdraw2$(EXE): $(srcdir)/testdraw2.c $(CC) -o $@ $^ $(CFLAGS) $(LIBS) testerror$(EXE): $(srcdir)/testerror.c @@ -105,10 +105,10 @@ testgamecontroller$(EXE): $(srcdir)/testgamecontroller.c testgesture$(EXE): $(srcdir)/testgesture.c $(CC) -o $@ $^ $(CFLAGS) $(LIBS) @MATHLIB@ -testgl2$(EXE): $(srcdir)/testgl2.c $(srcdir)/common.c +testgl2$(EXE): $(srcdir)/testgl2.c $(CC) -o $@ $^ $(CFLAGS) $(LIBS) @GLLIB@ @MATHLIB@ -testgles$(EXE): $(srcdir)/testgles.c $(srcdir)/common.c +testgles$(EXE): $(srcdir)/testgles.c $(CC) -o $@ $^ $(CFLAGS) $(LIBS) @GLLIB@ @MATHLIB@ testhaptic$(EXE): $(srcdir)/testhaptic.c @@ -123,10 +123,10 @@ testthread$(EXE): $(srcdir)/testthread.c testiconv$(EXE): $(srcdir)/testiconv.c $(CC) -o $@ $^ $(CFLAGS) $(LIBS) -testime$(EXE): $(srcdir)/testime.c $(srcdir)/common.c +testime$(EXE): $(srcdir)/testime.c $(CC) -o $@ $^ $(CFLAGS) $(LIBS) @SDL_TTF_LIB@ -testjoystick$(EXE): $(srcdir)/testjoystick.c $(srcdir)/common.c +testjoystick$(EXE): $(srcdir)/testjoystick.c $(CC) -o $@ $^ $(CFLAGS) $(LIBS) testkeys$(EXE): $(srcdir)/testkeys.c @@ -167,10 +167,10 @@ testplatform$(EXE): $(srcdir)/testplatform.c testpower$(EXE): $(srcdir)/testpower.c $(CC) -o $@ $^ $(CFLAGS) $(LIBS) -testrendertarget$(EXE): $(srcdir)/testrendertarget.c $(srcdir)/common.c +testrendertarget$(EXE): $(srcdir)/testrendertarget.c $(CC) -o $@ $^ $(CFLAGS) $(LIBS) -testscale$(EXE): $(srcdir)/testscale.c $(srcdir)/common.c +testscale$(EXE): $(srcdir)/testscale.c $(CC) -o $@ $^ $(CFLAGS) $(LIBS) testsem$(EXE): $(srcdir)/testsem.c @@ -182,8 +182,8 @@ testshader$(EXE): $(srcdir)/testshader.c testshape$(EXE): $(srcdir)/testshape.c $(CC) -o $@ $^ $(CFLAGS) $(LIBS) -testsprite2$(EXE): $(srcdir)/testsprite2.c $(srcdir)/common.c - $(CC) -o $@ $^ $(CFLAGS) $(LIBS) @MATHLIB@ +testsprite2$(EXE): $(srcdir)/testsprite2.c + $(CC) -o $@ $^ $(CFLAGS) $(LIBS) testspriteminimal$(EXE): $(srcdir)/testspriteminimal.c $(CC) -o $@ $^ $(CFLAGS) $(LIBS) @MATHLIB@ @@ -197,13 +197,13 @@ testtimer$(EXE): $(srcdir)/testtimer.c testver$(EXE): $(srcdir)/testver.c $(CC) -o $@ $^ $(CFLAGS) $(LIBS) -testwm2$(EXE): $(srcdir)/testwm2.c $(srcdir)/common.c +testwm2$(EXE): $(srcdir)/testwm2.c $(CC) -o $@ $^ $(CFLAGS) $(LIBS) torturethread$(EXE): $(srcdir)/torturethread.c $(CC) -o $@ $^ $(CFLAGS) $(LIBS) -testrendercopyex$(EXE): $(srcdir)/testrendercopyex.c $(srcdir)/common.c +testrendercopyex$(EXE): $(srcdir)/testrendercopyex.c $(CC) -o $@ $^ $(CFLAGS) $(LIBS) @MATHLIB@ testmessage$(EXE): $(srcdir)/testmessage.c diff --git a/test/common.c b/test/common.c deleted file mode 100644 index d53f13422..000000000 --- a/test/common.c +++ /dev/null @@ -1,1256 +0,0 @@ -/* - Copyright (C) 1997-2011 Sam Lantinga - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely. -*/ - -/* A simple test program framework */ - -#include - -#include "common.h" - -#define VIDEO_USAGE \ -"[--video driver] [--renderer driver] [--info all|video|modes|render|event] [--log all|error|system|audio|video|render|input] [--display N] [--fullscreen | --windows N] [--title title] [--icon icon.bmp] [--center | --position X,Y] [--geometry WxH] [--depth N] [--refresh R] [--vsync] [--noframe] [--resize] [--minimize] [--maximize] [--grab]" - -#define AUDIO_USAGE \ -"[--rate N] [--format U8|S8|U16|U16LE|U16BE|S16|S16LE|S16BE] [--channels N] [--samples N]" - -CommonState * -CommonCreateState(char **argv, Uint32 flags) -{ - CommonState *state = SDL_calloc(1, sizeof(*state)); - if (!state) { - SDL_OutOfMemory(); - return NULL; - } - - /* Initialize some defaults */ - state->argv = argv; - state->flags = flags; -#ifdef __NDS__ - state->window_title = ""; -#else - state->window_title = argv[0]; -#endif - state->window_flags = 0; - state->window_x = SDL_WINDOWPOS_UNDEFINED; - state->window_y = SDL_WINDOWPOS_UNDEFINED; - state->window_w = DEFAULT_WINDOW_WIDTH; - state->window_h = DEFAULT_WINDOW_HEIGHT; - state->num_windows = 1; - state->audiospec.freq = 22050; - state->audiospec.format = AUDIO_S16; - state->audiospec.channels = 2; - state->audiospec.samples = 2048; - - /* Set some very sane GL defaults */ - state->gl_red_size = 3; - state->gl_green_size = 3; - state->gl_blue_size = 2; - state->gl_alpha_size = 0; - state->gl_buffer_size = 0; - state->gl_depth_size = 16; - state->gl_stencil_size = 0; - state->gl_double_buffer = 1; - state->gl_accum_red_size = 0; - state->gl_accum_green_size = 0; - state->gl_accum_blue_size = 0; - state->gl_accum_alpha_size = 0; - state->gl_stereo = 0; - state->gl_multisamplebuffers = 0; - state->gl_multisamplesamples = 0; - state->gl_retained_backing = 1; - state->gl_accelerated = -1; - - return state; -} - -int -CommonArg(CommonState * state, int index) -{ - char **argv = state->argv; - -#ifdef __NDS__ - return 0; -#endif - - if (SDL_strcasecmp(argv[index], "--video") == 0) { - ++index; - if (!argv[index]) { - return -1; - } - state->videodriver = argv[index]; - return 2; - } - if (SDL_strcasecmp(argv[index], "--renderer") == 0) { - ++index; - if (!argv[index]) { - return -1; - } - state->renderdriver = argv[index]; - return 2; - } - if (SDL_strcasecmp(argv[index], "--info") == 0) { - ++index; - if (!argv[index]) { - return -1; - } - if (SDL_strcasecmp(argv[index], "all") == 0) { - state->verbose |= - (VERBOSE_VIDEO | VERBOSE_MODES | VERBOSE_RENDER | - VERBOSE_EVENT); - return 2; - } - if (SDL_strcasecmp(argv[index], "video") == 0) { - state->verbose |= VERBOSE_VIDEO; - return 2; - } - if (SDL_strcasecmp(argv[index], "modes") == 0) { - state->verbose |= VERBOSE_MODES; - return 2; - } - if (SDL_strcasecmp(argv[index], "render") == 0) { - state->verbose |= VERBOSE_RENDER; - return 2; - } - if (SDL_strcasecmp(argv[index], "event") == 0) { - state->verbose |= VERBOSE_EVENT; - return 2; - } - return -1; - } - if (SDL_strcasecmp(argv[index], "--log") == 0) { - ++index; - if (!argv[index]) { - return -1; - } - if (SDL_strcasecmp(argv[index], "all") == 0) { - SDL_LogSetAllPriority(SDL_LOG_PRIORITY_VERBOSE); - return 2; - } - if (SDL_strcasecmp(argv[index], "error") == 0) { - SDL_LogSetPriority(SDL_LOG_CATEGORY_ERROR, SDL_LOG_PRIORITY_VERBOSE); - return 2; - } - if (SDL_strcasecmp(argv[index], "system") == 0) { - SDL_LogSetPriority(SDL_LOG_CATEGORY_SYSTEM, SDL_LOG_PRIORITY_VERBOSE); - return 2; - } - if (SDL_strcasecmp(argv[index], "audio") == 0) { - SDL_LogSetPriority(SDL_LOG_CATEGORY_AUDIO, SDL_LOG_PRIORITY_VERBOSE); - return 2; - } - if (SDL_strcasecmp(argv[index], "video") == 0) { - SDL_LogSetPriority(SDL_LOG_CATEGORY_VIDEO, SDL_LOG_PRIORITY_VERBOSE); - return 2; - } - if (SDL_strcasecmp(argv[index], "render") == 0) { - SDL_LogSetPriority(SDL_LOG_CATEGORY_RENDER, SDL_LOG_PRIORITY_VERBOSE); - return 2; - } - if (SDL_strcasecmp(argv[index], "input") == 0) { - SDL_LogSetPriority(SDL_LOG_CATEGORY_INPUT, SDL_LOG_PRIORITY_VERBOSE); - return 2; - } - return -1; - } - if (SDL_strcasecmp(argv[index], "--display") == 0) { - ++index; - if (!argv[index]) { - return -1; - } - state->display = SDL_atoi(argv[index]); - if (SDL_WINDOWPOS_ISUNDEFINED(state->window_x)) { - state->window_x = SDL_WINDOWPOS_UNDEFINED_DISPLAY(state->display); - state->window_y = SDL_WINDOWPOS_UNDEFINED_DISPLAY(state->display); - } - if (SDL_WINDOWPOS_ISCENTERED(state->window_x)) { - state->window_x = SDL_WINDOWPOS_CENTERED_DISPLAY(state->display); - state->window_y = SDL_WINDOWPOS_CENTERED_DISPLAY(state->display); - } - return 2; - } - if (SDL_strcasecmp(argv[index], "--fullscreen") == 0) { - state->window_flags |= SDL_WINDOW_FULLSCREEN; - state->num_windows = 1; - return 1; - } - if (SDL_strcasecmp(argv[index], "--fullscreen-desktop") == 0) { - state->window_flags |= SDL_WINDOW_FULLSCREEN_DESKTOP; - state->num_windows = 1; - return 1; - } - if (SDL_strcasecmp(argv[index], "--windows") == 0) { - ++index; - if (!argv[index] || !SDL_isdigit(*argv[index])) { - return -1; - } - if (!(state->window_flags & SDL_WINDOW_FULLSCREEN)) { - state->num_windows = SDL_atoi(argv[index]); - } - return 2; - } - if (SDL_strcasecmp(argv[index], "--title") == 0) { - ++index; - if (!argv[index]) { - return -1; - } - state->window_title = argv[index]; - return 2; - } - if (SDL_strcasecmp(argv[index], "--icon") == 0) { - ++index; - if (!argv[index]) { - return -1; - } - state->window_icon = argv[index]; - return 2; - } - if (SDL_strcasecmp(argv[index], "--center") == 0) { - state->window_x = SDL_WINDOWPOS_CENTERED; - state->window_y = SDL_WINDOWPOS_CENTERED; - return 1; - } - if (SDL_strcasecmp(argv[index], "--position") == 0) { - char *x, *y; - ++index; - if (!argv[index]) { - return -1; - } - x = argv[index]; - y = argv[index]; - while (*y && *y != ',') { - ++y; - } - if (!*y) { - return -1; - } - *y++ = '\0'; - state->window_x = SDL_atoi(x); - state->window_y = SDL_atoi(y); - return 2; - } - if (SDL_strcasecmp(argv[index], "--geometry") == 0) { - char *w, *h; - ++index; - if (!argv[index]) { - return -1; - } - w = argv[index]; - h = argv[index]; - while (*h && *h != 'x') { - ++h; - } - if (!*h) { - return -1; - } - *h++ = '\0'; - state->window_w = SDL_atoi(w); - state->window_h = SDL_atoi(h); - return 2; - } - if (SDL_strcasecmp(argv[index], "--depth") == 0) { - ++index; - if (!argv[index]) { - return -1; - } - state->depth = SDL_atoi(argv[index]); - return 2; - } - if (SDL_strcasecmp(argv[index], "--refresh") == 0) { - ++index; - if (!argv[index]) { - return -1; - } - state->refresh_rate = SDL_atoi(argv[index]); - return 2; - } - if (SDL_strcasecmp(argv[index], "--vsync") == 0) { - state->render_flags |= SDL_RENDERER_PRESENTVSYNC; - return 1; - } - if (SDL_strcasecmp(argv[index], "--noframe") == 0) { - state->window_flags |= SDL_WINDOW_BORDERLESS; - return 1; - } - if (SDL_strcasecmp(argv[index], "--resize") == 0) { - state->window_flags |= SDL_WINDOW_RESIZABLE; - return 1; - } - if (SDL_strcasecmp(argv[index], "--minimize") == 0) { - state->window_flags |= SDL_WINDOW_MINIMIZED; - return 1; - } - if (SDL_strcasecmp(argv[index], "--maximize") == 0) { - state->window_flags |= SDL_WINDOW_MAXIMIZED; - return 1; - } - if (SDL_strcasecmp(argv[index], "--grab") == 0) { - state->window_flags |= SDL_WINDOW_INPUT_GRABBED; - return 1; - } - if (SDL_strcasecmp(argv[index], "--rate") == 0) { - ++index; - if (!argv[index]) { - return -1; - } - state->audiospec.freq = SDL_atoi(argv[index]); - return 2; - } - if (SDL_strcasecmp(argv[index], "--format") == 0) { - ++index; - if (!argv[index]) { - return -1; - } - if (SDL_strcasecmp(argv[index], "U8") == 0) { - state->audiospec.format = AUDIO_U8; - return 2; - } - if (SDL_strcasecmp(argv[index], "S8") == 0) { - state->audiospec.format = AUDIO_S8; - return 2; - } - if (SDL_strcasecmp(argv[index], "U16") == 0) { - state->audiospec.format = AUDIO_U16; - return 2; - } - if (SDL_strcasecmp(argv[index], "U16LE") == 0) { - state->audiospec.format = AUDIO_U16LSB; - return 2; - } - if (SDL_strcasecmp(argv[index], "U16BE") == 0) { - state->audiospec.format = AUDIO_U16MSB; - return 2; - } - if (SDL_strcasecmp(argv[index], "S16") == 0) { - state->audiospec.format = AUDIO_S16; - return 2; - } - if (SDL_strcasecmp(argv[index], "S16LE") == 0) { - state->audiospec.format = AUDIO_S16LSB; - return 2; - } - if (SDL_strcasecmp(argv[index], "S16BE") == 0) { - state->audiospec.format = AUDIO_S16MSB; - return 2; - } - return -1; - } - if (SDL_strcasecmp(argv[index], "--channels") == 0) { - ++index; - if (!argv[index]) { - return -1; - } - state->audiospec.channels = (Uint8) SDL_atoi(argv[index]); - return 2; - } - if (SDL_strcasecmp(argv[index], "--samples") == 0) { - ++index; - if (!argv[index]) { - return -1; - } - state->audiospec.samples = (Uint16) SDL_atoi(argv[index]); - return 2; - } - if ((SDL_strcasecmp(argv[index], "-h") == 0) - || (SDL_strcasecmp(argv[index], "--help") == 0)) { - /* Print the usage message */ - return -1; - } - if (SDL_strcmp(argv[index], "-NSDocumentRevisionsDebugMode") == 0) { - /* Debug flag sent by Xcode */ - return 2; - } - return 0; -} - -const char * -CommonUsage(CommonState * state) -{ - switch (state->flags & (SDL_INIT_VIDEO | SDL_INIT_AUDIO)) { - case SDL_INIT_VIDEO: - return VIDEO_USAGE; - case SDL_INIT_AUDIO: - return AUDIO_USAGE; - case (SDL_INIT_VIDEO | SDL_INIT_AUDIO): - return VIDEO_USAGE " " AUDIO_USAGE; - default: - return ""; - } -} - -static void -PrintRendererFlag(Uint32 flag) -{ - switch (flag) { - case SDL_RENDERER_PRESENTVSYNC: - fprintf(stderr, "PresentVSync"); - break; - case SDL_RENDERER_ACCELERATED: - fprintf(stderr, "Accelerated"); - break; - default: - fprintf(stderr, "0x%8.8x", flag); - break; - } -} - -static void -PrintPixelFormat(Uint32 format) -{ - switch (format) { - case SDL_PIXELFORMAT_UNKNOWN: - fprintf(stderr, "Unknwon"); - break; - case SDL_PIXELFORMAT_INDEX1LSB: - fprintf(stderr, "Index1LSB"); - break; - case SDL_PIXELFORMAT_INDEX1MSB: - fprintf(stderr, "Index1MSB"); - break; - case SDL_PIXELFORMAT_INDEX4LSB: - fprintf(stderr, "Index4LSB"); - break; - case SDL_PIXELFORMAT_INDEX4MSB: - fprintf(stderr, "Index4MSB"); - break; - case SDL_PIXELFORMAT_INDEX8: - fprintf(stderr, "Index8"); - break; - case SDL_PIXELFORMAT_RGB332: - fprintf(stderr, "RGB332"); - break; - case SDL_PIXELFORMAT_RGB444: - fprintf(stderr, "RGB444"); - break; - case SDL_PIXELFORMAT_RGB555: - fprintf(stderr, "RGB555"); - break; - case SDL_PIXELFORMAT_BGR555: - fprintf(stderr, "BGR555"); - break; - case SDL_PIXELFORMAT_ARGB4444: - fprintf(stderr, "ARGB4444"); - break; - case SDL_PIXELFORMAT_ABGR4444: - fprintf(stderr, "ABGR4444"); - break; - case SDL_PIXELFORMAT_ARGB1555: - fprintf(stderr, "ARGB1555"); - break; - case SDL_PIXELFORMAT_ABGR1555: - fprintf(stderr, "ABGR1555"); - break; - case SDL_PIXELFORMAT_RGB565: - fprintf(stderr, "RGB565"); - break; - case SDL_PIXELFORMAT_BGR565: - fprintf(stderr, "BGR565"); - break; - case SDL_PIXELFORMAT_RGB24: - fprintf(stderr, "RGB24"); - break; - case SDL_PIXELFORMAT_BGR24: - fprintf(stderr, "BGR24"); - break; - case SDL_PIXELFORMAT_RGB888: - fprintf(stderr, "RGB888"); - break; - case SDL_PIXELFORMAT_BGR888: - fprintf(stderr, "BGR888"); - break; - case SDL_PIXELFORMAT_ARGB8888: - fprintf(stderr, "ARGB8888"); - break; - case SDL_PIXELFORMAT_RGBA8888: - fprintf(stderr, "RGBA8888"); - break; - case SDL_PIXELFORMAT_ABGR8888: - fprintf(stderr, "ABGR8888"); - break; - case SDL_PIXELFORMAT_BGRA8888: - fprintf(stderr, "BGRA8888"); - break; - case SDL_PIXELFORMAT_ARGB2101010: - fprintf(stderr, "ARGB2101010"); - break; - case SDL_PIXELFORMAT_YV12: - fprintf(stderr, "YV12"); - break; - case SDL_PIXELFORMAT_IYUV: - fprintf(stderr, "IYUV"); - break; - case SDL_PIXELFORMAT_YUY2: - fprintf(stderr, "YUY2"); - break; - case SDL_PIXELFORMAT_UYVY: - fprintf(stderr, "UYVY"); - break; - case SDL_PIXELFORMAT_YVYU: - fprintf(stderr, "YVYU"); - break; - default: - fprintf(stderr, "0x%8.8x", format); - break; - } -} - -static void -PrintRenderer(SDL_RendererInfo * info) -{ - int i, count; - - fprintf(stderr, " Renderer %s:\n", info->name); - - fprintf(stderr, " Flags: 0x%8.8X", info->flags); - fprintf(stderr, " ("); - count = 0; - for (i = 0; i < sizeof(info->flags) * 8; ++i) { - Uint32 flag = (1 << i); - if (info->flags & flag) { - if (count > 0) { - fprintf(stderr, " | "); - } - PrintRendererFlag(flag); - ++count; - } - } - fprintf(stderr, ")\n"); - - fprintf(stderr, " Texture formats (%d): ", info->num_texture_formats); - for (i = 0; i < (int) info->num_texture_formats; ++i) { - if (i > 0) { - fprintf(stderr, ", "); - } - PrintPixelFormat(info->texture_formats[i]); - } - fprintf(stderr, "\n"); - - if (info->max_texture_width || info->max_texture_height) { - fprintf(stderr, " Max Texture Size: %dx%d\n", - info->max_texture_width, info->max_texture_height); - } -} - -static SDL_Surface * -LoadIcon(const char *file) -{ - SDL_Surface *icon; - - /* Load the icon surface */ - icon = SDL_LoadBMP(file); - if (icon == NULL) { - fprintf(stderr, "Couldn't load %s: %s\n", file, SDL_GetError()); - return (NULL); - } - - if (icon->format->palette) { - /* Set the colorkey */ - SDL_SetColorKey(icon, 1, *((Uint8 *) icon->pixels)); - } - - return (icon); -} - -SDL_bool -CommonInit(CommonState * state) -{ - int i, j, m, n, w, h; - SDL_DisplayMode fullscreen_mode; - - if (state->flags & SDL_INIT_VIDEO) { - if (state->verbose & VERBOSE_VIDEO) { - n = SDL_GetNumVideoDrivers(); - if (n == 0) { - fprintf(stderr, "No built-in video drivers\n"); - } else { - fprintf(stderr, "Built-in video drivers:"); - for (i = 0; i < n; ++i) { - if (i > 0) { - fprintf(stderr, ","); - } - fprintf(stderr, " %s", SDL_GetVideoDriver(i)); - } - fprintf(stderr, "\n"); - } - } - if (SDL_VideoInit(state->videodriver) < 0) { - fprintf(stderr, "Couldn't initialize video driver: %s\n", - SDL_GetError()); - return SDL_FALSE; - } - if (state->verbose & VERBOSE_VIDEO) { - fprintf(stderr, "Video driver: %s\n", - SDL_GetCurrentVideoDriver()); - } - - /* Upload GL settings */ - SDL_GL_SetAttribute(SDL_GL_RED_SIZE, state->gl_red_size); - SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, state->gl_green_size); - SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, state->gl_blue_size); - SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, state->gl_alpha_size); - SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, state->gl_double_buffer); - SDL_GL_SetAttribute(SDL_GL_BUFFER_SIZE, state->gl_buffer_size); - SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, state->gl_depth_size); - SDL_GL_SetAttribute(SDL_GL_STENCIL_SIZE, state->gl_stencil_size); - SDL_GL_SetAttribute(SDL_GL_ACCUM_RED_SIZE, state->gl_accum_red_size); - SDL_GL_SetAttribute(SDL_GL_ACCUM_GREEN_SIZE, state->gl_accum_green_size); - SDL_GL_SetAttribute(SDL_GL_ACCUM_BLUE_SIZE, state->gl_accum_blue_size); - SDL_GL_SetAttribute(SDL_GL_ACCUM_ALPHA_SIZE, state->gl_accum_alpha_size); - SDL_GL_SetAttribute(SDL_GL_STEREO, state->gl_stereo); - SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, state->gl_multisamplebuffers); - SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, state->gl_multisamplesamples); - if (state->gl_accelerated >= 0) { - SDL_GL_SetAttribute(SDL_GL_ACCELERATED_VISUAL, - state->gl_accelerated); - } - SDL_GL_SetAttribute(SDL_GL_RETAINED_BACKING, state->gl_retained_backing); - if (state->gl_major_version) { - SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, state->gl_major_version); - SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, state->gl_minor_version); - } - - if (state->verbose & VERBOSE_MODES) { - SDL_Rect bounds; - SDL_DisplayMode mode; - int bpp; - Uint32 Rmask, Gmask, Bmask, Amask; - - n = SDL_GetNumVideoDisplays(); - fprintf(stderr, "Number of displays: %d\n", n); - for (i = 0; i < n; ++i) { - fprintf(stderr, "Display %d:\n", i); - - SDL_zero(bounds); - SDL_GetDisplayBounds(i, &bounds); - fprintf(stderr, "Bounds: %dx%d at %d,%d\n", bounds.w, bounds.h, bounds.x, bounds.y); - - SDL_GetDesktopDisplayMode(i, &mode); - SDL_PixelFormatEnumToMasks(mode.format, &bpp, &Rmask, &Gmask, - &Bmask, &Amask); - fprintf(stderr, - " Current mode: %dx%d@%dHz, %d bits-per-pixel (%s)\n", - mode.w, mode.h, mode.refresh_rate, bpp, - SDL_GetPixelFormatName(mode.format)); - if (Rmask || Gmask || Bmask) { - fprintf(stderr, " Red Mask = 0x%.8x\n", Rmask); - fprintf(stderr, " Green Mask = 0x%.8x\n", Gmask); - fprintf(stderr, " Blue Mask = 0x%.8x\n", Bmask); - if (Amask) - fprintf(stderr, " Alpha Mask = 0x%.8x\n", Amask); - } - - /* Print available fullscreen video modes */ - m = SDL_GetNumDisplayModes(i); - if (m == 0) { - fprintf(stderr, "No available fullscreen video modes\n"); - } else { - fprintf(stderr, " Fullscreen video modes:\n"); - for (j = 0; j < m; ++j) { - SDL_GetDisplayMode(i, j, &mode); - SDL_PixelFormatEnumToMasks(mode.format, &bpp, &Rmask, - &Gmask, &Bmask, &Amask); - fprintf(stderr, - " Mode %d: %dx%d@%dHz, %d bits-per-pixel (%s)\n", - j, mode.w, mode.h, mode.refresh_rate, bpp, - SDL_GetPixelFormatName(mode.format)); - if (Rmask || Gmask || Bmask) { - fprintf(stderr, " Red Mask = 0x%.8x\n", - Rmask); - fprintf(stderr, " Green Mask = 0x%.8x\n", - Gmask); - fprintf(stderr, " Blue Mask = 0x%.8x\n", - Bmask); - if (Amask) - fprintf(stderr, - " Alpha Mask = 0x%.8x\n", - Amask); - } - } - } - } - } - - if (state->verbose & VERBOSE_RENDER) { - SDL_RendererInfo info; - - n = SDL_GetNumRenderDrivers(); - if (n == 0) { - fprintf(stderr, "No built-in render drivers\n"); - } else { - fprintf(stderr, "Built-in render drivers:\n"); - for (i = 0; i < n; ++i) { - SDL_GetRenderDriverInfo(i, &info); - PrintRenderer(&info); - } - } - } - - SDL_zero(fullscreen_mode); - switch (state->depth) { - case 8: - fullscreen_mode.format = SDL_PIXELFORMAT_INDEX8; - break; - case 15: - fullscreen_mode.format = SDL_PIXELFORMAT_RGB555; - break; - case 16: - fullscreen_mode.format = SDL_PIXELFORMAT_RGB565; - break; - case 24: - fullscreen_mode.format = SDL_PIXELFORMAT_RGB24; - break; - default: - fullscreen_mode.format = SDL_PIXELFORMAT_RGB888; - break; - } - fullscreen_mode.refresh_rate = state->refresh_rate; - - state->windows = - (SDL_Window **) SDL_malloc(state->num_windows * - sizeof(*state->windows)); - state->renderers = - (SDL_Renderer **) SDL_malloc(state->num_windows * - sizeof(*state->renderers)); - if (!state->windows || !state->renderers) { - fprintf(stderr, "Out of memory!\n"); - return SDL_FALSE; - } - for (i = 0; i < state->num_windows; ++i) { - char title[1024]; - - if (state->num_windows > 1) { - SDL_snprintf(title, SDL_arraysize(title), "%s %d", - state->window_title, i + 1); - } else { - SDL_strlcpy(title, state->window_title, SDL_arraysize(title)); - } - state->windows[i] = - SDL_CreateWindow(title, state->window_x, state->window_y, - state->window_w, state->window_h, - state->window_flags); - if (!state->windows[i]) { - fprintf(stderr, "Couldn't create window: %s\n", - SDL_GetError()); - return SDL_FALSE; - } - SDL_GetWindowSize(state->windows[i], &w, &h); - if (!(state->window_flags & SDL_WINDOW_RESIZABLE) && - (w != state->window_w || h != state->window_h)) { - printf("Window requested size %dx%d, got %dx%d\n", state->window_w, state->window_h, w, h); - state->window_w = w; - state->window_h = h; - } - if (SDL_SetWindowDisplayMode(state->windows[i], &fullscreen_mode) < 0) { - fprintf(stderr, "Can't set up fullscreen display mode: %s\n", - SDL_GetError()); - return SDL_FALSE; - } - - if (state->window_icon) { - SDL_Surface *icon = LoadIcon(state->window_icon); - if (icon) { - SDL_SetWindowIcon(state->windows[i], icon); - SDL_FreeSurface(icon); - } - } - - SDL_ShowWindow(state->windows[i]); - - state->renderers[i] = NULL; - - if (!state->skip_renderer - && (state->renderdriver - || !(state->window_flags & SDL_WINDOW_OPENGL))) { - m = -1; - if (state->renderdriver) { - SDL_RendererInfo info; - n = SDL_GetNumRenderDrivers(); - for (j = 0; j < n; ++j) { - SDL_GetRenderDriverInfo(j, &info); - if (SDL_strcasecmp(info.name, state->renderdriver) == - 0) { - m = j; - break; - } - } - if (m == n) { - fprintf(stderr, - "Couldn't find render driver named %s", - state->renderdriver); - return SDL_FALSE; - } - } - state->renderers[i] = SDL_CreateRenderer(state->windows[i], - m, state->render_flags); - if (!state->renderers[i]) { - fprintf(stderr, "Couldn't create renderer: %s\n", - SDL_GetError()); - return SDL_FALSE; - } - if (state->verbose & VERBOSE_RENDER) { - SDL_RendererInfo info; - - fprintf(stderr, "Current renderer:\n"); - SDL_GetRendererInfo(state->renderers[i], &info); - PrintRenderer(&info); - } - } - } - } - - if (state->flags & SDL_INIT_AUDIO) { - if (state->verbose & VERBOSE_AUDIO) { - n = SDL_GetNumAudioDrivers(); - if (n == 0) { - fprintf(stderr, "No built-in audio drivers\n"); - } else { - fprintf(stderr, "Built-in audio drivers:"); - for (i = 0; i < n; ++i) { - if (i > 0) { - fprintf(stderr, ","); - } - fprintf(stderr, " %s", SDL_GetAudioDriver(i)); - } - fprintf(stderr, "\n"); - } - } - if (SDL_AudioInit(state->audiodriver) < 0) { - fprintf(stderr, "Couldn't initialize audio driver: %s\n", - SDL_GetError()); - return SDL_FALSE; - } - if (state->verbose & VERBOSE_VIDEO) { - fprintf(stderr, "Audio driver: %s\n", - SDL_GetCurrentAudioDriver()); - } - - if (SDL_OpenAudio(&state->audiospec, NULL) < 0) { - fprintf(stderr, "Couldn't open audio: %s\n", SDL_GetError()); - return SDL_FALSE; - } - } - - return SDL_TRUE; -} - -static void -PrintEvent(SDL_Event * event) -{ - if (event->type == SDL_MOUSEMOTION) { - /* Mouse motion is really spammy */ - //return; - } - - fprintf(stderr, "SDL EVENT: "); - switch (event->type) { - case SDL_WINDOWEVENT: - switch (event->window.event) { - case SDL_WINDOWEVENT_SHOWN: - fprintf(stderr, "Window %d shown", event->window.windowID); - break; - case SDL_WINDOWEVENT_HIDDEN: - fprintf(stderr, "Window %d hidden", event->window.windowID); - break; - case SDL_WINDOWEVENT_EXPOSED: - fprintf(stderr, "Window %d exposed", event->window.windowID); - break; - case SDL_WINDOWEVENT_MOVED: - fprintf(stderr, "Window %d moved to %d,%d", - event->window.windowID, event->window.data1, - event->window.data2); - break; - case SDL_WINDOWEVENT_RESIZED: - fprintf(stderr, "Window %d resized to %dx%d", - event->window.windowID, event->window.data1, - event->window.data2); - break; - case SDL_WINDOWEVENT_SIZE_CHANGED: - fprintf(stderr, "Window %d changed size to %dx%d", - event->window.windowID, event->window.data1, - event->window.data2); - break; - case SDL_WINDOWEVENT_MINIMIZED: - fprintf(stderr, "Window %d minimized", event->window.windowID); - break; - case SDL_WINDOWEVENT_MAXIMIZED: - fprintf(stderr, "Window %d maximized", event->window.windowID); - break; - case SDL_WINDOWEVENT_RESTORED: - fprintf(stderr, "Window %d restored", event->window.windowID); - break; - case SDL_WINDOWEVENT_ENTER: - fprintf(stderr, "Mouse entered window %d", - event->window.windowID); - break; - case SDL_WINDOWEVENT_LEAVE: - fprintf(stderr, "Mouse left window %d", event->window.windowID); - break; - case SDL_WINDOWEVENT_FOCUS_GAINED: - fprintf(stderr, "Window %d gained keyboard focus", - event->window.windowID); - break; - case SDL_WINDOWEVENT_FOCUS_LOST: - fprintf(stderr, "Window %d lost keyboard focus", - event->window.windowID); - break; - case SDL_WINDOWEVENT_CLOSE: - fprintf(stderr, "Window %d closed", event->window.windowID); - break; - default: - fprintf(stderr, "Window %d got unknown event %d", - event->window.windowID, event->window.event); - break; - } - break; - case SDL_KEYDOWN: - fprintf(stderr, - "Keyboard: key pressed in window %d: scancode 0x%08X = %s, keycode 0x%08X = %s", - event->key.windowID, - event->key.keysym.scancode, - SDL_GetScancodeName(event->key.keysym.scancode), - event->key.keysym.sym, SDL_GetKeyName(event->key.keysym.sym)); - break; - case SDL_KEYUP: - fprintf(stderr, - "Keyboard: key released in window %d: scancode 0x%08X = %s, keycode 0x%08X = %s", - event->key.windowID, - event->key.keysym.scancode, - SDL_GetScancodeName(event->key.keysym.scancode), - event->key.keysym.sym, SDL_GetKeyName(event->key.keysym.sym)); - break; - case SDL_TEXTINPUT: - fprintf(stderr, "Keyboard: text input \"%s\" in window %d", - event->text.text, event->text.windowID); - break; - case SDL_MOUSEMOTION: - fprintf(stderr, "Mouse: moved to %d,%d (%d,%d) in window %d", - event->motion.x, event->motion.y, - event->motion.xrel, event->motion.yrel, - event->motion.windowID); - break; - case SDL_MOUSEBUTTONDOWN: - fprintf(stderr, "Mouse: button %d pressed at %d,%d in window %d", - event->button.button, event->button.x, event->button.y, - event->button.windowID); - break; - case SDL_MOUSEBUTTONUP: - fprintf(stderr, "Mouse: button %d released at %d,%d in window %d", - event->button.button, event->button.x, event->button.y, - event->button.windowID); - break; - case SDL_MOUSEWHEEL: - fprintf(stderr, - "Mouse: wheel scrolled %d in x and %d in y in window %d", - event->wheel.x, event->wheel.y, event->wheel.windowID); - break; - case SDL_JOYBALLMOTION: - fprintf(stderr, "Joystick %d: ball %d moved by %d,%d", - event->jball.which, event->jball.ball, event->jball.xrel, - event->jball.yrel); - break; - case SDL_JOYHATMOTION: - fprintf(stderr, "Joystick %d: hat %d moved to ", event->jhat.which, - event->jhat.hat); - switch (event->jhat.value) { - case SDL_HAT_CENTERED: - fprintf(stderr, "CENTER"); - break; - case SDL_HAT_UP: - fprintf(stderr, "UP"); - break; - case SDL_HAT_RIGHTUP: - fprintf(stderr, "RIGHTUP"); - break; - case SDL_HAT_RIGHT: - fprintf(stderr, "RIGHT"); - break; - case SDL_HAT_RIGHTDOWN: - fprintf(stderr, "RIGHTDOWN"); - break; - case SDL_HAT_DOWN: - fprintf(stderr, "DOWN"); - break; - case SDL_HAT_LEFTDOWN: - fprintf(stderr, "LEFTDOWN"); - break; - case SDL_HAT_LEFT: - fprintf(stderr, "LEFT"); - break; - case SDL_HAT_LEFTUP: - fprintf(stderr, "LEFTUP"); - break; - default: - fprintf(stderr, "UNKNOWN"); - break; - } - break; - case SDL_JOYBUTTONDOWN: - fprintf(stderr, "Joystick %d: button %d pressed", - event->jbutton.which, event->jbutton.button); - break; - case SDL_JOYBUTTONUP: - fprintf(stderr, "Joystick %d: button %d released", - event->jbutton.which, event->jbutton.button); - break; - case SDL_CLIPBOARDUPDATE: - fprintf(stderr, "Clipboard updated"); - break; - case SDL_QUIT: - fprintf(stderr, "Quit requested"); - break; - case SDL_USEREVENT: - fprintf(stderr, "User event %d", event->user.code); - break; - default: - fprintf(stderr, "Unknown event %d", event->type); - break; - } - fprintf(stderr, "\n"); -} - -static void -ScreenShot(SDL_Renderer *renderer) -{ - SDL_Rect viewport; - SDL_Surface *surface; - - if (!renderer) { - return; - } - - SDL_RenderGetViewport(renderer, &viewport); - surface = SDL_CreateRGBSurface(0, viewport.w, viewport.h, 24, -#if SDL_BYTEORDER == SDL_LIL_ENDIAN - 0x00FF0000, 0x0000FF00, 0x000000FF, -#else - 0x000000FF, 0x0000FF00, 0x00FF0000, -#endif - 0x00000000); - if (!surface) { - fprintf(stderr, "Couldn't create surface: %s\n", SDL_GetError()); - return; - } - - if (SDL_RenderReadPixels(renderer, NULL, surface->format->format, - surface->pixels, surface->pitch) < 0) { - fprintf(stderr, "Couldn't read screen: %s\n", SDL_GetError()); - return; - } - - if (SDL_SaveBMP(surface, "screenshot.bmp") < 0) { - fprintf(stderr, "Couldn't save screenshot.bmp: %s\n", SDL_GetError()); - return; - } -} - -void -CommonEvent(CommonState * state, SDL_Event * event, int *done) -{ - int i; - - if (state->verbose & VERBOSE_EVENT) { - PrintEvent(event); - } - - switch (event->type) { - case SDL_WINDOWEVENT: - switch (event->window.event) { - case SDL_WINDOWEVENT_SIZE_CHANGED: - { - SDL_Window *window = SDL_GetWindowFromID(event->window.windowID); - if (window) { - for (i = 0; i < state->num_windows; ++i) { - if (window == state->windows[i] && - (state->window_flags & SDL_WINDOW_RESIZABLE)) { - SDL_Rect viewport; - - viewport.x = 0; - viewport.y = 0; - SDL_GetWindowSize(window, &viewport.w, &viewport.h); - SDL_RenderSetViewport(state->renderers[i], &viewport); - } - } - } - } - break; - case SDL_WINDOWEVENT_CLOSE: - { - SDL_Window *window = SDL_GetWindowFromID(event->window.windowID); - if (window) { - SDL_DestroyWindow(window); - } - } - break; - } - break; - case SDL_KEYDOWN: - switch (event->key.keysym.sym) { - /* Add hotkeys here */ - case SDLK_PRINTSCREEN: { - SDL_Window *window = SDL_GetWindowFromID(event->key.windowID); - if (window) { - for (i = 0; i < state->num_windows; ++i) { - if (window == state->windows[i]) { - ScreenShot(state->renderers[i]); - } - } - } - } - break; - case SDLK_EQUALS: - if (event->key.keysym.mod & KMOD_CTRL) { - /* Ctrt-+ double the size of the window */ - SDL_Window *window = SDL_GetWindowFromID(event->key.windowID); - if (window) { - int w, h; - SDL_GetWindowSize(window, &w, &h); - SDL_SetWindowSize(window, w*2, h*2); - } - } - break; - case SDLK_MINUS: - if (event->key.keysym.mod & KMOD_CTRL) { - /* Ctrt-- double the size of the window */ - SDL_Window *window = SDL_GetWindowFromID(event->key.windowID); - if (window) { - int w, h; - SDL_GetWindowSize(window, &w, &h); - SDL_SetWindowSize(window, w/2, h/2); - } - } - break; - case SDLK_c: - if (event->key.keysym.mod & KMOD_CTRL) { - /* Ctrl-C copy awesome text! */ - SDL_SetClipboardText("SDL rocks!\nYou know it!"); - printf("Copied text to clipboard\n"); - } - break; - case SDLK_v: - if (event->key.keysym.mod & KMOD_CTRL) { - /* Ctrl-V paste awesome text! */ - char *text = SDL_GetClipboardText(); - if (*text) { - printf("Clipboard: %s\n", text); - } else { - printf("Clipboard is empty\n"); - } - SDL_free(text); - } - break; - case SDLK_g: - if (event->key.keysym.mod & KMOD_CTRL) { - /* Ctrl-G toggle grab */ - SDL_Window *window = SDL_GetWindowFromID(event->key.windowID); - if (window) { - SDL_SetWindowGrab(window, !SDL_GetWindowGrab(window)); - } - } - break; - case SDLK_m: - if (event->key.keysym.mod & KMOD_CTRL) { - /* Ctrl-M maximize */ - SDL_Window *window = SDL_GetWindowFromID(event->key.windowID); - if (window) { - Uint32 flags = SDL_GetWindowFlags(window); - if (flags & SDL_WINDOW_MAXIMIZED) { - SDL_RestoreWindow(window); - } else { - SDL_MaximizeWindow(window); - } - } - } - break; - case SDLK_r: - if (event->key.keysym.mod & KMOD_CTRL) { - /* Ctrl-R toggle mouse relative mode */ - SDL_SetRelativeMouseMode(!SDL_GetRelativeMouseMode()); - } - break; - case SDLK_z: - if (event->key.keysym.mod & KMOD_CTRL) { - /* Ctrl-Z minimize */ - SDL_Window *window = SDL_GetWindowFromID(event->key.windowID); - if (window) { - SDL_MinimizeWindow(window); - } - } - break; - case SDLK_RETURN: - if (event->key.keysym.mod & KMOD_CTRL) { - /* Ctrl-Enter toggle fullscreen */ - SDL_Window *window = SDL_GetWindowFromID(event->key.windowID); - if (window) { - Uint32 flags = SDL_GetWindowFlags(window); - if (flags & SDL_WINDOW_FULLSCREEN) { - SDL_SetWindowFullscreen(window, SDL_FALSE); - } else { - SDL_SetWindowFullscreen(window, SDL_TRUE); - } - } - } - break; - case SDLK_b: - if (event->key.keysym.mod & KMOD_CTRL) { - /* Ctrl-B toggle window border */ - SDL_Window *window = SDL_GetWindowFromID(event->key.windowID); - if (window) { - const Uint32 flags = SDL_GetWindowFlags(window); - const SDL_bool b = ((flags & SDL_WINDOW_BORDERLESS) != 0); - SDL_SetWindowBordered(window, b); - } - } - break; - case SDLK_1: - if (event->key.keysym.mod & KMOD_CTRL) { - SDL_Window *window = SDL_GetWindowFromID(event->key.windowID); - SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_INFORMATION, "Test Message", "You're awesome!", window); - } - break; - case SDLK_ESCAPE: - *done = 1; - break; - default: - break; - } - break; - case SDL_QUIT: - *done = 1; - break; - } -} - -void -CommonQuit(CommonState * state) -{ - int i; - - if (state->windows) { - SDL_free(state->windows); - } - if (state->renderers) { - for (i = 0; i < state->num_windows; ++i) { - if (state->renderers[i]) { - SDL_DestroyRenderer(state->renderers[i]); - } - } - SDL_free(state->renderers); - } - if (state->flags & SDL_INIT_VIDEO) { - SDL_VideoQuit(); - } - if (state->flags & SDL_INIT_AUDIO) { - SDL_AudioQuit(); - } - SDL_free(state); -} - -/* vi: set ts=4 sw=4 expandtab: */ diff --git a/test/common.h b/test/common.h deleted file mode 100644 index b93207a49..000000000 --- a/test/common.h +++ /dev/null @@ -1,92 +0,0 @@ -/* - Copyright (C) 1997-2011 Sam Lantinga - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely. -*/ - -/* A simple test program framework */ - -#include "SDL.h" - -#ifdef __NDS__ -#define DEFAULT_WINDOW_WIDTH 256 -#define DEFAULT_WINDOW_HEIGHT (2*192) -#else -#define DEFAULT_WINDOW_WIDTH 640 -#define DEFAULT_WINDOW_HEIGHT 480 -#endif - -#define VERBOSE_VIDEO 0x00000001 -#define VERBOSE_MODES 0x00000002 -#define VERBOSE_RENDER 0x00000004 -#define VERBOSE_EVENT 0x00000008 -#define VERBOSE_AUDIO 0x00000010 - -typedef struct -{ - /* SDL init flags */ - char **argv; - Uint32 flags; - Uint32 verbose; - - /* Video info */ - const char *videodriver; - int display; - const char *window_title; - const char *window_icon; - Uint32 window_flags; - int window_x; - int window_y; - int window_w; - int window_h; - int depth; - int refresh_rate; - int num_windows; - SDL_Window **windows; - - /* Renderer info */ - const char *renderdriver; - Uint32 render_flags; - SDL_bool skip_renderer; - SDL_Renderer **renderers; - - /* Audio info */ - const char *audiodriver; - SDL_AudioSpec audiospec; - - /* GL settings */ - int gl_red_size; - int gl_green_size; - int gl_blue_size; - int gl_alpha_size; - int gl_buffer_size; - int gl_depth_size; - int gl_stencil_size; - int gl_double_buffer; - int gl_accum_red_size; - int gl_accum_green_size; - int gl_accum_blue_size; - int gl_accum_alpha_size; - int gl_stereo; - int gl_multisamplebuffers; - int gl_multisamplesamples; - int gl_retained_backing; - int gl_accelerated; - int gl_major_version; - int gl_minor_version; -} CommonState; - -extern CommonState *CommonCreateState(char **argv, Uint32 flags); -extern int CommonArg(CommonState * state, int index); -extern const char *CommonUsage(CommonState * state); -extern SDL_bool CommonInit(CommonState * state); -extern void CommonEvent(CommonState * state, SDL_Event * event, int *done); -extern void CommonQuit(CommonState * state); - -/* vi: set ts=4 sw=4 expandtab: */ diff --git a/test/configure b/test/configure index b5486dc66..f91d30d9a 100755 --- a/test/configure +++ b/test/configure @@ -1,11 +1,9 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68. +# Generated by GNU Autoconf 2.69. # # -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software -# Foundation, Inc. +# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation @@ -134,6 +132,31 @@ export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +as_fn_exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh @@ -167,7 +190,8 @@ if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi -test x\$exitcode = x0 || exit 1" +test x\$exitcode = x0 || exit 1 +test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && @@ -211,21 +235,25 @@ IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : - # We cannot yet assume a decent shell, so we have to provide a - # neutralization value for shells without unset; and this also - # works around shells that cannot unset nonexistent variables. - # Preserve -v and -x to the replacement shell. - BASH_ENV=/dev/null - ENV=/dev/null - (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV - export CONFIG_SHELL - case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; - esac - exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"} + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 fi if test x$as_have_required = xno; then : @@ -327,6 +355,14 @@ $as_echo X"$as_dir" | } # as_fn_mkdir_p + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take @@ -448,6 +484,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). @@ -482,16 +522,16 @@ if (echo >conf$$.file) 2>/dev/null; then # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. + # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' + as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null @@ -503,28 +543,8 @@ else as_mkdir_p=false fi -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in #( - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x +as_test_x='test -x' +as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -1111,8 +1131,6 @@ target=$target_alias if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe - $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi @@ -1367,9 +1385,9 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF configure -generated by GNU Autoconf 2.68 +generated by GNU Autoconf 2.69 -Copyright (C) 2010 Free Software Foundation, Inc. +Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -1487,7 +1505,7 @@ $as_echo "$ac_try_echo"; } >&5 test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext + test -x conftest$ac_exeext }; then : ac_retval=0 else @@ -1547,7 +1565,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by $as_me, which was -generated by GNU Autoconf 2.68. Invocation command line was +generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2019,7 +2037,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2059,7 +2077,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2112,7 +2130,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2153,7 +2171,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue @@ -2211,7 +2229,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2255,7 +2273,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2701,8 +2719,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include -#include -#include +struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); @@ -2801,11 +2818,11 @@ else int main () { -/* FIXME: Include the comments suggested by Paul. */ + #ifndef __cplusplus - /* Ultrix mips cc rejects this. */ + /* Ultrix mips cc rejects this sort of thing. */ typedef int charset[2]; - const charset cs; + const charset cs = { 0, 0 }; /* SunOS 4.1.1 cc rejects this. */ char const *const *pcpcc; char **ppc; @@ -2822,8 +2839,9 @@ main () ++pcpcc; ppc = (char**) pcpcc; pcpcc = (char const *const *) ppc; - { /* SCO 3.2v4 cc rejects this. */ - char *t; + { /* SCO 3.2v4 cc rejects this sort of thing. */ + char tx; + char *t = &tx; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; @@ -2839,10 +2857,10 @@ main () iptr p = 0; ++p; } - { /* AIX XL C 1.02.0.0 rejects this saying + { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; }; - struct s *b; b->j = 5; + struct s { int j; const int *ap[3]; } bx; + struct s *b = &bx; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; @@ -2922,7 +2940,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_OSMESA_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2999,7 +3017,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3042,7 +3060,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3230,7 +3248,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_SDL_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3432,7 +3450,7 @@ rm -f core conftest.err conftest.$ac_objext \ rm -f conf.sdltest CFLAGS="$CFLAGS $SDL_CFLAGS" -LIBS="$LIBS $SDL_LIBS" +LIBS="$LIBS -lSDL2_test $SDL_LIBS" ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -4338,16 +4356,16 @@ if (echo >conf$$.file) 2>/dev/null; then # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. + # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' + as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null @@ -4407,28 +4425,16 @@ else as_mkdir_p=false fi -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in #( - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -4450,7 +4456,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # values after options handling. ac_log=" This file was extended by $as_me, which was -generated by GNU Autoconf 2.68. Invocation command line was +generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -4503,10 +4509,10 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ config.status -configured by $0, generated by GNU Autoconf 2.68, +configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" -Copyright (C) 2010 Free Software Foundation, Inc. +Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -4583,7 +4589,7 @@ fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then - set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' diff --git a/test/configure.in b/test/configure.in index ec1d954f1..b89b4617d 100644 --- a/test/configure.in +++ b/test/configure.in @@ -86,7 +86,7 @@ AM_PATH_SDL2($SDL_VERSION, AC_MSG_ERROR([*** SDL version $SDL_VERSION not found!]) ) CFLAGS="$CFLAGS $SDL_CFLAGS" -LIBS="$LIBS $SDL_LIBS" +LIBS="$LIBS -lSDL2_test $SDL_LIBS" dnl Check for X11 path, needed for OpenGL on some systems AC_PATH_X diff --git a/test/testdraw2.c b/test/testdraw2.c index 01dd7b13d..3fced878d 100644 --- a/test/testdraw2.c +++ b/test/testdraw2.c @@ -16,11 +16,11 @@ #include #include -#include "common.h" +#include "SDL_test_common.h" #define NUM_OBJECTS 100 -static CommonState *state; +static SDLTest_CommonState *state; static int num_objects; static SDL_bool cycle_color; static SDL_bool cycle_alpha; @@ -180,14 +180,14 @@ main(int argc, char *argv[]) num_objects = NUM_OBJECTS; /* Initialize test framework */ - state = CommonCreateState(argv, SDL_INIT_VIDEO); + state = SDLTest_CommonCreateState(argv, SDL_INIT_VIDEO); if (!state) { return 1; } for (i = 1; i < argc;) { int consumed; - consumed = CommonArg(state, i); + consumed = SDLTest_CommonArg(state, i); if (consumed == 0) { consumed = -1; if (SDL_strcasecmp(argv[i], "--blend") == 0) { @@ -220,12 +220,12 @@ main(int argc, char *argv[]) if (consumed < 0) { fprintf(stderr, "Usage: %s %s [--blend none|blend|add|mod] [--cyclecolor] [--cyclealpha]\n", - argv[0], CommonUsage(state)); + argv[0], SDLTest_CommonUsage(state)); return 1; } i += consumed; } - if (!CommonInit(state)) { + if (!SDLTest_CommonInit(state)) { return 2; } @@ -247,7 +247,7 @@ main(int argc, char *argv[]) /* Check for events */ ++frames; while (SDL_PollEvent(&event)) { - CommonEvent(state, &event, &done); + SDLTest_CommonEvent(state, &event, &done); } for (i = 0; i < state->num_windows; ++i) { SDL_Renderer *renderer = state->renderers[i]; @@ -262,7 +262,7 @@ main(int argc, char *argv[]) } } - CommonQuit(state); + SDLTest_CommonQuit(state); /* Print out some timing information */ now = SDL_GetTicks(); diff --git a/test/testgl2.c b/test/testgl2.c index fa553cf48..f7e408546 100644 --- a/test/testgl2.c +++ b/test/testgl2.c @@ -14,7 +14,7 @@ #include #include -#include "common.h" +#include "SDL_test_common.h" #ifdef __MACOS__ #define HAVE_OPENGL @@ -27,7 +27,7 @@ /* Undefine this if you want a flat cube instead of a rainbow cube */ #define SHADED_CUBE -static CommonState *state; +static SDLTest_CommonState *state; static SDL_GLContext context; /* Call this instead of exit(), so we can clean up SDL: atexit() is evil. */ @@ -38,7 +38,7 @@ quit(int rc) /* SDL_GL_MakeCurrent(0, NULL); *//* doesn't do anything */ SDL_GL_DeleteContext(context); } - CommonQuit(state); + SDLTest_CommonQuit(state); exit(rc); } @@ -186,14 +186,14 @@ main(int argc, char *argv[]) accel = -1; /* Initialize test framework */ - state = CommonCreateState(argv, SDL_INIT_VIDEO); + state = SDLTest_CommonCreateState(argv, SDL_INIT_VIDEO); if (!state) { return 1; } for (i = 1; i < argc;) { int consumed; - consumed = CommonArg(state, i); + consumed = SDLTest_CommonArg(state, i); if (consumed == 0) { if (SDL_strcasecmp(argv[i], "--fsaa") == 0) { ++fsaa; @@ -207,7 +207,7 @@ main(int argc, char *argv[]) } if (consumed < 0) { fprintf(stderr, "Usage: %s %s [--fsaa] [--accel n]\n", argv[0], - CommonUsage(state)); + SDLTest_CommonUsage(state)); quit(1); } i += consumed; @@ -228,7 +228,7 @@ main(int argc, char *argv[]) state->gl_accelerated = accel; } - if (!CommonInit(state)) { + if (!SDLTest_CommonInit(state)) { quit(2); } @@ -327,7 +327,7 @@ main(int argc, char *argv[]) /* Check for events */ ++frames; while (SDL_PollEvent(&event)) { - CommonEvent(state, &event, &done); + SDLTest_CommonEvent(state, &event, &done); } for (i = 0; i < state->num_windows; ++i) { int w, h; diff --git a/test/testgles.c b/test/testgles.c index 7fafef725..6a4a6deae 100644 --- a/test/testgles.c +++ b/test/testgles.c @@ -14,7 +14,7 @@ #include #include -#include "common.h" +#include "SDL_test_common.h" #if defined(__IPHONEOS__) || defined(__ANDROID__) #define HAVE_OPENGLES @@ -24,7 +24,7 @@ #include "SDL_opengles.h" -static CommonState *state; +static SDLTest_CommonState *state; static SDL_GLContext *context = NULL; static int depth = 16; @@ -44,7 +44,7 @@ quit(int rc) SDL_free(context); } - CommonQuit(state); + SDLTest_CommonQuit(state); exit(rc); } @@ -115,14 +115,14 @@ main(int argc, char *argv[]) accel = 0; /* Initialize test framework */ - state = CommonCreateState(argv, SDL_INIT_VIDEO); + state = SDLTest_CommonCreateState(argv, SDL_INIT_VIDEO); if (!state) { return 1; } for (i = 1; i < argc;) { int consumed; - consumed = CommonArg(state, i); + consumed = SDLTest_CommonArg(state, i); if (consumed == 0) { if (SDL_strcasecmp(argv[i], "--fsaa") == 0) { ++fsaa; @@ -144,7 +144,7 @@ main(int argc, char *argv[]) } if (consumed < 0) { fprintf(stderr, "Usage: %s %s [--fsaa] [--accel] [--zdepth %%d]\n", argv[0], - CommonUsage(state)); + SDLTest_CommonUsage(state)); quit(1); } i += consumed; @@ -163,7 +163,7 @@ main(int argc, char *argv[]) if (accel) { state->gl_accelerated=1; } - if (!CommonInit(state)) { + if (!SDLTest_CommonInit(state)) { quit(2); } @@ -306,7 +306,7 @@ main(int argc, char *argv[]) break; } } - CommonEvent(state, &event, &done); + SDLTest_CommonEvent(state, &event, &done); } for (i = 0; i < state->num_windows; ++i) { status = SDL_GL_MakeCurrent(state->windows[i], context[i]); diff --git a/test/testime.c b/test/testime.c index 5eead9315..e9a469328 100644 --- a/test/testime.c +++ b/test/testime.c @@ -20,13 +20,13 @@ #include "SDL_ttf.h" #endif -#include "common.h" +#include "SDL_test_common.h" #define DEFAULT_PTSIZE 30 #define DEFAULT_FONT "/System/Library/Fonts/华文细黑.ttf" #define MAX_TEXT_LENGTH 256 -static CommonState *state; +static SDLTest_CommonState *state; static SDL_Rect textRect, markedRect; static SDL_Color lineColor = {0,0,0,0}; static SDL_Color backColor = {255,255,255,0}; @@ -211,12 +211,12 @@ int main(int argc, char *argv[]) { const char *fontname = DEFAULT_FONT; /* Initialize test framework */ - state = CommonCreateState(argv, SDL_INIT_VIDEO); + state = SDLTest_CommonCreateState(argv, SDL_INIT_VIDEO); if (!state) { return 1; } for (i = 1; i < argc;i++) { - CommonArg(state, i); + SDLTest_CommonArg(state, i); } for (argc--, argv++; argc > 0; argc--, argv++) { @@ -239,7 +239,7 @@ int main(int argc, char *argv[]) { } } - if (!CommonInit(state)) { + if (!SDLTest_CommonInit(state)) { return 2; } @@ -273,7 +273,7 @@ int main(int argc, char *argv[]) { while (!done) { /* Check for events */ while (SDL_PollEvent(&event)) { - CommonEvent(state, &event, &done); + SDLTest_CommonEvent(state, &event, &done); switch(event.type) { case SDL_KEYDOWN: { switch (event.key.keysym.sym) @@ -361,7 +361,7 @@ int main(int argc, char *argv[]) { } } CleanupVideo(); - CommonQuit(state); + SDLTest_CommonQuit(state); return 0; } diff --git a/test/testintersections.c b/test/testintersections.c index fcab58ef6..e892f8d87 100644 --- a/test/testintersections.c +++ b/test/testintersections.c @@ -16,12 +16,12 @@ #include #include -#include "common.h" +#include "SDL_test_common.h" #define SWAP(typ,a,b) do{typ t=a;a=b;b=t;}while(0) #define NUM_OBJECTS 100 -static CommonState *state; +static SDLTest_CommonState *state; static int num_objects; static SDL_bool cycle_color; static SDL_bool cycle_alpha; @@ -204,14 +204,14 @@ main(int argc, char *argv[]) num_objects = NUM_OBJECTS; /* Initialize test framework */ - state = CommonCreateState(argv, SDL_INIT_VIDEO); + state = SDLTest_CommonCreateState(argv, SDL_INIT_VIDEO); if (!state) { return 1; } for (i = 1; i < argc;) { int consumed; - consumed = CommonArg(state, i); + consumed = SDLTest_CommonArg(state, i); if (consumed == 0) { consumed = -1; if (SDL_strcasecmp(argv[i], "--blend") == 0) { @@ -244,12 +244,12 @@ main(int argc, char *argv[]) if (consumed < 0) { fprintf(stderr, "Usage: %s %s [--blend none|blend|add|mod] [--cyclecolor] [--cyclealpha]\n", - argv[0], CommonUsage(state)); + argv[0], SDLTest_CommonUsage(state)); return 1; } i += consumed; } - if (!CommonInit(state)) { + if (!SDLTest_CommonInit(state)) { return 2; } @@ -271,7 +271,7 @@ main(int argc, char *argv[]) /* Check for events */ ++frames; while (SDL_PollEvent(&event)) { - CommonEvent(state, &event, &done); + SDLTest_CommonEvent(state, &event, &done); switch (event.type) { case SDL_MOUSEBUTTONDOWN: mouse_begin_x = event.button.x; @@ -322,7 +322,7 @@ main(int argc, char *argv[]) } } - CommonQuit(state); + SDLTest_CommonQuit(state); /* Print out some timing information */ now = SDL_GetTicks(); diff --git a/test/testrelative.c b/test/testrelative.c index fe83a9748..44ffaf028 100644 --- a/test/testrelative.c +++ b/test/testrelative.c @@ -16,10 +16,10 @@ #include #include -#include "common.h" +#include "SDL_test_common.h" -static CommonState *state; +static SDLTest_CommonState *state; static SDL_Rect rect; static void @@ -37,14 +37,14 @@ main(int argc, char *argv[]) /* Initialize test framework */ - state = CommonCreateState(argv, SDL_INIT_VIDEO); + state = SDLTest_CommonCreateState(argv, SDL_INIT_VIDEO); if (!state) { return 1; } for (i = 1; i < argc;i++) { - CommonArg(state, i); + SDLTest_CommonArg(state, i); } - if (!CommonInit(state)) { + if (!SDLTest_CommonInit(state)) { return 2; } @@ -70,7 +70,7 @@ main(int argc, char *argv[]) while (!done) { /* Check for events */ while (SDL_PollEvent(&event)) { - CommonEvent(state, &event, &done); + SDLTest_CommonEvent(state, &event, &done); switch(event.type) { case SDL_MOUSEMOTION: { @@ -93,7 +93,7 @@ main(int argc, char *argv[]) } } - CommonQuit(state); + SDLTest_CommonQuit(state); return 0; } diff --git a/test/testrendercopyex.c b/test/testrendercopyex.c index 5f3eb8a81..3d9ee9f47 100644 --- a/test/testrendercopyex.c +++ b/test/testrendercopyex.c @@ -15,13 +15,12 @@ #include #include -#include "SDL.h" -#include "common.h" +#include "SDL_test_common.h" #define WINDOW_WIDTH 640 #define WINDOW_HEIGHT 480 -static CommonState *state; +static SDLTest_CommonState *state; typedef struct { SDL_Window *window; @@ -36,7 +35,7 @@ typedef struct { static void quit(int rc) { - CommonQuit(state); + SDLTest_CommonQuit(state); exit(rc); } @@ -143,21 +142,21 @@ main(int argc, char *argv[]) Uint32 then, now; /* Initialize test framework */ - state = CommonCreateState(argv, SDL_INIT_VIDEO); + state = SDLTest_CommonCreateState(argv, SDL_INIT_VIDEO); if (!state) { return 1; } for (i = 1; i < argc;) { int consumed; - consumed = CommonArg(state, i); + consumed = SDLTest_CommonArg(state, i); if (consumed == 0) { - fprintf(stderr, "Usage: %s %s\n", argv[0], CommonUsage(state)); + fprintf(stderr, "Usage: %s %s\n", argv[0], SDLTest_CommonUsage(state)); return 1; } i += consumed; } - if (!CommonInit(state)) { + if (!SDLTest_CommonInit(state)) { quit(2); } @@ -185,7 +184,7 @@ main(int argc, char *argv[]) /* Check for events */ ++frames; while (SDL_PollEvent(&event)) { - CommonEvent(state, &event, &done); + SDLTest_CommonEvent(state, &event, &done); } for (i = 0; i < state->num_windows; ++i) { Draw(&drawstates[i]); diff --git a/test/testrendertarget.c b/test/testrendertarget.c index 45153294a..c43d14ff9 100644 --- a/test/testrendertarget.c +++ b/test/testrendertarget.c @@ -15,13 +15,12 @@ #include #include -#include "SDL.h" -#include "common.h" +#include "SDL_test_common.h" #define WINDOW_WIDTH 640 #define WINDOW_HEIGHT 480 -static CommonState *state; +static SDLTest_CommonState *state; typedef struct { SDL_Window *window; @@ -36,7 +35,7 @@ typedef struct { static void quit(int rc) { - CommonQuit(state); + SDLTest_CommonQuit(state); exit(rc); } @@ -139,21 +138,21 @@ main(int argc, char *argv[]) Uint32 then, now; /* Initialize test framework */ - state = CommonCreateState(argv, SDL_INIT_VIDEO); + state = SDLTest_CommonCreateState(argv, SDL_INIT_VIDEO); if (!state) { return 1; } for (i = 1; i < argc;) { int consumed; - consumed = CommonArg(state, i); + consumed = SDLTest_CommonArg(state, i); if (consumed == 0) { - fprintf(stderr, "Usage: %s %s\n", argv[0], CommonUsage(state)); + fprintf(stderr, "Usage: %s %s\n", argv[0], SDLTest_CommonUsage(state)); return 1; } i += consumed; } - if (!CommonInit(state)) { + if (!SDLTest_CommonInit(state)) { quit(2); } @@ -181,7 +180,7 @@ main(int argc, char *argv[]) /* Check for events */ ++frames; while (SDL_PollEvent(&event)) { - CommonEvent(state, &event, &done); + SDLTest_CommonEvent(state, &event, &done); } for (i = 0; i < state->num_windows; ++i) { Draw(&drawstates[i]); diff --git a/test/testscale.c b/test/testscale.c index 262ecd1c1..42b21bc5d 100644 --- a/test/testscale.c +++ b/test/testscale.c @@ -15,13 +15,12 @@ #include #include -#include "SDL.h" -#include "common.h" +#include "SDL_test_common.h" #define WINDOW_WIDTH 640 #define WINDOW_HEIGHT 480 -static CommonState *state; +static SDLTest_CommonState *state; typedef struct { SDL_Window *window; @@ -36,7 +35,7 @@ typedef struct { static void quit(int rc) { - CommonQuit(state); + SDLTest_CommonQuit(state); exit(rc); } @@ -131,21 +130,21 @@ main(int argc, char *argv[]) Uint32 then, now; /* Initialize test framework */ - state = CommonCreateState(argv, SDL_INIT_VIDEO); + state = SDLTest_CommonCreateState(argv, SDL_INIT_VIDEO); if (!state) { return 1; } for (i = 1; i < argc;) { int consumed; - consumed = CommonArg(state, i); + consumed = SDLTest_CommonArg(state, i); if (consumed == 0) { - fprintf(stderr, "Usage: %s %s\n", argv[0], CommonUsage(state)); + fprintf(stderr, "Usage: %s %s\n", argv[0], SDLTest_CommonUsage(state)); return 1; } i += consumed; } - if (!CommonInit(state)) { + if (!SDLTest_CommonInit(state)) { quit(2); } @@ -173,7 +172,7 @@ main(int argc, char *argv[]) /* Check for events */ ++frames; while (SDL_PollEvent(&event)) { - CommonEvent(state, &event, &done); + SDLTest_CommonEvent(state, &event, &done); } for (i = 0; i < state->num_windows; ++i) { Draw(&drawstates[i]); diff --git a/test/testsprite2.c b/test/testsprite2.c index c3fa71bf3..251a493ee 100644 --- a/test/testsprite2.c +++ b/test/testsprite2.c @@ -15,12 +15,12 @@ #include #include -#include "common.h" +#include "SDL_test_common.h" #define NUM_SPRITES 100 #define MAX_SPEED 1 -static CommonState *state; +static SDLTest_CommonState *state; static int num_sprites; static SDL_Texture **sprites; static SDL_bool cycle_color; @@ -46,7 +46,7 @@ quit(int rc) if (velocities) { SDL_free(velocities); } - CommonQuit(state); + SDLTest_CommonQuit(state); exit(rc); } @@ -226,7 +226,7 @@ main(int argc, char *argv[]) num_sprites = NUM_SPRITES; /* Initialize test framework */ - state = CommonCreateState(argv, SDL_INIT_VIDEO); + state = SDLTest_CommonCreateState(argv, SDL_INIT_VIDEO); if (!state) { return 1; } @@ -236,7 +236,7 @@ main(int argc, char *argv[]) for (i = 1; i < argc;) { int consumed; - consumed = CommonArg(state, i); + consumed = SDLTest_CommonArg(state, i); if (consumed == 0) { consumed = -1; if (SDL_strcasecmp(argv[i], "--blend") == 0) { @@ -269,12 +269,12 @@ main(int argc, char *argv[]) if (consumed < 0) { fprintf(stderr, "Usage: %s %s [--blend none|blend|add|mod] [--cyclecolor] [--cyclealpha]\n", - argv[0], CommonUsage(state)); + argv[0], SDLTest_CommonUsage(state)); quit(1); } i += consumed; } - if (!CommonInit(state)) { + if (!SDLTest_CommonInit(state)) { quit(2); } @@ -323,7 +323,7 @@ main(int argc, char *argv[]) /* Check for events */ ++frames; while (SDL_PollEvent(&event)) { - CommonEvent(state, &event, &done); + SDLTest_CommonEvent(state, &event, &done); } for (i = 0; i < state->num_windows; ++i) { MoveSprites(state->renderers[i], sprites[i]); diff --git a/test/testwm2.c b/test/testwm2.c index 366e86f38..75de8f9bf 100644 --- a/test/testwm2.c +++ b/test/testwm2.c @@ -13,15 +13,15 @@ #include #include -#include "common.h" +#include "SDL_test_common.h" -static CommonState *state; +static SDLTest_CommonState *state; /* Call this instead of exit(), so we can clean up SDL: atexit() is evil. */ static void quit(int rc) { - CommonQuit(state); + SDLTest_CommonQuit(state); exit(rc); } @@ -50,7 +50,7 @@ main(int argc, char *argv[]) SDL_Cursor *cursor = NULL; /* Initialize test framework */ - state = CommonCreateState(argv, SDL_INIT_VIDEO); + state = SDLTest_CommonCreateState(argv, SDL_INIT_VIDEO); if (!state) { return 1; } @@ -58,17 +58,17 @@ main(int argc, char *argv[]) for (i = 1; i < argc;) { int consumed; - consumed = CommonArg(state, i); + consumed = SDLTest_CommonArg(state, i); if (consumed == 0) { consumed = -1; } if (consumed < 0) { - fprintf(stderr, "Usage: %s %s\n", argv[0], CommonUsage(state)); + fprintf(stderr, "Usage: %s %s\n", argv[0], SDLTest_CommonUsage(state)); quit(1); } i += consumed; } - if (!CommonInit(state)) { + if (!SDLTest_CommonInit(state)) { quit(2); } @@ -77,7 +77,7 @@ main(int argc, char *argv[]) while (!done) { /* Check for events */ while (SDL_PollEvent(&event)) { - CommonEvent(state, &event, &done); + SDLTest_CommonEvent(state, &event, &done); if (event.type == SDL_WINDOWEVENT) { if (event.window.event == SDL_WINDOWEVENT_MOVED) {