Pass the B_FILTER_BITMAP_BILINEAR for scaling backgrounds

Fixes #6536
This commit is contained in:
John Scipione
2013-04-09 03:38:01 -04:00
parent 7e702e5226
commit 1af184248a
2 changed files with 8 additions and 6 deletions
+4 -3
View File
@@ -197,7 +197,7 @@ BackgroundImage::Show(BackgroundImageInfo* info, BView* view)
BRect bitmapBounds(info->fBitmap->Bounds());
BRect destinationBitmapBounds(bitmapBounds);
uint32 tile = 0;
uint32 options = 0;
uint32 followFlags = B_FOLLOW_TOP | B_FOLLOW_LEFT;
// figure out the display mode and the destination bounds for the bitmap
@@ -225,6 +225,7 @@ BackgroundImage::Show(BackgroundImageInfo* info, BView* view)
viewBounds.Width(), viewBounds.Height() + overlap);
}
followFlags = B_FOLLOW_ALL;
options |= B_FILTER_BITMAP_BILINEAR;
break;
}
// else fall thru
@@ -237,13 +238,13 @@ BackgroundImage::Show(BackgroundImageInfo* info, BView* view)
(viewBounds.Width() - bitmapBounds.Width()) / 2,
(viewBounds.Height() - bitmapBounds.Height()) / 2);
}
tile = B_TILE_BITMAP;
options |= B_TILE_BITMAP;
break;
}
// switch to the bitmap and force a redraw
view->SetViewBitmap(info->fBitmap, bitmapBounds, destinationBitmapBounds,
followFlags, tile);
followFlags, options);
view->Invalidate();
fShowingBitmap = info;
}
@@ -283,7 +283,7 @@ BackgroundImage::Show(BackgroundImageInfo* info, BView* view)
offset.x *= x_ratio;
offset.y *= y_ratio;
uint32 tile = 0;
uint32 options = 0;
uint32 followFlags = B_FOLLOW_TOP | B_FOLLOW_LEFT;
// figure out the display mode and the destination bounds for the bitmap
@@ -312,6 +312,7 @@ BackgroundImage::Show(BackgroundImageInfo* info, BView* view)
viewBounds.Width(), viewBounds.Height() + overlap);
}
followFlags = B_FOLLOW_ALL;
options |= B_FILTER_BITMAP_BILINEAR;
break;
}
// else fall thru
@@ -328,13 +329,13 @@ BackgroundImage::Show(BackgroundImageInfo* info, BView* view)
(viewBounds.Width() - destinationBitmapBounds.Width()) / 2,
(viewBounds.Height() - destinationBitmapBounds.Height()) / 2);
//}
tile = B_TILE_BITMAP;
options |= B_TILE_BITMAP;
break;
}
// switch to the bitmap and force a redraw
view->SetViewBitmap(bitmap, bitmapBounds, destinationBitmapBounds,
followFlags, tile);
followFlags, options);
view->Invalidate();
/*if (fShowingBitmap != info) {