| 875 | } |
| 876 | |
| 877 | Surface* loadRgbaSurface(const char* filename) override { |
| 878 | SDL_Surface* bmp = IMG_Load(filename); |
| 879 | if (!bmp) |
| 880 | throw std::runtime_error(std::string{"Error loading image "} + filename); |
| 881 | if (bmp->format->BitsPerPixel < 32) { |
| 882 | auto copy = SDL_ConvertSurfaceFormat(bmp, SDL_PIXELFORMAT_RGBA8888, 0); |
| 883 | SDL_FreeSurface(bmp); |
| 884 | bmp = copy; |
| 885 | } |
| 886 | return new SDL2Surface(bmp, SDL2Surface::DeleteAndDestroy); |
| 887 | } |
| 888 | |
| 889 | }; |
| 890 |
no outgoing calls
no test coverage detected