void oledDrawChar(int x, int y, char c, int font) { if (x >= OLED_WIDTH || y >= OLED_HEIGHT || y <= -FONT_HEIGHT) { return; } int zoom = (font & FONT_DOUBLE ? 2 : 1); int char_width = fontCharWidth(font & 0x7f, c); const uint8_t *char_data = fontCharData(font & 0x7f, c); if (x <= -char_width * zoom) { return; } for (int xo = 0; xo < char_width; xo++) { for (int yo = 0; yo < FONT_HEIGHT; yo++) { if (char_data[xo] & (1 << (FONT_HEIGHT - 1 - yo))) { if (zoom <= 1) { oledDrawPixel(x + xo, y + yo); } else { oledBox(x + xo * zoom, y + yo * zoom, x + (xo + 1) * zoom - 1, y + (yo + 1) * zoom - 1, true); } } } } }
void oledDrawChar(int x, int y, char c) { int char_width; const uint8_t *char_data; if ((x >= OLED_WIDTH) || (y >= OLED_HEIGHT)) return; char_width = fontCharWidth(c); char_data = fontCharData(c); int xoffset, yoffset; for (xoffset = 0; xoffset < char_width; xoffset++) { for (yoffset = 0; yoffset < FONT_HEIGHT; yoffset++) { if (char_data[xoffset] & (1 << (FONT_HEIGHT - 1 - yoffset))) { oledDrawPixel(x + xoffset, y + yoffset); } } } }
void oledDrawChar(int x, int y, char c, int zoom) { int char_width; const uint8_t *char_data; if ((x >= OLED_WIDTH) || (y >= OLED_HEIGHT)) return; char_width = fontCharWidth(c); char_data = fontCharData(c); int xo, yo; for (xo = 0; xo < char_width; xo++) { for (yo = 0; yo < FONT_HEIGHT; yo++) { if (char_data[xo] & (1 << (FONT_HEIGHT - 1 - yo))) { if (zoom <= 1) { oledDrawPixel(x + xo, y + yo); } else { oledBox(x + xo * zoom, y + yo * zoom, x + (xo + 1) * zoom - 1, y + (yo + 1) * zoom - 1, true); } } } } }