Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(713)

Unified Diff: cc/tiles/picture_layer_tiling_set.cc

Issue 2175553002: Raster PictureLayerTiling with fractional translation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: use draw transform instead? Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: cc/tiles/picture_layer_tiling_set.cc
diff --git a/cc/tiles/picture_layer_tiling_set.cc b/cc/tiles/picture_layer_tiling_set.cc
index 469080f8d85cee8faab7c48b4f5f130936744453..f2762034bb04e78a1a7a2d5b7e7c10cfdc0740ac 100644
--- a/cc/tiles/picture_layer_tiling_set.cc
+++ b/cc/tiles/picture_layer_tiling_set.cc
@@ -81,10 +81,13 @@ void PictureLayerTilingSet::CopyTilingsAndPropertiesFromPendingTwin(
bool tiling_sort_required = false;
for (const auto& pending_twin_tiling : pending_twin_set->tilings_) {
float contents_scale = pending_twin_tiling->contents_scale();
+ gfx::Vector2dF contents_translation =
+ pending_twin_tiling->contents_translation();
PictureLayerTiling* this_tiling = FindTilingWithScale(contents_scale);
enne (OOO) 2016/08/22 22:57:39 What if there are multiple tilings with the same s
trchen 2016/08/29 10:14:48 Currently the easiest thing to do is to replace. I
if (!this_tiling) {
- std::unique_ptr<PictureLayerTiling> new_tiling(new PictureLayerTiling(
- tree_, contents_scale, raster_source_, client_));
+ std::unique_ptr<PictureLayerTiling> new_tiling(
+ new PictureLayerTiling(tree_, contents_scale, contents_translation,
+ raster_source_, client_));
tilings_.push_back(std::move(new_tiling));
this_tiling = tilings_.back().get();
tiling_sort_required = true;
@@ -262,6 +265,7 @@ void PictureLayerTilingSet::MarkAllTilingsNonIdeal() {
PictureLayerTiling* PictureLayerTilingSet::AddTiling(
float contents_scale,
+ const gfx::Vector2dF& contents_translation,
scoped_refptr<RasterSource> raster_source) {
if (!raster_source_)
raster_source_ = raster_source;
@@ -271,8 +275,8 @@ PictureLayerTiling* PictureLayerTilingSet::AddTiling(
DCHECK_EQ(tilings_[i]->raster_source(), raster_source.get());
}
- tilings_.push_back(base::WrapUnique(
- new PictureLayerTiling(tree_, contents_scale, raster_source, client_)));
+ tilings_.push_back(base::WrapUnique(new PictureLayerTiling(
+ tree_, contents_scale, contents_translation, raster_source, client_)));
PictureLayerTiling* appended = tilings_.back().get();
state_since_last_tile_priority_update_.added_tilings = true;

Powered by Google App Engine
This is Rietveld 408576698