From d5ebee1188081526470467e9c9200ca56c0a7cea Mon Sep 17 00:00:00 2001 From: michael Date: Mon, 19 Jan 2009 05:41:52 +0000 Subject: style 'H' (hollow) for vertical bars, individual bar colors for vertical bars fixed git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@977 3ae390bd-cb1e-0410-b409-cd5a39f66f1f --- drv_generic_graphic.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) (limited to 'drv_generic_graphic.c') diff --git a/drv_generic_graphic.c b/drv_generic_graphic.c index 76b778e..ba91123 100644 --- a/drv_generic_graphic.c +++ b/drv_generic_graphic.c @@ -476,16 +476,16 @@ int drv_generic_graphic_bar_draw(WIDGET * W) case DIR_EAST: for (y = 0; y < YRES; y++) { int val = y < YRES / 2 ? val1 : val2; - RGBA bcol = y < YRES / 2 ? bar[0] : bar[1]; + RGBA bc = y < YRES / 2 ? bar[0] : bar[1]; for (x = 0; x < max; x++) { if (x < val) - drv_generic_graphic_FB[layer][(row + y) * LCOLS + col + x] = rev ? bg : bcol; + drv_generic_graphic_FB[layer][(row + y) * LCOLS + col + x] = rev ? bg : bc; else - drv_generic_graphic_FB[layer][(row + y) * LCOLS + col + x] = rev ? bcol : bg; + drv_generic_graphic_FB[layer][(row + y) * LCOLS + col + x] = rev ? bc : bg; if (style) { - drv_generic_graphic_FB[layer][(row) * LCOLS + col + x] = fg; + drv_generic_graphic_FB[layer][(row + 0) * LCOLS + col + x] = fg; drv_generic_graphic_FB[layer][(row + YRES - 1) * LCOLS + col + x] = fg; } } @@ -504,11 +504,20 @@ int drv_generic_graphic_bar_draw(WIDGET * W) case DIR_SOUTH: for (x = 0; x < XRES; x++) { int val = x < XRES / 2 ? val1 : val2; + RGBA bc = x < XRES / 2 ? bar[0] : bar[1]; for (y = 0; y < max; y++) { if (y < val) - drv_generic_graphic_FB[layer][(row + y) * LCOLS + col + x] = rev ? bg : fg; + drv_generic_graphic_FB[layer][(row + y) * LCOLS + col + x] = rev ? bg : bc; else - drv_generic_graphic_FB[layer][(row + y) * LCOLS + col + x] = rev ? fg : bg; + drv_generic_graphic_FB[layer][(row + y) * LCOLS + col + x] = rev ? bc : bg; + if (style) { + drv_generic_graphic_FB[layer][(row + y) * LCOLS + col + 0] = fg; + drv_generic_graphic_FB[layer][(row + y) * LCOLS + col + XRES - 1] = fg; + } + } + if (style) { + drv_generic_graphic_FB[layer][(row + 0) * LCOLS + col + x] = fg; + drv_generic_graphic_FB[layer][(row + max - 1) * LCOLS + col + x] = fg; } } break; -- cgit v1.2.3