mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-08-28 07:51:11 +02:00
Merge branch 'cst-next' of git://coolstreamtech.de/cst-public-gui-neutrino into ni/cst-next
Origin commit data
------------------
Commit: 8167e518ae
Author: gixxpunk <thomas.harfmann@gmail.com>
Date: 2016-06-26 (Sun, 26 Jun 2016)
This commit is contained in:
@@ -119,7 +119,7 @@ void cDvbSubtitleBitmaps::Draw(int &min_x, int &min_y, int &max_x, int &max_y)
|
||||
double xc = (double) CFrameBuffer::getInstance()->getScreenWidth(true)/(double) 720;
|
||||
double yc = (double) CFrameBuffer::getInstance()->getScreenHeight(true)/(double) 576;
|
||||
xc = yc; //FIXME should we scale also to full width ?
|
||||
int xf = xc * (double) 720;
|
||||
int xf = int(xc * (double) 720);
|
||||
|
||||
for (i = 0; i < Count(); i++) {
|
||||
uint32_t * colors = (uint32_t *) sub.rects[i]->pict.data[1];
|
||||
@@ -127,15 +127,15 @@ void cDvbSubtitleBitmaps::Draw(int &min_x, int &min_y, int &max_x, int &max_y)
|
||||
int height = sub.rects[i]->h;
|
||||
int xoff, yoff;
|
||||
|
||||
int nw = width == 1280 ? ((double) width / xc) : ((double) width * xc);
|
||||
int nh = (double) height * yc;
|
||||
int nw = int(width == 1280 ? ((double) width / xc) : ((double) width * xc));
|
||||
int nh = int((double) height * yc);
|
||||
|
||||
int xdiff = (wd > xf) ? ((wd - xf) / 2) : 0;
|
||||
xoff = sub.rects[i]->x*xc + xstart + xdiff;
|
||||
xoff = int(sub.rects[i]->x*xc + xstart + xdiff);
|
||||
if(sub.rects[i]->y < 576/2) {
|
||||
yoff = ystart + sub.rects[i]->y*yc;
|
||||
yoff = int(ystart + sub.rects[i]->y*yc);
|
||||
} else {
|
||||
yoff = yend - ((width == 1280 ? 704:576) - (double) (sub.rects[i]->y + height))*yc - nh;
|
||||
yoff = int(yend - ((width == 1280 ? 704:576) - (double) (sub.rects[i]->y + height))*yc - nh);
|
||||
if(yoff < ystart)
|
||||
yoff = ystart;
|
||||
}
|
||||
@@ -343,7 +343,7 @@ int cDvbSubtitleConverter::Action(void)
|
||||
bitmaps->Del(sb, true);
|
||||
}
|
||||
else if (Delta < WaitMs)
|
||||
WaitMs = (Delta > SHOW_DELTA) ? Delta - SHOW_DELTA : Delta;
|
||||
WaitMs = int((Delta > SHOW_DELTA) ? Delta - SHOW_DELTA : Delta);
|
||||
}
|
||||
else
|
||||
bitmaps->Del(sb, true);
|
||||
|
@@ -224,6 +224,11 @@ void CCDraw::setFrameThickness(const int& thickness, const int& thickness_sel)
|
||||
|
||||
if (fr_thickness_sel != thickness_sel)
|
||||
fr_thickness_sel = thickness_sel;
|
||||
|
||||
//ensure enabled frame if frame width > 0
|
||||
cc_enable_frame = false;
|
||||
if (fr_thickness)
|
||||
cc_enable_frame = true;
|
||||
}
|
||||
|
||||
bool CCDraw::enableColBodyGradient(const int& enable_mode, const fb_pixel_t& sec_color, const int& direction)
|
||||
|
@@ -420,7 +420,7 @@ void CComponentsFrmClock::setHeight(const int& h)
|
||||
|
||||
int f_height = cl_font->getHeight();
|
||||
if (h != f_height){
|
||||
dprintf(DEBUG_NORMAL, "\033[33m[CComponentsFrmClock]\t[%s - %d], font height is different than current height [%d], using [%d] ...\033[0m\n", __func__, __LINE__, h, f_height);
|
||||
dprintf(DEBUG_DEBUG, "\033[33m[CComponentsFrmClock]\t[%s - %d], font height is different than current height [%d], using [%d] ...\033[0m\n", __func__, __LINE__, h, f_height);
|
||||
CCDraw::setHeight(f_height);
|
||||
}else
|
||||
CCDraw::setHeight(h);
|
||||
|
@@ -133,7 +133,7 @@ void CComponentsWindow::initVarWindow( const int& x_pos, const int& y_pos, const
|
||||
ccw_icon_name = iconname;
|
||||
|
||||
dprintf(DEBUG_DEBUG, "[CComponentsWindow] [%s - %d] icon name = %s\n", __func__, __LINE__, ccw_icon_name.c_str());
|
||||
|
||||
paint_bg = false;
|
||||
shadow = shadow_mode;
|
||||
col_frame = color_frame;
|
||||
col_body = color_body;
|
||||
@@ -215,12 +215,13 @@ void CComponentsWindow::initFooter()
|
||||
//add of footer item happens initCCWItems()
|
||||
//set footer properties
|
||||
if (ccw_footer){
|
||||
ccw_footer->setPos(0, CC_APPEND);
|
||||
ccw_footer->setPos(0, cc_yr + height - ccw_footer->getHeight()- fr_thickness);
|
||||
ccw_footer->setWidth(width-2*fr_thickness);
|
||||
ccw_footer->enableShadow(shadow);
|
||||
ccw_footer->setCorner(corner_rad, CORNER_BOTTOM);
|
||||
ccw_footer->enableShadow(false/*shadow*/);
|
||||
ccw_footer->setCorner(corner_rad-fr_thickness/2, CORNER_BOTTOM);
|
||||
ccw_footer->setButtonFont(ccw_button_font);
|
||||
ccw_footer->setColorBody(ccw_col_footer);
|
||||
ccw_footer->doPaintBg(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -240,7 +241,7 @@ void CComponentsWindow::initLeftSideBar()
|
||||
int h_sbar = height - h_header - h_footer - 2*fr_thickness;
|
||||
int w_sbar = ccw_w_sidebar;
|
||||
ccw_left_sidebar->setDimensionsAll(0, CC_APPEND, w_sbar, h_sbar);
|
||||
ccw_left_sidebar->doPaintBg(false);
|
||||
ccw_left_sidebar->doPaintBg(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -260,7 +261,7 @@ void CComponentsWindow::initRightSideBar()
|
||||
int h_sbar = height - h_header - h_footer - 2*fr_thickness;
|
||||
int w_sbar = ccw_w_sidebar;
|
||||
ccw_right_sidebar->setDimensionsAll(width - w_sbar, CC_APPEND, w_sbar, h_sbar);
|
||||
ccw_right_sidebar->doPaintBg(false);
|
||||
ccw_right_sidebar->doPaintBg(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -271,25 +272,36 @@ void CComponentsWindow::initBody()
|
||||
//add of body item happens initCCWItems()
|
||||
//set body properties
|
||||
if (ccw_body){
|
||||
ccw_body->setCornerType(0);
|
||||
ccw_body->setCorner(corner_rad-fr_thickness/2, CORNER_NONE);
|
||||
int h_footer = 0;
|
||||
int h_header = 0;
|
||||
int w_l_sidebar = 0;
|
||||
int w_r_sidebar = 0;
|
||||
if (ccw_footer)
|
||||
if (ccw_footer){
|
||||
h_footer = ccw_footer->getHeight();
|
||||
if (ccw_head)
|
||||
}
|
||||
if (ccw_head){
|
||||
h_header = ccw_head->getHeight();
|
||||
}
|
||||
if (ccw_left_sidebar)
|
||||
w_l_sidebar = ccw_left_sidebar->getWidth();
|
||||
if (ccw_right_sidebar)
|
||||
w_r_sidebar = ccw_right_sidebar->getWidth();
|
||||
int h_body = height - h_header - h_footer - 2*fr_thickness;
|
||||
int h_body = height - h_header - h_footer - fr_thickness;
|
||||
int x_body = w_l_sidebar;
|
||||
int w_body = width-2*fr_thickness - w_l_sidebar - w_r_sidebar;
|
||||
|
||||
ccw_body->setDimensionsAll(x_body, CC_APPEND, w_body, h_body);
|
||||
ccw_body->doPaintBg(false);
|
||||
ccw_body->setDimensionsAll(x_body, h_header, w_body, h_body);
|
||||
ccw_body->doPaintBg(true);
|
||||
|
||||
//handle corner behavior
|
||||
if (!ccw_show_header)
|
||||
ccw_body->setCornerType(CORNER_TOP);
|
||||
if (!ccw_show_footer)
|
||||
ccw_body->setCornerType(ccw_body->getCornerType() | CORNER_BOTTOM);
|
||||
if (!ccw_show_header)
|
||||
ccw_body->setCornerType(CORNER_TOP);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -340,15 +352,19 @@ void CComponentsWindow::initCCWItems()
|
||||
//init window body core
|
||||
initBody();
|
||||
|
||||
//add header, body and footer items only one time
|
||||
/*Add header and footer items as first and body as last item.
|
||||
Render of items occurs in listed order. So it's better for performance while render of window.
|
||||
This is something more advantageously because all other items are contained inside body.
|
||||
So we avoid possible delay while rendering of base items. It looks better on screen.
|
||||
*/
|
||||
if (ccw_head)
|
||||
if (!ccw_head->isAdded())
|
||||
addCCItem(ccw_head);
|
||||
if (!ccw_body->isAdded())
|
||||
addCCItem(ccw_body);
|
||||
if (ccw_footer)
|
||||
if (!ccw_footer->isAdded())
|
||||
addCCItem(ccw_footer);
|
||||
if (!ccw_body->isAdded())
|
||||
addCCItem(ccw_body);
|
||||
}
|
||||
|
||||
void CComponentsWindow::enableSidebar(const int& sidbar_type)
|
||||
|
@@ -111,8 +111,8 @@ void CComponentsItem::paintInit(bool do_save_bg)
|
||||
{true, CC_FBDATA_TYPE_BGSCREEN, ix, iy, width+isw/2, height+isw/2, 0, 0, 0, 0, NULL, NULL, NULL, false}, //buffered bg
|
||||
{sh_r, CC_FBDATA_TYPE_SHADOW_BOX, ixsr, iy+isw/2, isw, height, col_shadow, corner_rad, corner_type & CORNER_RIGHT, 0, NULL, NULL, NULL, false}, //shadow right
|
||||
{sh_b, CC_FBDATA_TYPE_SHADOW_BOX, ix+isw/2, iysb, width, isw, col_shadow, corner_rad, corner_type & CORNER_BOTTOM, 0, NULL, NULL, NULL, false}, //shadow bottom
|
||||
{true, CC_FBDATA_TYPE_FRAME, ix, iy, width, height, col_frame_cur, corner_rad, corner_type, th, NULL, NULL, NULL, false}, //frame
|
||||
{true, CC_FBDATA_TYPE_BOX, ix+th, iy+th, width-2*th, height-2*th, col_body, rad, corner_type, 0, NULL, NULL, NULL, false}, //body
|
||||
{true, CC_FBDATA_TYPE_FRAME, ix, iy, width, height, col_frame_cur, corner_rad, corner_type, th, NULL, NULL, NULL, false} //frame
|
||||
};
|
||||
|
||||
for(size_t i =0; i< (sizeof(fbdata) / sizeof(fbdata[0])) ;i++) {
|
||||
|
@@ -1102,6 +1102,8 @@ void CUpnpBrowserGui::paintItemInfo(UPnPEntry *entry)
|
||||
int y_image = ibox.getYPos() + ibox.getHeight()/2 - h_image/2;
|
||||
if (!image){
|
||||
image = new CComponentsPicture(100, y_image, tmpname, NULL, CC_SHADOW_OFF, COL_MENUCONTENTDARK_PLUS_0);
|
||||
image->doPaintBg(false);
|
||||
image->SetTransparent(CFrameBuffer::TM_BLACK);
|
||||
}
|
||||
image->setPicture(tmpname);
|
||||
image->setHeight(h_image, true);
|
||||
@@ -1191,9 +1193,9 @@ void CUpnpBrowserGui::paintDetails(UPnPEntry *entry, bool use_playing)
|
||||
text += "\n" + entry->album;
|
||||
ibox.setText(text, CTextBox::AUTO_WIDTH);
|
||||
ibox.paint0();
|
||||
}
|
||||
if (image)
|
||||
image->paint0();
|
||||
}
|
||||
timebox.paint0();
|
||||
}
|
||||
}
|
||||
|
@@ -692,8 +692,10 @@ void CMenuWidget::resetWidget(bool delete_items)
|
||||
{
|
||||
for(unsigned int count=0;count<items.size();count++) {
|
||||
CMenuItem * item = items[count];
|
||||
if (delete_items && !item->isStatic)
|
||||
if (delete_items && !item->isStatic){
|
||||
delete item;
|
||||
item = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
items.clear();
|
||||
|
@@ -563,7 +563,7 @@ void CTextBox::refreshText(void)
|
||||
//bg variables
|
||||
int ax = m_cFrameTextRel.iX+m_cFrame.iX;
|
||||
int ay = m_cFrameTextRel.iY+m_cFrame.iY;
|
||||
int dx = m_cFrameTextRel.iWidth;
|
||||
int dx = m_old_cText != m_cText ? m_cFrameTextRel.iWidth : m_nMaxTextWidth;
|
||||
int dy = m_cFrameTextRel.iHeight;
|
||||
|
||||
//find changes
|
||||
@@ -602,6 +602,7 @@ void CTextBox::refreshText(void)
|
||||
clearScreenBuffer();
|
||||
if (allow_paint_bg){
|
||||
//TRACE("[CTextBox] %s paint bg %d\r\n", __FUNCTION__, __LINE__);
|
||||
//paint full background only on new text, otherwise paint required background
|
||||
frameBuffer->paintBoxRel(ax, ay, dx, dy, m_textBackgroundColor, m_nBgRadius, m_nBgRadiusType);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user