From 22b89a5b9fe73725e521d545dd7a7c8af10f657f Mon Sep 17 00:00:00 2001 From: mrwastl Date: Fri, 10 Jun 2011 20:41:52 +0200 Subject: add option 'radius' for text-effects (radius 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..6e87b95 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[fxi] = 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