23 assert((pitch2 % 16) == 0);
24 unsigned bufSize = pitch2 * proto.h;
26 memset(buffer.
data(), 0, bufSize);
27 surface.
reset(SDL_CreateRGBSurfaceFrom(
28 buffer.
data(), proto.w, proto.h, frmt.
getBpp(), pitch2,
34 renderer.reset(SDL_CreateSoftwareRenderer(surface.
get()));
38 void SDLOffScreenSurface::saveScreenshot(
const std::string&
filename)
43 void SDLOffScreenSurface::clearScreen()
45 memset(surface->pixels, 0, uint32_t(surface->pitch) * surface->h);
void reset(SDL_Surface *surface_=nullptr)
const T * data() const
Returns pointer to the start of the memory buffer.
void resize(size_t size)
Grow or shrink the memory block.
const PixelFormat & getPixelFormat() const
void calculateViewPort(gl::ivec2 logSize, gl::ivec2 physSize)
SDLOffScreenSurface(const SDL_Surface &prototype)
void setSDLSurface(SDL_Surface *surface_)
void setSDLPixelFormat(const SDL_PixelFormat &format)
void setSDLRenderer(SDL_Renderer *r)
static void saveScreenshotSDL(const SDLOutputSurface &output, const std::string &filename)
This file implemented 3 utility functions:
constexpr const char *const filename
size_t size(std::string_view utf8)