From 357cfe11c202f1b1e5b1aa7904030ad8151af95d Mon Sep 17 00:00:00 2001 From: Adi Oanca Date: Mon, 28 Jun 2004 21:01:36 +0000 Subject: [PATCH] added RebuildAndForceRedraw() method git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8226 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/app/server/Layer.cpp | 15 +++++++++++++++ src/servers/app/server/Layer.h | 1 + 2 files changed, 16 insertions(+) diff --git a/src/servers/app/server/Layer.cpp b/src/servers/app/server/Layer.cpp index eb4233e7f9..f7e3d1acf3 100644 --- a/src/servers/app/server/Layer.cpp +++ b/src/servers/app/server/Layer.cpp @@ -369,6 +369,21 @@ ServerWindow* Layer::SearchForServerWindow() const return NULL; } +void Layer::RebuildAndForceRedraw(const BRegion& reg, Layer *target) +{ + STRACE(("Layer(%s)::RebuildAndForceRedraw():\n", GetName())); + BPoint pt(0,0); + + StartRebuildRegions(reg, NULL, B_LAYER_NONE, pt); + + if (target) + gRedrawReg.Include(&(target->fFullVisible)); + + Redraw(gRedrawReg); + + EmptyGlobals(); +} + void Layer::FullInvalidate(const BRect &rect) { FullInvalidate( BRegion(rect) ); diff --git a/src/servers/app/server/Layer.h b/src/servers/app/server/Layer.h index ca3e22aa2d..46dd21e3d4 100644 --- a/src/servers/app/server/Layer.h +++ b/src/servers/app/server/Layer.h @@ -57,6 +57,7 @@ public: void FullInvalidate(const BRect &rect); void FullInvalidate(const BRegion ®ion); void Invalidate(const BRegion ®ion); + void RebuildAndForceRedraw( const BRegion& reg, Layer *target); virtual void RebuildFullRegion(void); void StartRebuildRegions( const BRegion& reg, Layer *target, uint32 action, BPoint& pt);