remove widest_number definition and usage, add Font::getMaxDigitWidth() method instead

Signed-off-by: M. Liebmann <tuxcode.bbg@gmail.com>


Origin commit data
------------------
Branch: ni/coolstream
Commit: 15b2b2ec05
Author: martii <m4rtii@gmx.de>
Date: 2013-11-29 (Fri, 29 Nov 2013)



------------------
This commit was generated by Migit
This commit is contained in:
martii
2013-11-29 21:06:36 +01:00
committed by Michael Liebmann
parent 014fe21967
commit 4d800a439d
10 changed files with 47 additions and 25 deletions

View File

@@ -230,6 +230,8 @@ Font::Font(FBFontRenderClass *render, FTC_FaceID faceid, const int isize, const
//font.image_type |= ftc_image_flag_autohinted;
font.flags = FT_LOAD_RENDER | FT_LOAD_FORCE_AUTOHINT;
maxdigitwidth = 0;
scaler.face_id = font.face_id;
scaler.width = isize * 64;
scaler.height = isize * 64;
@@ -318,6 +320,21 @@ int Font::getDigitOffset(void)
return DigitOffset;
}
int Font::getMaxDigitWidth(void)
{
if (maxdigitwidth < 1) {
char b[2];
b[1] = 0;
for (char c = '0'; c <= '9'; c++) {
*b = c;
int w = getRenderWidth(b, true);
if (w > maxdigitwidth)
maxdigitwidth = w;
}
}
return maxdigitwidth;
}
int UTF8ToUnicode(const char * &text, const bool utf8_encoded) // returns -1 on error
{
int unicode_value;

View File

@@ -53,6 +53,7 @@ class Font
// these are HACKED values, because the font metrics were unusable.
int height,DigitHeight,DigitOffset,ascender,descender,upper,lower;
int fontwidth;
int maxdigitwidth;
inline void paintFontPixel(fb_pixel_t *td, uint8_t fg_trans, uint8_t fg_red, uint8_t fg_green, uint8_t fg_blue, fb_pixel_t bg_col, int faktor, uint8_t index);
@@ -71,6 +72,7 @@ class Font
int getRenderWidth(const std::string & text, const bool utf8_encoded = false);
int getHeight(void);
int getDigitHeight(void);
int getMaxDigitWidth(void);
int getDigitOffset(void);
int getWidth(void);
int getSize(){return font.width;}