added text mask
Fork of NeoStrip by
TextMask.cpp
- Committer:
- rhodes42
- Date:
- 2014-04-25
- Revision:
- 1:3ffc314e9849
File content as of revision 1:3ffc314e9849:
#include "TextMask.h" int maskA[20] = { 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0}; int maskB[20] = { 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0}; int maskC[20] = { 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0}; int maskD[20] = { 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0}; int maskE[20] = { 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0}; int maskF[20] = { 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0}; int maskG[20] = { 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0}; int maskH[20] = { 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0}; int maskI[20] = { 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0}; int maskJ[20] = { 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0}; int maskK[20] = { 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0}; int maskL[20] = { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0}; int maskM[20] = { 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1}; int maskN[20] = { 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1}; int maskO[20] = { 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0}; int maskP[20] = { 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0}; int maskQ[20] = { 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1}; int maskR[20] = { 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0}; int maskS[20] = { 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0}; int maskT[20] = { 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0}; int maskU[20] = { 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0}; int maskV[20] = { 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0}; int maskW[20] = { 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1}; int maskX[20] = { 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0}; int maskY[20] = { 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0}; int maskZ[20] = { 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0}; int * getCharMask(char inChar) { switch(inChar) { case 'A': return maskA; break; case 'B': return maskB; break; case 'C': return maskC; break; case 'D': return maskD; break; case 'E': return maskE; break; case 'F': return maskF; break; case 'G': return maskG; break; case 'H': return maskH; break; case 'I': return maskI; break; case 'J': return maskJ; break; case 'K': return maskK; break; case 'L': return maskL; break; case 'M': return maskM; break; case 'N': return maskN; break; case 'O': return maskO; break; case 'P': return maskP; break; case 'Q': return maskQ; break; case 'R': return maskR; break; case 'S': return maskS; break; case 'T': return maskT; break; case 'U': return maskU; break; case 'V': return maskV; break; case 'W': return maskW; break; case 'X': return maskX; break; case 'Y': return maskY; break; case 'Z': return maskZ; break; } } void maskChar(NeoStrip strip, int xPos, int yPos, int xDim, int yDim, char inChar) { if (inChar > 90 || inChar < 65) return; int * mask = getCharMask(inChar); for (int i = 0; i < 5; i++) { for (int j = 0; j < 4; j++) { int pos = (i+yPos)*xDim + xPos + j; if (!mask[i*4+j]) strip.setPixel(pos, 0, 0, 0); //strip.maskPixel(pos, mask[i*4+j]; } } }