82 [[nodiscard]]
float getFps()
const;
85 void resetVideoSystem();
88 bool signalEvent(
const Event& event)
override;
91 void executeRT()
override;
96 void checkRendererSwitch();
97 void doRendererSwitch();
98 void doRendererSwitch2();
102 [[nodiscard]] Layers::iterator baseLayer();
106 std::unique_ptr<VideoSystem> videoSystem;
108 std::vector<VideoSystemChangeListener*> listeners;
111 static constexpr unsigned NUM_FRAME_DURATIONS = 50;
113 uint64_t frameDurationSum;
114 uint64_t prevTimeStamp;
116 struct ScreenShotCmd final :
Command {
118 void execute(std::span<const TclObject> tokens,
TclObject& result)
override;
119 [[nodiscard]] std::string help(std::span<const TclObject> tokens)
const override;
122 struct FpsInfoTopic final : InfoTopic {
123 explicit FpsInfoTopic(InfoCommand& openMSXInfoCommand);
124 void execute(std::span<const TclObject> tokens,
125 TclObject& result)
const override;
126 [[nodiscard]] std::string help(std::span<const TclObject> tokens)
const override;
132 RenderSettings renderSettings;
137 bool renderFrozen =
false;
138 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