fixed one more drawing bug, it only showed because now the test environment uses hardware acceleration, FillRegion for the client irgnored the current clipping
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15483 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -719,9 +719,11 @@ DrawingEngine::FillRegion(BRegion& r, const DrawState *d)
|
|||||||
&& (d->GetDrawingMode() == B_OP_COPY
|
&& (d->GetDrawingMode() == B_OP_COPY
|
||||||
|| d->GetDrawingMode() == B_OP_OVER)) {
|
|| d->GetDrawingMode() == B_OP_OVER)) {
|
||||||
if (d->GetPattern() == B_SOLID_HIGH) {
|
if (d->GetPattern() == B_SOLID_HIGH) {
|
||||||
|
r.IntersectWith(fPainter->ClippingRegion());
|
||||||
fGraphicsCard->FillRegion(r, d->HighColor());
|
fGraphicsCard->FillRegion(r, d->HighColor());
|
||||||
doInSoftware = false;
|
doInSoftware = false;
|
||||||
} else if (d->GetPattern() == B_SOLID_LOW) {
|
} else if (d->GetPattern() == B_SOLID_LOW) {
|
||||||
|
r.IntersectWith(fPainter->ClippingRegion());
|
||||||
fGraphicsCard->FillRegion(r, d->LowColor());
|
fGraphicsCard->FillRegion(r, d->LowColor());
|
||||||
doInSoftware = false;
|
doInSoftware = false;
|
||||||
}
|
}
|
||||||
@@ -755,6 +757,10 @@ DrawingEngine::FillRegion(BRegion& r, const RGBColor& color)
|
|||||||
// NOTE: Write locking because we might use HW acceleration.
|
// NOTE: Write locking because we might use HW acceleration.
|
||||||
// This needs to be investigated, I'm doing this because of
|
// This needs to be investigated, I'm doing this because of
|
||||||
// gut feeling.
|
// gut feeling.
|
||||||
|
// NOTE: this is used for internal app_server use and the
|
||||||
|
// region is expected to already be intersected with the
|
||||||
|
// current clipping... it would matter only if we can
|
||||||
|
// use hardware acceleration
|
||||||
if (WriteLock()) {
|
if (WriteLock()) {
|
||||||
BRect clipped = fPainter->ClipRect(r.Frame());
|
BRect clipped = fPainter->ClipRect(r.Frame());
|
||||||
if (clipped.IsValid()) {
|
if (clipped.IsValid()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user