Convert to LayerData independent drawing API

Implement clipping routines for Lines and Rectangles
Fix workspace initialization problem
it's saturday night and I am writing code... bummer


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5599 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
shadow303
2003-12-07 03:22:15 +00:00
parent 75377c98c5
commit 4106b3dbdc
19 changed files with 3447 additions and 2281 deletions
+6 -12
View File
@@ -485,13 +485,10 @@ void Layer::RequestClientUpdate(const BRect &rect){
// only the visible area is cleared, because DisplayDriver does the clipping to it.
// draw background, *only IF* our view color is different to B_TRANSPARENT_COLOR!
if ( !(_layerdata->viewcolor == RGBColor(B_TRANSPARENT_COLOR)) ) {
// a quick hack for drawing in other color than the low one.
RGBColor tempColor = _layerdata->lowcolor;
_layerdata->lowcolor.SetColor( B_TRANSPARENT_COLOR );
RGBColor tempColor(B_TRANSPARENT_COLOR);
//_layerdata->lowcolor.SetColor( B_TRANSPARENT_COLOR );
fDriver->StrokeRect(rect, _layerdata, pat_solidlow);
// .. hack continued
_layerdata->lowcolor = tempColor;
fDriver->StrokeRect(rect, _layerdata->pensize, tempColor);
}
BMessage msg;
@@ -513,13 +510,10 @@ void Layer::RequestDraw(const BRect &r)
{
if (_visible.CountRects() > 0){
// a quick hack for drawing in other color than the low one.
RGBColor tempColor = _layerdata->lowcolor;
_layerdata->lowcolor.SetColor( B_TRANSPARENT_COLOR );
RGBColor tempColor(B_TRANSPARENT_COLOR);
//_layerdata->lowcolor.SetColor( B_TRANSPARENT_COLOR );
fDriver->StrokeRect(r, _layerdata, pat_solidlow);
// .. hack continued
_layerdata->lowcolor = tempColor;
fDriver->StrokeRect(r, _layerdata->pensize, tempColor);
// draw itself.
Draw(r);