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 <memory>
6 
7 namespace openmsx {
8 
9 class OutputSurface;
10 class RawFrame;
11 class PostProcessor;
12 
16 template <class Pixel>
17 class LDSDLRasterizer final : public LDRasterizer
18 {
19 public:
21  OutputSurface& screen,
22  std::unique_ptr<PostProcessor> postProcessor);
23  ~LDSDLRasterizer() override;
24 
25  // Rasterizer interface:
26  PostProcessor* getPostProcessor() const override;
27  void frameStart(EmuTime::param time) override;
28  void drawBlank(int r, int g, int b) override;
29  RawFrame* getRawFrame() override;
30 
31 private:
35  const std::unique_ptr<PostProcessor> postProcessor;
36 
39  std::unique_ptr<RawFrame> workFrame;
40 };
41 
42 } // namespace openmsx
43 
44 #endif
openmsx::LDRasterizer
Definition: LDRasterizer.hh:11
openmsx::LDSDLRasterizer::drawBlank
void drawBlank(int r, int g, int b) override
Definition: LDSDLRasterizer.cc:38
openmsx::LDSDLRasterizer::getRawFrame
RawFrame * getRawFrame() override
Definition: LDSDLRasterizer.cc:50
openmsx::PostProcessor
Abstract base class for post processors.
Definition: PostProcessor.hh:29
openmsx::RawFrame
A video frame as output by the VDP scanline conversion unit, before any postprocessing filters are ap...
Definition: RawFrame.hh:25
g
int g
Definition: ScopedAssign_test.cc:20
LDRasterizer.hh
openmsx::LDSDLRasterizer::~LDSDLRasterizer
~LDSDLRasterizer() override
openmsx::OutputSurface
A frame buffer where pixels can be written to.
Definition: OutputSurface.hh:19
openmsx::LDSDLRasterizer::getPostProcessor
PostProcessor * getPostProcessor() const override
Definition: LDSDLRasterizer.cc:26
openmsx::LDSDLRasterizer::LDSDLRasterizer
LDSDLRasterizer(OutputSurface &screen, std::unique_ptr< PostProcessor > postProcessor)
Definition: LDSDLRasterizer.cc:14
openmsx::LDSDLRasterizer
Rasterizer using a frame buffer approach: it writes pixels to a single rectangular pixel buffer.
Definition: LDSDLRasterizer.hh:17
openmsx
Thanks to enen for testing this on a real cartridge:
Definition: Autofire.cc:5
openmsx::LDSDLRasterizer::frameStart
void frameStart(EmuTime::param time) override
Definition: LDSDLRasterizer.cc:32