summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormrwastl <mrwastl@users.sourceforge.net>2011-06-20 23:29:27 +0200
committermrwastl <mrwastl@users.sourceforge.net>2011-06-20 23:29:27 +0200
commit9405da4eb53ad02d2176ce285d03c0c445b81f12 (patch)
tree6507773ab6574a50120a11ffc41906cefbe10488
parent8b198b4be836b4718cd3ce96e8ba8590697da45a (diff)
downloadgraphlcd-base-9405da4eb53ad02d2176ce285d03c0c445b81f12.tar.gz
graphlcd-base-9405da4eb53ad02d2176ce285d03c0c445b81f12.tar.bz2
opacity support for monochrome images too
-rw-r--r--glcdgraphics/bitmap.c20
1 files changed, 9 insertions, 11 deletions
diff --git a/glcdgraphics/bitmap.c b/glcdgraphics/bitmap.c
index 0ffb039..1c5e4ed 100644
--- a/glcdgraphics/bitmap.c
+++ b/glcdgraphics/bitmap.c
@@ -560,18 +560,16 @@ void cBitmap::DrawBitmap(int x, int y, const cBitmap & bitmap, uint32_t color, u
cl = data[(yt * bitmap.Width())+xt];
if (cl != cColor::Transparent) {
if (ismonochrome) {
- DrawPixel(xt+x, yt+y, (cl == cColor::Black) ? color : bgcolor);
- } else {
- if (opacity == 255) {
- DrawPixel(xt+x, yt+y, cl);
- } else {
- alpha = (cl & 0xFF000000) >> 24;
- alpha = (alpha * opacity) / 255;
- DrawPixel(xt+x, yt+y, (cl & 0x00FFFFFF) | (alpha << 24));
- }
+ cl = (cl == cColor::Black) ? color : bgcolor;
}
- }
- }
+ if (opacity != 255) {
+ alpha = (cl & 0xFF000000) >> 24;
+ alpha = (alpha * opacity) / 255;
+ cl = (cl & 0x00FFFFFF) | (alpha << 24);
+ }
+ DrawPixel(xt+x, yt+y, cl);
+ }
+ }
}
}
}