CComponents: don't paint the same box with different colors as background

Origin commit data
------------------
Branch: ni/coolstream
Commit: d18217effb
Author: Jacek Jendrzej <overx300@gmail.com>
Date: 2013-04-04 (Thu, 04 Apr 2013)


------------------
No further description and justification available within origin commit message!

------------------
This commit was generated by Migit
This commit is contained in:
Jacek Jendrzej
2013-04-04 12:19:31 +02:00
parent c8f7b45b26
commit db0b328b0d
2 changed files with 20 additions and 1 deletions

View File

@@ -78,6 +78,24 @@ void CComponents::initVarBasic()
saved_screen.pixbuf = NULL;
}
bool CComponents::allowPaint(int i)
{
if(v_fbdata[i].fbdata_type == CC_FBDATA_TYPE_BOX)
return true;
if (v_fbdata[CC_FBDATA_TYPE_BOX].x != v_fbdata[i].x)
return true;
else if (v_fbdata[CC_FBDATA_TYPE_BOX].y != v_fbdata[i].y)
return true;
else if (v_fbdata[CC_FBDATA_TYPE_BOX].dx != v_fbdata[i].dx)
return true;
else if (v_fbdata[CC_FBDATA_TYPE_BOX].dy != v_fbdata[i].dy)
return true;
return false;
}
//paint framebuffer stuff and fill buffer
void CComponents::paintFbItems(bool do_save_bg)
{
@@ -120,7 +138,7 @@ void CComponents::paintFbItems(bool do_save_bg)
frameBuffer->paintBoxFrame(v_fbdata[i].x, v_fbdata[i].y, v_fbdata[i].dx, v_fbdata[i].dy, v_fbdata[i].frame_thickness, v_fbdata[i].color, v_fbdata[i].r);
else if (fbtype == CC_FBDATA_TYPE_BACKGROUND)
frameBuffer->paintBackgroundBoxRel(x, y, v_fbdata[i].dx, v_fbdata[i].dy);
else
else if( allowPaint(i) )
frameBuffer->paintBoxRel(v_fbdata[i].x, v_fbdata[i].y, v_fbdata[i].dx, v_fbdata[i].dy, v_fbdata[i].color, v_fbdata[i].r, corner_type);
}
}