openMSX
Classes | Public Types | Public Member Functions | List of all members
openmsx::Display Class Referencefinal

Represents the output window/screen of openMSX. More...

#include <Display.hh>

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

Public Types

using Layers = std::vector< Layer * >
 

Public Member Functions

 Display (Reactor &reactor)
 
 ~Display ()
 
void createVideoSystem ()
 
VideoSystemgetVideoSystem ()
 
CliCommgetCliComm () const
 
RenderSettingsgetRenderSettings ()
 
OSDGUIgetOSDGUI ()
 
CommandConsolegetCommandConsole ()
 
void repaint ()
 Redraw the display. More...
 
void repaintDelayed (uint64_t delta)
 
void repaintImpl ()
 
void repaintImpl (OutputSurface &surface)
 
void addLayer (Layer &layer)
 
void removeLayer (Layer &layer)
 
void attach (VideoSystemChangeListener &listener)
 
void detach (VideoSystemChangeListener &listener)
 
LayerfindActiveLayer () const
 
const LayersgetAllLayers () const
 
OutputSurfacegetOutputSurface ()
 
std::string getWindowTitle ()
 
- Public Member Functions inherited from openmsx::EventListener
 EventListener (const EventListener &)=delete
 
EventListeneroperator= (const EventListener &)=delete
 
virtual int signalEvent (const Event &event)=0
 This method gets called when an event you are subscribed to occurs. More...
 

Additional Inherited Members

- Protected Member Functions inherited from openmsx::EventListener
 EventListener ()=default
 
 ~EventListener ()=default
 

Detailed Description

Represents the output window/screen of openMSX.

A display contains several layers.

Definition at line 31 of file Display.hh.

Member Typedef Documentation

◆ Layers

using openmsx::Display::Layers = std::vector<Layer*>

Definition at line 35 of file Display.hh.

Constructor & Destructor Documentation

◆ Display()

openmsx::Display::Display ( Reactor reactor)
explicit

◆ ~Display()

openmsx::Display::~Display ( )

Member Function Documentation

◆ addLayer()

void openmsx::Display::addLayer ( Layer layer)

◆ attach()

void openmsx::Display::attach ( VideoSystemChangeListener listener)

Definition at line 131 of file Display.cc.

References contains().

Referenced by openmsx::VDP::VDP(), and openmsx::Video9000::Video9000().

◆ createVideoSystem()

void openmsx::Display::createVideoSystem ( )

◆ detach()

void openmsx::Display::detach ( VideoSystemChangeListener listener)

◆ findActiveLayer()

Layer * openmsx::Display::findActiveLayer ( ) const

Definition at line 142 of file Display.cc.

References ranges::find_if(), and openmsx::Layer::isActive().

◆ getAllLayers()

const Layers & openmsx::Display::getAllLayers ( ) const
inline

Definition at line 63 of file Display.hh.

◆ getCliComm()

CliComm & openmsx::Display::getCliComm ( ) const

◆ getCommandConsole()

CommandConsole & openmsx::Display::getCommandConsole ( )
inline

Definition at line 46 of file Display.hh.

Referenced by openmsx::RendererFactory::createVideoSystem().

◆ getOSDGUI()

OSDGUI & openmsx::Display::getOSDGUI ( )
inline

◆ getOutputSurface()

OutputSurface * openmsx::Display::getOutputSurface ( )

Definition at line 113 of file Display.cc.

Referenced by openmsx::OSDImageBasedWidget::getRenderedSize().

◆ getRenderSettings()

RenderSettings & openmsx::Display::getRenderSettings ( )
inline

◆ getVideoSystem()

VideoSystem & openmsx::Display::getVideoSystem ( )

◆ getWindowTitle()

string openmsx::Display::getWindowTitle ( )

◆ removeLayer()

void openmsx::Display::removeLayer ( Layer layer)

◆ repaint()

void openmsx::Display::repaint ( )

Redraw the display.

The repaintImpl() methods are for internal and VideoSystem/VisibleSurface use only.

Definition at line 364 of file Display.cc.

◆ repaintDelayed()

void openmsx::Display::repaintDelayed ( uint64_t  delta)

◆ repaintImpl() [1/2]

void openmsx::Display::repaintImpl ( )

◆ repaintImpl() [2/2]

void openmsx::Display::repaintImpl ( OutputSurface surface)

Definition at line 355 of file Display.cc.

References openmsx::Layer::COVER_NONE, and end().


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