Thu, 15 Jan 2015 15:55:04 +0100
Back out 97036ab72558 which inappropriately compared turds to third parties.
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 */
10 #ifndef SkDrawGradient_DEFINED
11 #define SkDrawGradient_DEFINED
13 #include "SkDrawColor.h"
14 #include "SkDrawShader.h"
15 #include "SkIntArray.h"
17 class SkUnitMapper;
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 };
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 };
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 };
67 #endif // SkDrawGradient_DEFINED