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

Unified Diff: sky/engine/platform/graphics/filters/SkiaImageFilterBuilder.cpp

Issue 874633003: Remove WebCompositorSupport (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 11 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: sky/engine/platform/graphics/filters/SkiaImageFilterBuilder.cpp
diff --git a/sky/engine/platform/graphics/filters/SkiaImageFilterBuilder.cpp b/sky/engine/platform/graphics/filters/SkiaImageFilterBuilder.cpp
index a669221659eaaa543fad6aab4c3db3df32b27ea2..286c7a68f804d58d3e05fe2031519765ed2541d1 100644
--- a/sky/engine/platform/graphics/filters/SkiaImageFilterBuilder.cpp
+++ b/sky/engine/platform/graphics/filters/SkiaImageFilterBuilder.cpp
@@ -86,106 +86,6 @@ PassRefPtr<SkImageFilter> SkiaImageFilterBuilder::transformColorSpace(
return adoptRef(SkColorFilterImageFilter::Create(colorFilter.get(), input));
}
-void SkiaImageFilterBuilder::buildFilterOperations(const FilterOperations& operations, WebFilterOperations* filters)
-{
- ColorSpace currentColorSpace = ColorSpaceDeviceRGB;
- SkImageFilter* const nullFilter = 0;
-
- for (size_t i = 0; i < operations.size(); ++i) {
- const FilterOperation& op = *operations.at(i);
- switch (op.type()) {
- case FilterOperation::REFERENCE: {
- RefPtr<SkImageFilter> filter;
- ReferenceFilter* referenceFilter = toReferenceFilterOperation(op).filter();
- if (referenceFilter && referenceFilter->lastEffect()) {
- FilterEffect* filterEffect = referenceFilter->lastEffect();
- // Prepopulate SourceGraphic with two image filters: one with a null image
- // filter, and the other with a colorspace conversion filter.
- // We don't know what color space the interior nodes will request, so we have to
- // initialize SourceGraphic with both options.
- // Since we know SourceGraphic is always PM-valid, we also use
- // these for the PM-validated options.
- RefPtr<SkImageFilter> deviceFilter = transformColorSpace(nullFilter, currentColorSpace, ColorSpaceDeviceRGB);
- RefPtr<SkImageFilter> linearFilter = transformColorSpace(nullFilter, currentColorSpace, ColorSpaceLinearRGB);
- FilterEffect* sourceGraphic = referenceFilter->sourceGraphic();
- sourceGraphic->setImageFilter(ColorSpaceDeviceRGB, false, deviceFilter.get());
- sourceGraphic->setImageFilter(ColorSpaceLinearRGB, false, linearFilter.get());
- sourceGraphic->setImageFilter(ColorSpaceDeviceRGB, true, deviceFilter.get());
- sourceGraphic->setImageFilter(ColorSpaceLinearRGB, true, linearFilter.get());
-
- currentColorSpace = filterEffect->operatingColorSpace();
- filter = SkiaImageFilterBuilder::build(filterEffect, currentColorSpace);
- filters->appendReferenceFilter(filter.get());
- }
- 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(WebPoint(drop.x(), drop.y()), drop.stdDeviation(), drop.color().rgb());
- break;
- }
- case FilterOperation::NONE:
- break;
- }
- }
- if (currentColorSpace != ColorSpaceDeviceRGB) {
- // Transform to device color space at the end of processing, if required
- RefPtr<SkImageFilter> filter = transformColorSpace(nullFilter, currentColorSpace, ColorSpaceDeviceRGB);
- filters->appendReferenceFilter(filter.get());
- }
-}
-
PassRefPtr<SkImageFilter> SkiaImageFilterBuilder::buildTransform(const AffineTransform& transform, SkImageFilter* input)
{
return adoptRef(SkMatrixImageFilter::Create(affineTransformToSkMatrix(transform), SkPaint::kHigh_FilterLevel, input));
« no previous file with comments | « sky/engine/platform/graphics/filters/SkiaImageFilterBuilder.h ('k') | sky/engine/platform/graphics/gpu/DrawingBuffer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698