1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "cc/blink/web_filter_operations_impl.h"
7 #include "base/basictypes.h"
8 #include "skia/ext/refptr.h"
9 #include "third_party/WebKit/public/platform/WebColor.h"
10 #include "third_party/WebKit/public/platform/WebPoint.h"
11 #include "third_party/skia/include/core/SkScalar.h"
15 WebFilterOperationsImpl::WebFilterOperationsImpl() {
18 WebFilterOperationsImpl::~WebFilterOperationsImpl() {
21 const cc::FilterOperations& WebFilterOperationsImpl::AsFilterOperations()
23 return filter_operations_;
26 void WebFilterOperationsImpl::appendGrayscaleFilter(float amount) {
27 filter_operations_.Append(cc::FilterOperation::CreateGrayscaleFilter(amount));
30 void WebFilterOperationsImpl::appendSepiaFilter(float amount) {
31 filter_operations_.Append(cc::FilterOperation::CreateSepiaFilter(amount));
34 void WebFilterOperationsImpl::appendSaturateFilter(float amount) {
35 filter_operations_.Append(cc::FilterOperation::CreateSaturateFilter(amount));
38 void WebFilterOperationsImpl::appendHueRotateFilter(float amount) {
39 filter_operations_.Append(cc::FilterOperation::CreateHueRotateFilter(amount));
42 void WebFilterOperationsImpl::appendInvertFilter(float amount) {
43 filter_operations_.Append(cc::FilterOperation::CreateInvertFilter(amount));
46 void WebFilterOperationsImpl::appendBrightnessFilter(float amount) {
47 filter_operations_.Append(
48 cc::FilterOperation::CreateBrightnessFilter(amount));
51 void WebFilterOperationsImpl::appendContrastFilter(float amount) {
52 filter_operations_.Append(cc::FilterOperation::CreateContrastFilter(amount));
55 void WebFilterOperationsImpl::appendOpacityFilter(float amount) {
56 filter_operations_.Append(cc::FilterOperation::CreateOpacityFilter(amount));
59 void WebFilterOperationsImpl::appendBlurFilter(float amount) {
60 filter_operations_.Append(cc::FilterOperation::CreateBlurFilter(amount));
63 void WebFilterOperationsImpl::appendDropShadowFilter(blink::WebPoint offset,
65 blink::WebColor color) {
66 filter_operations_.Append(cc::FilterOperation::CreateDropShadowFilter(
67 offset, std_deviation, color));
70 void WebFilterOperationsImpl::appendColorMatrixFilter(SkScalar matrix[20]) {
71 filter_operations_.Append(
72 cc::FilterOperation::CreateColorMatrixFilter(matrix));
75 void WebFilterOperationsImpl::appendZoomFilter(float amount, int inset) {
76 filter_operations_.Append(
77 cc::FilterOperation::CreateZoomFilter(amount, inset));
80 void WebFilterOperationsImpl::appendSaturatingBrightnessFilter(float amount) {
81 filter_operations_.Append(
82 cc::FilterOperation::CreateSaturatingBrightnessFilter(amount));
85 void WebFilterOperationsImpl::appendReferenceFilter(
86 SkImageFilter* image_filter) {
87 filter_operations_.Append(
88 cc::FilterOperation::CreateReferenceFilter(skia::SharePtr(image_filter)));
91 void WebFilterOperationsImpl::clear() {
92 filter_operations_.Clear();
95 } // namespace cc_blink