Conflicts:
	src/gui/channellist.cpp
	src/gui/epgview.cpp
	src/gui/epgview.h
	src/gui/eventlist.cpp


Origin commit data
------------------
Commit: 3210b958a8
Author: vanhofen <vanhofen@gmx.de>
Date: 2017-05-03 (Wed, 03 May 2017)
This commit is contained in:
vanhofen
2017-05-03 22:57:24 +02:00
11 changed files with 273 additions and 153 deletions

View File

@@ -284,6 +284,8 @@ class CCDraw : public COSDFader, public CComponentsSignals
virtual void enableSaveBg(bool save_bg = true);
///disable background buffering, does the same like enableSaveBg(false), NOTE: cleans existant pixbuffer content!
virtual void disableSaveBg(){enableSaveBg(false);}
///returns background buffering mode. Mode is assigned with paint() or enableSaveBg()/disableSaveBg())
bool SaveBg(){return cc_save_bg;}
///allow/disalows paint of item and its contents, but initialize of other properties are not touched
///this can be understood as a counterpart to isPainted(), but before paint and value of is_painted is modified temporarily till next paint of item //TODO: is this sufficiently?

View File

@@ -185,12 +185,11 @@ void CComponentsForm::clear()
return;
for(size_t i=0; i<v_cc_items.size(); i++) {
if (v_cc_items[i]){
dprintf(DEBUG_DEBUG, "[CComponentsForm] %s... delete form cc-item %d of %d (type=%d)\n", __func__, (int)i+1, (int)v_cc_items.size(), v_cc_items[i]->getItemType());
delete v_cc_items[i];
v_cc_items[i] = NULL;
CComponentsItem *item = v_cc_items[i];
if (item){
dprintf(DEBUG_DEBUG, "[CComponentsForm] %s... delete form cc-item %d of %d (type=%d)\taddress = %p\n", __func__, (int)i+1, (int)v_cc_items.size(), item->getItemType(), item);
delete item;
item = NULL;
}
}
v_cc_items.clear();
@@ -518,7 +517,7 @@ void CComponentsForm::paintCCItems()
//finally paint current item, but only required contents of page
if (cc_item->getPageNumber() == cur_page)
cc_item->paint(CC_SAVE_SCREEN_NO);
cc_item->paint(cc_item->SaveBg());
//restore defined old visibility mode of item after paint
cc_item->allowPaint(item_visible);

View File

@@ -277,10 +277,13 @@ void CComponentsHeader::initLogo()
int h_logo = cch_logo.dy_max == -1 ? height - 2*OFFSET_INNER_MIN : cch_logo.dy_max;
if(!cch_logo_obj)
cch_logo_obj = new CComponentsChannelLogoScalable(width/2, height/2 - h_logo/2, cch_logo.Name, cch_logo.Id, this);
cch_logo_obj = new CComponentsChannelLogoScalable(1, height/2 - h_logo/2, cch_logo.Name, cch_logo.Id, this);
else
cch_logo_obj->setChannel(cch_logo.Id, cch_logo.Name);
// use value 1 as initial value for logo width, ensures downscale with stupid available logo space
cch_logo_obj->setHeight(1, true);
//ensure logo is not larger than original size if in auto mode
if (cch_logo.dy_max == -1){
int dx_orig = 0, dy_orig = 0 ;
@@ -289,6 +292,7 @@ void CComponentsHeader::initLogo()
h_logo = dy_orig;
}
//cch_logo_obj->setWidth(1, true);
if (cch_logo_obj->hasLogo()){
cch_logo_obj->setHeight(h_logo, true);
@@ -533,7 +537,7 @@ void CComponentsHeader::initCaption()
cch_btn_obj->setXPos(width - buttons_w);
//set required width of caption object
cc_text_w -= (buttons_w + cch_offset);
cc_text_w -= buttons_w;
}
//clock
@@ -548,7 +552,7 @@ void CComponentsHeader::initCaption()
cch_cl_obj->setXPos(width - buttons_w - clock_w);
//set required width of caption object
cc_text_w -= (clock_w + cch_offset);
cc_text_w -= clock_w;
//stop clock if disabled or option run is disabled and clock is running
if (cch_cl_enable){

View File

@@ -208,7 +208,8 @@ class CComponentsPictureScalable : public CComponentsPicture
fb_pixel_t color_background = 0,
fb_pixel_t color_shadow = COL_SHADOW_PLUS_0,
int transparent = CFrameBuffer::TM_NONE)
: CComponentsPicture(x_pos, y_pos, 0, 0, image_name, parent, shadow_mode, color_frame, color_background, color_shadow, transparent){};
: CComponentsPicture(x_pos, y_pos, 0, 0, image_name, parent, shadow_mode, color_frame, color_background, color_shadow, transparent)
{cc_item_type = CC_ITEMTYPE_PICTURE_SCALABLE;};
};
class CComponentsChannelLogo : public CComponentsPicture
@@ -292,7 +293,8 @@ class CComponentsChannelLogoScalable : public CComponentsChannelLogo
fb_pixel_t color_background = 0,
fb_pixel_t color_shadow = COL_SHADOW_PLUS_0,
int transparent = CFrameBuffer::TM_BLACK)
: CComponentsChannelLogo(x_pos, y_pos, 0, 0, channelName, channelId, parent, shadow_mode, color_frame, color_background, color_shadow, transparent){};
: CComponentsChannelLogo(x_pos, y_pos, 0, 0, channelName, channelId, parent, shadow_mode, color_frame, color_background, color_shadow, transparent)
{cc_item_type = CC_ITEMTYPE_CHANNEL_LOGO_SCALABLE;};
};
#endif

View File

@@ -41,7 +41,9 @@ typedef enum
CC_ITEMTYPE_GENERIC,
CC_ITEMTYPE_ITEM,
CC_ITEMTYPE_PICTURE,
CC_ITEMTYPE_PICTURE_SCALABLE,
CC_ITEMTYPE_CHANNEL_LOGO,
CC_ITEMTYPE_CHANNEL_LOGO_SCALABLE,
CC_ITEMTYPE_TEXT,
CC_ITEMTYPE_TEXT_INFOBOX,
CC_ITEMTYPE_SHAPE_SQUARE,