1

cleanup some vbe stuff

This commit is contained in:
2022-07-24 14:13:59 +02:00
parent adbc87c680
commit 319fb25ae1
11 changed files with 2872 additions and 2875 deletions

View File

@ -13,37 +13,38 @@
class Font {
public:
virtual unsigned char* getChar(int c) const = 0;
virtual const unsigned char* getChar(int c) const = 0;
virtual unsigned int get_char_width() const = 0;
virtual unsigned int get_char_height() const = 0;
};
template<unsigned int width, unsigned int height, unsigned char* data>
template<unsigned int width, unsigned int height, const unsigned char* data>
class FontInstance : public Font {
const unsigned int char_width;
const unsigned int char_height;
const unsigned int char_mem_size;
unsigned char* font_data;
const unsigned char* font_data;
public:
FontInstance() : char_width(width), char_height(height), char_mem_size((((char_width + (8 >> 1)) / 8) * char_height)), font_data(data) {}
inline unsigned char* getChar(int c) const {
inline const unsigned char* getChar(int c) const override {
return &font_data[char_mem_size * c];
}
inline unsigned int get_char_width() const {
inline unsigned int get_char_width() const override {
return char_width;
}
inline unsigned int get_char_height() const {
inline unsigned int get_char_height() const override {
return char_height;
}
};
extern unsigned char fontdata_8x16[];
extern unsigned char fontdata_8x8[];
extern unsigned char acorndata_8x8[];
extern unsigned char fontdata_pearl_8x8[];
extern unsigned char fontdata_sun_12x22[];
extern unsigned char fontdata_sun_8x16[];
extern const unsigned char fontdata_8x16[];
extern const unsigned char fontdata_8x8[];
extern const unsigned char acorndata_8x8[];
extern const unsigned char fontdata_pearl_8x8[];
extern const unsigned char fontdata_sun_12x22[];
extern const unsigned char fontdata_sun_8x16[];
typedef FontInstance<8, 16, fontdata_8x16> Font_8x16;
typedef FontInstance<8, 8, fontdata_8x8> Font_8x8;
@ -52,11 +53,11 @@ typedef FontInstance<8, 8, fontdata_pearl_8x8> Font_pearl_8x8;
typedef FontInstance<12, 22, fontdata_sun_12x22> Font_sun_12x22;
typedef FontInstance<8, 16, fontdata_sun_8x16> Font_sun_8x16;
extern Font_8x16 std_font_8x16;
extern Font_8x8 std_font_8x8;
extern Font_acorn_8x8 acorn_font_8x8;
extern Font_pearl_8x8 pearl_font_8x8;
extern Font_sun_12x22 sun_font_12x22;
extern Font_sun_8x16 sun_font_8x16;
extern const Font_8x16 std_font_8x16;
extern const Font_8x8 std_font_8x8;
extern const Font_acorn_8x8 acorn_font_8x8;
extern const Font_pearl_8x8 pearl_font_8x8;
extern const Font_sun_12x22 sun_font_12x22;
extern const Font_sun_8x16 sun_font_8x16;
#endif