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_IMGUI = 60
}
 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.
 
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_=COVER_NONE, ZIndex z_=Z_DUMMY)
 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
 
Observeroperator= (const Observer &)=delete
 
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

◆ VideoLayer() [2/2]

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

◆ ~VideoLayer()

openmsx::VideoLayer::~VideoLayer ( )
overrideprotected

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 39 of file VideoLayer.cc.

References openmsx::VideoSourceActivator::getID().

Referenced by needRecord(), and needRender().

◆ getVideoSourceSetting()

int openmsx::VideoLayer::getVideoSourceSetting ( ) const

Definition at line 43 of file VideoLayer.cc.

References openmsx::VideoSourceSetting::getSource().

◆ needRecord()

bool openmsx::VideoLayer::needRecord ( ) const

◆ needRender()

bool openmsx::VideoLayer::needRender ( ) const

◆ 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.

◆ 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)
overrideprotectedvirtualnoexcept

Implements openmsx::Observer< Setting >.

Definition at line 48 of file VideoLayer.cc.

References setting.


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