]> git.webhop.me Git - lcd4linux.git/commitdiff
style 'H' (hollow) for vertical bars, individual bar colors for vertical bars fixed
authormichael <michael@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>
Mon, 19 Jan 2009 05:41:52 +0000 (05:41 +0000)
committermichael <michael@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>
Mon, 19 Jan 2009 05:41:52 +0000 (05:41 +0000)
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@977 3ae390bd-cb1e-0410-b409-cd5a39f66f1f

drv_generic_graphic.c
widget_bar.c

index 76b778ea4eda46bdccf5ff21a7e74d5c5940c0a4..ba91123568190a8fb3e0e23a2711f8a65743d878 100644 (file)
@@ -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;
index 87dde851f44094dd43f9a40a996be73c3c74bd40..7e453aa0cca5076022c41e0bcd93f425d8367f89 100644 (file)
@@ -176,11 +176,6 @@ int widget_bar_init(WIDGET * Self)
     switch (toupper(*c)) {
     case 'H':
        Bar->style = STYLE_HOLLOW;
-       if (!(Bar->direction & (DIR_EAST | DIR_WEST))) {
-           error("widget %s with style \"hollow\" not implemented for other directions than E(ast) or W(est)",
-                 Self->name);
-           Bar->style = 0;
-       }
        break;
     case '0':
        Bar->style = 0;