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
7namespace openmsx {
8
9class Reactor;
10class Display;
11class VideoSystem;
12class Renderer;
13class VDP;
14class V9990Renderer;
15class V9990;
16class LDRenderer;
17class LaserdiscPlayer;
18
24namespace RendererFactory
25{
28 [[nodiscard]] std::unique_ptr<VideoSystem> createVideoSystem(Reactor& reactor);
29
34 [[nodiscard]] std::unique_ptr<Renderer> createRenderer(VDP& vdp, Display& display);
35
40 [[nodiscard]] std::unique_ptr<V9990Renderer> createV9990Renderer(
41 V9990& vdp, Display& display);
42
43#if COMPONENT_LASERDISC
48 [[nodiscard]] std::unique_ptr<LDRenderer> createLDRenderer(
49 LaserdiscPlayer& ld, Display& display);
50#endif
51
52} // namespace RendererFactory
53} // namespace openmsx
54
55#endif
std::unique_ptr< VideoSystem > createVideoSystem(Reactor &reactor)
Create the video system required by the current renderer setting.
std::unique_ptr< V9990Renderer > createV9990Renderer(V9990 &vdp, Display &display)
Create the V9990 Renderer selected by the current renderer setting.
std::unique_ptr< Renderer > createRenderer(VDP &vdp, Display &display)
Create the Renderer selected by the current renderer setting.
This file implemented 3 utility functions:
Definition Autofire.cc:11