Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / third_party / skia / src / core / SkFilterShader.h
1 /*
2  * Copyright 2012 Google Inc.
3  *
4  * Use of this source code is governed by a BSD-style license that can be
5  * found in the LICENSE file.
6  */
7
8 #ifndef SkFilterShader_DEFINED
9 #define SkFilterShader_DEFINED
10
11 #include "SkShader.h"
12
13 class SkColorFilter;
14
15 class SkFilterShader : public SkShader {
16 public:
17     SkFilterShader(SkShader* shader, SkColorFilter* filter);
18     virtual ~SkFilterShader();
19
20     virtual uint32_t getFlags() SK_OVERRIDE;
21     virtual bool setContext(const SkBitmap&, const SkPaint&,
22                             const SkMatrix&) SK_OVERRIDE;
23     virtual void endContext() SK_OVERRIDE;
24     virtual void shadeSpan(int x, int y, SkPMColor[], int count) SK_OVERRIDE;
25     virtual void shadeSpan16(int x, int y, uint16_t[], int count) SK_OVERRIDE;
26
27     SK_DEVELOPER_TO_STRING()
28     SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkFilterShader)
29
30 protected:
31     SkFilterShader(SkReadBuffer& );
32     virtual void flatten(SkWriteBuffer&) const SK_OVERRIDE;
33
34 private:
35     SkShader*       fShader;
36     SkColorFilter*  fFilter;
37
38     typedef SkShader INHERITED;
39 };
40
41 #endif