This modules provides functionality for outputting a font to a display.
Modules | |
System font | |
The system font objects are globally available for a graphical application. | |
Data Structures | |
struct | font |
Storage structure for font meta data. More... | |
Enumerations | |
enum | font_data_type { FONT_LOC_PROGMEM } |
Valid storage locations for font data. More... | |
enum | gfx_text_alignment { TEXT_ALIGN_LEFT, TEXT_ALIGN_RIGHT, TEXT_ALIGN_CENTER } |
Text alignment options for text lines within a paragraph. More... | |
enum | gfx_text_position { TEXT_POS_TOP = (1 << 0), TEXT_POS_CENTER_Y = (1 << 1), TEXT_POS_BOTTOM = (1 << 2), TEXT_POS_LEFT = (1 << 3), TEXT_POS_CENTER_X = (1 << 4), TEXT_POS_RIGHT = (1 << 5), TEXT_POS_TOP_LEFT = TEXT_POS_TOP | TEXT_POS_LEFT, TEXT_POS_TOP_CENTER = TEXT_POS_TOP | TEXT_POS_CENTER_X, TEXT_POS_TOP_RIGHT = TEXT_POS_TOP | TEXT_POS_RIGHT, TEXT_POS_CENTER_LEFT = TEXT_POS_CENTER_Y | TEXT_POS_LEFT, TEXT_POS_CENTER = TEXT_POS_CENTER_Y | TEXT_POS_CENTER_X, TEXT_POS_CENTER_RIGHT = TEXT_POS_CENTER_Y | TEXT_POS_RIGHT, TEXT_POS_BOTTOM_LEFT = TEXT_POS_BOTTOM | TEXT_POS_LEFT, TEXT_POS_BOTTOM_CENTER = TEXT_POS_BOTTOM | TEXT_POS_CENTER_X, TEXT_POS_BOTTOM_RIGHT = TEXT_POS_BOTTOM | TEXT_POS_RIGHT } |
Text paraphraph positioning options. More... | |
Strings and characters located in RAM | |
void | gfx_draw_char (const char c, const gfx_coord_t x, const gfx_coord_t y, const struct font *font, const gfx_color_t bg_color, const gfx_color_t text_color) |
Draws a character to the display. More... | |
void | gfx_draw_string (const char *str, const gfx_coord_t x, const gfx_coord_t y, const struct font *font, const gfx_color_t bg_color, const gfx_color_t text_color) |
Draws a string to the display. More... | |
void | gfx_draw_string_aligned (const char *str, gfx_coord_t x, gfx_coord_t y, const struct font *font, const gfx_color_t bg_color, const gfx_color_t text_color, enum gfx_text_position text_pos, enum gfx_text_alignment text_align) |
Draws an aligned string to the display. More... | |
void | gfx_get_string_bounding_box (char const *str, const struct font *font, gfx_coord_t *width, gfx_coord_t *height) |
Computes the bounding box of a string. More... | |
Strings located in flash | |
void | gfx_draw_progmem_string (char PROGMEM_PTR_T str, gfx_coord_t x, gfx_coord_t y, const struct font *font, const gfx_color_t bg_color, const gfx_color_t text_color) |
Draws a string located in program memory to the display. More... | |
void | gfx_draw_progmem_string_aligned (char PROGMEM_PTR_T str, gfx_coord_t x, gfx_coord_t y, const struct font *font, const gfx_color_t bg_color, const gfx_color_t text_color, enum gfx_text_position text_pos, enum gfx_text_alignment text_align) |
Draws an aligned string located in program memory to the display. More... | |
void | gfx_get_progmem_string_bounding_box (char PROGMEM_PTR_T str, const struct font *font, gfx_coord_t *width, gfx_coord_t *height) |
Computes the bounding box of a string located in program memory. More... | |
enum font_data_type |
Valid storage locations for font data.
Enumerator | |
---|---|
FONT_LOC_PROGMEM |
Font data stored in program/flash memory. |
enum gfx_text_alignment |
Text alignment options for text lines within a paragraph.
enum gfx_text_position |
Text paraphraph positioning options.
void gfx_draw_char | ( | const char | c, |
const gfx_coord_t | x, | ||
const gfx_coord_t | y, | ||
const struct font * | font, | ||
const gfx_color_t | bg_color, | ||
const gfx_color_t | text_color | ||
) |
Draws a character to the display.
c | Character to be drawn |
x | X coordinate on screen. |
y | Y coordinate on screen. |
font | Font to draw character in |
bg_color | Background color to draw behind the text string |
text_color | Foreground color to draw the text string in |
References Assert, FONT_LOC_PROGMEM, GFX_COLOR_TRANSPARENT, gfx_draw_char_hugemem(), gfx_draw_char_progmem(), gfx_draw_filled_rect, font::height, font::type, and font::width.
Referenced by gfx_draw_progmem_string_aligned(), and gfx_draw_string_aligned().
void gfx_draw_progmem_string | ( | char PROGMEM_PTR_T | str, |
gfx_coord_t | x, | ||
gfx_coord_t | y, | ||
const struct font * | font, | ||
const gfx_color_t | bg_color, | ||
const gfx_color_t | text_color | ||
) |
Draws a string located in program memory to the display.
This function will draw a string located in program memory to the display, this differs from gfx_draw_string() by using constant string data from the program memory instead of string data in RAM.
Using program memory for constant strings will reduce the applications need for RAM, and thus lower the overall size footprint.
str | Pointer to string located in program memory |
x | X coordinate on screen. |
y | Y coordinate on screen. |
font | Font to draw string in |
bg_color | Background color to draw behind the text string |
text_color | Foreground color to draw the text string in |
References gfx_draw_progmem_string_aligned(), TEXT_ALIGN_LEFT, and TEXT_POS_LEFT.
void gfx_draw_progmem_string_aligned | ( | char PROGMEM_PTR_T | str, |
gfx_coord_t | x, | ||
gfx_coord_t | y, | ||
const struct font * | font, | ||
const gfx_color_t | bg_color, | ||
const gfx_color_t | text_color, | ||
enum gfx_text_position | text_pos, | ||
enum gfx_text_alignment | text_align | ||
) |
Draws an aligned string located in program memory to the display.
This function will draw a string located in program memory to the display with the specified alignment. This differs from gfx_draw_aligned_string() by using constant string data from the program memory instead of string data in RAM.
str | Pointer to string located in program memory |
x | X coordinate on screen. |
y | Y coordinate on screen. |
font | Font to draw string in |
bg_color | Background color to draw behind the text string |
text_color | Foreground color to draw the text string in |
text_pos | Position of the coordinate relative to the text paragraph |
text_align | Alignment of text lines within the paragraph bounding box |
References Assert, gfx_draw_char(), gfx_get_progmem_string_bounding_box(), font::height, PROGMEM_PTR_T, PROGMEM_READ_BYTE, TEXT_ALIGN_CENTER, TEXT_ALIGN_RIGHT, TEXT_POS_BOTTOM, TEXT_POS_CENTER_X, TEXT_POS_CENTER_Y, TEXT_POS_RIGHT, and font::width.
Referenced by gfx_draw_progmem_string().
void gfx_draw_string | ( | const char * | str, |
gfx_coord_t | x, | ||
gfx_coord_t | y, | ||
const struct font * | font, | ||
const gfx_color_t | bg_color, | ||
const gfx_color_t | text_color | ||
) |
Draws a string to the display.
This function will draw a string located in memory to the display.
str | Pointer to string |
x | X coordinate on screen. |
y | Y coordinate on screen. |
font | Font to draw string in |
bg_color | Background color to draw behind the text string |
text_color | Foreground color to draw the text string in |
References gfx_draw_string_aligned(), TEXT_ALIGN_LEFT, and TEXT_POS_LEFT.
void gfx_draw_string_aligned | ( | const char * | str, |
gfx_coord_t | x, | ||
gfx_coord_t | y, | ||
const struct font * | font, | ||
const gfx_color_t | bg_color, | ||
const gfx_color_t | text_color, | ||
enum gfx_text_position | text_pos, | ||
enum gfx_text_alignment | text_align | ||
) |
Draws an aligned string to the display.
This function will draw a string located in memory to the display with the specified alignment.
str | Pointer to string |
x | X coordinate on screen. |
y | Y coordinate on screen. |
font | Font to draw string in |
bg_color | Background color to draw behind the text string |
text_color | Foreground color to draw the text string in |
text_pos | Position of the coordinate relative to the text paragraph |
text_align | Alignment of text lines within the paragraph bounding box |
References Assert, gfx_draw_char(), gfx_get_string_bounding_box(), font::height, TEXT_ALIGN_CENTER, TEXT_ALIGN_RIGHT, TEXT_POS_BOTTOM, TEXT_POS_CENTER_X, TEXT_POS_CENTER_Y, TEXT_POS_RIGHT, and font::width.
Referenced by gfx_draw_string(), and main().
void gfx_get_progmem_string_bounding_box | ( | char PROGMEM_PTR_T | str, |
const struct font * | font, | ||
gfx_coord_t * | width, | ||
gfx_coord_t * | height | ||
) |
Computes the bounding box of a string located in program memory.
str | String in program memory to calculate bounding box for |
font | Font used |
width | Pointer to width result |
height | Pointer to height result |
References Assert, font::height, PROGMEM_PTR_T, PROGMEM_READ_BYTE, and font::width.
Referenced by gfx_draw_progmem_string_aligned().
void gfx_get_string_bounding_box | ( | const char * | str, |
const struct font * | font, | ||
gfx_coord_t * | width, | ||
gfx_coord_t * | height | ||
) |
Computes the bounding box of a string.
str | String to calculate bounding box for |
font | Font used |
width | Pointer to width result |
height | Pointer to height result |
References Assert, font::height, and font::width.
Referenced by gfx_draw_string_aligned().