openMSX
V9990Renderer.hh
Go to the documentation of this file.
1 #ifndef V9990RENDERER_HH
2 #define V9990RENDERER_HH
3 
4 #include "V9990ModeEnum.hh"
5 #include "EmuTime.hh"
6 #include "openmsx.hh"
7 
8 namespace openmsx {
9 
10 class PostProcessor;
11 
19 {
20 public:
21  virtual ~V9990Renderer() = default;
22 
24  virtual PostProcessor* getPostProcessor() const = 0;
25 
29  virtual void reset(EmuTime::param time) = 0;
30 
38  virtual void frameStart(EmuTime::param time) = 0;
39 
43  virtual void frameEnd(EmuTime::param time) = 0;
44 
48  virtual void renderUntil(EmuTime::param time) = 0;
49 
56  virtual void updateDisplayEnabled(bool enabled, EmuTime::param time) = 0;
57 
59  virtual void setDisplayMode(V9990DisplayMode mode,
60  EmuTime::param time) = 0;
61 
63  virtual void setColorMode(V9990ColorMode mode,
64  EmuTime::param time) = 0;
65 
67  virtual void updatePalette(int index, byte r, byte g, byte b, bool ys,
68  EmuTime::param time) = 0;
69 
71  virtual void updateSuperimposing(bool enabled, EmuTime::param time) = 0;
72 
74  virtual void updateBackgroundColor(int index, EmuTime::param time) = 0;
75 
77  virtual void updateScrollAX(EmuTime::param time) = 0;
78  virtual void updateScrollBX(EmuTime::param time) = 0;
79  virtual void updateScrollAYLow(EmuTime::param time) = 0;
80  virtual void updateScrollBYLow(EmuTime::param time) = 0;
81 
82 protected:
83  V9990Renderer() = default;
84 };
85 
86 } // namespace openmsx
87 
88 #endif
openmsx::V9990Renderer::reset
virtual void reset(EmuTime::param time)=0
Re-initialise the V9990Renderer's state.
openmsx::V9990Renderer::renderUntil
virtual void renderUntil(EmuTime::param time)=0
Render until the given point in emulated time.
openmsx.hh
openmsx::V9990Renderer::~V9990Renderer
virtual ~V9990Renderer()=default
openmsx::V9990Renderer::frameEnd
virtual void frameEnd(EmuTime::param time)=0
Signal the end of the current frame.
openmsx::V9990Renderer::V9990Renderer
V9990Renderer()=default
V9990ModeEnum.hh
openmsx::V9990Renderer::frameStart
virtual void frameStart(EmuTime::param time)=0
Signal the start of a new frame.
openmsx::V9990ColorMode
V9990ColorMode
Definition: V9990ModeEnum.hh:11
openmsx::V9990Renderer::setColorMode
virtual void setColorMode(V9990ColorMode mode, EmuTime::param time)=0
Set color mode.
openmsx::V9990Renderer::updateScrollAYLow
virtual void updateScrollAYLow(EmuTime::param time)=0
openmsx::V9990Renderer::updateSuperimposing
virtual void updateSuperimposing(bool enabled, EmuTime::param time)=0
Change superimpose status.
openmsx::V9990Renderer::updateScrollBX
virtual void updateScrollBX(EmuTime::param time)=0
openmsx::V9990Renderer::getPostProcessor
virtual PostProcessor * getPostProcessor() const =0
See V9990::getPostProcessor.
openmsx::V9990DisplayMode
V9990DisplayMode
Definition: V9990ModeEnum.hh:6
openmsx::PostProcessor
Abstract base class for post processors.
Definition: PostProcessor.hh:29
g
int g
Definition: ScopedAssign_test.cc:20
openmsx::V9990Renderer::updatePalette
virtual void updatePalette(int index, byte r, byte g, byte b, bool ys, EmuTime::param time)=0
Set a palette entry.
openmsx::V9990Renderer::updateBackgroundColor
virtual void updateBackgroundColor(int index, EmuTime::param time)=0
Set background color.
EmuTime.hh
openmsx::V9990Renderer::updateScrollBYLow
virtual void updateScrollBYLow(EmuTime::param time)=0
openmsx::V9990Renderer::updateScrollAX
virtual void updateScrollAX(EmuTime::param time)=0
Set scroll register.
openmsx::V9990Renderer::updateDisplayEnabled
virtual void updateDisplayEnabled(bool enabled, EmuTime::param time)=0
Informs the renderer of a VDP display enabled change.
openmsx
Thanks to enen for testing this on a real cartridge:
Definition: Autofire.cc:5
openmsx::V9990Renderer::setDisplayMode
virtual void setDisplayMode(V9990DisplayMode mode, EmuTime::param time)=0
Set screen mode.
openmsx::V9990Renderer
Abstract base class for V9990 renderers.
Definition: V9990Renderer.hh:18