openMSX
LDSDLRasterizer.hh
Go to the documentation of this file.
1#ifndef LDSDLRASTERIZER_HH
2#define LDSDLRASTERIZER_HH
3
4#include "LDRasterizer.hh"
5#include <concepts>
6#include <memory>
7
8namespace openmsx {
9
10class OutputSurface;
11class RawFrame;
12class PostProcessor;
13
17template<std::unsigned_integral Pixel>
18class LDSDLRasterizer final : public LDRasterizer
19{
20public:
22 OutputSurface& screen,
23 std::unique_ptr<PostProcessor> postProcessor);
24 ~LDSDLRasterizer() override;
25
26 // Rasterizer interface:
27 [[nodiscard]] PostProcessor* getPostProcessor() const override;
28 void frameStart(EmuTime::param time) override;
29 void drawBlank(int r, int g, int b) override;
30 [[nodiscard]] RawFrame* getRawFrame() override;
31
32private:
36 const std::unique_ptr<PostProcessor> postProcessor;
37
40 std::unique_ptr<RawFrame> workFrame;
41};
42
43} // namespace openmsx
44
45#endif
int g
Rasterizer using a frame buffer approach: it writes pixels to a single rectangular pixel buffer.
LDSDLRasterizer(OutputSurface &screen, std::unique_ptr< PostProcessor > postProcessor)
void drawBlank(int r, int g, int b) override
void frameStart(EmuTime::param time) override
PostProcessor * getPostProcessor() const override
RawFrame * getRawFrame() override
A frame buffer where pixels can be written to.
Abstract base class for post processors.
A video frame as output by the VDP scanline conversion unit, before any postprocessing filters are ap...
Definition: RawFrame.hh:15
This file implemented 3 utility functions:
Definition: Autofire.cc:9