openMSX
|
#include <Rasterizer.hh>
Public Member Functions | |
virtual | ~Rasterizer ()=default |
virtual PostProcessor * | getPostProcessor () const =0 |
See VDP::getPostProcessor(). | |
virtual bool | isActive ()=0 |
Will the output of this Rasterizer be displayed? There is no point in producing a frame that will not be displayed. | |
virtual void | reset ()=0 |
Resynchronize with VDP: all cached states are flushed. | |
virtual void | frameStart (EmuTime::param time)=0 |
Indicates the start of a new frame. | |
virtual void | frameEnd ()=0 |
Indicates the end of the current frame. | |
virtual void | setDisplayMode (DisplayMode mode)=0 |
Precalc several values that depend on the display mode. | |
virtual void | setPalette (unsigned index, int grb)=0 |
Change an entry in the palette. | |
virtual void | setBackgroundColor (byte index)=0 |
Changes the background color. | |
virtual void | setHorizontalAdjust (int adjust)=0 |
virtual void | setHorizontalScrollLow (byte scroll)=0 |
virtual void | setBorderMask (bool masked)=0 |
virtual void | setTransparency (bool enabled)=0 |
virtual void | setSuperimposeVideoFrame (const RawFrame *videoSource)=0 |
virtual void | drawBorder (int fromX, int fromY, int limitX, int limitY)=0 |
Render a rectangle of border pixels on the host screen. | |
virtual void | drawDisplay (int fromX, int fromY, int displayX, int displayY, int displayWidth, int displayHeight)=0 |
Render a rectangle of display pixels on the host screen. | |
virtual void | drawSprites (int fromX, int fromY, int displayX, int displayY, int displayWidth, int displayHeight)=0 |
Render a rectangle of sprite pixels on the host screen. | |
virtual bool | isRecording () const =0 |
Is video recording active? | |
Protected Member Functions | |
Rasterizer ()=default | |
Definition at line 12 of file Rasterizer.hh.
|
virtualdefault |
|
protecteddefault |
|
pure virtual |
Render a rectangle of border pixels on the host screen.
The units are absolute lines (Y) and VDP clock ticks (X).
fromX | X coordinate of render start (inclusive). |
fromY | Y coordinate of render start (inclusive). |
limitX | X coordinate of render end (exclusive). |
limitY | Y coordinate of render end (exclusive). |
Implemented in openmsx::SDLRasterizer.
|
pure virtual |
Render a rectangle of display pixels on the host screen.
fromX | X coordinate of render start in VDP ticks. |
fromY | Y coordinate of render start in absolute lines. |
displayX | display coordinate of render start: [0..512). |
displayY | display coordinate of render start: [0..256). |
displayWidth | rectangle width in pixels (512 per line). |
displayHeight | rectangle height in lines. |
Implemented in openmsx::SDLRasterizer.
|
pure virtual |
Render a rectangle of sprite pixels on the host screen.
Although the parameters are very similar to drawDisplay, the displayX and displayWidth use range [0..256) instead of [0..512) because VDP sprite coordinates work that way.
fromX | X coordinate of render start in VDP ticks. |
fromY | Y coordinate of render start in absolute lines. |
displayX | display coordinate of render start: [0..256). |
displayY | display coordinate of render start: [0..256). |
displayWidth | rectangle width in pixels (256 per line). |
displayHeight | rectangle height in lines. |
Implemented in openmsx::SDLRasterizer.
|
pure virtual |
Indicates the end of the current frame.
The rasterizer can perform image post processing.
Implemented in openmsx::SDLRasterizer.
|
pure virtual |
Indicates the start of a new frame.
The rasterizer can fetch per-frame settings from the VDP.
Implemented in openmsx::SDLRasterizer.
|
pure virtual |
Implemented in openmsx::SDLRasterizer.
|
pure virtual |
Will the output of this Rasterizer be displayed? There is no point in producing a frame that will not be displayed.
TODO: Is querying the next pipeline step the best way to solve this, or is it better to explicitly disable the first step in the pipeline?
Implemented in openmsx::SDLRasterizer.
|
pure virtual |
Is video recording active?
Implemented in openmsx::SDLRasterizer.
|
pure virtual |
Resynchronize with VDP: all cached states are flushed.
Implemented in openmsx::SDLRasterizer.
|
pure virtual |
Changes the background color.
index | Palette index of the new background color. |
Implemented in openmsx::SDLRasterizer.
|
pure virtual |
Implemented in openmsx::SDLRasterizer.
|
pure virtual |
Precalc several values that depend on the display mode.
mode | The new display mode. |
Implemented in openmsx::SDLRasterizer.
|
pure virtual |
Implemented in openmsx::SDLRasterizer.
|
pure virtual |
Implemented in openmsx::SDLRasterizer.
|
pure virtual |
Change an entry in the palette.
index | The index [0..15] in the palette that changes. |
grb | The new definition for the changed palette index: bit 10..8 is green, bit 6..4 is red and bit 2..0 is blue; all other bits are zero. |
Implemented in openmsx::SDLRasterizer.
|
pure virtual |
Implemented in openmsx::SDLRasterizer.
|
pure virtual |
Implemented in openmsx::SDLRasterizer.