mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-29 16:31:11 +02:00
Use dynamic font in CVolumeBar
This commit is contained in:
@@ -87,7 +87,7 @@ class CNeutrinoFonts
|
|||||||
FONT_ID_SHARE = -1
|
FONT_ID_SHARE = -1
|
||||||
};
|
};
|
||||||
enum {
|
enum {
|
||||||
FONT_ID_xxx,
|
FONT_ID_VOLBAR,
|
||||||
|
|
||||||
FONT_ID_MAX
|
FONT_ID_MAX
|
||||||
};
|
};
|
||||||
|
@@ -32,6 +32,7 @@
|
|||||||
|
|
||||||
#include <neutrino.h>
|
#include <neutrino.h>
|
||||||
#include <gui/infoclock.h>
|
#include <gui/infoclock.h>
|
||||||
|
#include <driver/neutrinofonts.h>
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
@@ -68,7 +69,6 @@ void CVolumeBar::initVarVolumeBar()
|
|||||||
vb_digit = NULL;
|
vb_digit = NULL;
|
||||||
vb_digit_mode = CTextBox::CENTER ;
|
vb_digit_mode = CTextBox::CENTER ;
|
||||||
VolumeFont = SNeutrinoSettings::FONT_TYPE_INFOBAR_INFO;
|
VolumeFont = SNeutrinoSettings::FONT_TYPE_INFOBAR_INFO;
|
||||||
vb_font = g_Font[VolumeFont];
|
|
||||||
|
|
||||||
initVolumeBarSize();
|
initVolumeBarSize();
|
||||||
initVolumeBarPosition();
|
initVolumeBarPosition();
|
||||||
@@ -200,7 +200,7 @@ void CVolumeBar::initVolumeBarScale()
|
|||||||
//set digit text with current volume value
|
//set digit text with current volume value
|
||||||
void CVolumeBar::initVolumeBarDigitValue()
|
void CVolumeBar::initVolumeBarDigitValue()
|
||||||
{
|
{
|
||||||
vb_digit->setText(*vb_vol ,vb_digit_mode, vb_font);
|
vb_digit->setText(*vb_vol ,vb_digit_mode, *(CVolumeHelper::getInstance()->vb_font));
|
||||||
}
|
}
|
||||||
|
|
||||||
//create digit
|
//create digit
|
||||||
@@ -277,6 +277,7 @@ void CVolumeHelper::Init()
|
|||||||
y = frameBuffer->getScreenY() + v_spacer;
|
y = frameBuffer->getScreenY() + v_spacer;
|
||||||
sw = g_settings.screen_EndX - h_spacer;
|
sw = g_settings.screen_EndX - h_spacer;
|
||||||
sh = frameBuffer->getScreenHeight();
|
sh = frameBuffer->getScreenHeight();
|
||||||
|
vb_font = NULL;
|
||||||
|
|
||||||
initVolBarSize();
|
initVolBarSize();
|
||||||
initMuteIcon();
|
initMuteIcon();
|
||||||
@@ -319,7 +320,7 @@ void CVolumeHelper::initMuteIcon()
|
|||||||
|
|
||||||
void CVolumeHelper::initVolBarSize()
|
void CVolumeHelper::initVolBarSize()
|
||||||
{
|
{
|
||||||
vol_height = 18;
|
vol_height = 26;
|
||||||
icon_width = 0;
|
icon_width = 0;
|
||||||
digit_width = 0;
|
digit_width = 0;
|
||||||
int tmp_h = 0;
|
int tmp_h = 0;
|
||||||
@@ -329,9 +330,13 @@ void CVolumeHelper::initVolBarSize()
|
|||||||
vol_height = max(vol_height, tmp_h);
|
vol_height = max(vol_height, tmp_h);
|
||||||
|
|
||||||
if (g_settings.volume_digits) {
|
if (g_settings.volume_digits) {
|
||||||
tmp_h = g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_INFO]->getDigitHeight() + (g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_INFO]->getDigitOffset() * 18) / 10;
|
CNeutrinoFonts *cnf = CNeutrinoFonts::getInstance();
|
||||||
|
cnf->setFontUseDigitHeight(true);
|
||||||
|
tmp_h = vol_height;
|
||||||
|
digit_width = 200;
|
||||||
|
vb_font = cnf->getDynFont(digit_width, tmp_h, "100", CNeutrinoFonts::FONT_STYLE_REGULAR);
|
||||||
|
digit_width += 6;
|
||||||
vol_height = max(vol_height, tmp_h);
|
vol_height = max(vol_height, tmp_h);
|
||||||
digit_width = g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_INFO]->getRenderWidth("100");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -40,7 +40,6 @@ class CVolumeBar : public CComponentsForm
|
|||||||
CComponentsPicture *vb_icon;
|
CComponentsPicture *vb_icon;
|
||||||
CComponentsLabel *vb_digit;
|
CComponentsLabel *vb_digit;
|
||||||
int vb_digit_mode;
|
int vb_digit_mode;
|
||||||
Font* vb_font;
|
|
||||||
int VolumeFont;
|
int VolumeFont;
|
||||||
int sy, sw, sh;
|
int sy, sw, sh;
|
||||||
int mute_ax, mute_ay, mute_dx, mute_dy, mute_ay_old;
|
int mute_ax, mute_ay, mute_dx, mute_dy, mute_ay_old;
|
||||||
@@ -120,6 +119,8 @@ class CVolumeHelper
|
|||||||
CVolumeHelper();
|
CVolumeHelper();
|
||||||
static CVolumeHelper* getInstance();
|
static CVolumeHelper* getInstance();
|
||||||
|
|
||||||
|
Font** vb_font;
|
||||||
|
|
||||||
void getSpacer(int *h, int *v) { *h = h_spacer; *v = v_spacer; }
|
void getSpacer(int *h, int *v) { *h = h_spacer; *v = v_spacer; }
|
||||||
void getDimensions(int *_x, int *_y, int *_sw, int *_sh, int *_iw, int *_dw) { *_x = x; *_y = y; *_sw = sw; *_sh = sh; *_iw = icon_width; *_dw = digit_width; }
|
void getDimensions(int *_x, int *_y, int *_sw, int *_sh, int *_iw, int *_dw) { *_x = x; *_y = y; *_sw = sw; *_sh = sh; *_iw = icon_width; *_dw = digit_width; }
|
||||||
void getMuteIconDimensions(int *_x, int *_y, int *w, int *h) { *_x = mute_ax; *_y = mute_ay+mute_corrY; *w = mute_dx; *h = mute_dy; }
|
void getMuteIconDimensions(int *_x, int *_y, int *w, int *h) { *_x = mute_ax; *_y = mute_ay+mute_corrY; *w = mute_dx; *h = mute_dy; }
|
||||||
|
Reference in New Issue
Block a user