From 16934b7aa15187f9bd06008cb656797a38fffa34 Mon Sep 17 00:00:00 2001 From: "enne@chromium.org" Date: Tue, 18 Mar 2014 17:57:41 +0000 Subject: cc: Add a tiling iterator that doesn't include borders This iterator is needed to reland https://codereview.chromium.org/196343005/ correctly, as whether or not a set of picture tiles can raster a particular rect needs to ignore borders. BUG=353346 Review URL: https://codereview.chromium.org/202753002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@257688 0039d316-1c4b-4281-b951-d872f2087c98 --- cc/resources/picture_layer_tiling.cc | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'cc/resources/picture_layer_tiling.cc') diff --git a/cc/resources/picture_layer_tiling.cc b/cc/resources/picture_layer_tiling.cc index 3604465..356ac1b 100644 --- a/cc/resources/picture_layer_tiling.cc +++ b/cc/resources/picture_layer_tiling.cc @@ -111,7 +111,10 @@ void PictureLayerTiling::SetCanUseLCDText(bool can_use_lcd_text) { void PictureLayerTiling::CreateMissingTilesInLiveTilesRect() { const PictureLayerTiling* twin_tiling = client_->GetTwinTiling(this); - for (TilingData::Iterator iter(&tiling_data_, live_tiles_rect_); iter; + bool include_borders = true; + for (TilingData::Iterator iter( + &tiling_data_, live_tiles_rect_, include_borders); + iter; ++iter) { TileMapKey key = iter.index(); TileMap::iterator find = tiles_.find(key); @@ -162,7 +165,11 @@ void PictureLayerTiling::Invalidate(const Region& layer_region) { content_rect.Intersect(live_tiles_rect_); if (content_rect.IsEmpty()) continue; - for (TilingData::Iterator iter(&tiling_data_, content_rect); iter; ++iter) { + bool include_borders = true; + for (TilingData::Iterator iter( + &tiling_data_, content_rect, include_borders); + iter; + ++iter) { TileMapKey key(iter.index()); TileMap::iterator find = tiles_.find(key); if (find == tiles_.end()) @@ -435,7 +442,9 @@ void PictureLayerTiling::UpdateTilePriorities( 1.0f / (contents_scale_ * layer_contents_scale); // Assign now priority to all visible tiles. - for (TilingData::Iterator iter(&tiling_data_, visible_rect_in_content_space); + bool include_borders = true; + for (TilingData::Iterator iter( + &tiling_data_, visible_rect_in_content_space, include_borders); iter; ++iter) { TileMap::iterator find = tiles_.find(iter.index()); @@ -737,7 +746,9 @@ PictureLayerTiling::TilingRasterTileIterator::TilingRasterTileIterator( eventually_rect_in_content_space_(tiling_->current_eventually_rect_), tree_(tree), current_tile_(NULL), - visible_iterator_(&tiling->tiling_data_, visible_rect_in_content_space_), + visible_iterator_(&tiling->tiling_data_, + visible_rect_in_content_space_, + true /* include_borders */), spiral_iterator_(&tiling->tiling_data_, skewport_in_content_space_, visible_rect_in_content_space_, -- cgit v1.1