mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-27 15:32:59 +02:00
CMenueWidget: get header height directly from header object
This commit is contained in:
@@ -1252,7 +1252,9 @@ void CMenuWidget::calcSize()
|
|||||||
if (neededWidth > width - frameBuffer->scale2Res(48)) {
|
if (neededWidth > width - frameBuffer->scale2Res(48)) {
|
||||||
width = neededWidth + frameBuffer->scale2Res(48)+1;
|
width = neededWidth + frameBuffer->scale2Res(48)+1;
|
||||||
}
|
}
|
||||||
hheight = g_Font[SNeutrinoSettings::FONT_TYPE_MENU_TITLE]->getHeight();
|
|
||||||
|
initHeader();
|
||||||
|
hheight = header->getHeight();
|
||||||
|
|
||||||
int heightCurrPage=0;
|
int heightCurrPage=0;
|
||||||
page_start.clear();
|
page_start.clear();
|
||||||
@@ -1359,9 +1361,12 @@ void CMenuWidget::paint()
|
|||||||
|
|
||||||
if (CInfoClock::getInstance()->isRun())
|
if (CInfoClock::getInstance()->isRun())
|
||||||
CInfoClock::getInstance()->disableInfoClock();
|
CInfoClock::getInstance()->disableInfoClock();
|
||||||
|
|
||||||
calcSize();
|
calcSize();
|
||||||
|
|
||||||
CVFD::getInstance()->setMode(CVFD::MODE_MENU_UTF8 /*, nameString.c_str()*/);
|
CVFD::getInstance()->setMode(CVFD::MODE_MENU_UTF8 /*, nameString.c_str()*/);
|
||||||
|
|
||||||
|
|
||||||
/* prepare footer:
|
/* prepare footer:
|
||||||
* We must prepare footer, to get current footer dimensions,
|
* We must prepare footer, to get current footer dimensions,
|
||||||
* otherwise footer will paint on wrong position
|
* otherwise footer will paint on wrong position
|
||||||
@@ -1371,16 +1376,7 @@ void CMenuWidget::paint()
|
|||||||
OnBeforePaint();
|
OnBeforePaint();
|
||||||
|
|
||||||
// paint head
|
// paint head
|
||||||
if (header == NULL){
|
initHeader();
|
||||||
header = new CComponentsHeader(x, y, width + scrollbar_width, hheight, getName(), iconfile);
|
|
||||||
header->enableShadow(CC_SHADOW_RIGHT | CC_SHADOW_CORNER_TOP_RIGHT | CC_SHADOW_CORNER_BOTTOM_RIGHT);
|
|
||||||
header->setOffset(OFFSET_INNER_MID);
|
|
||||||
}
|
|
||||||
header->setCaption(getName());
|
|
||||||
header->setColorAll(COL_FRAME_PLUS_0, COL_MENUHEAD_PLUS_0, COL_SHADOW_PLUS_0);
|
|
||||||
header->setCaptionColor(COL_MENUHEAD_TEXT);
|
|
||||||
header->enableColBodyGradient(g_settings.theme.menu_Head_gradient, COL_MENUCONTENT_PLUS_0);
|
|
||||||
header->enableGradientBgCleanUp(savescreen);
|
|
||||||
header->paint(CC_SAVE_SCREEN_NO);
|
header->paint(CC_SAVE_SCREEN_NO);
|
||||||
|
|
||||||
// paint body background
|
// paint body background
|
||||||
@@ -1396,6 +1392,20 @@ void CMenuWidget::paint()
|
|||||||
footer->paint(CC_SAVE_SCREEN_NO);
|
footer->paint(CC_SAVE_SCREEN_NO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CMenuWidget::initHeader()
|
||||||
|
{
|
||||||
|
if (!header){
|
||||||
|
header = new CComponentsHeader(x, y, width + scrollbar_width, 0, getName(), iconfile);
|
||||||
|
header->enableShadow(CC_SHADOW_RIGHT | CC_SHADOW_CORNER_TOP_RIGHT | CC_SHADOW_CORNER_BOTTOM_RIGHT);
|
||||||
|
header->setOffset(OFFSET_INNER_MID);
|
||||||
|
}
|
||||||
|
header->setCaption(getName());
|
||||||
|
header->setColorAll(COL_FRAME_PLUS_0, COL_MENUHEAD_PLUS_0, COL_SHADOW_PLUS_0);
|
||||||
|
header->setCaptionColor(COL_MENUHEAD_TEXT);
|
||||||
|
header->enableColBodyGradient(g_settings.theme.menu_Head_gradient, COL_MENUCONTENT_PLUS_0);
|
||||||
|
header->enableGradientBgCleanUp(savescreen);
|
||||||
|
}
|
||||||
|
|
||||||
void CMenuWidget::setMenuPos(const int& menu_width)
|
void CMenuWidget::setMenuPos(const int& menu_width)
|
||||||
{
|
{
|
||||||
int scr_x = frameBuffer->getScreenX();
|
int scr_x = frameBuffer->getScreenX();
|
||||||
|
@@ -608,6 +608,7 @@ class CMenuWidget : public CMenuTarget, public CComponentsSignals
|
|||||||
void saveScreen();
|
void saveScreen();
|
||||||
void restoreScreen();
|
void restoreScreen();
|
||||||
void setMenuPos(const int& menu_width);
|
void setMenuPos(const int& menu_width);
|
||||||
|
void initHeader();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
CMenuWidget();
|
CMenuWidget();
|
||||||
|
Reference in New Issue
Block a user