13class MSXEventDistributor;
14class StateChangeDistributor;
24 template<
typename Archive>
25 void serialize(Archive& ar,
unsigned version);
28 void createTrackballStateChange(EmuTime::param time,
29 int deltaX,
int deltaY, uint8_t press, uint8_t release);
31 void syncCurrentWithTarget(EmuTime::param time);
34 [[nodiscard]] std::string_view getName()
const override;
35 [[nodiscard]] std::string_view getDescription()
const override;
36 void plugHelper(
Connector& connector, EmuTime::param time)
override;
37 void unplugHelper(EmuTime::param time)
override;
40 [[nodiscard]] uint8_t read(EmuTime::param time)
override;
41 void write(uint8_t value, EmuTime::param time)
override;
44 void signalMSXEvent(
const Event& event,
45 EmuTime::param time)
noexcept override;
47 void signalStateChange(
const StateChange& event)
override;
48 void stopReplay(EmuTime::param time)
noexcept override;
54 EmuTime lastSync = EmuTime::zero();
55 int8_t targetDeltaX = 0, targetDeltaY = 0;
56 int8_t currentDeltaX = 0, currentDeltaY = 0;
57 uint8_t lastValue = 0;
Represents something you can plug devices into.
static constexpr uint8_t JOY_BUTTONA
static constexpr uint8_t JOY_BUTTONB
Base class for all external MSX state changing events.
Trackball(MSXEventDistributor &eventDistributor, StateChangeDistributor &stateChangeDistributor)
void serialize(Archive &ar, unsigned version)
This file implemented 3 utility functions:
SERIALIZE_CLASS_VERSION(CassettePlayer, 2)