X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=mware%2Ftext.c;h=b000562c62c710e7dc4b9766794889c7867db006;hb=32841198fc4373115f71761a05088d10f0826223;hp=e20c777f5d1a4b58da79961f5c0795ed7f9bde43;hpb=277b540c0764dd376dcf583acdc97a2b2fd3d8e6;p=bertos.git diff --git a/mware/text.c b/mware/text.c index e20c777f..b000562c 100755 --- a/mware/text.c +++ b/mware/text.c @@ -1,23 +1,34 @@ /*! * \file * * - * \version $Id$ + * \brief Text graphic routines * + * \version $Id$ * \author Bernardo Innocenti * \author Stefano Fedrigo - * - * \brief Text graphic routines */ /*#* *#* $Log$ - *#* Revision 1.3 2004/08/25 14:12:09 rasky - *#* Aggiornato il comment block dei log RCS + *#* Revision 1.9 2004/12/31 16:44:29 bernie + *#* Sanitize for non-Harvard processors. + *#* + *#* Revision 1.8 2004/11/16 21:16:28 bernie + *#* Update to new naming scheme in mware/gfx.c. + *#* + *#* Revision 1.7 2004/09/20 03:28:28 bernie + *#* Fix header. + *#* + *#* Revision 1.6 2004/09/14 20:57:15 bernie + *#* Use debug.h instead of kdebug.h. + *#* + *#* Revision 1.5 2004/09/06 21:51:26 bernie + *#* Extend interface to allow any algorithmic style. *#* *#* Revision 1.2 2004/06/03 11:27:09 bernie *#* Add dual-license information. @@ -50,10 +61,13 @@ #include "gfx.h" #include "font.h" #include "text.h" -#include + +#include + /*! * Flags degli stili algoritmici + * * La routine di rendering del testo e' in grado di applicare * delle semplici trasformazioni al font interno per generare * automaticamente degli stili predefiniti (bold, italic, @@ -92,7 +106,7 @@ void text_setcoord(struct Bitmap *bm, int x, int y) /*! - * Render char c + * Render char \a c on Bitmap \a bm */ static int text_putglyph(char c, struct Bitmap *bm) { @@ -139,7 +153,7 @@ static int text_putglyph(char c, struct Bitmap *bm) /* Per ogni colonna di dot del glyph... */ for (i = 0; i < glyph_width; ++i) { - dots = pgm_read_byte(glyph); + dots = PGM_READ_CHAR(glyph); /* Advance to next column in glyph. * Expand: advances only once every two columns @@ -177,7 +191,7 @@ static int text_putglyph(char c, struct Bitmap *bm) } else /* No style: fast vanilla copy of glyph to line buffer */ while (glyph_width--) - *buf++ = pgm_read_byte(glyph++); + *buf++ = PGM_READ_CHAR(glyph++); return c; } @@ -194,14 +208,14 @@ int text_putchar(char c, struct Bitmap *bm) { switch (c) { - case ANSI_ESC_CLEARSCREEN: - gfx_ClearBitmap(bm); - bm->penX = 0; - bm->penY = 0; - text_style(0, STYLEF_MASK); - break; - DB(default: - kprintf("Unknown ANSI esc code: %x\n", c);) + case ANSI_ESC_CLEARSCREEN: + gfx_bitmapClear(bm); + bm->penX = 0; + bm->penY = 0; + text_style(0, STYLEF_MASK); + break; + DB(default: + kprintf("Unknown ANSI esc code: %x\n", c);) } ansi_mode = false; } @@ -235,6 +249,12 @@ void text_clear(struct Bitmap *bmp) } +void text_clearLine(struct Bitmap *bmp, int line) +{ + gfx_rectClear(bmp, 0, line * FONT_HEIGHT, bmp->width, (line + 1) * FONT_HEIGHT); +} + + /*! * Set/clear algorithmic font style bits. *