24class VideoSystemChangeListener;
70 void resetVideoSystem();
73 int signalEvent(
const Event& event)
override;
76 void executeRT()
override;
81 void checkRendererSwitch();
82 void doRendererSwitch();
83 void doRendererSwitch2();
87 [[nodiscard]] Layers::iterator baseLayer();
90 void updateZ(
Layer& layer)
noexcept override;
94 std::unique_ptr<VideoSystem> videoSystem;
96 std::vector<VideoSystemChangeListener*> listeners;
99 static constexpr unsigned NUM_FRAME_DURATIONS = 50;
101 uint64_t frameDurationSum;
102 uint64_t prevTimeStamp;
104 struct ScreenShotCmd final :
Command {
106 void execute(std::span<const TclObject> tokens,
TclObject& result)
override;
107 [[nodiscard]] std::string help(std::span<const TclObject> tokens)
const override;
108 void tabCompletion(std::vector<std::string>& tokens)
const override;
111 struct FpsInfoTopic final : InfoTopic {
112 explicit FpsInfoTopic(InfoCommand& openMSXInfoCommand);
113 void execute(std::span<const TclObject> tokens,
114 TclObject& result)
const override;
115 [[nodiscard]] std::string help(std::span<const TclObject> tokens)
const override;
121 RenderSettings renderSettings;
122 CommandConsole commandConsole;
127 bool renderFrozen =
false;
128 bool switchInProgress =
false;
Represents the output window/screen of openMSX.
std::string getWindowTitle()
void repaint()
Redraw the display.
void detach(VideoSystemChangeListener &listener)
CliComm & getCliComm() const
std::vector< Layer * > Layers
void removeLayer(Layer &layer)
VideoSystem & getVideoSystem()
Display(Reactor &reactor)
RenderSettings & getRenderSettings()
void attach(VideoSystemChangeListener &listener)
void repaintDelayed(uint64_t delta)
Layer * findActiveLayer() const
CommandConsole & getCommandConsole()
OutputSurface * getOutputSurface()
const Layers & getAllLayers() const
void addLayer(Layer &layer)
Interface for display layers.
Generic Gang-of-Four Observer class, templatized edition.
A frame buffer where pixels can be written to.
Contains the main loop of openMSX.
Class containing all settings for renderers.
RendererID
Enumeration of Renderers known to openMSX.
This file implemented 3 utility functions: