mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-29 16:31:11 +02:00
Merge branch 'master' into pu/mp
This commit is contained in:
@@ -284,6 +284,8 @@ class CCDraw : public COSDFader, public CComponentsSignals
|
|||||||
virtual void enableSaveBg(bool save_bg = true);
|
virtual void enableSaveBg(bool save_bg = true);
|
||||||
///disable background buffering, does the same like enableSaveBg(false), NOTE: cleans existant pixbuffer content!
|
///disable background buffering, does the same like enableSaveBg(false), NOTE: cleans existant pixbuffer content!
|
||||||
virtual void disableSaveBg(){enableSaveBg(false);}
|
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
|
///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?
|
///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?
|
||||||
|
@@ -185,12 +185,11 @@ void CComponentsForm::clear()
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
for(size_t i=0; i<v_cc_items.size(); i++) {
|
for(size_t i=0; i<v_cc_items.size(); i++) {
|
||||||
if (v_cc_items[i]){
|
CComponentsItem *item = v_cc_items[i];
|
||||||
|
if (item){
|
||||||
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());
|
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;
|
||||||
delete v_cc_items[i];
|
item = NULL;
|
||||||
v_cc_items[i] = NULL;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
v_cc_items.clear();
|
v_cc_items.clear();
|
||||||
@@ -518,7 +517,7 @@ void CComponentsForm::paintCCItems()
|
|||||||
|
|
||||||
//finally paint current item, but only required contents of page
|
//finally paint current item, but only required contents of page
|
||||||
if (cc_item->getPageNumber() == cur_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
|
//restore defined old visibility mode of item after paint
|
||||||
cc_item->allowPaint(item_visible);
|
cc_item->allowPaint(item_visible);
|
||||||
|
@@ -144,6 +144,8 @@ void CComponentsHeader::initVarHeader( const int& x_pos, const int& y_pos, const
|
|||||||
cch_cl_sec_format = cch_cl_format;
|
cch_cl_sec_format = cch_cl_format;
|
||||||
cch_cl_enable_run = false;
|
cch_cl_enable_run = false;
|
||||||
|
|
||||||
|
cch_text_max_w = width;
|
||||||
|
|
||||||
addContextButton(buttons);
|
addContextButton(buttons);
|
||||||
initCCItems();
|
initCCItems();
|
||||||
initParent(parent);
|
initParent(parent);
|
||||||
@@ -562,6 +564,7 @@ void CComponentsHeader::initCaption()
|
|||||||
cch_cl_obj->allowPaint(cch_cl_enable);
|
cch_cl_obj->allowPaint(cch_cl_enable);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cc_text_w = min(cc_text_w,cch_text_max_w);
|
||||||
|
|
||||||
//create cch_text_obj and add to collection
|
//create cch_text_obj and add to collection
|
||||||
if (cch_text_obj == NULL){
|
if (cch_text_obj == NULL){
|
||||||
|
@@ -106,6 +106,8 @@ class CComponentsHeader : public CComponentsForm, public CCTextScreen
|
|||||||
int cch_icon_w;
|
int cch_icon_w;
|
||||||
///property: internal width for clock object
|
///property: internal width for clock object
|
||||||
int cch_clock_w;
|
int cch_clock_w;
|
||||||
|
///property: internal max width for text object
|
||||||
|
int cch_text_max_w;
|
||||||
///property: internal x-position for caption object
|
///property: internal x-position for caption object
|
||||||
int cch_text_x;
|
int cch_text_x;
|
||||||
///property: internal offset of context button icons within context button object
|
///property: internal offset of context button icons within context button object
|
||||||
@@ -191,6 +193,8 @@ class CComponentsHeader : public CComponentsForm, public CCTextScreen
|
|||||||
virtual Font* getCaptionFont(){return cch_font;}
|
virtual Font* getCaptionFont(){return cch_font;}
|
||||||
///set text color for caption
|
///set text color for caption
|
||||||
virtual void setCaptionColor(fb_pixel_t text_color){cch_col_text = text_color;}
|
virtual void setCaptionColor(fb_pixel_t text_color){cch_col_text = text_color;}
|
||||||
|
///set max width for caption
|
||||||
|
virtual void setCaptionMaxWidth(int max_width){cch_text_max_w = max_width;}
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
|
@@ -208,7 +208,8 @@ class CComponentsPictureScalable : public CComponentsPicture
|
|||||||
fb_pixel_t color_background = 0,
|
fb_pixel_t color_background = 0,
|
||||||
fb_pixel_t color_shadow = COL_SHADOW_PLUS_0,
|
fb_pixel_t color_shadow = COL_SHADOW_PLUS_0,
|
||||||
int transparent = CFrameBuffer::TM_NONE)
|
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
|
class CComponentsChannelLogo : public CComponentsPicture
|
||||||
@@ -292,7 +293,8 @@ class CComponentsChannelLogoScalable : public CComponentsChannelLogo
|
|||||||
fb_pixel_t color_background = 0,
|
fb_pixel_t color_background = 0,
|
||||||
fb_pixel_t color_shadow = COL_SHADOW_PLUS_0,
|
fb_pixel_t color_shadow = COL_SHADOW_PLUS_0,
|
||||||
int transparent = CFrameBuffer::TM_BLACK)
|
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
|
#endif
|
||||||
|
@@ -41,7 +41,9 @@ typedef enum
|
|||||||
CC_ITEMTYPE_GENERIC,
|
CC_ITEMTYPE_GENERIC,
|
||||||
CC_ITEMTYPE_ITEM,
|
CC_ITEMTYPE_ITEM,
|
||||||
CC_ITEMTYPE_PICTURE,
|
CC_ITEMTYPE_PICTURE,
|
||||||
|
CC_ITEMTYPE_PICTURE_SCALABLE,
|
||||||
CC_ITEMTYPE_CHANNEL_LOGO,
|
CC_ITEMTYPE_CHANNEL_LOGO,
|
||||||
|
CC_ITEMTYPE_CHANNEL_LOGO_SCALABLE,
|
||||||
CC_ITEMTYPE_TEXT,
|
CC_ITEMTYPE_TEXT,
|
||||||
CC_ITEMTYPE_TEXT_INFOBOX,
|
CC_ITEMTYPE_TEXT_INFOBOX,
|
||||||
CC_ITEMTYPE_SHAPE_SQUARE,
|
CC_ITEMTYPE_SHAPE_SQUARE,
|
||||||
|
Reference in New Issue
Block a user