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 "content/renderer/compositor_bindings/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 content { 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 content 96 97