view test/automated/common/common.h @ 5133:ec13e48ee0d9

Fixed bug #1112 (retina display support) Vittorio Giovara 2011-02-01 02:21:50 PST with the attached patch, the opengles context will always use the maximum screensize available; this is particularly useful for supporting retina display on latest iphone. please note: Apple documentation warns that using the "upscaled" gl context actually uses more memory and bandwitdh, so it might be worth to let the user decide whether to disable it or not, either with a flag or a sdl function...
author Sam Lantinga <slouken@libsdl.org>
date Tue, 01 Feb 2011 08:54:34 -0800
parents 2c07bb579922
children
line wrap: on
line source

/**
 * Automated SDL test common framework.
 *
 * Written by Edgar Simo "bobbens"
 *
 * Released under Public Domain.
 */


#ifndef COMMON_H
#  define COMMON_H


#  define FORMAT  SDL_PIXELFORMAT_ARGB8888
#  define AMASK   0xff000000 /**< Alpha bit mask. */
#  define RMASK   0x00ff0000 /**< Red bit mask. */
#  define GMASK   0x0000ff00 /**< Green bit mask. */
#  define BMASK   0x000000ff /**< Blue bit mask. */


typedef struct SurfaceImage_s {
   int width;
   int height;
   unsigned int  bytes_per_pixel; /* 3:RGB, 4:RGBA */ 
   const unsigned char pixel_data[];
} SurfaceImage_t;

#define ALLOWABLE_ERROR_OPAQUE	0
#define ALLOWABLE_ERROR_BLENDED	64

/**
 * @brief Compares a surface and a surface image for equality.
 *
 *    @param sur Surface to compare.
 *    @param img Image to compare against.
 *    @return 0 if they are the same, -1 on error and positive if different.
 */
int surface_compare( SDL_Surface *sur, const SurfaceImage_t *img, int allowable_error );


#endif /* COMMON_H */