X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=gfx%2Ffont.h;h=b62b0b7c05bae1dc5d8feb540a4cde0d5d97e38a;hb=cdf0c088714fe7b9ee7e10b94858d8eff41f7899;hp=1701b1fc94acd9c15780b8c7e8e61e861305ceb4;hpb=22ea75fdc24002bc8b2a6fea2be1080cc3b39b1c;p=bertos.git diff --git a/gfx/font.h b/gfx/font.h old mode 100755 new mode 100644 index 1701b1fc..b62b0b7c --- a/gfx/font.h +++ b/gfx/font.h @@ -1,8 +1,33 @@ -/*! +/** * \file * * * \version $Id$ @@ -14,6 +39,18 @@ /*#* *#* $Log$ + *#* Revision 1.7 2006/07/19 12:56:26 bernie + *#* Convert to new Doxygen style. + *#* + *#* Revision 1.6 2006/05/27 22:31:34 bernie + *#* Switch to a smaller default fount. + *#* + *#* Revision 1.5 2006/03/13 02:06:04 bernie + *#* FONT_HAS_GLYPH(): New macro. + *#* + *#* Revision 1.4 2006/02/15 09:10:15 bernie + *#* Implement prop fonts; Fix algo styles. + *#* *#* Revision 1.3 2006/02/10 12:29:05 bernie *#* Add multiple font support in bitmaps. *#* @@ -62,14 +99,27 @@ typedef struct Font * Data is an array of at most 256 glyphs packed together. * Raster format must be the same of the bitmap. */ - const PROGMEM uint8_t * const glyph; + const PROGMEM uint8_t *glyph; + + uint8_t width; /**< Pixel width of character cell. */ + uint8_t height; /**< Pixel height of character cell. */ + + uint8_t first; /**< First encoded character in glyph array. */ + uint8_t last; /**< Last encoded character in glyph array (inclusive). */ - uint8_t width; /**< Pixel width of character cell. */ - uint8_t height; /**< Pixel height of character cell. */ + /** Array of glyph offsets in bytes. NULL for fixed-width fonts. */ + const PROGMEM uint16_t *offset; + const PROGMEM uint8_t *widths; } Font; -/**< The default font. */ -extern struct Font default_font; + +/** Return true if glyph \a c is available in \a font. */ +#define FONT_HAS_GLYPH(font, c) ((c) >= (font)->first && (c) <= (font)->last) + + +/** The default font. */ +#define default_font font_luBS14 +extern const struct Font default_font; #endif /* GFX_FONT_H */