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