gfx/skia/trunk/src/animator/SkDrawGradient.h

branch
TOR_BUG_3246
changeset 5
4ab42b5ab56c
equal deleted inserted replaced
-1:000000000000 0:f44820f26432
1
2 /*
3 * Copyright 2006 The Android Open Source Project
4 *
5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file.
7 */
8
9
10 #ifndef SkDrawGradient_DEFINED
11 #define SkDrawGradient_DEFINED
12
13 #include "SkDrawColor.h"
14 #include "SkDrawShader.h"
15 #include "SkIntArray.h"
16
17 class SkUnitMapper;
18
19 class SkDrawGradient : public SkDrawShader {
20 DECLARE_PRIVATE_MEMBER_INFO(DrawGradient);
21 SkDrawGradient();
22 virtual ~SkDrawGradient();
23 virtual bool addChild(SkAnimateMaker& , SkDisplayable* child) SK_OVERRIDE;
24 #ifdef SK_DUMP_ENABLED
25 virtual void dumpRest(SkAnimateMaker*);
26 #endif
27 virtual void onEndElement(SkAnimateMaker& );
28 protected:
29 SkTDScalarArray offsets;
30 SkString unitMapper;
31 SkTDColorArray fColors;
32 SkTDDrawColorArray fDrawColors;
33 SkUnitMapper* fUnitMapper;
34 int addPrelude();
35 private:
36 typedef SkDrawShader INHERITED;
37 };
38
39 class SkDrawLinearGradient : public SkDrawGradient {
40 DECLARE_MEMBER_INFO(DrawLinearGradient);
41 SkDrawLinearGradient();
42 virtual void onEndElement(SkAnimateMaker& );
43 #ifdef SK_DUMP_ENABLED
44 virtual void dump(SkAnimateMaker*);
45 #endif
46 virtual SkShader* getShader();
47 protected:
48 SkTDScalarArray points;
49 private:
50 typedef SkDrawGradient INHERITED;
51 };
52
53 class SkDrawRadialGradient : public SkDrawGradient {
54 DECLARE_MEMBER_INFO(DrawRadialGradient);
55 SkDrawRadialGradient();
56 #ifdef SK_DUMP_ENABLED
57 virtual void dump(SkAnimateMaker*);
58 #endif
59 virtual SkShader* getShader();
60 protected:
61 SkPoint center;
62 SkScalar radius;
63 private:
64 typedef SkDrawGradient INHERITED;
65 };
66
67 #endif // SkDrawGradient_DEFINED

mercurial