summaryrefslogtreecommitdiff
path: root/glcdskin/object.c
diff options
context:
space:
mode:
authormrwastl <mrwastl@users.sourceforge.net>2011-06-10 20:15:30 +0200
committermrwastl <mrwastl@users.sourceforge.net>2011-06-10 20:15:30 +0200
commitd9acf155a469b5ccb3f3b2c39c8e8fa8a1ba8811 (patch)
treef25235e24bf73e2d2236adafca9f0df98758a6bc /glcdskin/object.c
parent7fdaefe7ae28ebcfdbacd6dee7069f9ee23d371b (diff)
downloadgraphlcd-base-d9acf155a469b5ccb3f3b2c39c8e8fa8a1ba8811.tar.gz
graphlcd-base-d9acf155a469b5ccb3f3b2c39c8e8fa8a1ba8811.tar.bz2
add option 'arc' for text-effects (arc in {1,2})
Diffstat (limited to 'glcdskin/object.c')
-rw-r--r--glcdskin/object.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/glcdskin/object.c b/glcdskin/object.c
index 1b1417b..c7426bc 100644
--- a/glcdskin/object.c
+++ b/glcdskin/object.c
@@ -510,18 +510,25 @@ void cSkinObject::Render(GLCD::cBitmap * screen)
int loops = 1;
int varx[5] = {0, 0, 0, 0, 0};
int vary[5] = {0, 0, 0, 0, 0};
+
+ int fxOff = 1;
+ if (mRadius > 1)
+ fxOff = 2;
switch (mEffect) {
case tfxShadow:
- loops = 2;
- varx[0] = 1; vary[0] = 1;
+ loops = 1;
+ for (int fxi = 0; fxi < fxOff; fxi++) {
+ varx[fxi] = fxi + 1; vary[0] = fxi + 1;
+ loops++;
+ }
break;
case tfxOutline:
loops = 5;
- varx[0] = -1; vary[0] = 0;
- varx[1] = 1; vary[1] = 0;
- varx[2] = 0; vary[2] = -1;
- varx[3] = 0; vary[3] = 1;
+ varx[0] = -fxOff; vary[0] = 0;
+ varx[1] = fxOff; vary[1] = 0;
+ varx[2] = 0; vary[2] = -fxOff;
+ varx[3] = 0; vary[3] = fxOff;
break;
case tfxNone: // no-one gets forgotten here, so make g++ happy
default: