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

Unified Diff: cc/output/gl_renderer.cc

Issue 394193003: Implement HiDPI and pinch-zoom scaling of filter params (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add unittests Created 6 years, 5 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/output/gl_renderer.cc
diff --git a/cc/output/gl_renderer.cc b/cc/output/gl_renderer.cc
index 1ece83914f902d602f92e1f30d8733b77fc264f6..3acdb430c6e91c8f3bb1c61e4f74479aa3431a1c 100644
--- a/cc/output/gl_renderer.cc
+++ b/cc/output/gl_renderer.cc
@@ -642,6 +642,7 @@ static SkBitmap ApplyImageFilter(
scoped_ptr<GLRenderer::ScopedUseGrContext> use_gr_context,
ResourceProvider* resource_provider,
const gfx::Point& origin,
+ const gfx::Vector2dF& scale,
SkImageFilter* filter,
ScopedResource* source_texture_resource) {
if (!filter)
@@ -709,6 +710,7 @@ static SkBitmap ApplyImageFilter(
// should also be scaled to accomodate device pixel ratio and pinch zoom. See
// crbug.com/281516 and crbug.com/281518.
canvas.translate(SkIntToScalar(-origin.x()), SkIntToScalar(-origin.y()));
+ canvas.scale(scale.x(), scale.y());
canvas.drawSprite(source, 0, 0, &paint);
// Flush the GrContext to ensure all buffered GL calls are drawn to the
@@ -910,6 +912,7 @@ scoped_ptr<ScopedResource> GLRenderer::GetBackgroundWithFilters(
ApplyImageFilter(ScopedUseGrContext::Create(this, frame),
resource_provider_,
quad->rect.origin(),
+ quad->filters_scale,
filter.get(),
device_background_texture.get());
}
@@ -1040,6 +1043,7 @@ void GLRenderer::DrawRenderPassQuad(DrawingFrame* frame,
ApplyImageFilter(ScopedUseGrContext::Create(this, frame),
resource_provider_,
quad->rect.origin(),
+ quad->filters_scale,
filter.get(),
contents_texture);
}

Powered by Google App Engine
This is Rietveld 408576698