Project "Tuxbox-GIT: apps":
The branch, master has been updated
via 9f02607d0beb28e38ab4609f7bdfadad70eeb016 (commit)
from ac59ccffb18ee5065dc215d32042ce5f8da7cb46 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 9f02607d0beb28e38ab4609f7bdfadad70eeb016
Author: martii <[email protected]>
Date: Wed May 27 19:22:36 2015 +0200
remove widest_number definition and usage, add Font::getMaxDigitWidth()
method instead
Signed-off-by: GetAway <[email protected]>
diff --git a/tuxbox/neutrino/src/driver/fontrenderer.cpp
b/tuxbox/neutrino/src/driver/fontrenderer.cpp
index 459f1c1..2ff0468 100644
--- a/tuxbox/neutrino/src/driver/fontrenderer.cpp
+++ b/tuxbox/neutrino/src/driver/fontrenderer.cpp
@@ -221,6 +221,8 @@ Font::Font(FBFontRenderClass *render, FTC_FaceID faceid,
const int isize, const
font.height = isize;
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;
@@ -283,6 +285,21 @@ int Font::getHeight(void)
return height;
}
+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);
+ if (w > maxdigitwidth)
+ maxdigitwidth = w;
+ }
+ }
+ return maxdigitwidth;
+}
+
int UTF8ToUnicode(const char * &text, const bool utf8_encoded) // returns -1
on error
{
int unicode_value;
diff --git a/tuxbox/neutrino/src/driver/fontrenderer.h
b/tuxbox/neutrino/src/driver/fontrenderer.h
index 5239a50..3a0a013 100644
--- a/tuxbox/neutrino/src/driver/fontrenderer.h
+++ b/tuxbox/neutrino/src/driver/fontrenderer.h
@@ -52,6 +52,7 @@ class Font
// these are HACKED values, because the font metrics were unusable.
int height,ascender,descender,upper,lower;
int fontwidth;
+ int maxdigitwidth;
public:
enum fontmodifier
@@ -67,6 +68,7 @@ class Font
int getRenderWidth(const char * text, const bool utf8_encoded =
false);
int getRenderWidth(const std::string & text, const bool utf8_encoded =
false);
int getHeight(void);
+ int getMaxDigitWidth(void);
int getSize(){return font.width;}
int setSize(int isize);
diff --git a/tuxbox/neutrino/src/gui/channellist.cpp
b/tuxbox/neutrino/src/gui/channellist.cpp
index b0b03fe..411c38e 100644
--- a/tuxbox/neutrino/src/gui/channellist.cpp
+++ b/tuxbox/neutrino/src/gui/channellist.cpp
@@ -785,7 +785,7 @@ int CChannelList::numericZap(neutrino_msg_t key)
int ox=300;
int oy=200;
- int sx = 4 *
g_Font[SNeutrinoSettings::FONT_TYPE_CHANNEL_NUM_ZAP]->getRenderWidth(widest_number)
+ 14;
+ int sx = 4 *
g_Font[SNeutrinoSettings::FONT_TYPE_CHANNEL_NUM_ZAP]->getMaxDigitWidth() + 14;
int sy =
g_Font[SNeutrinoSettings::FONT_TYPE_CHANNEL_NUM_ZAP]->getHeight() + 6;
char valstr[10];
int chn = CRCInput::getNumericValue(key);
diff --git a/tuxbox/neutrino/src/gui/infoviewer.cpp
b/tuxbox/neutrino/src/gui/infoviewer.cpp
index 5227eef..31e43c1 100644
--- a/tuxbox/neutrino/src/gui/infoviewer.cpp
+++ b/tuxbox/neutrino/src/gui/infoviewer.cpp
@@ -126,7 +126,7 @@ void CInfoViewer::start()
2*g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_INFO]->getHeight() +
25;
- ChanWidth = 4*
g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_NUMBER]->getRenderWidth(widest_number)
+ 10;
+ ChanWidth = 4 *
g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_NUMBER]->getMaxDigitWidth() + 10;
ChanHeight =
g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_NUMBER]->getHeight()*9/8;
ProgressBarHeight =
g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL]->getHeight() - 4;
@@ -134,7 +134,7 @@ void CInfoViewer::start()
aspectRatio = g_Controld->getAspectRatio();
time_height =
g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_CHANNAME]->getHeight()+5;
- time_left_width = 2*
g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_CHANNAME]->getRenderWidth(widest_number);
+ time_left_width = 2 *
g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_CHANNAME]->getMaxDigitWidth();
time_dot_width =
g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_CHANNAME]->getRenderWidth(":");
time_width = time_left_width* 2+ time_dot_width;
diff --git a/tuxbox/neutrino/src/neutrino.h b/tuxbox/neutrino/src/neutrino.h
index fba89c7..2ad7a1d 100644
--- a/tuxbox/neutrino/src/neutrino.h
+++ b/tuxbox/neutrino/src/neutrino.h
@@ -50,7 +50,6 @@
#include <string>
-#define widest_number "2"
#define ANNOUNCETIME (1 * 60)
#define PLUGINDIR_VAR "/var/tuxbox/plugins"
-----------------------------------------------------------------------
Summary of changes:
tuxbox/neutrino/src/driver/fontrenderer.cpp | 17 +++++++++++++++++
tuxbox/neutrino/src/driver/fontrenderer.h | 2 ++
tuxbox/neutrino/src/gui/channellist.cpp | 2 +-
tuxbox/neutrino/src/gui/infoviewer.cpp | 4 ++--
tuxbox/neutrino/src/neutrino.h | 1 -
5 files changed, 22 insertions(+), 4 deletions(-)
--
Tuxbox-GIT: apps
------------------------------------------------------------------------------
_______________________________________________
Tuxbox-cvs-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tuxbox-cvs-commits