From d9acf155a469b5ccb3f3b2c39c8e8fa8a1ba8811 Mon Sep 17 00:00:00 2001 From: mrwastl Date: Fri, 10 Jun 2011 20:15:30 +0200 Subject: add option 'arc' for text-effects (arc in {1,2}) --- glcdskin/object.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'glcdskin/object.c') 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: -- cgit v1.2.3