30 [[nodiscard]]
bool getStatus(EmuTime::param time)
override;
31 void setStrobe(
bool strobe, EmuTime::param time)
override;
32 void writeData(uint8_t data, EmuTime::param time)
override;
41 virtual void write(uint8_t data) = 0;
46 bool prevStrobe =
true;
54 void write(uint8_t data)
override;
67 void plot9Dots(
double x,
double y,
unsigned pattern);
118 std::array<uint8_t, 256 * MAX_FONT_WIDTH>
rom;
119 std::array<uint8_t, 256 * MAX_FONT_WIDTH>
ram;
147 std::unique_ptr<Paper> paper;
149 std::shared_ptr<IntegerSetting> dpiSetting;
151 const bool graphicsHiLo;
161 [[nodiscard]] std::string_view
getName()
const override;
164 template<
typename Archive>
165 void serialize(Archive& ar,
unsigned version);
168 [[nodiscard]]
unsigned parseNumber(
unsigned sizeStart,
unsigned sizeChars);
170 [[nodiscard]] std::pair<unsigned, unsigned> getNumberOfDots()
override;
171 void resetSettings()
override;
172 [[nodiscard]]
unsigned calcEscSequenceLength(uint8_t character)
override;
173 void processEscSequence()
override;
174 void processCharacter(uint8_t data)
override;
184 [[nodiscard]] std::string_view
getName()
const override;
187 template<
typename Archive>
188 void serialize(Archive& ar,
unsigned version);
191 [[nodiscard]]
unsigned parseNumber(
unsigned sizeStart,
unsigned sizeChars);
193 [[nodiscard]] std::pair<unsigned, unsigned> getNumberOfDots()
override;
194 void resetSettings()
override;
195 [[nodiscard]]
unsigned calcEscSequenceLength(uint8_t character)
override;
196 void processEscSequence()
override;
197 void processCharacter(uint8_t data)
override;
Represents something you can plug devices into.
std::string_view getName() const override
Name used to identify this pluggable.
void serialize(Archive &ar, unsigned version)
std::string_view getDescription() const override
Description for this pluggable.
std::string_view getDescription() const override
Description for this pluggable.
void serialize(Archive &ar, unsigned version)
std::string_view getName() const override
Name used to identify this pluggable.
virtual unsigned calcEscSequenceLength(uint8_t character)=0
void seekPrinterHeadRelative(double offset)
void resetEmulatedPrinter()
virtual std::pair< unsigned, unsigned > getNumberOfDots()=0
unsigned remainingCommandBytes
std::array< uint8_t, MAX_ESC_CMDSIZE > abEscSeq
virtual void processCharacter(uint8_t data)=0
void plot9Dots(double x, double y, unsigned pattern)
static constexpr int MAX_ESC_CMDSIZE
unsigned sizeRemainingDataBytes
virtual void resetSettings()=0
void printVisibleCharacter(uint8_t data)
void forceFormFeed() override
static constexpr unsigned PIXEL_WIDTH
struct openmsx::ImagePrinter::FontInfo fontInfo
virtual void processEscSequence()=0
static constexpr int MAX_FONT_WIDTH
void flushEmulatedPrinter()
void write(uint8_t data) override
void printGraphicByte(uint8_t data)
void writeData(uint8_t data, EmuTime::param time) override
Sets the data signals.
void setStrobe(bool strobe, EmuTime::param time) override
Sets the strobe signal: false = low, true = high.
virtual void forceFormFeed()=0
void plugHelper(Connector &connector, EmuTime::param time) override
virtual void write(uint8_t data)=0
void unplugHelper(EmuTime::param time) override
bool getStatus(EmuTime::param time) override
Returns the STATUS signal: false = low = ready, true = high = not ready.
~PrinterCore() override=default
This file implemented 3 utility functions:
std::array< uint8_t, 256 *MAX_FONT_WIDTH > rom
std::array< uint8_t, 256 *MAX_FONT_WIDTH > ram