changeset 3731:f5ddf1b670f0 gsoc2009_unit_tests

Converted another testcase to the render system.
author Edgar Simo <bobbens@gmail.com>
date Wed, 15 Jul 2009 08:50:24 +0000
parents dafd796f0c95
children e552b7acd45a
files test/automated/render/render.c
diffstat 1 files changed, 71 insertions(+), 38 deletions(-) [+]
line wrap: on
line diff
--- a/test/automated/render/render.c	Sun Jul 12 12:05:28 2009 +0000
+++ b/test/automated/render/render.c	Wed Jul 15 08:50:24 2009 +0000
@@ -19,6 +19,10 @@
 #include "common/images.h"
 
 
+#define SCREEN_W     80
+#define SCREEN_H     60
+
+
 /*
  * Prototypes.
  */
@@ -171,7 +175,6 @@
    if (render_compare( "Primitives output not the same.", &img_primitives ))
       return;
 }
-#if 0
 
 
 /**
@@ -183,77 +186,107 @@
    int i, j;
    SDL_Rect rect;
 
-   SDL_ATbegin( "Primitives Blend Test" );
-
    /* Clear surface. */
-   ret = SDL_FillRect( testsur, NULL,
-         SDL_MapRGB( testsur->format, 0, 0, 0 ) );
-   if (SDL_ATassert( "SDL_FillRect", ret == 0))
+   if (render_clearScreen())
       return;
 
    /* Create some rectangles for each blend mode. */
-   ret = SDL_BlendRect( testsur, NULL, SDL_BLENDMODE_NONE, 255, 255, 255, 0 );
-   if (SDL_ATassert( "SDL_BlendRect", ret == 0))
+   ret = SDL_SetRenderDrawColor( 255, 255, 255, 0 );
+   if (SDL_ATassert( "SDL_SetRenderDrawColor", ret == 0))
+      return;
+   ret = SDL_SetRenderDrawBlendMode( SDL_BLENDMODE_NONE );
+   if (SDL_ATassert( "SDL_SetSurfaceBlendMode", ret == 0))
+      return;
+   ret = SDL_RenderFill( NULL );
+   if (SDL_ATassert( "SDL_RenderFill", ret == 0))
       return;
    rect.x = 10;
    rect.y = 25;
    rect.w = 40;
    rect.h = 25;
-   ret = SDL_BlendRect( testsur, &rect, SDL_BLENDMODE_ADD, 240, 10, 10, 75 );
-   if (SDL_ATassert( "SDL_BlendRect", ret == 0))
+   ret = SDL_SetRenderDrawColor( 240, 10, 10, 75 );
+   if (SDL_ATassert( "SDL_SetRenderDrawColor", ret == 0))
+      return;
+   ret = SDL_SetRenderDrawBlendMode( SDL_BLENDMODE_ADD );
+   if (SDL_ATassert( "SDL_SetSurfaceBlendMode", ret == 0))
+      return;
+   ret = SDL_RenderFill( &rect );
+   if (SDL_ATassert( "SDL_RenderFill", ret == 0))
       return;
    rect.x = 30;
    rect.y = 40;
    rect.w = 45;
    rect.h = 15;
-   ret = SDL_BlendRect( testsur, &rect, SDL_BLENDMODE_BLEND, 10, 240, 10, 100 );
-   if (SDL_ATassert( "SDL_BlendRect", ret == 0))
+   ret = SDL_SetRenderDrawColor( 10, 240, 10, 100 );
+   if (SDL_ATassert( "SDL_SetRenderDrawColor", ret == 0))
+      return;
+   ret = SDL_SetRenderDrawBlendMode( SDL_BLENDMODE_BLEND );
+   if (SDL_ATassert( "SDL_SetSurfaceBlendMode", ret == 0))
+      return;
+   ret = SDL_RenderFill( &rect );
+   if (SDL_ATassert( "SDL_RenderFill", ret == 0))
       return;
    rect.x = 25;
    rect.y = 25;
    rect.w = 25;
    rect.h = 25;
-   ret = SDL_BlendRect( testsur, &rect, SDL_BLENDMODE_MOD, 10, 10, 240, 125 );
-   if (SDL_ATassert( "SDL_BlendRect", ret == 0))
+   ret = SDL_SetRenderDrawColor( 10, 10, 240, 125 );
+   if (SDL_ATassert( "SDL_SetRenderDrawColor", ret == 0))
+      return;
+   ret = SDL_SetRenderDrawBlendMode( SDL_BLENDMODE_MOD );
+   if (SDL_ATassert( "SDL_SetSurfaceBlendMode", ret == 0))
+      return;
+   ret = SDL_RenderFill( &rect );
+   if (SDL_ATassert( "SDL_RenderFill", ret == 0))
       return;
 
    /* Draw blended lines, lines for everyone. */
-   for (i=0; i<testsur->w; i+=2)  {
-      ret = SDL_BlendLine( testsur, 0, 0, i, 59,
-            (((i/2)%3)==0) ? SDL_BLENDMODE_BLEND :
-               (((i/2)%3)==1) ? SDL_BLENDMODE_ADD : SDL_BLENDMODE_MOD,
-            60+2*i, 240-2*i, 50, 3*i );
-      if (SDL_ATassert( "SDL_BlendLine", ret == 0))
+   for (i=0; i<SCREEN_W; i+=2)  {
+      ret = SDL_SetRenderDrawColor( 60+2*i, 240-2*i, 50, 3*i );
+      if (SDL_ATassert( "SDL_SetRenderDrawColor", ret == 0))
+         return;
+      ret = SDL_SetRenderDrawBlendMode((((i/2)%3)==0) ? SDL_BLENDMODE_BLEND :
+            (((i/2)%3)==1) ? SDL_BLENDMODE_ADD : SDL_BLENDMODE_MOD );
+      if (SDL_ATassert( "SDL_SetSurfaceBlendMode", ret == 0))
+         return;
+      ret = SDL_RenderLine( 0, 0, i, 59 );
+      if (SDL_ATassert( "SDL_RenderLine", ret == 0))
          return;
    }
-   for (i=0; i<testsur->h; i+=2)  {
-      ret = SDL_BlendLine( testsur, 0, 0, 79, i,
-            (((i/2)%3)==0) ? SDL_BLENDMODE_BLEND :
-               (((i/2)%3)==1) ? SDL_BLENDMODE_ADD : SDL_BLENDMODE_MOD,
-            60+2*i, 240-2*i, 50, 3*i );
-      if (SDL_ATassert( "SDL_BlendLine", ret == 0))
+   for (i=0; i<SCREEN_H; i+=2)  {
+      ret = SDL_SetRenderDrawColor( 60+2*i, 240-2*i, 50, 3*i );
+      if (SDL_ATassert( "SDL_SetRenderDrawColor", ret == 0))
+         return;
+      ret = SDL_SetRenderDrawBlendMode((((i/2)%3)==0) ? SDL_BLENDMODE_BLEND :
+            (((i/2)%3)==1) ? SDL_BLENDMODE_ADD : SDL_BLENDMODE_MOD );
+      if (SDL_ATassert( "SDL_SetSurfaceBlendMode", ret == 0))
+         return;
+      ret = SDL_RenderLine( 0, 0, 79, i );
+      if (SDL_ATassert( "SDL_RenderLine", ret == 0))
          return;
    }
 
    /* Draw points. */
-   for (j=0; j<testsur->h; j+=3) {
-      for (i=0; i<testsur->w; i+=3) {
-      ret = SDL_BlendPoint( testsur, i, j,
-            ((((i+j)/3)%3)==0) ? SDL_BLENDMODE_BLEND :
-               ((((i+j)/3)%3)==1) ? SDL_BLENDMODE_ADD : SDL_BLENDMODE_MOD,
-            j*4, i*3, j*4, i*3 );
-      if (SDL_ATassert( "SDL_BlendPoint", ret == 0))
-         return;
+   for (j=0; j<SCREEN_H; j+=3) {
+      for (i=0; i<SCREEN_W; i+=3) {
+         ret = SDL_SetRenderDrawColor( j*4, i*3, j*4, i*3 );
+         if (SDL_ATassert( "SDL_SetRenderDrawColor", ret == 0))
+            return;
+         ret = SDL_SetRenderDrawBlendMode( ((((i+j)/3)%3)==0) ? SDL_BLENDMODE_BLEND :
+               ((((i+j)/3)%3)==1) ? SDL_BLENDMODE_ADD : SDL_BLENDMODE_MOD );
+         if (SDL_ATassert( "SDL_SetSurfaceBlendMode", ret == 0))
+            return;
+         ret = SDL_RenderPoint( i, j );
+         if (SDL_ATassert( "SDL_RenderPoint", ret == 0))
+            return;
       }
    }
 
    /* See if it's the same. */
-   if (SDL_ATassert( "Primitives output not the same.",
-            render_compare( testsur, &img_blend )==0 ))
+   if (render_compare( "Blended primitives output not the same.", &img_primitives ))
       return;
-
-   SDL_ATend();
 }
+#if 0
 
 
 /**