* @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;
}
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;