Fleshed out a few undone functions - RebuildRegions, SetDriver, etc
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4118 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
cc986fa95d
commit
591ceb9982
@ -59,10 +59,8 @@ RootLayer::~RootLayer()
|
||||
*/
|
||||
void RootLayer::RequestDraw(const BRect &r)
|
||||
{
|
||||
/*
|
||||
1) call the display driver's FillRect on the rectangle, filling with the layer's background color
|
||||
2) recurse through each child and call its RequestDraw() function if it intersects the child's frame
|
||||
*/
|
||||
Invalidate(r);
|
||||
RequestDraw();
|
||||
}
|
||||
|
||||
/*!
|
||||
@ -225,6 +223,7 @@ void RootLayer::ResizeBy(BPoint pt)
|
||||
*/
|
||||
void RootLayer::SetDriver(DisplayDriver *driver)
|
||||
{
|
||||
_driver=driver;
|
||||
}
|
||||
|
||||
/*!
|
||||
@ -233,9 +232,10 @@ void RootLayer::SetDriver(DisplayDriver *driver)
|
||||
*/
|
||||
void RootLayer::RebuildRegions(bool recursive)
|
||||
{
|
||||
/*
|
||||
1) get the frame
|
||||
2) set full and visible regions to frame
|
||||
3) iterate through each child and exclude its full region from the visible region if the child is visible.
|
||||
*/
|
||||
// Unlike the other layers, RootLayers can't depend on their parent layer to reset its
|
||||
// visible region, so we have to do it itself.
|
||||
_visible->MakeEmpty();
|
||||
_visible->Include(_full);
|
||||
|
||||
Layer::RebuildRegions(recursive);
|
||||
}
|
||||
|
@ -57,7 +57,7 @@ public:
|
||||
private:
|
||||
DisplayDriver *_driver;
|
||||
RGBColor *_bgcolor;
|
||||
bool _visible;
|
||||
bool _isvisible;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user