openMSX
Classes | Functions
openmsx::PNG Namespace Reference

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)
 

Detailed Description

Utility functions to hide the complexity of saving to a PNG file.

Function Documentation

◆ load()

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().

◆ saveGrayscale()

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().

◆ saveRGBA()

void openmsx::PNG::saveRGBA ( size_t  width,
std::span< const uint32_t * >  rowPointers,
const std::string &  filename 
)