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

An OutputSurface which is visible to the user, such as a window or a full screen display. More...

#include <VisibleSurface.hh>

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

Public Member Functions

virtual ~VisibleSurface ()
 
virtual void updateWindowTitle ()=0
 
virtual bool setFullScreen (bool fullscreen)=0
 
virtual void finish ()=0
 When a complete frame is finished, call this method. More...
 
virtual std::unique_ptr< LayercreateSnowLayer ()=0
 
virtual std::unique_ptr< LayercreateConsoleLayer (Reactor &reactor, CommandConsole &console)=0
 
virtual std::unique_ptr< LayercreateOSDGUILayer (OSDGUI &gui)=0
 
virtual std::unique_ptr< OutputSurfacecreateOffScreenSurface ()=0
 Create an off-screen OutputSurface which has similar properties as this VisibleSurface. More...
 
CliCommgetCliComm () const
 
DisplaygetDisplay () const
 

Protected Member Functions

 VisibleSurface (Display &display, RTScheduler &rtScheduler, EventDistributor &eventDistributor, InputEventGenerator &inputEventGenerator, CliComm &cliComm, VideoSystem &videoSystem)
 
- Protected Member Functions inherited from openmsx::EventListener
 EventListener ()=default
 
 ~EventListener ()=default
 

Detailed Description

An OutputSurface which is visible to the user, such as a window or a full screen display.

Definition at line 26 of file VisibleSurface.hh.

Constructor & Destructor Documentation

◆ ~VisibleSurface()

openmsx::VisibleSurface::~VisibleSurface ( )
virtual

◆ VisibleSurface()

openmsx::VisibleSurface::VisibleSurface ( Display display,
RTScheduler rtScheduler,
EventDistributor eventDistributor,
InputEventGenerator inputEventGenerator,
CliComm cliComm,
VideoSystem videoSystem 
)
protected

Member Function Documentation

◆ createConsoleLayer()

virtual std::unique_ptr<Layer> openmsx::VisibleSurface::createConsoleLayer ( Reactor reactor,
CommandConsole console 
)
pure virtual

◆ createOffScreenSurface()

virtual std::unique_ptr<OutputSurface> openmsx::VisibleSurface::createOffScreenSurface ( )
pure virtual

Create an off-screen OutputSurface which has similar properties as this VisibleSurface.

E.g. used to re-render the current frame without OSD elements to take a screenshot.

Implemented in openmsx::SDLGLVisibleSurface, and openmsx::SDLVisibleSurface.

◆ createOSDGUILayer()

virtual std::unique_ptr<Layer> openmsx::VisibleSurface::createOSDGUILayer ( OSDGUI gui)
pure virtual

◆ createSnowLayer()

virtual std::unique_ptr<Layer> openmsx::VisibleSurface::createSnowLayer ( )
pure virtual

◆ finish()

virtual void openmsx::VisibleSurface::finish ( )
pure virtual

When a complete frame is finished, call this method.

It will 'actually' display it. E.g. when using double buffering it will swap the front and back buffer.

Implemented in openmsx::SDLGLVisibleSurface, and openmsx::SDLVisibleSurface.

◆ getCliComm()

CliComm& openmsx::VisibleSurface::getCliComm ( ) const
inline

Definition at line 51 of file VisibleSurface.hh.

Referenced by openmsx::SDLVisibleSurfaceBase::createSurface().

◆ getDisplay()

Display& openmsx::VisibleSurface::getDisplay ( ) const
inline

◆ setFullScreen()

virtual bool openmsx::VisibleSurface::setFullScreen ( bool  fullscreen)
pure virtual

◆ updateWindowTitle()

virtual void openmsx::VisibleSurface::updateWindowTitle ( )
pure virtual

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