25 lines
1.1 KiB
C
Raw Normal View History

2025-12-03 22:00:29 +11:00
#pragma once
#include "EpdFontData.h"
#include "EpdFontStyles.h"
2025-12-03 22:00:29 +11:00
class EpdFont {
protected:
void getTextBounds(const char* string, int startX, int startY, int* minX, int* minY, int* maxX, int* maxY,
const EpdFontStyles::Style style = EpdFontStyles::REGULAR) const;
2025-12-03 22:00:29 +11:00
public:
const EpdFontData* data;
2025-12-06 15:50:11 +11:00
explicit EpdFont(const EpdFontData* data) : data(data) {}
virtual ~EpdFont() = default;
2025-12-03 22:00:29 +11:00
void getTextDimensions(const char* string, int* w, int* h,
const EpdFontStyles::Style style = EpdFontStyles::REGULAR) const;
bool hasPrintableChars(const char* string, const EpdFontStyles::Style style = EpdFontStyles::REGULAR) const;
virtual const EpdGlyph* getGlyph(uint32_t cp, const EpdFontStyles::Style style = EpdFontStyles::REGULAR) const;
virtual const uint8_t* loadGlyphBitmap(const EpdGlyph* glyph, uint8_t* buffer,
const EpdFontStyles::Style style = EpdFontStyles::REGULAR) const;
virtual const EpdFontData* getData(const EpdFontStyles::Style style = EpdFontStyles::REGULAR) const { return data; }
2025-12-03 22:00:29 +11:00
};