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