19 template<std::
unsigned_
integral Pixel>
21 return reinterpret_cast<Pixel*
>(data.
data() + y * pitch);
30 assert(width <= maxWidth);
31 lineWidths[line] = width;
34 template<std::
unsigned_
integral Pixel>
37 auto* pixels = getLinePtrDirect<Pixel>(line);
45 [[nodiscard]]
unsigned getLineWidth(
unsigned line)
const override;
47 unsigned line,
unsigned& width,
48 void* buf,
unsigned bufWidth)
const override;
Interface for getting lines from a video frame.
unsigned getHeight() const
Gets the number of lines in this frame.
const T * data() const
Returns pointer to the start of the memory buffer.
A video frame as output by the VDP scanline conversion unit, before any postprocessing filters are ap...
unsigned getLineWidthDirect(unsigned y) const
Pixel * getLinePtrDirect(unsigned y)
void setBlank(unsigned line, Pixel color)
unsigned getRowLength() const override
Returns the distance (in pixels) between two consecutive lines.
unsigned getLineWidth(unsigned line) const override
Gets the number of display pixels on the given line.
RawFrame(const PixelFormat &format, unsigned maxWidth, unsigned height)
bool hasContiguousStorage() const override
Returns true when two consecutive rows are also consecutive in memory.
const void * getLineInfo(unsigned line, unsigned &width, void *buf, unsigned bufWidth) const override
Abstract implementation of getLinePtr().
void setLineWidth(unsigned line, unsigned width)
void format(SectorAccessibleDisk &disk, bool dos1)
Format the given disk (= a single partition).
This file implemented 3 utility functions: