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