aboutsummaryrefslogtreecommitdiffstats
path: root/drv_generic_graphic.c
diff options
context:
space:
mode:
authormichael <michael@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>2007-01-18 05:20:07 +0000
committermichael <michael@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>2007-01-18 05:20:07 +0000
commit7bbb5b1385d0a6212eaaa1a2213bcfa66bf17239 (patch)
tree0b74fcee3a6fb02049d6c7d501d9484b0dcc1492 /drv_generic_graphic.c
parent12b56cb623711a3a8e1772b25c54be7a01ec915d (diff)
downloadlcd4linux-7bbb5b1385d0a6212eaaa1a2213bcfa66bf17239.tar.gz
dynamic properties for Icon widget
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@744 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
Diffstat (limited to 'drv_generic_graphic.c')
-rw-r--r--drv_generic_graphic.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/drv_generic_graphic.c b/drv_generic_graphic.c
index 9cbb11f..037d878 100644
--- a/drv_generic_graphic.c
+++ b/drv_generic_graphic.c
@@ -343,7 +343,8 @@ int drv_generic_graphic_icon_draw(WIDGET * W)
unsigned char *bitmap = Icon->bitmap + YRES * Icon->curmap;
int layer, row, col;
int x, y;
-
+ int visible;
+
layer = W->layer;
row = YRES * W->row;
col = XRES * W->col;
@@ -360,13 +361,16 @@ int drv_generic_graphic_icon_draw(WIDGET * W)
/* maybe grow layout framebuffer */
drv_generic_graphic_resizeFB(row + YRES, col + XRES);
+ /* Icon visible? */
+ visible = P2N(&Icon->visible) > 0;
+
/* render icon */
for (y = 0; y < YRES; y++) {
int mask = 1 << XRES;
for (x = 0; x < XRES; x++) {
int i = (row + y) * LCOLS + col + x;
mask >>= 1;
- if (Icon->visible) {
+ if (visible) {
if (bitmap[y] & mask)
drv_generic_graphic_FB[layer][i] = fg;
else
@@ -376,10 +380,10 @@ int drv_generic_graphic_icon_draw(WIDGET * W)
}
}
}
-
+
/* flush area */
drv_generic_graphic_blit(row, col, YRES, XRES);
-
+
return 0;
}