Correct implementation of BView::CopyBits() in ServerWindow, implementation of CopyRegion in DisplayDriverPainter that sorts the rects topologically depending on direction and does the copy in place, obtaining a speedup of about 250%. TODO: extract the sorting algorithm so that it can be reused for the hardware accelerated version later.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12468 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Stephan Aßmus
2005-04-26 13:50:34 +00:00
parent a2f1c2e02d
commit 93a2cfd43c
5 changed files with 306 additions and 383 deletions
+3 -6
View File
@@ -115,12 +115,9 @@ class DisplayDriver {
virtual void Shutdown();
// Graphics calls implemented in DisplayDriver
virtual void CopyBits( const BRect &src,
const BRect &dest,
const DrawData *d) = 0;
virtual void CopyRegion( BRegion *src,
const BPoint &lefttop) = 0;
virtual void CopyRegion( /*const*/ BRegion* region,
int32 xOffset,
int32 yOffset) = 0;
virtual void CopyRegionList( BList* list,
BList* pList,