updated version
This commit is contained in:
@@ -3,21 +3,25 @@
|
||||
#define FONT_PACK_H
|
||||
#include <stdint.h>
|
||||
|
||||
#define FONT_WIDTH 16
|
||||
#define FONT_WIDTH 16
|
||||
#define FONT_HEIGHT 16
|
||||
#define FONT_BITMAP_SIZE ((FONT_WIDTH * FONT_HEIGHT) / 8) // 32 bytes per character
|
||||
#define FONT_BITMAP_SIZE \
|
||||
((FONT_WIDTH * FONT_HEIGHT) / 8) // 32 bytes per character
|
||||
static const uint8_t empty_char_16x16[32] = {0};
|
||||
|
||||
typedef struct {
|
||||
const uint8_t *bitmaps[26]; // Pointers to each 16x16 bitmap
|
||||
const uint8_t *bitmaps[26]; // Pointers to each 16x16 bitmap
|
||||
} FontPack;
|
||||
|
||||
extern const FontPack basic_font_pack;
|
||||
|
||||
static inline const uint8_t *font_get_char_bitmap(const FontPack *pack, char c) {
|
||||
if (c >= 'A' && c <= 'Z')
|
||||
return pack->bitmaps[c - 'A'];
|
||||
return empty_char_16x16; // Or point to empty_char_16x16
|
||||
static inline const uint8_t *font_get_char_bitmap(const FontPack *pack,
|
||||
char c) {
|
||||
if (c >= 'a' && c <= 'z') // convert to uppercase
|
||||
c = c - 'a' + 'A';
|
||||
if (c >= 'A' && c <= 'Z')
|
||||
return pack->bitmaps[c - 'A'];
|
||||
return empty_char_16x16; // fallback for other characters
|
||||
}
|
||||
|
||||
#endif // FONT_PACK_H
|
||||
|
||||
Reference in New Issue
Block a user