/*!
* \file
* <!--
+ * Copyright 2003, 2004 Develer S.r.l. (http://www.develer.com/)
* Copyright 1999 Bernardo Innocenti <bernie@develer.com>
- * Copyright 2003,2004 Develer S.r.l. (http://www.develer.com/)
* This file is part of DevLib - See devlib/README for information.
* -->
*
- * \version $Id$
+ * \brief Text graphic routines
*
+ * \version $Id$
* \author Bernardo Innocenti <bernie@develer.com>
* \author Stefano Fedrigo <aleph@develer.com>
- *
- * \brief Text graphic routines
*/
/*#*
*#* $Log$
- *#* Revision 1.3 2004/08/25 14:12:09 rasky
- *#* Aggiornato il comment block dei log RCS
+ *#* Revision 1.11 2005/01/20 18:46:31 aleph
+ *#* Fix progmem includes.
+ *#*
+ *#* Revision 1.10 2005/01/08 09:20:12 bernie
+ *#* Really make it work on both architectures.
+ *#*
+ *#* 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.
#include "gfx.h"
#include "font.h"
#include "text.h"
-#include <drv/kdebug.h>
+
+#include <debug.h>
+
/*!
* 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,
/*!
- * Render char <code>c</code>
+ * Render char \a c on Bitmap \a bm
*/
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
}
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;
}
{
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;
}
}
+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.
*