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
8namespace openmsx {
9
10class PostProcessor;
11
19{
20public:
21 virtual ~V9990Renderer() = default;
22
24 [[nodiscard]] 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
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
82protected:
83 V9990Renderer() = default;
84};
85
86} // namespace openmsx
87
88#endif
int g
A post processor builds the frame that is displayed from the MSX frame, while applying effects such a...
Abstract base class for V9990 renderers.
virtual PostProcessor * getPostProcessor() const =0
See V9990::getPostProcessor.
virtual ~V9990Renderer()=default
virtual void setColorMode(V9990ColorMode mode, EmuTime::param time)=0
Set color mode.
virtual void updateDisplayEnabled(bool enabled, EmuTime::param time)=0
Informs the renderer of a VDP display enabled change.
virtual void updateScrollBYLow(EmuTime::param time)=0
virtual void updatePalette(int index, byte r, byte g, byte b, bool ys, EmuTime::param time)=0
Set a palette entry.
virtual void reset(EmuTime::param time)=0
Re-initialise the V9990Renderer's state.
virtual void updateScrollBX(EmuTime::param time)=0
virtual void frameStart(EmuTime::param time)=0
Signal the start of a new frame.
virtual void setDisplayMode(V9990DisplayMode mode, EmuTime::param time)=0
Set screen mode.
virtual void updateScrollAYLow(EmuTime::param time)=0
virtual void renderUntil(EmuTime::param time)=0
Render until the given point in emulated time.
virtual void updateBackgroundColor(int index, EmuTime::param time)=0
Set background color.
virtual void updateSuperimposing(bool enabled, EmuTime::param time)=0
Change superimpose status.
virtual void updateScrollAX(EmuTime::param time)=0
Set scroll register.
virtual void frameEnd(EmuTime::param time)=0
Signal the end of the current frame.
This file implemented 3 utility functions:
Definition Autofire.cc:9