#include "utils/surface_to_png.hpp" #include #include #include #include #include "engine/surface.hpp" namespace devilution { extern "C" int IMG_SavePNG_RW(SDL_Surface *surface, SDL_RWops *dst, int freedst); tl::expected WriteSurfaceToFilePng(const Surface &buf, SDL_RWops *dst) { if (IMG_SavePNG_RW(buf.surface, dst, /*freedst=*/1) != 0) { tl::expected result = tl::make_unexpected(std::string(SDL_GetError())); SDL_ClearError(); return result; } return {}; } } // namespace devilution