Splitting the code into single files is done. \o/
This commit is contained in:
26
src/text.cpp
Normal file
26
src/text.cpp
Normal file
@ -0,0 +1,26 @@
|
||||
#include "functions.h"
|
||||
#include "text.h"
|
||||
|
||||
void drawTextSprite(Window window, unsigned char* sprite, int w, int h, int xPos, int yPos, CRGB color, boolean invert) {
|
||||
for (byte y=0; y<h; y++) for (byte x=0; x<w; x++) {
|
||||
bool on = (sprite[x]>>(h-1-y)&1)*255;
|
||||
if (invert) on = !on;
|
||||
if (on) setPixel(window, x+xPos, y+yPos, color);
|
||||
}
|
||||
}
|
||||
|
||||
void drawChar(Window window, unsigned char* font, int w, int h, int x, int y, char c, CRGB color) {
|
||||
unsigned char* sprite = &font[(c-32)*w];
|
||||
drawTextSprite(window, sprite, w, h, x, y, color, false);
|
||||
}
|
||||
|
||||
void drawDigit(Window window, unsigned char* font, int w, int h, int x, int y, int digit, CRGB color, boolean invert) {
|
||||
unsigned char* sprite = &font[digit*w];
|
||||
drawTextSprite(window, sprite, w, h, x, y, color, invert);
|
||||
}
|
||||
|
||||
void drawText(Window window, char *font, int w, int h, char *text, int x, int y, CRGB color) {
|
||||
for (int i = 0; i < strlen(text); i++) {
|
||||
drawChar(window, font5x7, 5, 7, x+i*(w+1), y, text[i], color);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user