80 [[nodiscard]]
float getFps()
const;
83 void resetVideoSystem();
86 bool signalEvent(
const Event& event)
override;
89 void executeRT()
override;
94 void checkRendererSwitch();
95 void doRendererSwitch();
96 void doRendererSwitch2();
100 [[nodiscard]] Layers::iterator baseLayer();
103 void updateZ(
Layer& layer)
noexcept override;
107 std::unique_ptr<VideoSystem> videoSystem;
109 std::vector<VideoSystemChangeListener*> listeners;
112 static constexpr unsigned NUM_FRAME_DURATIONS = 50;
114 uint64_t frameDurationSum;
115 uint64_t prevTimeStamp;
117 struct ScreenShotCmd final :
Command {
119 void execute(std::span<const TclObject> tokens,
TclObject& result)
override;
120 [[nodiscard]] std::string help(std::span<const TclObject> tokens)
const override;
121 void tabCompletion(std::vector<std::string>& tokens)
const override;
124 struct FpsInfoTopic final : InfoTopic {
125 explicit FpsInfoTopic(InfoCommand& openMSXInfoCommand);
126 void execute(std::span<const TclObject> tokens,
127 TclObject& result)
const override;
128 [[nodiscard]] std::string help(std::span<const TclObject> tokens)
const override;
134 RenderSettings renderSettings;
139 bool renderFrozen =
false;
140 bool switchInProgress =
false;
std::variant< KeyUpEvent, KeyDownEvent, MouseMotionEvent, MouseButtonUpEvent, MouseButtonDownEvent, MouseWheelEvent, JoystickAxisMotionEvent, JoystickHatEvent, JoystickButtonUpEvent, JoystickButtonDownEvent, OsdControlReleaseEvent, OsdControlPressEvent, WindowEvent, TextEvent, FileDropEvent, QuitEvent, FinishFrameEvent, CliCommandEvent, GroupEvent, BootEvent, FrameDrawnEvent, BreakEvent, SwitchRendererEvent, TakeReverseSnapshotEvent, AfterTimedEvent, MachineLoadedEvent, MachineActivatedEvent, MachineDeactivatedEvent, MidiInReaderEvent, MidiInWindowsEvent, MidiInCoreMidiEvent, MidiInCoreMidiVirtualEvent, MidiInALSAEvent, Rs232TesterEvent, Rs232NetEvent, ImGuiDelayedActionEvent, ImGuiActiveEvent > Event