Home | History | Annotate | Download | only in blink
      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
     96