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
openmsx::LDRenderer
Abstract base class for LDRenderers.
Definition: LDRenderer.hh:18
openmsx::LDPixelRenderer::~LDPixelRenderer
~LDPixelRenderer() override
openmsx::LDPixelRenderer::getRawFrame
RawFrame * getRawFrame() override
Definition: LDPixelRenderer.cc:47
openmsx::LaserdiscPlayer
Definition: LaserdiscPlayer.hh:25
openmsx::EventDistributor
Definition: EventDistributor.hh:16
LDRenderer.hh
openmsx::LDPixelRenderer
Generic implementation of a pixel-based Renderer.
Definition: LDPixelRenderer.hh:18
openmsx::LDPixelRenderer::LDPixelRenderer
LDPixelRenderer(LaserdiscPlayer &ld, Display &display)
Definition: LDPixelRenderer.cc:15
openmsx::LDPixelRenderer::drawBlank
void drawBlank(int r, int g, int b) override
Definition: LDPixelRenderer.cc:42
openmsx::MSXMotherBoard
Definition: MSXMotherBoard.hh:59
openmsx::LaserdiscPlayer
LaserdiscPlayer
Definition: LaserdiscPlayer.cc:1134
openmsx::LDPixelRenderer::frameEnd
void frameEnd() override
Signals the end of a frame.
Definition: LDPixelRenderer.cc:34
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
openmsx::Display
Represents the output window/screen of openMSX.
Definition: Display.hh:31
openmsx::LDPixelRenderer::frameStart
void frameStart(EmuTime::param time) override
Signals the start of a new frame.
Definition: LDPixelRenderer.cc:24
openmsx
Thanks to enen for testing this on a real cartridge:
Definition: Autofire.cc:5