openMSX
|
#include <SDLVideoSystem.hh>
Public Member Functions | |
SDLVideoSystem (Reactor &reactor) | |
Activates this video system. More... | |
~SDLVideoSystem () override | |
Deactivates this video system. More... | |
std::unique_ptr< Rasterizer > | createRasterizer (VDP &vdp) override |
Create the rasterizer selected by the current renderer setting. More... | |
std::unique_ptr< V9990Rasterizer > | createV9990Rasterizer (V9990 &vdp) override |
Create the V9990 rasterizer selected by the current renderer setting. More... | |
std::unique_ptr< LDRasterizer > | createLDRasterizer (LaserdiscPlayer &ld) override |
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... | |
OutputSurface * | getOutputSurface () override |
TODO. More... | |
void | showCursor (bool show) override |
bool | getCursorEnabled () override |
std::string | getClipboardText () override |
void | setClipboardText (zstring_view text) override |
std::optional< gl::ivec2 > | getWindowPosition () override |
void | setWindowPosition (gl::ivec2 pos) override |
void | repaint () override |
Requests a repaint of the output surface. More... | |
![]() | |
virtual | ~VideoSystem ()=default |
virtual std::unique_ptr< Rasterizer > | createRasterizer (VDP &vdp)=0 |
Create the rasterizer selected by the current renderer setting. More... | |
virtual std::unique_ptr< V9990Rasterizer > | createV9990Rasterizer (V9990 &vdp)=0 |
Create the V9990 rasterizer selected by the current renderer setting. More... | |
virtual std::unique_ptr< LDRasterizer > | createLDRasterizer (LaserdiscPlayer &ld)=0 |
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 OutputSurface * | getOutputSurface ()=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 std::optional< gl::ivec2 > | getWindowPosition ()=0 |
virtual void | setWindowPosition (gl::ivec2 pos)=0 |
virtual void | repaint ()=0 |
Requests a repaint of the output surface. More... | |
Additional Inherited Members | |
![]() | |
VideoSystem ()=default | |
Definition at line 20 of file SDLVideoSystem.hh.
|
explicit |
Activates this video system.
InitException | If initialisation fails. |
Definition at line 24 of file SDLVideoSystem.cc.
References openmsx::Display::addLayer(), openmsx::Subject< T >::attach(), openmsx::Reactor::getCliComm(), openmsx::Reactor::getEventDistributor(), openmsx::RenderSettings::getFullScreenSetting(), openmsx::Reactor::getImGuiManager(), openmsx::Reactor::getInputEventGenerator(), openmsx::Display::getOSDGUI(), openmsx::Reactor::getRTScheduler(), and openmsx::RenderSettings::getScaleFactorSetting().
|
override |
Deactivates this video system.
Definition at line 46 of file SDLVideoSystem.cc.
References openmsx::Subject< T >::detach(), openmsx::RenderSettings::getFullScreenSetting(), openmsx::RenderSettings::getScaleFactorSetting(), and openmsx::Display::removeLayer().
|
overridevirtual |
Implements openmsx::VideoSystem.
Definition at line 94 of file SDLVideoSystem.cc.
References openmsx::LaserdiscPlayer::getMotherBoard(), openmsx::RenderSettings::getRenderer(), openmsx::RenderSettings::SDLGL_PP, and UNREACHABLE.
|
overridevirtual |
Create the rasterizer selected by the current renderer setting.
Video systems that use a rasterizer must override this method.
vdp | The VDP whose display will be rendered. |
Implements openmsx::VideoSystem.
Definition at line 56 of file SDLVideoSystem.cc.
References openmsx::MSXDevice::getMotherBoard(), openmsx::MSXDevice::getName(), openmsx::RenderSettings::getRenderer(), openmsx::RenderSettings::SDLGL_PP, and UNREACHABLE.
|
overridevirtual |
Create the V9990 rasterizer selected by the current renderer setting.
Video systems that use a rasterizer must override this method.
vdp | The V9990 whose display will be rendered. |
Implements openmsx::VideoSystem.
Definition at line 74 of file SDLVideoSystem.cc.
References openmsx::MSXDevice::getMotherBoard(), openmsx::MSXDevice::getName(), openmsx::RenderSettings::getRenderer(), openmsx::RenderSettings::SDLGL_PP, and UNREACHABLE.
|
overridevirtual |
Finish pending drawing operations and make them visible to the user.
Implements openmsx::VideoSystem.
Definition at line 111 of file SDLVideoSystem.cc.
|
overridevirtual |
Implements openmsx::VideoSystem.
Definition at line 159 of file SDLVideoSystem.cc.
|
overridevirtual |
Implements openmsx::VideoSystem.
Definition at line 154 of file SDLVideoSystem.cc.
|
overridevirtual |
Returns the current mouse pointer coordinates.
Implements openmsx::VideoSystem.
Definition at line 137 of file SDLVideoSystem.cc.
|
overridevirtual |
|
overridevirtual |
Implements openmsx::VideoSystem.
Definition at line 178 of file SDLVideoSystem.cc.
|
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 188 of file SDLVideoSystem.cc.
References openmsx::Display::repaintImpl().
|
overridevirtual |
Implements openmsx::VideoSystem.
Definition at line 169 of file SDLVideoSystem.cc.
References zstring_view::c_str().
|
overridevirtual |
Implements openmsx::VideoSystem.
Definition at line 183 of file SDLVideoSystem.cc.
|
overridevirtual |
Implements openmsx::VideoSystem.
Definition at line 149 of file SDLVideoSystem.cc.
|
overridevirtual |
Take a screenshot.
The default implementation throws an exception.
filename | Name of the file to save the screenshot to. |
withOsd | Should OSD elements be included in the screenshot. |
MSXException | If taking the screen shot fails. |
Reimplemented from openmsx::VideoSystem.
Definition at line 116 of file SDLVideoSystem.cc.
References openmsx::Display::repaintImpl().
|
overridevirtual |
Called when the window title string has changed.
Reimplemented from openmsx::VideoSystem.
Definition at line 132 of file SDLVideoSystem.cc.