Files
NTUhrVPxDesign/libraries/_NToolsFonts/char3x5.h
2024-03-04 12:35:37 +01:00

117 lines
3.0 KiB
C

uint8_t Out3x5Char(char charater, uint8_t x, uint8_t y, uint8_t red,uint8_t green,uint8_t blue){
switch (charater){
case '0':
LineV(x,y,5,red,green,blue);
LineV(x+1,y,1,red,green,blue);
LineV(x+1,y+4,1,red,green,blue);
LineV(x+2,y,5,red,green,blue);
return 3;
break;
case '1':
LineV(x,y+2,1,red,green,blue);
LineV(x+1,y+1,1,red,green,blue);
LineV(x+2,y,5,red,green,blue);
return 3;
break;
case '2':
LineH(x,y,3,red,green,blue);
LineH(x+2,y+1,1,red,green,blue);
LineH(x+1,y+2,1,red,green,blue);
LineH(x,y+3,1,red,green,blue);
LineH(x,y+4,3,red,green,blue);
return 3;
break;
case '3':
LineH(x,y,3,red,green,blue);
LineH(x+2,y+1,1,red,green,blue);
LineH(x+1,y+2,2,red,green,blue);
LineH(x+2,y+3,1,red,green,blue);
LineH(x,y+4,3,red,green,blue);
return 3;
break;
case '4':
LineV(x,y,3,red,green,blue);
LineV(x+1,y+2,1,red,green,blue);
LineV(x+2,y,5,red,green,blue);
return 3;
break;
case '5':
LineH(x,y,3,red,green,blue);
LineH(x,y+1,1,red,green,blue);
LineH(x,y+2,3,red,green,blue);
LineH(x+2,y+3,1,red,green,blue);
LineH(x,y+4,3,red,green,blue);
return 3;
break;
case '6':
LineH(x,y,3,red,green,blue);
LineH(x,y+1,1,red,green,blue);
LineH(x,y+2,3,red,green,blue);
LineH(x,y+3,1,red,green,blue);
LineH(x+2,y+3,1,red,green,blue);
LineH(x,y+4,3,red,green,blue);
return 3;
break;
case '7':
LineH(x,y,3,red,green,blue);
LineH(x+2,y+1,1,red,green,blue);
LineV(x+1,y+2,3,red,green,blue);
return 3;
break;
case '8':
LineV(x,y,5,red,green,blue);
LineV(x+1,y,1,red,green,blue);
LineV(x+1,y+2,1,red,green,blue);
LineV(x+1,y+4,1,red,green,blue);
LineV(x+2,y,5,red,green,blue);
return 3;
break;
case '9':
LineV(x,y,3,red,green,blue);
LineV(x,y+4,1,red,green,blue);
LineV(x+1,y,1,red,green,blue);
LineV(x+1,y+2,1,red,green,blue);
LineV(x+1,y+4,1,red,green,blue);
LineV(x+2,y,5,red,green,blue);
return 3;
break;
case 'K':
LineV(x,y,5,red,green,blue);
LineV(x+2,y,2,red,green,blue);
LineV(x+1,y+2,1,red,green,blue);
LineV(x+2,y+3,2,red,green,blue);
return 3;
break;
case 'W':
LineV(x,y,5,red,green,blue);
LineV(x+1,y+3,2,red,green,blue);
LineV(x+2,y+2,2,red,green,blue);
LineV(x+3,y+3,2,red,green,blue);
LineV(x+4,y,5,red,green,blue);
return 5;
break;
case '.':
LineH(x,y+4,1,red,green,blue);
return 1;
break;
case ':':
LineH(x,y+1,1,red,green,blue);
LineH(x,y+3,1,red,green,blue);
return 1;
break;
case ' ':
LineV(x,y,5,0,0,0);
return 1;
break;
}
return 0;
}
void show3x5(uint8_t x, uint8_t y, char text[] , uint8_t red, uint8_t green, uint8_t blue){
uint8_t textlen = strlen(text);
for(uint8_t b=0;b<textlen;b++){
x += Out3x5Char(text[b],x,y,red,green,blue)+1;
}
}