openMSX
LDPixelRenderer.hh
Go to the documentation of this file.
1 #ifndef LDPIXELRENDERER_HH
2 #define LDPIXELRENDERER_HH
3 
4 #include "LDRenderer.hh"
5 #include <memory>
6 
7 namespace openmsx {
8 
9 class MSXMotherBoard;
10 class EventDistributor;
11 class Display;
12 class LDRasterizer;
13 class LaserdiscPlayer;
14 
18 class LDPixelRenderer final : public LDRenderer
19 {
20 public:
22  ~LDPixelRenderer() override;
23 
24  // Renderer interface:
25  void frameStart(EmuTime::param time) override;
26  void frameEnd() override;
27  void drawBlank(int r, int g, int b) override;
28  RawFrame* getRawFrame() override;
29 
30 private:
31  bool isActive() const;
32 
33  MSXMotherBoard& motherboard;
34  EventDistributor& eventDistributor;
35  const std::unique_ptr<LDRasterizer> rasterizer;
36 };
37 
38 } // namespace openmsx
39 
40 #endif
Represents the output window/screen of openMSX.
Definition: Display.hh:31
RawFrame * getRawFrame() override
void frameEnd() override
Signals the end of a frame.
Generic implementation of a pixel-based Renderer.
LDPixelRenderer(LaserdiscPlayer &ld, Display &display)
A video frame as output by the VDP scanline conversion unit, before any postprocessing filters are ap...
Definition: RawFrame.hh:25
void frameStart(EmuTime::param time) override
Signals the start of a new frame.
Thanks to enen for testing this on a real cartridge:
Definition: Autofire.cc:5
int g
void drawBlank(int r, int g, int b) override
Abstract base class for LDRenderers.
Definition: LDRenderer.hh:18