#ifndef FONT_H_ #define FONT_H_ #include "util.h" #include /** Font Deskriptor. */ struct font_descriptor { /** Breite eines Zeichens. */ uint8_t width; /** Hoehe eines Zeichens. */ uint8_t height; /** Zeiger auf die Zahlen (0-9) XBMs */ const uint8_t __flash *numbers; /** Zeiger auf die Kleinbuchstaben (a-z) XBMs */ const uint8_t __flash *lowercase; /** Zeiger auf die Grossbuchstaben (A-Z) XBMs */ const uint8_t __flash *uppercase; }; /** Deskriptor des 10x14 Fonts. */ extern const struct font_descriptor __flash font_10x14; /** Fontbreite ermitteln. * * \param desc Der Deskriptor des Zeichensatzes. * * \return Gibt die Breite eines Zeichens zurueck. */ static inline uint8_t font_get_width(const struct font_descriptor __flash *desc) { return desc->width; } /** Fonthoehe ermitteln. * * \param desc Der Deskriptor des Zeichensatzes. * * \return Gibt die Hoehe eines Zeichens zurueck. */ static inline uint8_t font_get_height(const struct font_descriptor __flash *desc) { return desc->height; } /** Zeichensatz fuer Zahlen ermitteln. * * \param desc Der Deskriptor des Zeichensatzes. * * \return Gibt den Zeichensatz fuer Zahlen zurueck. */ static inline const uint8_t __flash * font_get_numbers(const struct font_descriptor __flash *desc) { return desc->numbers; } /** Zeichensatz fuer kleine Buchstaben ermitteln. * * \param desc Der Deskriptor des Zeichensatzes. * * \return Gibt den Zeichensatz fuer kleine Buchstaben zurueck. */ static inline const uint8_t __flash * font_get_lowercase(const struct font_descriptor __flash *desc) { return desc->lowercase; } /** Zeichensatz fuer grosse Buchstaben ermitteln. * * \param desc Der Deskriptor des Zeichensatzes. * * \return Gibt den Zeichensatz fuer grosse Buchstaben zurueck. */ static inline const uint8_t __flash * font_get_uppercase(const struct font_descriptor __flash *desc) { return desc->uppercase; } #endif /* FONT_H_ */