aboutsummaryrefslogtreecommitdiffstats
path: root/src/gdisp/gdisp.c
diff options
context:
space:
mode:
authorinmarket <andrewh@inmarket.com.au>2015-10-06 12:02:58 +1000
committerinmarket <andrewh@inmarket.com.au>2015-10-06 12:02:58 +1000
commit53cb1af757a2d0b2a18276cdbbeb0bf826a8540c (patch)
tree61c8051341972d3c135525cbb2aa042e21bcc748 /src/gdisp/gdisp.c
parentb9c3ddf839eba4c227dae2eeca59827719fc2876 (diff)
downloaduGFX-53cb1af757a2d0b2a18276cdbbeb0bf826a8540c.tar.gz
uGFX-53cb1af757a2d0b2a18276cdbbeb0bf826a8540c.tar.bz2
uGFX-53cb1af757a2d0b2a18276cdbbeb0bf826a8540c.zip
Add extra font metrics
Diffstat (limited to 'src/gdisp/gdisp.c')
-rw-r--r--src/gdisp/gdisp.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/gdisp/gdisp.c b/src/gdisp/gdisp.c
index 377ccddb..0ddee1f6 100644
--- a/src/gdisp/gdisp.c
+++ b/src/gdisp/gdisp.c
@@ -3313,6 +3313,8 @@ void gdispGDrawBox(GDisplay *g, coord_t x, coord_t y, coord_t cx, coord_t cy, co
case fontCharPadding: return 0;
case fontMinWidth: return font->min_x_advance;
case fontMaxWidth: return font->max_x_advance;
+ case fontBaselineX: return font->baseline_x;
+ case fontBaselineY: return font->baseline_y;
}
return 0;
}
@@ -3322,12 +3324,20 @@ void gdispGDrawBox(GDisplay *g, coord_t x, coord_t y, coord_t cx, coord_t cy, co
return mf_character_width(font, c);
}
- coord_t gdispGetStringWidth(const char* str, font_t font) {
+ coord_t gdispGetStringWidthCount(const char* str, font_t font, uint16_t count) {
if (!str)
return 0;
- /* No mutex required as we only read static data */
- return mf_get_string_width(font, str, 0, 0);
+ // No mutex required as we only read static data
+ #if GDISP_NEED_TEXT_KERNING
+ return mf_get_string_width(font, str, count, TRUE);
+ #else
+ return mf_get_string_width(font, str, count, FALSE);
+ #endif
+ }
+
+ coord_t gdispGetStringWidth(const char* str, font_t font) {
+ return gdispGetStringWidthCount(str, font, 0);
}
#endif