int testImage(SDL_Renderer* renderer, const char* fileName) { SDL_Surface *image = IMG_Load(fileName); if (!image) { printf("IMG_Load: %s\n", IMG_GetError()); return 0; } assert(image->format->BitsPerPixel == 32); assert(image->format->BytesPerPixel == 4); assert(image->pitch == 4*image->w); int result = image->w; #ifndef NO_PRELOADED int w, h; char *data = emscripten_get_preloaded_image_data(fileName, &w, &h); assert(data); assert(w == image->w); assert(h == image->h); #endif SDL_Texture *tex = SDL_CreateTextureFromSurface(renderer, image); SDL_RenderCopy (renderer, tex, NULL, NULL); SDL_DestroyTexture (tex); SDL_FreeSurface (image); #ifndef NO_PRELOADED free(data); #endif return result; }
int testImage(SDL_Surface* screen, const char* fileName) { SDL_Surface *image = IMG_Load(fileName); if (!image) { printf("IMG_Load: %s\n", IMG_GetError()); return 0; } 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); int w, h; char *data = emscripten_get_preloaded_image_data(fileName, &w, &h); assert(data); assert(w == image->w); assert(h == image->h); SDL_FreeSurface (image); free(data); return result; }