mirror of
https://github.com/daveallie/crosspoint-reader.git
synced 2026-02-05 23:27:38 +03:00
26 lines
1.2 KiB
C++
26 lines
1.2 KiB
C++
#pragma once
|
|
#include "EpdFontData.h"
|
|
#include "EpdFontStyles.h"
|
|
|
|
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;
|
|
|
|
public:
|
|
const EpdFontData* data;
|
|
explicit EpdFont(const EpdFontData* data) : data(data) {}
|
|
virtual ~EpdFont() = default;
|
|
|
|
void getTextDimensions(const char* string, int* w, int* h,
|
|
const EpdFontStyles::Style style = EpdFontStyles::REGULAR) const;
|
|
int getTextAdvance(const char* string, 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; }
|
|
};
|