view test/automated/common/common.c @ 3380:6f381d0d6394

stefanullinger to me I updated and wanted to compile SDL, but it does not work. The reason is the new pre-build step. Currently it says: "if exist $(SolutionDir)\..\include\SDL_config.h goto SDLCONFIGOKAY echo Copying SDL_config_win32.h to SDL_config.h... copy $(SolutionDir)\..\include\SDL_config_win32.h $(SolutionDir)\..\include\SDL_config.h :SDLCONFIGOKAY if exist $(SolutionDir)\..\include\SDL_revision.h goto SDLREVISIONOKAY echo Creating stub SDL_revision.h file... echo #define SDL_REVISION 0 >$(SolutionDir)\..\include\SDL_revision.h :SDLREVISIONOKAY" So ... the problem with this lines is, that they lookup the SolutionDir... I think it should use the ProjectDir here! I - for example - want to use SDL within my engine... So my engine is the solutionDir...not SDL...SDL is just a sub-project. I think you should change this, shouldn't you?! Regards, Stefan
author Sam Lantinga <slouken@libsdl.org>
date Sun, 11 Oct 2009 10:22:22 +0000
parents 22ac66da0765
children 0acec8c9f5c9
line wrap: on
line source

/**
 * Automated SDL_Surface test.
 *
 * Written by Edgar Simo "bobbens"
 *
 * Released under Public Domain.
 */


#include "SDL.h"
#include "SDL_at.h"

#include "common/common.h"


/**
 * @brief Compares a surface and a surface image for equality.
 */
int surface_compare( SDL_Surface *sur, const SurfaceImage_t *img )
{
   int ret;
   int i,j;
   int bpp;
   Uint8 *p, *pd;

   /* Make sure size is the same. */
   if ((sur->w != img->width) || (sur->h != img->height))
      return -1;

   SDL_LockSurface( sur );

   ret = 0;
   bpp = sur->format->BytesPerPixel;

   /* Compare image - should be same format. */
   for (j=0; j<sur->h; j++) {
      for (i=0; i<sur->w; i++) {
         p  = (Uint8 *)sur->pixels + j * sur->pitch + i * bpp;
         pd = (Uint8 *)img->pixel_data + (j*img->width + i) * img->bytes_per_pixel;
         switch (bpp) {
            case 1:
            case 2:
            case 3:
               ret += 1;
               printf("%d BPP not supported yet.\n",bpp);
               break;

            case 4:
               ret += !( (p[0] == pd[0]) &&
                         (p[1] == pd[1]) &&
                         (p[2] == pd[2]) );
               break;
         }
      }
   }

   SDL_UnlockSurface( sur );

   return ret;
}