Remove spurious EXTERN_C.
[bertos.git] / gfx / font.h
index 049db533b02da79fbbfb58a457b77d6daf4fbfd3..1701b1fc94acd9c15780b8c7e8e61e861305ceb4 100755 (executable)
 
 /*#*
  *#* $Log$
+ *#* Revision 1.3  2006/02/10 12:29:05  bernie
+ *#* Add multiple font support in bitmaps.
+ *#*
+ *#* Revision 1.2  2005/11/04 18:17:45  bernie
+ *#* Fix header guards and includes for new location of gfx module.
+ *#*
  *#* Revision 1.1  2005/11/04 18:11:35  bernie
  *#* Move graphics stuff from mware/ to gfx/.
  *#*
  *#* Move font table in program memory; add font.h
  *#*
  *#*/
-#ifndef MWARE_FONT_H
-#define MWARE_FONT_H
+#ifndef GFX_FONT_H
+#define GFX_FONT_H
 
 #include <cfg/compiler.h> /* uint8_t */
 #include <mware/pgm.h> /* PROGMEM */
 
-/*!
- * \name Font size (in pixel)
- * \{
- */
-#define FONT_WIDTH   6
-#define FONT_HEIGHT  8
-/* \} */
+typedef struct Font
+{
+       /**
+        * Pointer to glyph data.
+        *
+        * 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;
+
+       uint8_t width;    /**< Pixel width of character cell. */
+       uint8_t height;   /**< Pixel height of character cell. */
+
+} Font;
 
-/*! Font table */
-extern const PROGMEM uint8_t font[256 * FONT_WIDTH];
+/**< The default font. */
+extern struct Font default_font;
 
-#endif /* MWARE_FONT_H */
+#endif /* GFX_FONT_H */