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

Unified Diff: cc/output/gl_renderer.cc

Issue 191123002: Implement hidpi and pinch-zoom scaling of filter params in cc. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove TODO Created 6 years, 9 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
« no previous file with comments | « cc/layers/render_surface_impl.cc ('k') | cc/output/renderer_pixeltest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/output/gl_renderer.cc
diff --git a/cc/output/gl_renderer.cc b/cc/output/gl_renderer.cc
index 89b1e00554a01a3e2eed1ac300305bae578e7be0..30cfce7e230fa4766661d47d1acd74477efcb5cf 100644
--- a/cc/output/gl_renderer.cc
+++ b/cc/output/gl_renderer.cc
@@ -489,6 +489,7 @@ void GLRenderer::DrawDebugBorderQuad(const DrawingFrame* frame,
static SkBitmap ApplyImageFilter(GLRenderer* renderer,
ContextProvider* offscreen_contexts,
const gfx::Point& origin,
+ const gfx::Vector2dF& scale,
SkImageFilter* filter,
ScopedResource* source_texture_resource) {
if (!filter)
@@ -552,10 +553,8 @@ static SkBitmap ApplyImageFilter(GLRenderer* renderer,
paint.setImageFilter(filter);
canvas.clear(SK_ColorTRANSPARENT);
- // TODO(senorblanco): in addition to the origin translation here, the canvas
- // 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 skia context so that all the rendered stuff appears on the
@@ -767,6 +766,7 @@ scoped_ptr<ScopedResource> GLRenderer::GetBackgroundWithFilters(
ApplyImageFilter(this,
frame->offscreen_context_provider,
quad->rect.origin(),
+ quad->filters_scale,
filter.get(),
device_background_texture.get());
}
@@ -901,6 +901,7 @@ void GLRenderer::DrawRenderPassQuad(DrawingFrame* frame,
filter_bitmap = ApplyImageFilter(this,
frame->offscreen_context_provider,
quad->rect.origin(),
+ quad->filters_scale,
filter.get(),
contents_texture);
}
« no previous file with comments | « cc/layers/render_surface_impl.cc ('k') | cc/output/renderer_pixeltest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698