Index: third_party/WebKit/Source/platform/graphics/filters/SkiaImageFilterBuilder.cpp |
diff --git a/third_party/WebKit/Source/platform/graphics/filters/SkiaImageFilterBuilder.cpp b/third_party/WebKit/Source/platform/graphics/filters/SkiaImageFilterBuilder.cpp |
index d07f799a9e85e165c839a7e1c9278aba7ddaa40f..52c3bc5291361394e516ce4fa468b3ba686ba925 100644 |
--- a/third_party/WebKit/Source/platform/graphics/filters/SkiaImageFilterBuilder.cpp |
+++ b/third_party/WebKit/Source/platform/graphics/filters/SkiaImageFilterBuilder.cpp |
@@ -29,12 +29,8 @@ |
#include "SkColorFilterImageFilter.h" |
#include "SkColorMatrixFilter.h" |
#include "SkTableColorFilter.h" |
-#include "platform/geometry/IntPoint.h" |
#include "platform/graphics/BoxReflection.h" |
-#include "platform/graphics/CompositorFilterOperations.h" |
#include "platform/graphics/filters/FilterEffect.h" |
-#include "platform/graphics/filters/FilterOperations.h" |
-#include "platform/graphics/filters/SourceGraphic.h" |
#include "platform/graphics/skia/SkiaUtils.h" |
#include "third_party/skia/include/core/SkPicture.h" |
#include "third_party/skia/include/core/SkXfermode.h" |
@@ -44,8 +40,6 @@ |
namespace blink { |
namespace SkiaImageFilterBuilder { |
-namespace { |
- |
void populateSourceGraphicImageFilters(FilterEffect* sourceGraphic, sk_sp<SkImageFilter> input, ColorSpace inputColorSpace) |
{ |
// Prepopulate SourceGraphic with two image filters: one with a null image |
@@ -62,8 +56,6 @@ void populateSourceGraphicImageFilters(FilterEffect* sourceGraphic, sk_sp<SkImag |
sourceGraphic->setImageFilter(ColorSpaceLinearRGB, true, linearFilter); |
} |
-} // namespace |
- |
sk_sp<SkImageFilter> build(FilterEffect* effect, ColorSpace colorSpace, bool destinationRequiresValidPreMultipliedPixels) |
{ |
if (!effect) |
@@ -100,100 +92,6 @@ void buildSourceGraphic(FilterEffect* sourceGraphic, sk_sp<SkPicture> picture) |
populateSourceGraphicImageFilters(sourceGraphic, std::move(filter), sourceGraphic->operatingColorSpace()); |
} |
-CompositorFilterOperations buildFilterOperations(const FilterOperations& operations) |
-{ |
- ColorSpace currentColorSpace = ColorSpaceDeviceRGB; |
- |
- CompositorFilterOperations filters; |
- for (size_t i = 0; i < operations.size(); ++i) { |
- const FilterOperation& op = *operations.at(i); |
- switch (op.type()) { |
- case FilterOperation::REFERENCE: { |
- Filter* referenceFilter = toReferenceFilterOperation(op).getFilter(); |
- if (referenceFilter && referenceFilter->lastEffect()) { |
- populateSourceGraphicImageFilters(referenceFilter->getSourceGraphic(), nullptr, currentColorSpace); |
- |
- FilterEffect* filterEffect = referenceFilter->lastEffect(); |
- currentColorSpace = filterEffect->operatingColorSpace(); |
- filters.appendReferenceFilter(SkiaImageFilterBuilder::build(filterEffect, currentColorSpace)); |
- } |
- break; |
- } |
- case FilterOperation::GRAYSCALE: |
- case FilterOperation::SEPIA: |
- case FilterOperation::SATURATE: |
- case FilterOperation::HUE_ROTATE: { |
- float amount = toBasicColorMatrixFilterOperation(op).amount(); |
- switch (op.type()) { |
- case FilterOperation::GRAYSCALE: |
- filters.appendGrayscaleFilter(amount); |
- break; |
- case FilterOperation::SEPIA: |
- filters.appendSepiaFilter(amount); |
- break; |
- case FilterOperation::SATURATE: |
- filters.appendSaturateFilter(amount); |
- break; |
- case FilterOperation::HUE_ROTATE: |
- filters.appendHueRotateFilter(amount); |
- break; |
- default: |
- ASSERT_NOT_REACHED(); |
- } |
- break; |
- } |
- case FilterOperation::INVERT: |
- case FilterOperation::OPACITY: |
- case FilterOperation::BRIGHTNESS: |
- case FilterOperation::CONTRAST: { |
- float amount = toBasicComponentTransferFilterOperation(op).amount(); |
- switch (op.type()) { |
- case FilterOperation::INVERT: |
- filters.appendInvertFilter(amount); |
- break; |
- case FilterOperation::OPACITY: |
- filters.appendOpacityFilter(amount); |
- break; |
- case FilterOperation::BRIGHTNESS: |
- filters.appendBrightnessFilter(amount); |
- break; |
- case FilterOperation::CONTRAST: |
- filters.appendContrastFilter(amount); |
- break; |
- default: |
- ASSERT_NOT_REACHED(); |
- } |
- break; |
- } |
- case FilterOperation::BLUR: { |
- float pixelRadius = toBlurFilterOperation(op).stdDeviation().getFloatValue(); |
- filters.appendBlurFilter(pixelRadius); |
- break; |
- } |
- case FilterOperation::DROP_SHADOW: { |
- const DropShadowFilterOperation& drop = toDropShadowFilterOperation(op); |
- filters.appendDropShadowFilter(drop.location(), drop.stdDeviation(), drop.getColor()); |
- break; |
- } |
- case FilterOperation::BOX_REFLECT: { |
- // TODO(jbroman): Consider explaining box reflect to the compositor, |
- // instead of calling this a "reference filter". |
- const auto& reflection = toBoxReflectFilterOperation(op).reflection(); |
- filters.appendReferenceFilter(buildBoxReflectFilter(reflection, nullptr)); |
- break; |
- } |
- case FilterOperation::NONE: |
- break; |
- } |
- } |
- if (currentColorSpace != ColorSpaceDeviceRGB) { |
- // Transform to device color space at the end of processing, if required |
- sk_sp<SkImageFilter> filter = transformColorSpace(nullptr, currentColorSpace, ColorSpaceDeviceRGB); |
- filters.appendReferenceFilter(std::move(filter)); |
- } |
- return filters; |
-} |
- |
sk_sp<SkImageFilter> buildBoxReflectFilter(const BoxReflection& reflection, sk_sp<SkImageFilter> input) |
{ |
sk_sp<SkImageFilter> maskedInput; |