Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / cc / output / render_surface_filters.h
blob42b6e451501412ed46bbedd28f444eb7b3743884
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.
6 #ifndef CC_OUTPUT_RENDER_SURFACE_FILTERS_H_
7 #define CC_OUTPUT_RENDER_SURFACE_FILTERS_H_
9 #include "base/basictypes.h"
10 #include "cc/base/cc_export.h"
11 #include "skia/ext/refptr.h"
13 class GrContext;
14 class SkBitmap;
15 class SkImageFilter;
17 namespace gfx {
18 class SizeF;
21 namespace cc {
23 class FilterOperations;
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);
33 static skia::RefPtr<SkImageFilter> BuildImageFilter(
34 const FilterOperations& filters,
35 const gfx::SizeF& size);
37 private:
38 DISALLOW_IMPLICIT_CONSTRUCTORS(RenderSurfaceFilters);
41 } // namespace cc
43 #endif // CC_OUTPUT_RENDER_SURFACE_FILTERS_H_