From 4971740e39a5962f1106572e25b76a27d2445071 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20A=C3=9Fmus?= Date: Mon, 6 Aug 2007 18:50:44 +0000 Subject: [PATCH] * in FillRegion(), check if the current drawing mode is B_OP_INVERT, and then use hardware acceleration... found out this is what our BTextView is actually using, that's why it never used hardware acceleration for invert rect/region before. Have not tested this on real hardware yet. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21843 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/app/drawing/DrawingEngine.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/servers/app/drawing/DrawingEngine.cpp b/src/servers/app/drawing/DrawingEngine.cpp index 0de23a54ab..1a7a248909 100644 --- a/src/servers/app/drawing/DrawingEngine.cpp +++ b/src/servers/app/drawing/DrawingEngine.cpp @@ -853,6 +853,11 @@ DrawingEngine::FillRegion(BRegion& r) fSuspendSyncLevel == 0 || cursorTouched); doInSoftware = false; + } else if (fAvailableHWAccleration & HW_ACC_INVERT_REGION + && fPainter->Pattern() == B_SOLID_HIGH + && fPainter->DrawingMode() == B_OP_INVERT) { + r.IntersectWith(fPainter->ClippingRegion()); + fGraphicsCard->InvertRegion(r); } }