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
8namespace openmsx {
9
10class PostProcessor;
11
16{
17public:
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
A post processor builds the frame that is displayed from the MSX frame, while applying effects such a...
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 PostProcessor * getPostProcessor() const =0
See V9990::getPostProcessor().
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 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:11