added text mask

Fork of NeoStrip by Allen Wild

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];   
        }        
    }
    
       
}