Commit b0b3da770290692592a991b84c6f764b40ce885c

Sam Lantinga 2017-09-08T04:14:05

Added a function to clean up test text drawing

diff --git a/include/SDL_test_font.h b/include/SDL_test_font.h
index 4927629..434e808 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 f41f620..5362201 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 bd13670..af1b102 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 a6ef959..a8878ea 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 f608986..21c6220 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 e6ae988..4b38100 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 5374190..f4d557b 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 0b452fd..8906763 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 e8135a7..657ab8a 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 ea81ab4..b633e97 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 f1e9a17..0b7e510 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 121d24c..32cc234 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 9a9ce66..4495411 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 fb31901..73da473 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 25840c6..68f60a6 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: */