From b0b3da770290692592a991b84c6f764b40ce885c Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Fri, 8 Sep 2017 04:14:05 -0700 Subject: [PATCH] Added a function to clean up test text drawing --- include/SDL_test_font.h | 9 +++- src/test/SDL_test_assert.c | 2 + src/test/SDL_test_compare.c | 2 + src/test/SDL_test_crc32.c | 2 + src/test/SDL_test_font.c | 52 +++++++++++++++--------- src/test/SDL_test_fuzzer.c | 2 + src/test/SDL_test_harness.c | 2 + src/test/SDL_test_imageBlit.c | 2 + src/test/SDL_test_imageBlitBlend.c | 2 + src/test/SDL_test_imageFace.c | 1 + src/test/SDL_test_imagePrimitives.c | 2 + src/test/SDL_test_imagePrimitivesBlend.c | 2 + src/test/SDL_test_log.c | 2 + src/test/SDL_test_md5.c | 2 + src/test/SDL_test_random.c | 2 + 15 files changed, 64 insertions(+), 22 deletions(-) diff --git a/include/SDL_test_font.h b/include/SDL_test_font.h index 492762982fd74..434e808a95d53 100644 --- a/include/SDL_test_font.h +++ b/include/SDL_test_font.h @@ -50,7 +50,7 @@ extern "C" { * * \returns Returns 0 on success, -1 on failure. */ -int SDLTest_DrawCharacter( SDL_Renderer *renderer, int x, int y, char c ); +int SDLTest_DrawCharacter(SDL_Renderer *renderer, int x, int y, char c); /** * \brief Draw a string in the currently set font. @@ -62,9 +62,14 @@ int SDLTest_DrawCharacter( SDL_Renderer *renderer, int x, int y, char c ); * * \returns Returns 0 on success, -1 on failure. */ -int SDLTest_DrawString( SDL_Renderer * renderer, int x, int y, const char *s ); +int SDLTest_DrawString(SDL_Renderer *renderer, int x, int y, const char *s); +/** + * \brief Cleanup textures used by font drawing functions. + */ +void SDLTest_CleanupTextDrawing(SDL_Renderer *renderer); + /* Ends C function definitions when using C++ */ #ifdef __cplusplus } diff --git a/src/test/SDL_test_assert.c b/src/test/SDL_test_assert.c index f41f620fc0815..53622018e8d1e 100644 --- a/src/test/SDL_test_assert.c +++ b/src/test/SDL_test_assert.c @@ -148,3 +148,5 @@ int SDLTest_AssertSummaryToTestResult() } } } + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/src/test/SDL_test_compare.c b/src/test/SDL_test_compare.c index bd136707f2cba..af1b10255b82b 100644 --- a/src/test/SDL_test_compare.c +++ b/src/test/SDL_test_compare.c @@ -113,3 +113,5 @@ int SDLTest_CompareSurfaces(SDL_Surface *surface, SDL_Surface *referenceSurface, return ret; } + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/src/test/SDL_test_crc32.c b/src/test/SDL_test_crc32.c index a6ef959654eaf..a8878eaa2aa81 100644 --- a/src/test/SDL_test_crc32.c +++ b/src/test/SDL_test_crc32.c @@ -164,3 +164,5 @@ int SDLTest_Crc32Done(SDLTest_Crc32Context * crcContext) return 0; } + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/src/test/SDL_test_font.c b/src/test/SDL_test_font.c index f6089868def2e..21c6220e9bcdb 100644 --- a/src/test/SDL_test_font.c +++ b/src/test/SDL_test_font.c @@ -3116,9 +3116,9 @@ static SDL_Texture *SDLTest_CharTextureCache[256]; int SDLTest_DrawCharacter(SDL_Renderer *renderer, int x, int y, char c) { - const Uint32 charWidth = FONT_CHARACTER_SIZE; - const Uint32 charHeight = FONT_CHARACTER_SIZE; - const Uint32 charSize = FONT_CHARACTER_SIZE; + const Uint32 charWidth = FONT_CHARACTER_SIZE; + const Uint32 charHeight = FONT_CHARACTER_SIZE; + const Uint32 charSize = FONT_CHARACTER_SIZE; SDL_Rect srect; SDL_Rect drect; int result; @@ -3133,16 +3133,16 @@ int SDLTest_DrawCharacter(SDL_Renderer *renderer, int x, int y, char c) Uint8 r, g, b, a; /* - * Setup source rectangle - */ + * Setup source rectangle + */ srect.x = 0; srect.y = 0; srect.w = charWidth; srect.h = charHeight; /* - * Setup destination rectangle - */ + * Setup destination rectangle + */ drect.x = x; drect.y = y; drect.w = charWidth; @@ -3152,12 +3152,12 @@ int SDLTest_DrawCharacter(SDL_Renderer *renderer, int x, int y, char c) ci = (unsigned char)c; /* - * Create new charWidth x charHeight bitmap surface if not already present. - */ + * Create new charWidth x charHeight bitmap surface if not already present. + */ if (SDLTest_CharTextureCache[ci] == NULL) { /* - * Redraw character into surface - */ + * Redraw character into surface + */ character = SDL_CreateRGBSurface(SDL_SWSURFACE, charWidth, charHeight, 32, 0xFF000000, 0x00FF0000, 0x0000FF00, 0x000000FF); @@ -3170,8 +3170,8 @@ int SDLTest_DrawCharacter(SDL_Renderer *renderer, int x, int y, char c) pitch = character->pitch; /* - * Drawing loop - */ + * Drawing loop + */ patt = 0; for (iy = 0; iy < charWidth; iy++) { mask = 0x00; @@ -3196,24 +3196,24 @@ int SDLTest_DrawCharacter(SDL_Renderer *renderer, int x, int y, char c) SDL_FreeSurface(character); /* - * Check pointer - */ + * Check pointer + */ if (SDLTest_CharTextureCache[ci] == NULL) { return (-1); } } /* - * Set color - */ + * Set color + */ result = 0; result |= SDL_GetRenderDrawColor(renderer, &r, &g, &b, &a); result |= SDL_SetTextureColorMod(SDLTest_CharTextureCache[ci], r, g, b); result |= SDL_SetTextureAlphaMod(SDLTest_CharTextureCache[ci], a); /* - * Draw texture onto destination - */ + * Draw texture onto destination + */ result |= SDL_RenderCopy(renderer, SDLTest_CharTextureCache[ci], &srect, &drect); return (result); @@ -3221,7 +3221,7 @@ int SDLTest_DrawCharacter(SDL_Renderer *renderer, int x, int y, char c) int SDLTest_DrawString(SDL_Renderer * renderer, int x, int y, const char *s) { - const Uint32 charWidth = FONT_CHARACTER_SIZE; + const Uint32 charWidth = FONT_CHARACTER_SIZE; int result = 0; int curx = x; int cury = y; @@ -3236,3 +3236,15 @@ int SDLTest_DrawString(SDL_Renderer * renderer, int x, int y, const char *s) return (result); } +void SDLTest_CleanupTextDrawing(SDL_Renderer *renderer) +{ + int i; + for (i = 0; i < SDL_ARRAYSIZE(SDLTest_CharTextureCache); ++i) { + if (SDLTest_CharTextureCache[i]) { + SDL_TextureDestroy(SDLTest_CharTextureCache[i]); + SDLTest_CharTextureCache[i] = NULL; + } + } +} + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/src/test/SDL_test_fuzzer.c b/src/test/SDL_test_fuzzer.c index e6ae9882aed14..4b381006c3c25 100644 --- a/src/test/SDL_test_fuzzer.c +++ b/src/test/SDL_test_fuzzer.c @@ -524,3 +524,5 @@ SDLTest_RandomAsciiStringOfSize(int size) return string; } + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/src/test/SDL_test_harness.c b/src/test/SDL_test_harness.c index 5374190bbecd6..f4d557bdc818c 100644 --- a/src/test/SDL_test_harness.c +++ b/src/test/SDL_test_harness.c @@ -676,3 +676,5 @@ int SDLTest_RunSuites(SDLTest_TestSuiteReference *testSuites[], const char *user SDLTest_Log("Exit code: %d", runResult); return runResult; } + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/src/test/SDL_test_imageBlit.c b/src/test/SDL_test_imageBlit.c index 0b452fdb1774c..89067633c1e62 100644 --- a/src/test/SDL_test_imageBlit.c +++ b/src/test/SDL_test_imageBlit.c @@ -1555,3 +1555,5 @@ SDL_Surface *SDLTest_ImageBlitAlpha() ); return surface; } + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/src/test/SDL_test_imageBlitBlend.c b/src/test/SDL_test_imageBlitBlend.c index e8135a752f098..657ab8ac7f024 100644 --- a/src/test/SDL_test_imageBlitBlend.c +++ b/src/test/SDL_test_imageBlitBlend.c @@ -2841,3 +2841,5 @@ SDL_Surface *SDLTest_ImageBlitBlendAll() ); return surface; } + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/src/test/SDL_test_imageFace.c b/src/test/SDL_test_imageFace.c index ea81ab4ced546..b633e975a7256 100644 --- a/src/test/SDL_test_imageFace.c +++ b/src/test/SDL_test_imageFace.c @@ -244,3 +244,4 @@ SDL_Surface *SDLTest_ImageFace() return surface; } +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/src/test/SDL_test_imagePrimitives.c b/src/test/SDL_test_imagePrimitives.c index f1e9a17c306a5..0b7e510da9bbf 100644 --- a/src/test/SDL_test_imagePrimitives.c +++ b/src/test/SDL_test_imagePrimitives.c @@ -510,3 +510,5 @@ SDL_Surface *SDLTest_ImagePrimitives() ); return surface; } + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/src/test/SDL_test_imagePrimitivesBlend.c b/src/test/SDL_test_imagePrimitivesBlend.c index 121d24c223e0c..32cc234e0772a 100644 --- a/src/test/SDL_test_imagePrimitivesBlend.c +++ b/src/test/SDL_test_imagePrimitivesBlend.c @@ -692,3 +692,5 @@ SDL_Surface *SDLTest_ImagePrimitivesBlend() ); return surface; } + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/src/test/SDL_test_log.c b/src/test/SDL_test_log.c index 9a9ce6679a303..449541145aaee 100644 --- a/src/test/SDL_test_log.c +++ b/src/test/SDL_test_log.c @@ -114,3 +114,5 @@ void SDLTest_LogError(SDL_PRINTF_FORMAT_STRING const char *fmt, ...) /* Log with timestamp and newline */ SDL_LogMessage(SDL_LOG_CATEGORY_TEST, SDL_LOG_PRIORITY_ERROR, "%s: %s", SDLTest_TimestampToString(time(0)), logMessage); } + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/src/test/SDL_test_md5.c b/src/test/SDL_test_md5.c index fb319019200ac..73da4731e83ea 100644 --- a/src/test/SDL_test_md5.c +++ b/src/test/SDL_test_md5.c @@ -334,3 +334,5 @@ static void SDLTest_Md5Transform(MD5UINT4 * buf, MD5UINT4 * in) buf[2] += c; buf[3] += d; } + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/src/test/SDL_test_random.c b/src/test/SDL_test_random.c index 25840c6c7948d..68f60a6f710d1 100644 --- a/src/test/SDL_test_random.c +++ b/src/test/SDL_test_random.c @@ -92,3 +92,5 @@ unsigned int SDLTest_Random(SDLTest_RandomContext * rndContext) rndContext->c++; return (rndContext->x); } + +/* vi: set ts=4 sw=4 expandtab: */