diff options
author | inmarket <andrewh@inmarket.com.au> | 2015-10-06 12:02:58 +1000 |
---|---|---|
committer | inmarket <andrewh@inmarket.com.au> | 2015-10-06 12:02:58 +1000 |
commit | 53cb1af757a2d0b2a18276cdbbeb0bf826a8540c (patch) | |
tree | 61c8051341972d3c135525cbb2aa042e21bcc748 /src/gdisp/gdisp.c | |
parent | b9c3ddf839eba4c227dae2eeca59827719fc2876 (diff) | |
download | uGFX-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.c | 16 |
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 |