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..62ac888229ce2fc7ba1d3c1eb655ce58ece303d8 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,126 @@ 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), input); |
f(malita)
2016/04/21 15:45:47
move(input)
tomhudson
2016/04/25 20:20:50
Done.
|
} |
} // 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; |
+ // XXXXXXXXXXXXXXXXXXXXXXXXXX |
f(malita)
2016/04/21 15:45:47
forgot marker?
tomhudson
2016/04/25 20:20:51
Ugh, my bad. Removed.
|
{ |
SkColorFilter* colorfilter_rawptr = NULL; |
op.image_filter()->asColorFilter(&colorfilter_rawptr); |
- cf = skia::AdoptRef(colorfilter_rawptr); |
+ cf = sk_sp<SkColorFilter>(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())); |
+ sk_sp<SkImageFilter> alpha_filter = SkAlphaThresholdFilter::Make( |
+ op.region(), op.amount(), op.outer_threshold(), nullptr); |
if (image_filter.get()) { |
- image_filter = skia::AdoptRef(SkComposeImageFilter::Create( |
- alpha_filter.get(), image_filter.get())); |
+ image_filter = SkComposeImageFilter::Make(std::move(alpha_filter), |
+ std::move(image_filter)); |
} else { |
- image_filter = alpha_filter; |
+ image_filter = std::move(alpha_filter); |
} |
break; |
} |