why do I need to publish this
Fork of NeoStrip by
Embed:
(wiki syntax)
Show/hide line numbers
TextMask.cpp
00001 #include "TextMask.h" 00002 00003 00004 int maskA[20] = { 0, 1, 0, 0, 00005 1, 0, 1, 0, 00006 1, 0, 1, 0, 00007 1, 1, 1, 0, 00008 1, 0, 1, 0}; 00009 00010 int maskB[20] = { 0, 1, 0, 0, 00011 1, 0, 1, 0, 00012 1, 1, 0, 0, 00013 1, 0, 1, 0, 00014 1, 1, 0, 0}; 00015 00016 int maskC[20] = { 0, 1, 1, 0, 00017 1, 0, 0, 0, 00018 1, 0, 0, 0, 00019 1, 0, 0, 0, 00020 0, 1, 1, 0}; 00021 00022 int maskD[20] = { 1, 1, 0, 0, 00023 1, 0, 1, 0, 00024 1, 0, 1, 0, 00025 1, 0, 1, 0, 00026 1, 1, 0, 0}; 00027 00028 int maskE[20] = { 1, 1, 1, 0, 00029 1, 0, 0, 0, 00030 1, 1, 1, 0, 00031 1, 0, 0, 0, 00032 1, 1, 1, 0}; 00033 00034 int maskF[20] = { 1, 1, 1, 0, 00035 1, 0, 0, 0, 00036 1, 1, 1, 0, 00037 1, 0, 0, 0, 00038 1, 0, 0, 0}; 00039 00040 int maskG[20] = { 0, 1, 1, 0, 00041 1, 0, 0, 0, 00042 1, 0, 1, 0, 00043 1, 0, 1, 0, 00044 0, 1, 1, 0}; 00045 00046 int maskH[20] = { 1, 0, 1, 0, 00047 1, 0, 1, 0, 00048 1, 1, 1, 0, 00049 1, 0, 1, 0, 00050 1, 0, 1, 0}; 00051 00052 int maskI[20] = { 1, 1, 1, 0, 00053 0, 1, 0, 0, 00054 0, 1, 0, 0, 00055 0, 1, 0, 0, 00056 1, 1, 1, 0}; 00057 00058 int maskJ[20] = { 1, 1, 1, 0, 00059 0, 1, 0, 0, 00060 0, 1, 0, 0, 00061 0, 1, 0, 0, 00062 1, 1, 0, 0}; 00063 00064 int maskK[20] = { 1, 0, 1, 0, 00065 1, 0, 1, 0, 00066 1, 1, 0, 0, 00067 1, 0, 1, 0, 00068 1, 0, 1, 0}; 00069 00070 int maskL[20] = { 1, 0, 0, 0, 00071 1, 0, 0, 0, 00072 1, 0, 0, 0, 00073 1, 0, 0, 0, 00074 1, 1, 1, 0}; 00075 00076 int maskM[20] = { 1, 0, 0, 1, 00077 1, 1, 1, 1, 00078 1, 1, 1, 1, 00079 1, 0, 0, 1, 00080 1, 0, 0, 1}; 00081 00082 int maskN[20] = { 1, 0, 0, 1, 00083 1, 1, 0, 1, 00084 1, 1, 1, 1, 00085 1, 0, 1, 1, 00086 1, 0, 0, 1}; 00087 00088 int maskO[20] = { 0, 1, 0, 0, 00089 1, 0, 1, 0, 00090 1, 0, 1, 0, 00091 1, 0, 1, 0, 00092 0, 1, 0, 0}; 00093 00094 int maskP[20] = { 1, 1, 1, 0, 00095 1, 0, 1, 0, 00096 1, 1, 1, 0, 00097 1, 0, 0, 0, 00098 1, 0, 0, 0}; 00099 00100 int maskQ[20] = { 0, 1, 0, 0, 00101 1, 0, 1, 0, 00102 1, 0, 1, 0, 00103 1, 0, 1, 0, 00104 0, 1, 0, 1}; 00105 00106 int maskR[20] = { 1, 1, 0, 0, 00107 1, 0, 1, 0, 00108 1, 1, 0, 0, 00109 1, 0, 1, 0, 00110 1, 0, 1, 0}; 00111 00112 int maskS[20] = { 0, 1, 1, 0, 00113 1, 0, 0, 0, 00114 0, 1, 0, 0, 00115 0, 0, 1, 0, 00116 1, 1, 0, 0}; 00117 00118 int maskT[20] = { 1, 1, 1, 0, 00119 0, 1, 0, 0, 00120 0, 1, 0, 0, 00121 0, 1, 0, 0, 00122 0, 1, 0, 0}; 00123 00124 int maskU[20] = { 1, 0, 1, 0, 00125 1, 0, 1, 0, 00126 1, 0, 1, 0, 00127 1, 0, 1, 0, 00128 0, 1, 1, 0}; 00129 00130 int maskV[20] = { 1, 0, 1, 0, 00131 1, 0, 1, 0, 00132 1, 0, 1, 0, 00133 1, 1, 1, 0, 00134 0, 1, 0, 0}; 00135 00136 int maskW[20] = { 1, 0, 0, 1, 00137 1, 0, 0, 1, 00138 1, 0, 0, 1, 00139 1, 1, 1, 1, 00140 1, 0, 0, 1}; 00141 00142 int maskX[20] = { 1, 0, 1, 0, 00143 1, 0, 1, 0, 00144 0, 1, 0, 0, 00145 1, 0, 1, 0, 00146 1, 0, 1, 0}; 00147 00148 int maskY[20] = { 1, 0, 1, 0, 00149 1, 0, 1, 0, 00150 1, 0, 1, 0, 00151 0, 1, 0, 0, 00152 0, 1, 0, 0}; 00153 00154 int maskZ[20] = { 1, 1, 1, 0, 00155 0, 0, 1, 0, 00156 0, 1, 0, 0, 00157 1, 0, 0, 0, 00158 1, 1, 1, 0}; 00159 00160 int * getCharMask(char inChar) 00161 { 00162 00163 switch(inChar) 00164 { 00165 case 'A': 00166 return maskA; 00167 break; 00168 case 'B': 00169 return maskB; 00170 break; 00171 case 'C': 00172 return maskC; 00173 break; 00174 case 'D': 00175 return maskD; 00176 break; 00177 case 'E': 00178 return maskE; 00179 break; 00180 case 'F': 00181 return maskF; 00182 break; 00183 case 'G': 00184 return maskG; 00185 break; 00186 case 'H': 00187 return maskH; 00188 break; 00189 case 'I': 00190 return maskI; 00191 break; 00192 case 'J': 00193 return maskJ; 00194 break; 00195 case 'K': 00196 return maskK; 00197 break; 00198 case 'L': 00199 return maskL; 00200 break; 00201 case 'M': 00202 return maskM; 00203 break; 00204 case 'N': 00205 return maskN; 00206 break; 00207 case 'O': 00208 return maskO; 00209 break; 00210 case 'P': 00211 return maskP; 00212 break; 00213 case 'Q': 00214 return maskQ; 00215 break; 00216 case 'R': 00217 return maskR; 00218 break; 00219 case 'S': 00220 return maskS; 00221 break; 00222 case 'T': 00223 return maskT; 00224 break; 00225 case 'U': 00226 return maskU; 00227 break; 00228 case 'V': 00229 return maskV; 00230 break; 00231 case 'W': 00232 return maskW; 00233 break; 00234 case 'X': 00235 return maskX; 00236 break; 00237 case 'Y': 00238 return maskY; 00239 break; 00240 case 'Z': 00241 return maskZ; 00242 break; 00243 } 00244 } 00245 00246 void maskChar(NeoStrip strip, int xPos, int yPos, int xDim, int yDim, char inChar) 00247 { 00248 if (inChar > 90 || inChar < 65) 00249 return; 00250 00251 int * mask = getCharMask(inChar); 00252 00253 for (int i = 0; i < 5; i++) 00254 { 00255 for (int j = 0; j < 4; j++) 00256 { 00257 int pos = (i+yPos)*xDim + xPos + j; 00258 if (!mask[i*4+j]) 00259 strip.setPixel(pos, 0, 0, 0); 00260 //strip.maskPixel(pos, mask[i*4+j]; 00261 } 00262 } 00263 00264 00265 } 00266
Generated on Fri Aug 5 2022 08:06:06 by 1.7.2