openMSX
Public Types | Public Member Functions | Protected Member Functions | List of all members
openmsx::VideoLayer Class Referenceabstract

#include <VideoLayer.hh>

Inheritance diagram for openmsx::VideoLayer:
Inheritance graph
[legend]
Collaboration diagram for openmsx::VideoLayer:
Collaboration graph
[legend]

Public Types

enum  Video9000Active { INACTIVE, ACTIVE_FRONT, ACTIVE_BACK }
 
- Public Types inherited from openmsx::Layer
enum  ZIndex {
  Z_DUMMY = -1, Z_BACKGROUND = 0, Z_MSX_PASSIVE = 30, Z_MSX_ACTIVE = 40,
  Z_OSDGUI = 50, Z_CONSOLE = 100
}
 Determines stacking order of layers: layers with higher Z-indices are closer to the viewer. More...
 
enum  Coverage { COVER_FULL, COVER_PARTIAL, COVER_NONE }
 Describes how much of the screen is currently covered by a particular layer. More...
 

Public Member Functions

 VideoLayer (const VideoLayer &)=delete
 
VideoLayeroperator= (const VideoLayer &)=delete
 
int getVideoSource () const
 Returns the ID for this videolayer. More...
 
int getVideoSourceSetting () const
 
virtual void takeRawScreenShot (unsigned height, const std::string &filename)=0
 Create a raw (=non-postprocessed) screenshot. More...
 
void setVideo9000Active (int video9000Source_, Video9000Active active)
 
bool needRender () const
 
bool needRecord () const
 
- Public Member Functions inherited from openmsx::Layer
virtual ~Layer ()=default
 
virtual void paint (OutputSurface &output)=0
 Paint this layer. More...
 
ZIndex getZ () const
 Query the Z-index of this layer. More...
 
Coverage getCoverage () const
 Query the coverage of this layer. More...
 
void setDisplay (LayerListener &display_)
 Store pointer to Display. More...
 

Protected Member Functions

 VideoLayer (MSXMotherBoard &motherBoard, const std::string &videoSource)
 
 ~VideoLayer ()
 
void update (const Setting &setting) override
 
- Protected Member Functions inherited from openmsx::Layer
 Layer (Coverage coverage=COVER_NONE, ZIndex z=Z_DUMMY)
 Construct a layer. More...
 
void setCoverage (Coverage coverage_)
 Changes the current coverage of this layer. More...
 
void setZ (ZIndex z)
 Changes the current Z-index of this layer. More...
 
- Protected Member Functions inherited from openmsx::Observer< Setting >
 ~Observer ()
 
virtual void subjectDeleted (const Setting &)
 

Detailed Description

Definition at line 17 of file VideoLayer.hh.

Member Enumeration Documentation

◆ Video9000Active

Enumerator
INACTIVE 
ACTIVE_FRONT 
ACTIVE_BACK 

Definition at line 41 of file VideoLayer.hh.

Constructor & Destructor Documentation

◆ VideoLayer() [1/2]

openmsx::VideoLayer::VideoLayer ( const VideoLayer )
delete

Referenced by setVideo9000Active().

◆ VideoLayer() [2/2]

openmsx::VideoLayer::VideoLayer ( MSXMotherBoard motherBoard,
const std::string &  videoSource 
)
protected

◆ ~VideoLayer()

openmsx::VideoLayer::~VideoLayer ( )
protected

Member Function Documentation

◆ getVideoSource()

int openmsx::VideoLayer::getVideoSource ( ) const

Returns the ID for this videolayer.

These IDs are globally unique. The 'videosource' setting uses these IDs as possible values.

Definition at line 40 of file VideoLayer.cc.

References openmsx::VideoSourceActivator::getID().

Referenced by needRecord(), needRender(), openmsx::PostProcessor::rotateFrames(), update(), and openmsx::Video9000::writeIO().

◆ getVideoSourceSetting()

int openmsx::VideoLayer::getVideoSourceSetting ( ) const

◆ needRecord()

bool openmsx::VideoLayer::needRecord ( ) const

◆ needRender()

bool openmsx::VideoLayer::needRender ( ) const

Definition at line 85 of file VideoLayer.cc.

References openmsx::VideoSourceSetting::getSource(), getVideoSource(), and INACTIVE.

Referenced by setVideo9000Active().

◆ operator=()

VideoLayer& openmsx::VideoLayer::operator= ( const VideoLayer )
delete

◆ setVideo9000Active()

void openmsx::VideoLayer::setVideo9000Active ( int  video9000Source_,
Video9000Active  active 
)
inline

Definition at line 42 of file VideoLayer.hh.

References needRecord(), needRender(), update(), VideoLayer(), and ~VideoLayer().

Referenced by openmsx::Video9000::writeIO().

◆ takeRawScreenShot()

virtual void openmsx::VideoLayer::takeRawScreenShot ( unsigned  height,
const std::string &  filename 
)
pure virtual

Create a raw (=non-postprocessed) screenshot.

The 'height' parameter should be either '240' or '480'. The current image will be scaled to '320x240' or '640x480' and written to a png file.

Implemented in openmsx::PostProcessor.

◆ update()

void openmsx::VideoLayer::update ( const Setting setting)
overrideprotectedvirtual

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