| Index: public/platform/WebFilterOperation.h
|
| diff --git a/public/platform/WebFilterOperation.h b/public/platform/WebFilterOperation.h
|
| index 140768986845214aebde89b1642788477d3b16bf..83177f0006deb813e9491111f35a345a2ff7ec92 100644
|
| --- a/public/platform/WebFilterOperation.h
|
| +++ b/public/platform/WebFilterOperation.h
|
| @@ -1,208 +1 @@
|
| -/*
|
| - * Copyright (C) 2012 Google Inc. All rights reserved.
|
| - *
|
| - * Redistribution and use in source and binary forms, with or without
|
| - * modification, are permitted provided that the following conditions
|
| - * are met:
|
| - *
|
| - * 1. Redistributions of source code must retain the above copyright
|
| - * notice, this list of conditions and the following disclaimer.
|
| - * 2. Redistributions in binary form must reproduce the above copyright
|
| - * notice, this list of conditions and the following disclaimer in the
|
| - * documentation and/or other materials provided with the distribution.
|
| - *
|
| - * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
|
| - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
| - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
| - * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
|
| - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
| - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
| - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
| - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
| - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| - */
|
| -
|
| -#ifndef WebFilterOperation_h
|
| -#define WebFilterOperation_h
|
| -
|
| -#include "SkScalar.h"
|
| -#include "WebCommon.h"
|
| -#include "WebColor.h"
|
| -#include "WebPoint.h"
|
| -
|
| -namespace WebKit {
|
| -
|
| -class WebFilterOperation {
|
| -public:
|
| - enum FilterType {
|
| - FilterTypeGrayscale,
|
| - FilterTypeSepia,
|
| - FilterTypeSaturate,
|
| - FilterTypeHueRotate,
|
| - FilterTypeInvert,
|
| - FilterTypeBrightness,
|
| - FilterTypeContrast,
|
| - FilterTypeOpacity,
|
| - FilterTypeBlur,
|
| - FilterTypeDropShadow,
|
| - FilterTypeColorMatrix,
|
| - FilterTypeZoom,
|
| - FilterTypeSaturatingBrightness, // Not used in CSS/SVG.
|
| - };
|
| -
|
| - FilterType type() const { return m_type; }
|
| -
|
| - float amount() const
|
| - {
|
| - WEBKIT_ASSERT(m_type == FilterTypeGrayscale
|
| - || m_type == FilterTypeSepia
|
| - || m_type == FilterTypeSaturate
|
| - || m_type == FilterTypeHueRotate
|
| - || m_type == FilterTypeInvert
|
| - || m_type == FilterTypeBrightness
|
| - || m_type == FilterTypeContrast
|
| - || m_type == FilterTypeOpacity
|
| - || m_type == FilterTypeBlur
|
| - || m_type == FilterTypeDropShadow
|
| - || m_type == FilterTypeZoom
|
| - || m_type == FilterTypeSaturatingBrightness);
|
| - return m_amount;
|
| - }
|
| - WebPoint dropShadowOffset() const
|
| - {
|
| - WEBKIT_ASSERT(m_type == FilterTypeDropShadow);
|
| - return m_dropShadowOffset;
|
| - }
|
| - WebColor dropShadowColor() const
|
| - {
|
| - WEBKIT_ASSERT(m_type == FilterTypeDropShadow);
|
| - return m_dropShadowColor;
|
| - }
|
| - const SkScalar* matrix() const
|
| - {
|
| - WEBKIT_ASSERT(m_type == FilterTypeColorMatrix);
|
| - return m_matrix;
|
| - }
|
| -
|
| - int zoomInset() const
|
| - {
|
| - WEBKIT_ASSERT(m_type == FilterTypeZoom);
|
| - return m_zoomInset;
|
| - }
|
| -
|
| - static WebFilterOperation createGrayscaleFilter(float amount) { return WebFilterOperation(FilterTypeGrayscale, amount); }
|
| - static WebFilterOperation createSepiaFilter(float amount) { return WebFilterOperation(FilterTypeSepia, amount); }
|
| - static WebFilterOperation createSaturateFilter(float amount) { return WebFilterOperation(FilterTypeSaturate, amount); }
|
| - static WebFilterOperation createHueRotateFilter(float amount) { return WebFilterOperation(FilterTypeHueRotate, amount); }
|
| - static WebFilterOperation createInvertFilter(float amount) { return WebFilterOperation(FilterTypeInvert, amount); }
|
| - static WebFilterOperation createBrightnessFilter(float amount) { return WebFilterOperation(FilterTypeBrightness, amount); }
|
| - static WebFilterOperation createContrastFilter(float amount) { return WebFilterOperation(FilterTypeContrast, amount); }
|
| - static WebFilterOperation createOpacityFilter(float amount) { return WebFilterOperation(FilterTypeOpacity, amount); }
|
| - static WebFilterOperation createBlurFilter(float amount) { return WebFilterOperation(FilterTypeBlur, amount); }
|
| - static WebFilterOperation createDropShadowFilter(WebPoint offset, float stdDeviation, WebColor color) { return WebFilterOperation(FilterTypeDropShadow, offset, stdDeviation, color); }
|
| - static WebFilterOperation createColorMatrixFilter(SkScalar matrix[20]) { return WebFilterOperation(FilterTypeColorMatrix, matrix); }
|
| - static WebFilterOperation createZoomFilter(float amount, int inset) { return WebFilterOperation(FilterTypeZoom, amount, inset); }
|
| - static WebFilterOperation createSaturatingBrightnessFilter(float amount) { return WebFilterOperation(FilterTypeSaturatingBrightness, amount); }
|
| -
|
| - bool equals(const WebFilterOperation& other) const;
|
| -
|
| - // Methods for restoring a WebFilterOperation.
|
| - static WebFilterOperation createEmptyFilter() { return WebFilterOperation(FilterTypeGrayscale, 0.0); }
|
| - void setType(FilterType type) { m_type = type; }
|
| - void setAmount(float amount)
|
| - {
|
| - WEBKIT_ASSERT(m_type == FilterTypeGrayscale
|
| - || m_type == FilterTypeSepia
|
| - || m_type == FilterTypeSaturate
|
| - || m_type == FilterTypeHueRotate
|
| - || m_type == FilterTypeInvert
|
| - || m_type == FilterTypeBrightness
|
| - || m_type == FilterTypeContrast
|
| - || m_type == FilterTypeOpacity
|
| - || m_type == FilterTypeBlur
|
| - || m_type == FilterTypeDropShadow
|
| - || m_type == FilterTypeZoom
|
| - || m_type == FilterTypeSaturatingBrightness);
|
| - m_amount = amount;
|
| - }
|
| - void setDropShadowOffset(WebPoint offset)
|
| - {
|
| - WEBKIT_ASSERT(m_type == FilterTypeDropShadow);
|
| - m_dropShadowOffset = offset;
|
| - }
|
| - void setDropShadowColor(WebColor color)
|
| - {
|
| - WEBKIT_ASSERT(m_type == FilterTypeDropShadow);
|
| - m_dropShadowColor = color;
|
| - }
|
| - void setMatrix(const SkScalar matrix[20])
|
| - {
|
| - WEBKIT_ASSERT(m_type == FilterTypeColorMatrix);
|
| - for (unsigned i = 0; i < 20; ++i)
|
| - m_matrix[i] = matrix[i];
|
| - }
|
| - void setZoomInset(int inset)
|
| - {
|
| - WEBKIT_ASSERT(m_type == FilterTypeZoom);
|
| - m_zoomInset = inset;
|
| - }
|
| -
|
| -private:
|
| - FilterType m_type;
|
| -
|
| - float m_amount;
|
| - WebPoint m_dropShadowOffset;
|
| - WebColor m_dropShadowColor;
|
| - SkScalar m_matrix[20];
|
| - int m_zoomInset;
|
| -
|
| - WebFilterOperation(FilterType type, float amount)
|
| - : m_type(type)
|
| - , m_amount(amount)
|
| - , m_dropShadowOffset(0, 0)
|
| - , m_dropShadowColor(0)
|
| - , m_zoomInset(0)
|
| - {
|
| - WEBKIT_ASSERT(m_type != FilterTypeDropShadow && m_type != FilterTypeColorMatrix);
|
| - memset(m_matrix, 0, sizeof(m_matrix));
|
| - }
|
| -
|
| - WebFilterOperation(FilterType type, WebPoint offset, float stdDeviation, WebColor color)
|
| - : m_type(type)
|
| - , m_amount(stdDeviation)
|
| - , m_dropShadowOffset(offset)
|
| - , m_dropShadowColor(color)
|
| - , m_zoomInset(0)
|
| - {
|
| - WEBKIT_ASSERT(m_type == FilterTypeDropShadow);
|
| - memset(m_matrix, 0, sizeof(m_matrix));
|
| - }
|
| -
|
| - WEBKIT_EXPORT WebFilterOperation(FilterType, SkScalar matrix[20]);
|
| -
|
| - WebFilterOperation(FilterType type, float amount, int inset)
|
| - : m_type(type)
|
| - , m_amount(amount)
|
| - , m_dropShadowOffset(0, 0)
|
| - , m_dropShadowColor(0)
|
| - , m_zoomInset(inset)
|
| - {
|
| - WEBKIT_ASSERT(m_type == FilterTypeZoom);
|
| - memset(m_matrix, 0, sizeof(m_matrix));
|
| - }
|
| -};
|
| -
|
| -inline bool operator==(const WebFilterOperation& a, const WebFilterOperation& b)
|
| -{
|
| - return a.equals(b);
|
| -}
|
| -
|
| -inline bool operator!=(const WebFilterOperation& a, const WebFilterOperation& b)
|
| -{
|
| - return !(a == b);
|
| -}
|
| -
|
| -}
|
| -
|
| -#endif
|
| +#include "../common/WebFilterOperation.h"
|
|
|