mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-11 06:09:08 -07:00
33 lines
854 B
C
33 lines
854 B
C
#include "canvas_extensions.h"
|
|
|
|
void canvas_draw_str_ex(
|
|
Canvas* canvas,
|
|
uint8_t x,
|
|
uint8_t y,
|
|
const char* text,
|
|
size_t text_length,
|
|
const FontInfo* const font) {
|
|
const char* p_ch = text;
|
|
char ch;
|
|
size_t i = 0;
|
|
uint8_t offset_x = x;
|
|
uint8_t char_width = font->char_info[0].width;
|
|
uint8_t offset_x_inc = char_width + font->space_width;
|
|
while(i < text_length && (ch = *p_ch) != 0) {
|
|
if(ch >= font->start_char && ch <= font->end_char) {
|
|
uint8_t char_index = ch - font->start_char;
|
|
canvas_draw_xbm(
|
|
canvas,
|
|
offset_x,
|
|
y,
|
|
char_width,
|
|
font->height,
|
|
&font->data[font->char_info[char_index].offset]);
|
|
}
|
|
|
|
offset_x += offset_x_inc;
|
|
|
|
p_ch++;
|
|
i++;
|
|
}
|
|
} |