openMSX
|
Utility functions to hide the complexity of saving to a PNG file. More...
Classes | |
struct | PNGReadHandle |
struct | PNGWriteHandle |
Functions | |
SDLSurfacePtr | load (const std::string &filename, bool want32bpp) |
Load the given PNG file in a SDL_Surface. | |
void | saveRGBA (size_t width, std::span< const uint32_t * > rowPointers, const std::string &filename) |
void | saveGrayscale (size_t width, std::span< const uint8_t * > rowPointers_, const std::string &filename) |
Utility functions to hide the complexity of saving to a PNG file.
SDLSurfacePtr openmsx::PNG::load | ( | const std::string & | filename, |
bool | want32bpp | ||
) |
Load the given PNG file in a SDL_Surface.
This SDL_Surface is either 24bpp or 32bpp, depending on whether the PNG file had an alpha layer. But it's possible to force a 32bpp surface. The surface will use RGB(A) or BGR(A) format depending on the current display format.
Definition at line 106 of file PNG.cc.
References openmsx::PixelOperations::getAmask(), openmsx::PixelOperations::getBmask(), openmsx::PixelOperations::getGmask(), SDLSurfacePtr::getLinePtr(), openmsx::PixelOperations::getRmask(), openmsx::PNG::PNGReadHandle::info, openmsx::PNG::PNGReadHandle::ptr, view::transform(), and xrange().
Referenced by openmsx::loadTexture().
void openmsx::PNG::saveGrayscale | ( | size_t | width, |
std::span< const uint8_t * > | rowPointers_, | ||
const std::string & | filename | ||
) |
Definition at line 340 of file PNG.cc.
Referenced by openmsx::Paper::save().
void openmsx::PNG::saveRGBA | ( | size_t | width, |
std::span< const uint32_t * > | rowPointers, | ||
const std::string & | filename | ||
) |
Definition at line 322 of file PNG.cc.
References SDLSurfacePtr::get(), openmsx::PixelOperations::getAmask(), openmsx::PixelOperations::getBmask(), openmsx::PixelOperations::getGmask(), SDLSurfacePtr::getLinePtr(), openmsx::PixelOperations::getRmask(), and xrange().
Referenced by openmsx::VisibleSurface::saveScreenshotGL(), and openmsx::PostProcessor::takeRawScreenShot().