aboutsummaryrefslogtreecommitdiffstats
path: root/drv_generic_graphic.c
diff options
context:
space:
mode:
authorreinelt <reinelt@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>2006-08-13 09:53:10 +0000
committerreinelt <reinelt@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>2006-08-13 09:53:10 +0000
commit523bb7ba13a5d88588a270cf8ce2f0c0ac882708 (patch)
tree6490997635549846cf304b2cfc4fc256f55d6ca7 /drv_generic_graphic.c
parent517e84e9fd1b39fdef831c6fc5c6e774bf20a12a (diff)
downloadlcd4linux-523bb7ba13a5d88588a270cf8ce2f0c0ac882708.tar.gz
[lcd4linux @ 2006-08-13 09:53:10 by reinelt]
dynamic properties added (used by 'style' of text widget) git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@690 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
Diffstat (limited to 'drv_generic_graphic.c')
-rw-r--r--drv_generic_graphic.c24
1 files changed, 15 insertions, 9 deletions
diff --git a/drv_generic_graphic.c b/drv_generic_graphic.c
index 816f716..b52f623 100644
--- a/drv_generic_graphic.c
+++ b/drv_generic_graphic.c
@@ -1,4 +1,4 @@
-/* $Id: drv_generic_graphic.c,v 1.32 2006/08/13 06:46:51 reinelt Exp $
+/* $Id: drv_generic_graphic.c,v 1.33 2006/08/13 09:53:10 reinelt Exp $
*
* generic driver helper for graphic displays
*
@@ -23,6 +23,9 @@
*
*
* $Log: drv_generic_graphic.c,v $
+ * Revision 1.33 2006/08/13 09:53:10 reinelt
+ * dynamic properties added (used by 'style' of text widget)
+ *
* Revision 1.32 2006/08/13 06:46:51 reinelt
* T6963 soft-timing & enhancements; indent
*
@@ -188,6 +191,7 @@
#include "drv.h"
#include "drv_generic.h"
#include "drv_generic_graphic.h"
+#include "property.h"
#include "font_6x8.h"
#include "font_6x8_bold.h"
@@ -323,7 +327,7 @@ static RGBA drv_generic_graphic_blend(const int row, const int col)
/****************************************/
static void drv_generic_graphic_render(const int layer, const int row, const int col, const RGBA fg, const RGBA bg,
- const char *txt)
+ const char *style, const char *txt)
{
int c, r, x, y, len;
@@ -345,10 +349,11 @@ static void drv_generic_graphic_render(const int layer, const int row, const int
while (*txt != '\0') {
unsigned char *chr;
- if (FONT_STYLE & FONT_STYLE_BOLD)
+ if (strcasestr(style, "bold") != NULL) {
chr = Font_6x8_bold[(int) *txt];
- else
+ } else {
chr = Font_6x8[(int) *txt];
+ }
for (y = 0; y < YRES; y++) {
int mask = 1 << XRES;
@@ -394,7 +399,8 @@ int drv_generic_graphic_greet(const char *msg1, const char *msg2)
for (i = 0; line1[i]; i++) {
if (strlen(line1[i]) <= cols) {
- drv_generic_graphic_render(0, YRES * 0, XRES * ((cols - strlen(line1[i])) / 2), FG_COL, BG_COL, line1[i]);
+ drv_generic_graphic_render(0, YRES * 0, XRES * ((cols - strlen(line1[i])) / 2), FG_COL, BG_COL, "norm",
+ line1[i]);
flag = 1;
break;
}
@@ -403,7 +409,7 @@ int drv_generic_graphic_greet(const char *msg1, const char *msg2)
if (rows >= 2) {
for (i = 0; line2[i]; i++) {
if (strlen(line2[i]) <= cols) {
- drv_generic_graphic_render(0, YRES * 1, XRES * ((cols - strlen(line2[i])) / 2), FG_COL, BG_COL,
+ drv_generic_graphic_render(0, YRES * 1, XRES * ((cols - strlen(line2[i])) / 2), FG_COL, BG_COL, "norm",
line2[i]);
flag = 1;
break;
@@ -414,7 +420,7 @@ int drv_generic_graphic_greet(const char *msg1, const char *msg2)
if (msg1 && rows >= 3) {
unsigned int len = strlen(msg1);
if (len <= cols) {
- drv_generic_graphic_render(0, YRES * 2, XRES * ((cols - len) / 2), FG_COL, BG_COL, msg1);
+ drv_generic_graphic_render(0, YRES * 2, XRES * ((cols - len) / 2), FG_COL, BG_COL, "norm", msg1);
flag = 1;
}
}
@@ -422,7 +428,7 @@ int drv_generic_graphic_greet(const char *msg1, const char *msg2)
if (msg2 && rows >= 4) {
unsigned int len = strlen(msg2);
if (len <= cols) {
- drv_generic_graphic_render(0, YRES * 3, XRES * ((cols - len) / 2), FG_COL, BG_COL, msg2);
+ drv_generic_graphic_render(0, YRES * 3, XRES * ((cols - len) / 2), FG_COL, BG_COL, "norm", msg2);
flag = 1;
}
}
@@ -439,7 +445,7 @@ int drv_generic_graphic_draw(WIDGET * W)
fg = W->fg_valid ? W->fg_color : FG_COL;
bg = W->bg_valid ? W->bg_color : BG_COL;
- drv_generic_graphic_render(W->layer, YRES * W->row, XRES * W->col, fg, bg, Text->buffer);
+ drv_generic_graphic_render(W->layer, YRES * W->row, XRES * W->col, fg, bg, P2S(&Text->style), Text->buffer);
return 0;
}