openMSX
DirectScalerOutput.hh
Go to the documentation of this file.
1#ifndef DIRECTSCALEROUTPUT_HH
2#define DIRECTSCALEROUTPUT_HH
3
4#include "ScalerOutput.hh"
5#include "SDLOutputSurface.hh"
6#include <concepts>
7
8namespace openmsx {
9
10template<std::unsigned_integral Pixel>
11class DirectScalerOutput final : public ScalerOutput<Pixel>
12{
13public:
14 explicit DirectScalerOutput(SDLOutputSurface& output);
15
16 [[nodiscard]] unsigned getWidth() const override;
17 [[nodiscard]] unsigned getHeight() const override;
18 [[nodiscard]] Pixel* acquireLine(unsigned y) override;
19 void releaseLine(unsigned y, Pixel* buf) override;
20 void fillLine (unsigned y, Pixel color) override;
21
22private:
23 SDLOutputSurface& output;
24 SDLDirectPixelAccess pixelAccess;
25};
26
27} // namespace openmsx
28
29#endif
void fillLine(unsigned y, Pixel color) override
DirectScalerOutput(SDLOutputSurface &output)
unsigned getWidth() const override
void releaseLine(unsigned y, Pixel *buf) override
Pixel * acquireLine(unsigned y) override
unsigned getHeight() const override
A frame buffer where pixels can be written to.
This file implemented 3 utility functions:
Definition: Autofire.cc:9
uint32_t Pixel