diff options
author | michael <michael@3ae390bd-cb1e-0410-b409-cd5a39f66f1f> | 2007-01-18 05:20:07 +0000 |
---|---|---|
committer | michael <michael@3ae390bd-cb1e-0410-b409-cd5a39f66f1f> | 2007-01-18 05:20:07 +0000 |
commit | 7bbb5b1385d0a6212eaaa1a2213bcfa66bf17239 (patch) | |
tree | 0b74fcee3a6fb02049d6c7d501d9484b0dcc1492 /drv_generic_graphic.c | |
parent | 12b56cb623711a3a8e1772b25c54be7a01ec915d (diff) | |
download | lcd4linux-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.c | 12 |
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; } |