12class MSXEventDistributor;
13class StateChangeDistributor;
23 template<
typename Archive>
24 void serialize(Archive& ar,
unsigned version);
28 [[nodiscard]] std::string_view getName()
const override;
29 [[nodiscard]] std::string_view getDescription()
const override;
30 void plugHelper(
Connector& connector, EmuTime::param time)
override;
31 void unplugHelper(EmuTime::param time)
override;
34 [[nodiscard]] uint8_t read(EmuTime::param time)
override;
35 void write(uint8_t value, EmuTime::param time)
override;
38 void signalMSXEvent(
const Event& event,
39 EmuTime::param time)
noexcept override;
41 void signalStateChange(
const StateChange& event)
override;
42 void stopReplay(EmuTime::param time)
noexcept override;
44 void createMouseStateChange(EmuTime::param time,
45 int deltaX,
int deltaY, uint8_t press, uint8_t release);
46 void emulateJoystick();
52 EmuTime lastTime = EmuTime::zero();
54 int xRel = 0, yRel = 0;
55 int curXRel = 0, curYRel = 0;
56 int fractionalX = 0, fractionalY = 0;
58 bool mouseMode =
true;
Represents something you can plug devices into.
static constexpr uint8_t JOY_BUTTONA
static constexpr uint8_t JOY_BUTTONB
Mouse(MSXEventDistributor &eventDistributor, StateChangeDistributor &stateChangeDistributor)
void serialize(Archive &ar, unsigned version)
Base class for all external MSX state changing events.
This file implemented 3 utility functions:
SERIALIZE_CLASS_VERSION(CassettePlayer, 2)