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
Collaboration diagram for openmsx::VideoLayer:
Collaboration graph

Public Types

enum class  Video9000Active { NO , FRONT , BACK }
- Public Types inherited from openmsx::Layer
enum class  ZIndex {
 Determines stacking order of layers: layers with higher Z-indices are closer to the viewer. More...
enum class  Coverage { FULL , PARTIAL , NONE }
 Describes how much of the screen is currently covered by a particular layer. More...

Public Member Functions

 VideoLayer (const VideoLayer &)=delete
 VideoLayer (VideoLayer &&)=delete
VideoLayeroperator= (const VideoLayer &)=delete
VideoLayeroperator= (VideoLayer &&)=delete
int getVideoSource () const
 Returns the ID for this VideoLayer.
int getVideoSourceSetting () const
virtual void takeRawScreenShot (unsigned height, const std::string &filename)=0
 Create a raw (=non-post-processed) screenshot.
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.
ZIndex getZ () const
 Query the Z-index of this layer.
bool isActive () const
Coverage getCoverage () const
 Query the coverage of this layer.
void setDisplay (LayerListener &display_)
 Store pointer to Display.

Protected Member Functions

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

Detailed Description

Definition at line 17 of file VideoLayer.hh.

Member Enumeration Documentation

◆ Video9000Active


Definition at line 43 of file VideoLayer.hh.

Constructor & Destructor Documentation

◆ VideoLayer() [1/3]

openmsx::VideoLayer::VideoLayer ( const VideoLayer )

◆ VideoLayer() [2/3]

openmsx::VideoLayer::VideoLayer ( VideoLayer &&  )

◆ VideoLayer() [3/3]

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

◆ ~VideoLayer()

openmsx::VideoLayer::~VideoLayer ( )

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

References openmsx::VideoSourceActivator::getID().

Referenced by needRecord(), and needRender().

◆ getVideoSourceSetting()

int openmsx::VideoLayer::getVideoSourceSetting ( ) const

Definition at line 44 of file

References openmsx::VideoSourceSetting::getSource().

◆ needRecord()

bool openmsx::VideoLayer::needRecord ( ) const

◆ needRender()

bool openmsx::VideoLayer::needRender ( ) const

Definition at line 82 of file

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

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ setVideo9000Active()

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

Definition at line 44 of file VideoLayer.hh.

◆ takeRawScreenShot()

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

Create a raw (=non-post-processed) 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)

Implements openmsx::Observer< Setting >.

Definition at line 49 of file

References setting.

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