openMSX
Public Member Functions | List of all members
openmsx::V9990Rasterizer Class Referenceabstract

If this seems awfully familiar, take a look at Rasterizer.hh It's virtually the same class, but for a different video processor. More...

#include <V9990Rasterizer.hh>

Inheritance diagram for openmsx::V9990Rasterizer:
Inheritance graph
[legend]

Public Member Functions

virtual ~V9990Rasterizer ()=default
 
virtual PostProcessorgetPostProcessor () const =0
 See V9990::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 - flush caches etc.
 
virtual void frameStart ()=0
 Indicates the start of a new frame.
 
virtual void frameEnd (EmuTime::param time)=0
 Indicates the end of the current frame.
 
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 setColorMode (enum V9990ColorMode colorMode)=0
 The color mode determines how the V9990 VRAM data gets converted to pixel colors.
 
virtual void setPalette (int index, byte r, byte g, byte b, bool ys)=0
 Set RGB values for a palette entry.
 
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 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 bool isRecording () const =0
 Is video recording active?
 

Detailed Description

If this seems awfully familiar, take a look at Rasterizer.hh It's virtually the same class, but for a different video processor.

Definition at line 15 of file V9990Rasterizer.hh.

Constructor & Destructor Documentation

◆ ~V9990Rasterizer()

virtual openmsx::V9990Rasterizer::~V9990Rasterizer ( )
virtualdefault

Member Function Documentation

◆ drawBorder()

virtual void openmsx::V9990Rasterizer::drawBorder ( int  fromX,
int  fromY,
int  limitX,
int  limitY 
)
pure virtual

Render a rectangle of border pixels on the host screen.

The units are absolute lines (Y) and V9990 UC ticks (X).

Parameters
fromXX coordinate of render start (inclusive).
fromYY coordinate of render start (inclusive).
limitXX coordinate of render end (exclusive).
limitYY coordinate of render end (exclusive).

Implemented in openmsx::V9990SDLRasterizer.

◆ drawDisplay()

virtual void openmsx::V9990Rasterizer::drawDisplay ( int  fromX,
int  fromY,
int  toX,
int  toY,
int  displayX,
int  displayY,
int  displayYA,
int  displayYB 
)
pure virtual

Render a rectangle of display pixels on the host screen.

Parameters
fromXX coordinate of render start in V9990 UC ticks.
fromYY coordinate of render start in absolute lines.
toXX coordinate of render stop in V9990 UC ticks (exclusive).
toYY coordinate of render stop in absolute lines (exclusive).
displayXdisplay coordinate of render start: [0..640).
displayYdisplay coordinate of render start: [0..480).
displayYAsimilar to displayY but specific for plane A
displayYBsimilar to displayY but specific for plane B Note: Usually displayY, displayYA and displayYB will all be the same. Only in case the vertical scroll register is updated in the middle of a frame they can differ, see V9990PixelRenderer::updateScrollAYLow()

Implemented in openmsx::V9990SDLRasterizer.

◆ frameEnd()

virtual void openmsx::V9990Rasterizer::frameEnd ( EmuTime::param  time)
pure virtual

Indicates the end of the current frame.

Implemented in openmsx::V9990SDLRasterizer.

◆ frameStart()

virtual void openmsx::V9990Rasterizer::frameStart ( )
pure virtual

Indicates the start of a new frame.

Implemented in openmsx::V9990SDLRasterizer.

◆ getPostProcessor()

virtual PostProcessor * openmsx::V9990Rasterizer::getPostProcessor ( ) const
pure virtual

◆ isActive()

virtual bool openmsx::V9990Rasterizer::isActive ( )
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::V9990SDLRasterizer.

◆ isRecording()

virtual bool openmsx::V9990Rasterizer::isRecording ( ) const
pure virtual

Is video recording active?

Implemented in openmsx::V9990SDLRasterizer.

◆ reset()

virtual void openmsx::V9990Rasterizer::reset ( )
pure virtual

Resynchronize with VDP - flush caches etc.

Implemented in openmsx::V9990SDLRasterizer.

◆ setColorMode()

virtual void openmsx::V9990Rasterizer::setColorMode ( enum V9990ColorMode  colorMode)
pure virtual

The color mode determines how the V9990 VRAM data gets converted to pixel colors.

Parameters
colorModeThe new color mode.

Implemented in openmsx::V9990SDLRasterizer.

◆ setDisplayMode()

virtual void openmsx::V9990Rasterizer::setDisplayMode ( enum V9990DisplayMode  displayMode)
pure virtual

The display mode determines the screens geometry and how V9990 pixels are mapped to pixels on screen.

Parameters
displayModeThe new display mode.

Implemented in openmsx::V9990SDLRasterizer.

◆ setPalette()

virtual void openmsx::V9990Rasterizer::setPalette ( int  index,
byte  r,
byte  g,
byte  b,
bool  ys 
)
pure virtual

Set RGB values for a palette entry.

Parameters
indexIndex in palette
rRed component intensity (5 bits)
gGreen component intensity (5 bits)
bBlue component intensity (5 bits)
ysIs this entry transparent

Implemented in openmsx::V9990SDLRasterizer.

◆ setSuperimpose()

virtual void openmsx::V9990Rasterizer::setSuperimpose ( bool  enabled)
pure virtual

Is superimpose enabled?

Implemented in openmsx::V9990SDLRasterizer.


The documentation for this class was generated from the following file: