Home | History | Annotate | Download | only in output
      1 // Copyright 2012 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 
      6 #ifndef CC_OUTPUT_RENDER_SURFACE_FILTERS_H_
      7 #define CC_OUTPUT_RENDER_SURFACE_FILTERS_H_
      8 
      9 #include "base/basictypes.h"
     10 #include "cc/base/cc_export.h"
     11 #include "skia/ext/refptr.h"
     12 
     13 class GrContext;
     14 class SkBitmap;
     15 class SkImageFilter;
     16 
     17 namespace gfx {
     18 class SizeF;
     19 }
     20 
     21 namespace cc {
     22 
     23 class FilterOperations;
     24 
     25 class CC_EXPORT RenderSurfaceFilters {
     26  public:
     27   static SkBitmap Apply(const FilterOperations& filters,
     28                         unsigned texture_id,
     29                         const gfx::SizeF& size,
     30                         GrContext* gr_context);
     31   static FilterOperations Optimize(const FilterOperations& filters);
     32 
     33   static skia::RefPtr<SkImageFilter> BuildImageFilter(
     34       const FilterOperations& filters,
     35       const gfx::SizeF& size);
     36 
     37  private:
     38   DISALLOW_IMPLICIT_CONSTRUCTORS(RenderSurfaceFilters);
     39 };
     40 
     41 }  // namespace cc
     42 
     43 #endif  // CC_OUTPUT_RENDER_SURFACE_FILTERS_H_
     44