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

Unified Diff: cc/output/software_renderer.cc

Issue 1831883002: Use sk_sp-based shader creation APIs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Sprinkle in some std::move and some sk_sp in the API Created 4 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
Index: cc/output/software_renderer.cc
diff --git a/cc/output/software_renderer.cc b/cc/output/software_renderer.cc
index 12165b1d57a9fda140e259a1c4649fb697916d77..f8985e4adfd742a7ed0f862ab205f6f28b32c6ef 100644
--- a/cc/output/software_renderer.cc
+++ b/cc/output/software_renderer.cc
@@ -505,14 +505,14 @@ void SoftwareRenderer::DrawRenderPassQuad(const DrawingFrame* frame,
filter_image = ApplyImageFilter(filter.get(), quad, content);
}
- skia::RefPtr<SkShader> shader;
+ sk_sp<SkShader> shader;
if (!filter_image) {
- shader = skia::AdoptRef(
- SkShader::CreateBitmapShader(*content, SkShader::kClamp_TileMode,
- SkShader::kClamp_TileMode, &content_mat));
+ shader =
+ SkShader::MakeBitmapShader(*content, SkShader::kClamp_TileMode,
+ SkShader::kClamp_TileMode, &content_mat);
} else {
- shader = skia::AdoptRef(filter_image->newShader(
- SkShader::kClamp_TileMode, SkShader::kClamp_TileMode, &content_mat));
+ shader = filter_image->makeShader(SkShader::kClamp_TileMode,
+ SkShader::kClamp_TileMode, &content_mat);
}
scoped_ptr<ResourceProvider::ScopedReadLockSoftware> mask_lock;
@@ -550,15 +550,15 @@ void SoftwareRenderer::DrawRenderPassQuad(const DrawingFrame* frame,
}
// If we have a background filter shader, render its results first.
- skia::RefPtr<SkShader> background_filter_shader =
+ sk_sp<SkShader> background_filter_shader =
GetBackgroundFilterShader(frame, quad, SkShader::kClamp_TileMode);
if (background_filter_shader) {
SkPaint paint;
- paint.setShader(background_filter_shader.get());
+ paint.setShader(std::move(background_filter_shader));
paint.setRasterizer(current_paint_.getRasterizer());
current_canvas_->drawRect(dest_visible_rect, paint);
}
- current_paint_.setShader(shader.get());
+ current_paint_.setShader(std::move(shader));
current_canvas_->drawRect(dest_visible_rect, current_paint_);
}
@@ -682,12 +682,12 @@ gfx::Rect SoftwareRenderer::GetBackdropBoundingBoxForRenderPassQuad(
return backdrop_rect;
}
-skia::RefPtr<SkShader> SoftwareRenderer::GetBackgroundFilterShader(
+sk_sp<SkShader> SoftwareRenderer::GetBackgroundFilterShader(
const DrawingFrame* frame,
const RenderPassDrawQuad* quad,
SkShader::TileMode content_tile_mode) const {
if (!ShouldApplyBackgroundFilters(quad))
- return skia::RefPtr<SkShader>();
+ return sk_sp<SkShader>();
danakj 2016/03/25 18:18:08 can you just return nullptr? (sk_sp has a nullptr
f(malita) 2016/03/25 18:31:03 +1
tomhudson 2016/03/25 19:27:31 Done.
gfx::Transform quad_rect_matrix;
QuadRectTransform(&quad_rect_matrix,
@@ -703,7 +703,7 @@ skia::RefPtr<SkShader> SoftwareRenderer::GetBackgroundFilterShader(
// Figure out the transformations to move it back to pixel space.
gfx::Transform contents_device_transform_inverse;
if (!contents_device_transform.GetInverse(&contents_device_transform_inverse))
- return skia::RefPtr<SkShader>();
+ return sk_sp<SkShader>();
danakj 2016/03/25 18:18:08 ditto
tomhudson 2016/03/25 19:27:31 Done.
SkMatrix filter_backdrop_transform =
contents_device_transform_inverse.matrix();
@@ -721,8 +721,8 @@ skia::RefPtr<SkShader> SoftwareRenderer::GetBackgroundFilterShader(
if (!filter_backdrop_image)
return nullptr;
- return skia::AdoptRef(filter_backdrop_image->newShader(
- content_tile_mode, content_tile_mode, &filter_backdrop_transform));
+ return filter_backdrop_image->makeShader(content_tile_mode, content_tile_mode,
+ &filter_backdrop_transform);
}
} // namespace cc

Powered by Google App Engine
This is Rietveld 408576698