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