Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Commit

Permalink
Converted another testcase to the render system.
Browse files Browse the repository at this point in the history
  • Loading branch information
bobbens committed Jul 15, 2009
1 parent d3ac68a commit 1fbe1e0
Showing 1 changed file with 71 additions and 38 deletions.
109 changes: 71 additions & 38 deletions test/automated/render/render.c
Expand Up @@ -19,6 +19,10 @@
#include "common/images.h"


#define SCREEN_W 80
#define SCREEN_H 60


/*
* Prototypes.
*/
Expand Down Expand Up @@ -171,7 +175,6 @@ static void render_testPrimitives (void)
if (render_compare( "Primitives output not the same.", &img_primitives ))
return;
}
#if 0


/**
Expand All @@ -183,77 +186,107 @@ static void render_testPrimitivesBlend (void)
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


/**
Expand Down

0 comments on commit 1fbe1e0

Please sign in to comment.