openMSX
V9990Rasterizer.hh
Go to the documentation of this file.
1 #ifndef V9990RASTERIZER_HH
2 #define V9990RASTERIZER_HH
3 
4 #include "V9990ModeEnum.hh"
5 #include "EmuTime.hh"
6 #include "openmsx.hh"
7 
8 namespace openmsx {
9 
10 class PostProcessor;
11 
16 {
17 public:
18  virtual ~V9990Rasterizer() = default;
19 
21  [[nodiscard]] virtual PostProcessor* getPostProcessor() const = 0;
22 
28  [[nodiscard]] virtual bool isActive() = 0;
29 
32  virtual void reset() = 0;
33 
36  virtual void frameStart() = 0;
37 
40  virtual void frameEnd(EmuTime::param time) = 0;
41 
46  virtual void setDisplayMode(enum V9990DisplayMode displayMode) = 0;
47 
52  virtual void setColorMode(enum V9990ColorMode colorMode) = 0;
53 
61  virtual void setPalette(int index, byte r, byte g, byte b, bool ys) = 0;
62 
64  virtual void setSuperimpose(bool enabled) = 0;
65 
73  virtual void drawBorder(
74  int fromX, int fromY,
75  int limitX, int limitY) = 0;
76 
91  virtual void drawDisplay(
92  int fromX, int fromY, int toX, int toY,
93  int displayX, int displayY, int displayYA, int displayYB) = 0;
94 
97  [[nodiscard]] virtual bool isRecording() const = 0;
98 };
99 
100 } // namespace openmsx
101 
102 #endif
int g
Abstract base class for post processors.
If this seems awfully familiar, take a look at Rasterizer.hh It's virtually the same class,...
virtual ~V9990Rasterizer()=default
virtual void frameEnd(EmuTime::param time)=0
Indicates the end of the current frame.
virtual void frameStart()=0
Indicates the start of a new frame.
virtual bool isActive()=0
Will the output of this Rasterizer be displayed? There is no point in producing a frame that will not...
virtual void setSuperimpose(bool enabled)=0
Is superimpose enabled?
virtual void drawBorder(int fromX, int fromY, int limitX, int limitY)=0
Render a rectangle of border pixels on the host screen.
virtual void setPalette(int index, byte r, byte g, byte b, bool ys)=0
Set RGB values for a palette entry.
virtual bool isRecording() const =0
Is video recording active?
virtual PostProcessor * getPostProcessor() const =0
See V9990::getPostProcessor().
virtual void setDisplayMode(enum V9990DisplayMode displayMode)=0
The display mode determines the screens geometry and how V9990 pixels are mapped to pixels on screen.
virtual void drawDisplay(int fromX, int fromY, int toX, int toY, int displayX, int displayY, int displayYA, int displayYB)=0
Render a rectangle of display pixels on the host screen.
virtual void setColorMode(enum V9990ColorMode colorMode)=0
The color mode determines how the V9990 VRAM data gets converted to pixel colors.
virtual void reset()=0
Resynchronize with VDP - flush caches etc.
This file implemented 3 utility functions:
Definition: Autofire.cc:9