1 // Copyright 2013 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 "webkit/renderer/compositor_bindings/web_filter_operations_impl.h" 6 7 #include "base/basictypes.h" 8 #include "third_party/WebKit/public/platform/WebColor.h" 9 #include "third_party/WebKit/public/platform/WebPoint.h" 10 #include "third_party/skia/include/core/SkScalar.h" 11 12 namespace webkit { 13 14 WebFilterOperationsImpl::WebFilterOperationsImpl() {} 15 16 WebFilterOperationsImpl::~WebFilterOperationsImpl() {} 17 18 const cc::FilterOperations& WebFilterOperationsImpl::AsFilterOperations() 19 const { 20 return filter_operations_; 21 } 22 23 void WebFilterOperationsImpl::appendGrayscaleFilter(float amount) { 24 filter_operations_.Append(cc::FilterOperation::CreateGrayscaleFilter(amount)); 25 } 26 27 void WebFilterOperationsImpl::appendSepiaFilter(float amount) { 28 filter_operations_.Append(cc::FilterOperation::CreateSepiaFilter(amount)); 29 } 30 31 void WebFilterOperationsImpl::appendSaturateFilter(float amount) { 32 filter_operations_.Append(cc::FilterOperation::CreateSaturateFilter(amount)); 33 } 34 35 void WebFilterOperationsImpl::appendHueRotateFilter(float amount) { 36 filter_operations_.Append(cc::FilterOperation::CreateHueRotateFilter(amount)); 37 } 38 39 void WebFilterOperationsImpl::appendInvertFilter(float amount) { 40 filter_operations_.Append(cc::FilterOperation::CreateInvertFilter(amount)); 41 } 42 43 void WebFilterOperationsImpl::appendBrightnessFilter(float amount) { 44 filter_operations_.Append( 45 cc::FilterOperation::CreateBrightnessFilter(amount)); 46 } 47 48 void WebFilterOperationsImpl::appendContrastFilter(float amount) { 49 filter_operations_.Append(cc::FilterOperation::CreateContrastFilter(amount)); 50 } 51 52 void WebFilterOperationsImpl::appendOpacityFilter(float amount) { 53 filter_operations_.Append(cc::FilterOperation::CreateOpacityFilter(amount)); 54 } 55 56 void WebFilterOperationsImpl::appendBlurFilter(float amount) { 57 filter_operations_.Append(cc::FilterOperation::CreateBlurFilter(amount)); 58 } 59 60 void WebFilterOperationsImpl::appendDropShadowFilter(WebKit::WebPoint offset, 61 float std_deviation, 62 WebKit::WebColor color) { 63 filter_operations_.Append(cc::FilterOperation::CreateDropShadowFilter( 64 offset, std_deviation, color)); 65 } 66 67 void WebFilterOperationsImpl::appendColorMatrixFilter(SkScalar matrix[20]) { 68 filter_operations_.Append( 69 cc::FilterOperation::CreateColorMatrixFilter(matrix)); 70 } 71 72 void WebFilterOperationsImpl::appendZoomFilter(float amount, int inset) { 73 filter_operations_.Append( 74 cc::FilterOperation::CreateZoomFilter(amount, inset)); 75 } 76 77 void WebFilterOperationsImpl::appendSaturatingBrightnessFilter(float amount) { 78 filter_operations_.Append( 79 cc::FilterOperation::CreateSaturatingBrightnessFilter(amount)); 80 } 81 82 void WebFilterOperationsImpl::clear() { 83 filter_operations_.Clear(); 84 } 85 86 } // namespace webkit 87