openMSX
RendererFactory.hh
Go to the documentation of this file.
1 #ifndef RENDERERFACTORY_HH
2 #define RENDERERFACTORY_HH
3 
4 #include <memory>
5 #include "components.hh"
6 
7 namespace openmsx {
8 
9 class Reactor;
10 class Display;
11 class VideoSystem;
12 class Renderer;
13 class VDP;
14 class V9990Renderer;
15 class V9990;
16 class LDRenderer;
17 class LaserdiscPlayer;
18 
24 namespace RendererFactory
25 {
28  std::unique_ptr<VideoSystem> createVideoSystem(Reactor& reactor);
29 
34  std::unique_ptr<Renderer> createRenderer(VDP& vdp, Display& display);
35 
40  std::unique_ptr<V9990Renderer> createV9990Renderer(
41  V9990& vdp, Display& display);
42 
43 #if COMPONENT_LASERDISC
44 
48  std::unique_ptr<LDRenderer> createLDRenderer(
49  LaserdiscPlayer& ld, Display& display);
50 #endif
51 
52 } // namespace RendererFactory
53 } // namespace openmsx
54 
55 #endif
unique_ptr< VideoSystem > createVideoSystem(Reactor &reactor)
Create the video system required by the current renderer setting.
unique_ptr< Renderer > createRenderer(VDP &vdp, Display &display)
Create the Renderer selected by the current renderer setting.
Thanks to enen for testing this on a real cartridge:
Definition: Autofire.cc:5
unique_ptr< LDRenderer > createLDRenderer(LaserdiscPlayer &ld, Display &display)
Create the Laserdisc Renderer.
unique_ptr< V9990Renderer > createV9990Renderer(V9990 &vdp, Display &display)
Create the V9990 Renderer selected by the current renderer setting.