summaryrefslogtreecommitdiff
path: root/glcdskin/object.c
diff options
context:
space:
mode:
authormrwastl <mrwastl@users.sourceforge.net>2011-06-20 23:13:54 +0200
committermrwastl <mrwastl@users.sourceforge.net>2011-06-20 23:13:54 +0200
commit8b198b4be836b4718cd3ce96e8ba8590697da45a (patch)
tree7645b90529daaf97a4eaa4ecdedeb93fff4056af /glcdskin/object.c
parentec46b70bd4d1a1450a2bdc197d9e5935c885c40c (diff)
downloadgraphlcd-base-8b198b4be836b4718cd3ce96e8ba8590697da45a.tar.gz
graphlcd-base-8b198b4be836b4718cd3ce96e8ba8590697da45a.tar.bz2
opacity support for non-monochrome images
Diffstat (limited to 'glcdskin/object.c')
-rw-r--r--glcdskin/object.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/glcdskin/object.c b/glcdskin/object.c
index 336f21e..107e8f5 100644
--- a/glcdskin/object.c
+++ b/glcdskin/object.c
@@ -55,6 +55,7 @@ cSkinObject::cSkinObject(cSkinDisplay * Parent)
mChangeDelay(-1), // delay between two images frames: -1: not animated / don't care
mStoredImagePath(""),
mImageFrameId(0), // start with 1st frame
+ mOpacity(255), // default: full opacity
mScrollLoopMode(-1), // scroll (text) or loop (image) mode: default (-1)
mScrollLoopReached(false), // if scroll/loop == once: already looped once?
mScrollSpeed(0), // scroll speed: default (0)
@@ -97,6 +98,7 @@ cSkinObject::cSkinObject(const cSkinObject & Src)
mChangeDelay(-1),
mStoredImagePath(Src.mStoredImagePath),
mImageFrameId(0),
+ mOpacity(Src.mOpacity),
mScrollLoopMode(Src.mScrollLoopMode),
mScrollLoopReached(Src.mScrollLoopReached),
mScrollSpeed(Src.mScrollSpeed),
@@ -384,7 +386,7 @@ void cSkinObject::Render(GLCD::cBitmap * screen)
if (mColor == cColor::ERRCOL)
screen->DrawBitmap(Pos().x, Pos().y, *bitmap);
else
- screen->DrawBitmap(Pos().x, Pos().y, *bitmap, mColor, mBackgroundColor);
+ screen->DrawBitmap(Pos().x, Pos().y, *bitmap, mColor, mBackgroundColor, mOpacity);
}
if (mScrollLoopMode != -1) // if == -1: currScrollLoopMode already contains correct value