blob: b8170de82eff8db1444b51f4caff07b03817871e [file]
#pragma once
#include <cstdint>
namespace blit {
struct Font {
constexpr Font(const uint8_t *data, const uint8_t *char_w_variable, uint8_t char_w, uint8_t char_h, uint8_t spacing_y = 1)
: data(data), char_w(char_w), char_h(char_h), spacing_y(spacing_y), char_w_variable(char_w_variable) {}
/// Create a font from a packed font asset
constexpr Font(const uint8_t *data) : data(data + 8 + data[4]), char_w(data[5]), char_h(data[6]), spacing_y(data[7]), char_w_variable(data + 8) {}
/// Character data (packed 1 bit per pixel)
const uint8_t *data;
/// Fixed character size
uint8_t char_w, char_h;
/// Extra line spacing
uint8_t spacing_y;
/// Individual character widths
const uint8_t *char_w_variable;
};
extern const Font outline_font;
extern const Font fat_font;
extern const Font minimal_font;
}