openMSX
Public Member Functions | List of all members
openmsx::SDLVideoSystem Class Referencefinal

#include <SDLVideoSystem.hh>

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

Public Member Functions

 SDLVideoSystem (Reactor &reactor, CommandConsole &console)
 Activates this video system. More...
 
 ~SDLVideoSystem () override
 Deactivates this video system. More...
 
std::unique_ptr< RasterizercreateRasterizer (VDP &vdp) override
 Create the rasterizer selected by the current renderer setting. More...
 
std::unique_ptr< V9990RasterizercreateV9990Rasterizer (V9990 &vdp) override
 Create the V9990 rasterizer selected by the current renderer setting. More...
 
std::unique_ptr< LDRasterizercreateLDRasterizer (LaserdiscPlayer &ld) override
 
bool checkSettings () override
 Requests that this renderer checks its settings against the current RenderSettings. More...
 
void flush () override
 Finish pending drawing operations and make them visible to the user. More...
 
void takeScreenShot (const std::string &filename, bool withOsd) override
 Take a screenshot. More...
 
void updateWindowTitle () override
 Called when the window title string has changed. More...
 
gl::ivec2 getMouseCoord () override
 Returns the current mouse pointer coordinates. More...
 
OutputSurfacegetOutputSurface () override
 TODO. More...
 
void showCursor (bool show) override
 
bool getCursorEnabled () override
 
std::string getClipboardText () override
 
void setClipboardText (zstring_view text) override
 
void repaint () override
 Requests a repaint of the output surface. More...
 
- Public Member Functions inherited from openmsx::VideoSystem
virtual ~VideoSystem ()=default
 
virtual std::unique_ptr< RasterizercreateRasterizer (VDP &vdp)=0
 Create the rasterizer selected by the current renderer setting. More...
 
virtual std::unique_ptr< V9990RasterizercreateV9990Rasterizer (V9990 &vdp)=0
 Create the V9990 rasterizer selected by the current renderer setting. More...
 
virtual std::unique_ptr< LDRasterizercreateLDRasterizer (LaserdiscPlayer &ld)=0
 
virtual bool checkSettings ()
 Requests that this renderer checks its settings against the current RenderSettings. More...
 
virtual void flush ()=0
 Finish pending drawing operations and make them visible to the user. More...
 
virtual void takeScreenShot (const std::string &filename, bool withOsd)
 Take a screenshot. More...
 
virtual void updateWindowTitle ()
 Called when the window title string has changed. More...
 
virtual gl::ivec2 getMouseCoord ()=0
 Returns the current mouse pointer coordinates. More...
 
virtual OutputSurfacegetOutputSurface ()=0
 TODO. More...
 
virtual void showCursor (bool show)=0
 
virtual bool getCursorEnabled ()=0
 
virtual std::string getClipboardText ()=0
 
virtual void setClipboardText (zstring_view text)=0
 
virtual void repaint ()=0
 Requests a repaint of the output surface. More...
 

Additional Inherited Members

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

Detailed Description

Definition at line 21 of file SDLVideoSystem.hh.

Constructor & Destructor Documentation

◆ SDLVideoSystem()

openmsx::SDLVideoSystem::SDLVideoSystem ( Reactor reactor,
CommandConsole console 
)
explicit

◆ ~SDLVideoSystem()

openmsx::SDLVideoSystem::~SDLVideoSystem ( )
override

Member Function Documentation

◆ checkSettings()

bool openmsx::SDLVideoSystem::checkSettings ( )
overridevirtual

Requests that this renderer checks its settings against the current RenderSettings.

If possible, update the settings of this renderer. The implementation in the Renderer base class checks whether the right renderer is selected. Subclasses are encouraged to check more settings.

Returns
True if the settings were still in sync or were successfully synced; false if the renderer is unable to bring the settings in sync. TODO: Text copied from Renderer interface, if this stays here then rewrite text accordingly.

Reimplemented from openmsx::VideoSystem.

Definition at line 205 of file SDLVideoSystem.cc.

References openmsx::RenderSettings::getFullScreen().

◆ createLDRasterizer()

std::unique_ptr< LDRasterizer > openmsx::SDLVideoSystem::createLDRasterizer ( LaserdiscPlayer ld)
overridevirtual

◆ createRasterizer()

std::unique_ptr< Rasterizer > openmsx::SDLVideoSystem::createRasterizer ( VDP vdp)
overridevirtual

Create the rasterizer selected by the current renderer setting.

Video systems that use a rasterizer must override this method.

Parameters
vdpThe VDP whose display will be rendered.
Returns
The rasterizer created.

Implements openmsx::VideoSystem.

Definition at line 61 of file SDLVideoSystem.cc.

References openmsx::MSXDevice::getMotherBoard(), openmsx::MSXDevice::getName(), openmsx::RenderSettings::getRenderer(), openmsx::RenderSettings::SDL, openmsx::RenderSettings::SDLGL_PP, and UNREACHABLE.

◆ createV9990Rasterizer()

std::unique_ptr< V9990Rasterizer > openmsx::SDLVideoSystem::createV9990Rasterizer ( V9990 vdp)
overridevirtual

Create the V9990 rasterizer selected by the current renderer setting.

Video systems that use a rasterizer must override this method.

Parameters
vdpThe V9990 whose display will be rendered.
Returns
The rasterizer created.

Implements openmsx::VideoSystem.

Definition at line 102 of file SDLVideoSystem.cc.

References openmsx::MSXDevice::getMotherBoard(), openmsx::MSXDevice::getName(), openmsx::RenderSettings::getRenderer(), openmsx::RenderSettings::SDL, openmsx::RenderSettings::SDLGL_PP, and UNREACHABLE.

◆ flush()

void openmsx::SDLVideoSystem::flush ( )
overridevirtual

Finish pending drawing operations and make them visible to the user.

Implements openmsx::VideoSystem.

Definition at line 216 of file SDLVideoSystem.cc.

◆ getClipboardText()

std::string openmsx::SDLVideoSystem::getClipboardText ( )
overridevirtual

Implements openmsx::VideoSystem.

Definition at line 264 of file SDLVideoSystem.cc.

◆ getCursorEnabled()

bool openmsx::SDLVideoSystem::getCursorEnabled ( )
overridevirtual

Implements openmsx::VideoSystem.

Definition at line 259 of file SDLVideoSystem.cc.

◆ getMouseCoord()

gl::ivec2 openmsx::SDLVideoSystem::getMouseCoord ( )
overridevirtual

Returns the current mouse pointer coordinates.

Implements openmsx::VideoSystem.

Definition at line 242 of file SDLVideoSystem.cc.

◆ getOutputSurface()

OutputSurface * openmsx::SDLVideoSystem::getOutputSurface ( )
overridevirtual

TODO.

Implements openmsx::VideoSystem.

Definition at line 249 of file SDLVideoSystem.cc.

◆ repaint()

void openmsx::SDLVideoSystem::repaint ( )
overridevirtual

Requests a repaint of the output surface.

An implementation might start a repaint directly, or trigger a queued rendering.

Implements openmsx::VideoSystem.

Definition at line 283 of file SDLVideoSystem.cc.

References openmsx::Display::repaintImpl().

◆ setClipboardText()

void openmsx::SDLVideoSystem::setClipboardText ( zstring_view  text)
overridevirtual

Implements openmsx::VideoSystem.

Definition at line 274 of file SDLVideoSystem.cc.

References zstring_view::c_str().

◆ showCursor()

void openmsx::SDLVideoSystem::showCursor ( bool  show)
overridevirtual

Implements openmsx::VideoSystem.

Definition at line 254 of file SDLVideoSystem.cc.

◆ takeScreenShot()

void openmsx::SDLVideoSystem::takeScreenShot ( const std::string &  filename,
bool  withOsd 
)
overridevirtual

Take a screenshot.

The default implementation throws an exception.

Parameters
filenameName of the file to save the screenshot to.
withOsdShould OSD elements be included in the screenshot.
Exceptions
MSXExceptionIf taking the screen shot fails.

Reimplemented from openmsx::VideoSystem.

Definition at line 221 of file SDLVideoSystem.cc.

References openmsx::Display::repaintImpl().

◆ updateWindowTitle()

void openmsx::SDLVideoSystem::updateWindowTitle ( )
overridevirtual

Called when the window title string has changed.

Reimplemented from openmsx::VideoSystem.

Definition at line 237 of file SDLVideoSystem.cc.


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