OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2012 Google Inc. | 2 * Copyright 2012 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #ifndef SkLinearGradient_DEFINED | 8 #ifndef SkLinearGradient_DEFINED |
9 #define SkLinearGradient_DEFINED | 9 #define SkLinearGradient_DEFINED |
10 | 10 |
11 #include "SkGradientShaderPriv.h" | 11 #include "SkGradientShaderPriv.h" |
12 | 12 |
13 class SkLinearGradient : public SkGradientShaderBase { | 13 class SkLinearGradient : public SkGradientShaderBase { |
14 public: | 14 public: |
15 SkLinearGradient(const SkPoint pts[2], const Descriptor&, const SkMatrix* lo
calMatrix); | 15 SkLinearGradient(const SkPoint pts[2], const Descriptor&, const SkMatrix* lo
calMatrix); |
16 | 16 |
17 virtual SkShader::Context* createContext(const ContextRec&, void* storage) c
onst SK_OVERRIDE; | |
18 virtual size_t contextSize() const SK_OVERRIDE; | 17 virtual size_t contextSize() const SK_OVERRIDE; |
19 | 18 |
20 class LinearGradientContext : public SkGradientShaderBase::GradientShaderBas
eContext { | 19 class LinearGradientContext : public SkGradientShaderBase::GradientShaderBas
eContext { |
21 public: | 20 public: |
22 LinearGradientContext(const SkLinearGradient&, const ContextRec&); | 21 LinearGradientContext(const SkLinearGradient&, const ContextRec&); |
23 ~LinearGradientContext() {} | 22 ~LinearGradientContext() {} |
24 | 23 |
25 virtual void shadeSpan(int x, int y, SkPMColor dstC[], int count) SK_OVE
RRIDE; | 24 virtual void shadeSpan(int x, int y, SkPMColor dstC[], int count) SK_OVE
RRIDE; |
26 virtual void shadeSpan16(int x, int y, uint16_t dstC[], int count) SK_OV
ERRIDE; | 25 virtual void shadeSpan16(int x, int y, uint16_t dstC[], int count) SK_OV
ERRIDE; |
27 | 26 |
28 private: | 27 private: |
29 typedef SkGradientShaderBase::GradientShaderBaseContext INHERITED; | 28 typedef SkGradientShaderBase::GradientShaderBaseContext INHERITED; |
30 }; | 29 }; |
31 | 30 |
32 virtual BitmapType asABitmap(SkBitmap*, SkMatrix*, TileMode*) const SK_OVERR
IDE; | 31 virtual BitmapType asABitmap(SkBitmap*, SkMatrix*, TileMode*) const SK_OVERR
IDE; |
33 virtual GradientType asAGradient(GradientInfo* info) const SK_OVERRIDE; | 32 virtual GradientType asAGradient(GradientInfo* info) const SK_OVERRIDE; |
34 virtual GrEffectRef* asNewEffect(GrContext* context, const SkPaint&) const S
K_OVERRIDE; | 33 virtual GrEffectRef* asNewEffect(GrContext* context, const SkPaint&) const S
K_OVERRIDE; |
35 | 34 |
36 SK_TO_STRING_OVERRIDE() | 35 SK_TO_STRING_OVERRIDE() |
37 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkLinearGradient) | 36 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkLinearGradient) |
38 | 37 |
39 protected: | 38 protected: |
40 SkLinearGradient(SkReadBuffer& buffer); | 39 SkLinearGradient(SkReadBuffer& buffer); |
41 virtual void flatten(SkWriteBuffer& buffer) const SK_OVERRIDE; | 40 virtual void flatten(SkWriteBuffer& buffer) const SK_OVERRIDE; |
| 41 virtual Context* onCreateContext(const ContextRec&, void* storage) const SK_
OVERRIDE; |
42 | 42 |
43 private: | 43 private: |
44 typedef SkGradientShaderBase INHERITED; | 44 typedef SkGradientShaderBase INHERITED; |
45 const SkPoint fStart; | 45 const SkPoint fStart; |
46 const SkPoint fEnd; | 46 const SkPoint fEnd; |
47 }; | 47 }; |
48 | 48 |
49 #endif | 49 #endif |
OLD | NEW |