80 void resetVideoSystem();
83 int signalEvent(
const Event& event)
override;
86 void executeRT()
override;
91 void checkRendererSwitch();
92 void doRendererSwitch();
93 void doRendererSwitch2();
97 [[nodiscard]] Layers::iterator baseLayer();
100 void updateZ(
Layer& layer)
noexcept override;
104 std::unique_ptr<VideoSystem> videoSystem;
106 std::vector<VideoSystemChangeListener*> listeners;
109 static constexpr unsigned NUM_FRAME_DURATIONS = 50;
111 uint64_t frameDurationSum;
112 uint64_t prevTimeStamp;
114 struct ScreenShotCmd final :
Command {
116 void execute(std::span<const TclObject> tokens,
TclObject& result)
override;
117 [[nodiscard]] std::string help(std::span<const TclObject> tokens)
const override;
118 void tabCompletion(std::vector<std::string>& tokens)
const override;
121 struct FpsInfoTopic final : InfoTopic {
122 explicit FpsInfoTopic(InfoCommand& openMSXInfoCommand);
123 void execute(std::span<const TclObject> tokens,
124 TclObject& result)
const override;
125 [[nodiscard]] std::string help(std::span<const TclObject> tokens)
const override;
131 RenderSettings renderSettings;
136 bool renderFrozen =
false;
137 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