diff options
author | enne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-18 17:57:41 +0000 |
---|---|---|
committer | enne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-18 17:57:41 +0000 |
commit | 16934b7aa15187f9bd06008cb656797a38fffa34 (patch) | |
tree | 9986130919b488742f42b90642cde98312f67d01 /cc/resources/picture_layer_tiling.cc | |
parent | cf868dc8314e57ee86465ad5b804eb9de15b320e (diff) | |
download | chromium_src-16934b7aa15187f9bd06008cb656797a38fffa34.zip chromium_src-16934b7aa15187f9bd06008cb656797a38fffa34.tar.gz chromium_src-16934b7aa15187f9bd06008cb656797a38fffa34.tar.bz2 |
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
Diffstat (limited to 'cc/resources/picture_layer_tiling.cc')
-rw-r--r-- | cc/resources/picture_layer_tiling.cc | 19 |
1 files changed, 15 insertions, 4 deletions
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_, |