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

Unified Diff: cc/output/render_surface_filters.cc

Issue 1869753003: Replace many skia::RefPtr with sk_sp<> in cc/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Florin's nits Created 4 years, 8 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/output/render_surface_filters.h ('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/render_surface_filters.cc
diff --git a/cc/output/render_surface_filters.cc b/cc/output/render_surface_filters.cc
index de3c7fc7ec43dbd9e83bf263e2144d2a437b0a04..8d9890c5146f1f90e2724b003e668e82334cff57 100644
--- a/cc/output/render_surface_filters.cc
+++ b/cc/output/render_surface_filters.cc
@@ -10,7 +10,6 @@
#include "cc/output/filter_operation.h"
#include "cc/output/filter_operations.h"
-#include "skia/ext/refptr.h"
#include "third_party/skia/include/core/SkImageFilter.h"
#include "third_party/skia/include/effects/SkAlphaThresholdFilter.h"
#include "third_party/skia/include/effects/SkBlurImageFilter.h"
@@ -145,130 +144,125 @@ void GetSepiaMatrix(float amount, SkScalar matrix[20]) {
matrix[18] = 1.f;
}
-skia::RefPtr<SkImageFilter> CreateMatrixImageFilter(
- const SkScalar matrix[20],
- const skia::RefPtr<SkImageFilter>& input) {
- sk_sp<SkColorFilter> color_filter =
- SkColorFilter::MakeMatrixFilterRowMajor255(matrix);
- return skia::AdoptRef(
- SkColorFilterImageFilter::Create(color_filter.get(), input.get()));
+sk_sp<SkImageFilter> CreateMatrixImageFilter(const SkScalar matrix[20],
+ sk_sp<SkImageFilter> input) {
+ return SkColorFilterImageFilter::Make(
+ SkColorFilter::MakeMatrixFilterRowMajor255(matrix), std::move(input));
}
} // namespace
-skia::RefPtr<SkImageFilter> RenderSurfaceFilters::BuildImageFilter(
+sk_sp<SkImageFilter> RenderSurfaceFilters::BuildImageFilter(
const FilterOperations& filters,
const gfx::SizeF& size) {
- skia::RefPtr<SkImageFilter> image_filter;
+ sk_sp<SkImageFilter> image_filter;
SkScalar matrix[20];
for (size_t i = 0; i < filters.size(); ++i) {
const FilterOperation& op = filters.at(i);
switch (op.type()) {
case FilterOperation::GRAYSCALE:
GetGrayscaleMatrix(1.f - op.amount(), matrix);
- image_filter = CreateMatrixImageFilter(matrix, image_filter);
+ image_filter = CreateMatrixImageFilter(matrix, std::move(image_filter));
break;
case FilterOperation::SEPIA:
GetSepiaMatrix(1.f - op.amount(), matrix);
- image_filter = CreateMatrixImageFilter(matrix, image_filter);
+ image_filter = CreateMatrixImageFilter(matrix, std::move(image_filter));
break;
case FilterOperation::SATURATE:
GetSaturateMatrix(op.amount(), matrix);
- image_filter = CreateMatrixImageFilter(matrix, image_filter);
+ image_filter = CreateMatrixImageFilter(matrix, std::move(image_filter));
break;
case FilterOperation::HUE_ROTATE:
GetHueRotateMatrix(op.amount(), matrix);
- image_filter = CreateMatrixImageFilter(matrix, image_filter);
+ image_filter = CreateMatrixImageFilter(matrix, std::move(image_filter));
break;
case FilterOperation::INVERT:
GetInvertMatrix(op.amount(), matrix);
- image_filter = CreateMatrixImageFilter(matrix, image_filter);
+ image_filter = CreateMatrixImageFilter(matrix, std::move(image_filter));
break;
case FilterOperation::OPACITY:
GetOpacityMatrix(op.amount(), matrix);
- image_filter = CreateMatrixImageFilter(matrix, image_filter);
+ image_filter = CreateMatrixImageFilter(matrix, std::move(image_filter));
break;
case FilterOperation::BRIGHTNESS:
GetBrightnessMatrix(op.amount(), matrix);
- image_filter = CreateMatrixImageFilter(matrix, image_filter);
+ image_filter = CreateMatrixImageFilter(matrix, std::move(image_filter));
break;
case FilterOperation::CONTRAST:
GetContrastMatrix(op.amount(), matrix);
- image_filter = CreateMatrixImageFilter(matrix, image_filter);
+ image_filter = CreateMatrixImageFilter(matrix, std::move(image_filter));
break;
case FilterOperation::BLUR:
- image_filter = skia::AdoptRef(SkBlurImageFilter::Create(
- op.amount(), op.amount(), image_filter.get()));
+ image_filter = SkBlurImageFilter::Make(op.amount(), op.amount(),
+ std::move(image_filter));
break;
case FilterOperation::DROP_SHADOW:
- image_filter = skia::AdoptRef(SkDropShadowImageFilter::Create(
+ image_filter = SkDropShadowImageFilter::Make(
SkIntToScalar(op.drop_shadow_offset().x()),
SkIntToScalar(op.drop_shadow_offset().y()),
- SkIntToScalar(op.amount()),
- SkIntToScalar(op.amount()),
+ SkIntToScalar(op.amount()), SkIntToScalar(op.amount()),
op.drop_shadow_color(),
SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode,
- image_filter.get()));
+ std::move(image_filter));
break;
case FilterOperation::COLOR_MATRIX:
- image_filter = CreateMatrixImageFilter(op.matrix(), image_filter);
+ image_filter =
+ CreateMatrixImageFilter(op.matrix(), std::move(image_filter));
break;
case FilterOperation::ZOOM: {
- skia::RefPtr<SkImageFilter> zoom_filter =
- skia::AdoptRef(SkMagnifierImageFilter::Create(
- SkRect::MakeXYWH(
- (size.width() - (size.width() / op.amount())) / 2.f,
- (size.height() - (size.height() / op.amount())) / 2.f,
- size.width() / op.amount(),
- size.height() / op.amount()),
- op.zoom_inset()));
- if (image_filter.get()) {
+ sk_sp<SkImageFilter> zoom_filter(SkMagnifierImageFilter::Make(
+ SkRect::MakeXYWH(
+ (size.width() - (size.width() / op.amount())) / 2.f,
+ (size.height() - (size.height() / op.amount())) / 2.f,
+ size.width() / op.amount(), size.height() / op.amount()),
+ op.zoom_inset(), nullptr));
+ if (image_filter) {
// TODO(ajuma): When there's a 1-input version of
// SkMagnifierImageFilter, use that to handle the input filter
// instead of using an SkComposeImageFilter.
- image_filter = skia::AdoptRef(SkComposeImageFilter::Create(
- zoom_filter.get(), image_filter.get()));
+ image_filter = SkComposeImageFilter::Make(std::move(zoom_filter),
+ std::move(image_filter));
} else {
- image_filter = zoom_filter;
+ image_filter = std::move(zoom_filter);
}
break;
}
case FilterOperation::SATURATING_BRIGHTNESS:
GetSaturatingBrightnessMatrix(op.amount(), matrix);
- image_filter = CreateMatrixImageFilter(matrix, image_filter);
+ image_filter = CreateMatrixImageFilter(matrix, std::move(image_filter));
break;
case FilterOperation::REFERENCE: {
if (!op.image_filter())
break;
- skia::RefPtr<SkColorFilter> cf;
+ sk_sp<SkColorFilter> cf;
{
SkColorFilter* colorfilter_rawptr = NULL;
op.image_filter()->asColorFilter(&colorfilter_rawptr);
- cf = skia::AdoptRef(colorfilter_rawptr);
+ cf.reset(colorfilter_rawptr);
}
if (cf && cf->asColorMatrix(matrix) &&
!op.image_filter()->getInput(0)) {
- image_filter = CreateMatrixImageFilter(matrix, image_filter);
+ image_filter =
+ CreateMatrixImageFilter(matrix, std::move(image_filter));
} else if (image_filter) {
- image_filter = skia::AdoptRef(SkComposeImageFilter::Create(
- op.image_filter().get(), image_filter.get()));
+ image_filter = SkComposeImageFilter::Make(op.image_filter(),
+ std::move(image_filter));
} else {
image_filter = op.image_filter();
}
break;
}
case FilterOperation::ALPHA_THRESHOLD: {
- skia::RefPtr<SkImageFilter> alpha_filter = skia::AdoptRef(
- SkAlphaThresholdFilter::Create(
- op.region(), op.amount(), op.outer_threshold()));
- if (image_filter.get()) {
- image_filter = skia::AdoptRef(SkComposeImageFilter::Create(
- alpha_filter.get(), image_filter.get()));
+ sk_sp<SkImageFilter> alpha_filter = SkAlphaThresholdFilter::Make(
+ op.region(), op.amount(), op.outer_threshold(), nullptr);
+ if (image_filter) {
+ image_filter = SkComposeImageFilter::Make(std::move(alpha_filter),
+ std::move(image_filter));
} else {
- image_filter = alpha_filter;
+ image_filter = std::move(alpha_filter);
}
break;
}
« no previous file with comments | « cc/output/render_surface_filters.h ('k') | cc/output/renderer_pixeltest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698