mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-08-29 08:21:07 +02:00
CComponentsItem/Form: add var for real item position
If items are used in forms it can be usefully to have a variable
which contains the real position on screen.
This can happen e.g. if an item contains separate render methods, because within forms
usual x/y values related to form dimensions and be converted.
Origin commit data
------------------
Branch: ni/coolstream
Commit: 62efe2cb59
Author: Thilo Graf <dbt@novatux.de>
Date: 2013-04-10 (Wed, 10 Apr 2013)
------------------
This commit was generated by Migit
This commit is contained in:
@@ -99,6 +99,9 @@ class CComponentsItem : public CComponents
|
||||
int cc_item_type;
|
||||
int cc_item_index;
|
||||
|
||||
///contains real position and dimensions on screen,
|
||||
int cc_item_xr, cc_item_yr;
|
||||
|
||||
void hideCCItem(bool no_restore = false);
|
||||
void paintInit(bool do_save_bg);
|
||||
void initVarItem();
|
||||
@@ -106,6 +109,9 @@ class CComponentsItem : public CComponents
|
||||
public:
|
||||
CComponentsItem();
|
||||
|
||||
///sets real position on screen. Use this, if item contains own render methods and item is added to a form
|
||||
virtual void setRealPos(const int& xr, const int& yr){cc_item_xr = xr; cc_item_yr = yr;};
|
||||
|
||||
virtual void paint(bool do_save_bg = CC_SAVE_SCREEN_YES) = 0;
|
||||
virtual void hide(bool no_restore = false);
|
||||
virtual void kill();
|
||||
|
@@ -234,7 +234,6 @@ void CComponentsForm::paintCCItems()
|
||||
int x_item, y_item, w_item, h_item;
|
||||
v_cc_items[i]->getDimensions(&x_item, &y_item, &w_item, &h_item);
|
||||
|
||||
|
||||
int xy_ref = 0+fr_thickness; //allowed minimal x and y start position
|
||||
if (x_item < xy_ref){
|
||||
#ifdef DEBUG_CC
|
||||
@@ -271,6 +270,11 @@ void CComponentsForm::paintCCItems()
|
||||
#endif
|
||||
}
|
||||
|
||||
//set real position dimension to item
|
||||
int real_x = v_cc_items[i]->getXPos();
|
||||
int real_y = v_cc_items[i]->getYPos();
|
||||
v_cc_items[i]->setRealPos(real_x, real_y);
|
||||
|
||||
//paint element without saved screen!
|
||||
v_cc_items[i]->paint(CC_SAVE_SCREEN_NO);
|
||||
|
||||
|
@@ -54,6 +54,7 @@ void CComponentsItem::initVarItem()
|
||||
//CComponents
|
||||
initVarBasic();
|
||||
cc_item_index = CC_NO_INDEX;
|
||||
cc_item_xr = cc_item_yr = -1;
|
||||
}
|
||||
|
||||
// Paint container background in cc-items with shadow, background and frame.
|
||||
|
Reference in New Issue
Block a user