diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-08-05 14:00:16 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-08-05 14:00:16 -0700 |
commit | 1b7122c6aaa19cb6e2a62598dca8e0fd9e3cc7a7 (patch) | |
tree | 659d33c0fcfa4f6ae3afaae9808649e4021979b7 /tests/sdl_stb_image_data.c | |
parent | 6039aea9a13ea217301c2c19eca3e857dc2dace7 (diff) | |
parent | a0c6ab57cb11258df23dd670aebdc260d9e16da3 (diff) |
Merge branch 'incoming'
Diffstat (limited to 'tests/sdl_stb_image_data.c')
-rw-r--r-- | tests/sdl_stb_image_data.c | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/tests/sdl_stb_image_data.c b/tests/sdl_stb_image_data.c new file mode 100644 index 00000000..d702b4cc --- /dev/null +++ b/tests/sdl_stb_image_data.c @@ -0,0 +1,55 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <SDL/SDL.h> +#include <SDL/SDL_image.h> +#include <assert.h> +#include <emscripten.h> + +#define SIZE 203164 +SDL_Surface* screen; +char *buffer; + +int testImage() { + SDL_Surface *image = IMG_Load_RW(SDL_RWFromMem(buffer, SIZE), 1); + if (!image) + { + printf("IMG_Load: %s\n", IMG_GetError()); + return 0; + } + + printf("load succeeded\n"); + + assert(image->format->BitsPerPixel == 32); + assert(image->format->BytesPerPixel == 4); + assert(image->pitch == 4*image->w); + int result = image->w; + + SDL_BlitSurface (image, NULL, screen, NULL); + SDL_FreeSurface (image); + + return result; +} + +void ready() { + testImage(); + + SDL_Flip(screen); +} + +int main() { + SDL_Init(SDL_INIT_VIDEO); + screen = SDL_SetVideoMode(600, 450, 32, SDL_SWSURFACE); + + printf("prepare..\n"); + + FILE *f = fopen("screenshot.not", "rb"); + buffer = malloc(SIZE); + fread(buffer, SIZE, 1, f); + fclose(f); + + ready(); + + return 0; +} + |