Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / cc / blink / web_filter_operations_impl.cc
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.
4
5 #include "cc/blink/web_filter_operations_impl.h"
6
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"
12
13 namespace cc_blink {
14
15 WebFilterOperationsImpl::WebFilterOperationsImpl() {
16 }
17
18 WebFilterOperationsImpl::~WebFilterOperationsImpl() {
19 }
20
21 const cc::FilterOperations& WebFilterOperationsImpl::AsFilterOperations()
22     const {
23   return filter_operations_;
24 }
25
26 void WebFilterOperationsImpl::appendGrayscaleFilter(float amount) {
27   filter_operations_.Append(cc::FilterOperation::CreateGrayscaleFilter(amount));
28 }
29
30 void WebFilterOperationsImpl::appendSepiaFilter(float amount) {
31   filter_operations_.Append(cc::FilterOperation::CreateSepiaFilter(amount));
32 }
33
34 void WebFilterOperationsImpl::appendSaturateFilter(float amount) {
35   filter_operations_.Append(cc::FilterOperation::CreateSaturateFilter(amount));
36 }
37
38 void WebFilterOperationsImpl::appendHueRotateFilter(float amount) {
39   filter_operations_.Append(cc::FilterOperation::CreateHueRotateFilter(amount));
40 }
41
42 void WebFilterOperationsImpl::appendInvertFilter(float amount) {
43   filter_operations_.Append(cc::FilterOperation::CreateInvertFilter(amount));
44 }
45
46 void WebFilterOperationsImpl::appendBrightnessFilter(float amount) {
47   filter_operations_.Append(
48       cc::FilterOperation::CreateBrightnessFilter(amount));
49 }
50
51 void WebFilterOperationsImpl::appendContrastFilter(float amount) {
52   filter_operations_.Append(cc::FilterOperation::CreateContrastFilter(amount));
53 }
54
55 void WebFilterOperationsImpl::appendOpacityFilter(float amount) {
56   filter_operations_.Append(cc::FilterOperation::CreateOpacityFilter(amount));
57 }
58
59 void WebFilterOperationsImpl::appendBlurFilter(float amount) {
60   filter_operations_.Append(cc::FilterOperation::CreateBlurFilter(amount));
61 }
62
63 void WebFilterOperationsImpl::appendDropShadowFilter(blink::WebPoint offset,
64                                                      float std_deviation,
65                                                      blink::WebColor color) {
66   filter_operations_.Append(cc::FilterOperation::CreateDropShadowFilter(
67       offset, std_deviation, color));
68 }
69
70 void WebFilterOperationsImpl::appendColorMatrixFilter(SkScalar matrix[20]) {
71   filter_operations_.Append(
72       cc::FilterOperation::CreateColorMatrixFilter(matrix));
73 }
74
75 void WebFilterOperationsImpl::appendZoomFilter(float amount, int inset) {
76   filter_operations_.Append(
77       cc::FilterOperation::CreateZoomFilter(amount, inset));
78 }
79
80 void WebFilterOperationsImpl::appendSaturatingBrightnessFilter(float amount) {
81   filter_operations_.Append(
82       cc::FilterOperation::CreateSaturatingBrightnessFilter(amount));
83 }
84
85 void WebFilterOperationsImpl::appendReferenceFilter(
86     SkImageFilter* image_filter) {
87   filter_operations_.Append(
88       cc::FilterOperation::CreateReferenceFilter(skia::SharePtr(image_filter)));
89 }
90
91 void WebFilterOperationsImpl::clear() {
92   filter_operations_.Clear();
93 }
94
95 }  // namespace cc_blink