git-svn-id: http://skia.googlecode.com/svn/trunk@7686 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
junov@chromium.org 2013-02-08 21:56:16 +00:00
parent 994b52ea55
commit 8d84b8f420
2 changed files with 6 additions and 1 deletions

View File

@ -29,7 +29,9 @@ public:
* @param borderPixels pixels of overlap between adjacent tiles. Set this
* value to match the border overlap that is applied to tiles by user
* code. Properly setting this value will help improve performance
* when performing tile-aligned playbacks.
* when performing tile-aligned playbacks with query regions that
* match tile bounds outset by borderPixels pixels. Such outsets
* are often used to prevent filtering artifacts at tile boundaries.
*/
SkTileGridPicture(int tileWidth, int tileHeight, int width, int height, int borderPixels = 0);
virtual SkBBoxHierarchy* createBBoxHierarchy() const SK_OVERRIDE;

View File

@ -56,6 +56,9 @@ void SkTileGrid::insert(void* data, const SkIRect& bounds, bool) {
}
void SkTileGrid::search(const SkIRect& query, SkTDArray<void*>* results) {
// Convert the query rectangle from device coordinates to tile coordinates
// by rounding outwards to the nearest tile boundary so that the resulting tile
// region includes the query rectangle. (using truncating division to "floor")
int tileStartX = (query.left() + fBorderPixels) / fTileWidth;
int tileEndX = (query.right() + fTileWidth - fBorderPixels) / fTileWidth;
int tileStartY = (query.top() + fBorderPixels) / fTileHeight;