Experimental try to rework isPainted()

This commit is contained in:
2017-01-19 09:15:49 +01:00
committed by M. Liebmann
parent 2f24e98252
commit 26eb4d079b
6 changed files with 29 additions and 8 deletions

View File

@@ -629,16 +629,32 @@ void CCDraw::paintFbItems(bool do_save_bg)
fbdata.pixbuf = getScreen(fbdata.x, fbdata.y, fbdata.dx, fbdata.dy);
}
}
is_painted = v_fbdata[i].is_painted = true;
v_fbdata[i].is_painted = true;
OnAfterPaintBg();
}
}
}
}
//set is_painted attribut. if any layer was painted set it to true;
is_painted = isPainted();
//pick up signal if filled
OnAfterPaintLayers();
}
bool CCDraw::isPainted()
{
if (firstPaint)
return false;
for(size_t i=0; i< v_fbdata.size(); i++)
if (v_fbdata[i].is_painted)
return true;
return false;
}
void CCDraw::hide()
{
OnBeforeHide();
@@ -653,8 +669,8 @@ void CCDraw::hide()
}
}
}
is_painted = false;
firstPaint = true;
is_painted = isPainted();
OnAfterHide();
}
@@ -700,7 +716,7 @@ void CCDraw::kill(const fb_pixel_t& bg_color, const int& corner_radius, const in
if (fblayer_type == CC_FBDATA_TYPES){
firstPaint = true;
is_painted = false;
is_painted = isPainted();
}
}