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();
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();
84 };
85 
86 } // namespace openmsx
87 
88 #endif
virtual void reset(EmuTime::param time)=0
Re-initialise the V9990Renderer's state.
virtual void updateDisplayEnabled(bool enabled, EmuTime::param time)=0
Informs the renderer of a VDP display enabled change.
unsigned char byte
8 bit unsigned integer
Definition: openmsx.hh:27
Abstract base class for V9990 renderers.
virtual void updateSuperimposing(bool enabled, EmuTime::param time)=0
Change superimpose status.
virtual void frameStart(EmuTime::param time)=0
Signal the start of a new frame.
virtual PostProcessor * getPostProcessor() const =0
See V9990::getPostProcessor.
virtual void renderUntil(EmuTime::param time)=0
Render until the given point in emulated time.
virtual void updateScrollBYLow(EmuTime::param time)=0
virtual void frameEnd(EmuTime::param time)=0
Signal the end of the current frame.
virtual void setDisplayMode(V9990DisplayMode mode, EmuTime::param time)=0
Set screen mode.
Thanks to enen for testing this on a real cartridge:
Definition: Autofire.cc:7
virtual void updateScrollAYLow(EmuTime::param time)=0
Abstract base class for post processors.
virtual void setColorMode(V9990ColorMode mode, EmuTime::param time)=0
Set color mode.
virtual void updateBackgroundColor(int index, EmuTime::param time)=0
Set background color.
virtual void updateScrollAX(EmuTime::param time)=0
Set scroll register.
virtual void updatePalette(int index, byte r, byte g, byte b, bool ys, EmuTime::param time)=0
Set a palette entry.
V9990Renderer()
Dummy Default Renderer.
Definition: V9990Renderer.cc:8
virtual void updateScrollBX(EmuTime::param time)=0