OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2006 The Android Open Source Project | 3 * Copyright 2006 The Android Open Source Project |
4 * | 4 * |
5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
7 */ | 7 */ |
8 | 8 |
9 | 9 |
10 #ifndef SkDrawPath_DEFINED | 10 #ifndef SkDrawPath_DEFINED |
11 #define SkDrawPath_DEFINED | 11 #define SkDrawPath_DEFINED |
12 | 12 |
13 #include "SkBoundable.h" | 13 #include "SkBoundable.h" |
14 #include "SkIntArray.h" | 14 #include "SkIntArray.h" |
15 #include "SkMemberInfo.h" | 15 #include "SkMemberInfo.h" |
16 #include "SkPath.h" | 16 #include "SkPath.h" |
17 | 17 |
18 class SkDrawPath : public SkBoundable { | 18 class SkDrawPath : public SkBoundable { |
19 DECLARE_DRAW_MEMBER_INFO(Path); | 19 DECLARE_DRAW_MEMBER_INFO(Path); |
20 SkDrawPath(); | 20 SkDrawPath(); |
21 virtual ~SkDrawPath(); | 21 virtual ~SkDrawPath(); |
22 virtual bool addChild(SkAnimateMaker& , SkDisplayable* child) SK_OVERRIDE; | 22 bool addChild(SkAnimateMaker& , SkDisplayable* child) SK_OVERRIDE; |
23 bool childHasID() { return SkToBool(fChildHasID); } | 23 bool childHasID() { return SkToBool(fChildHasID); } |
24 virtual bool childrenNeedDisposing() const SK_OVERRIDE; | 24 bool childrenNeedDisposing() const SK_OVERRIDE; |
25 virtual void dirty() SK_OVERRIDE; | 25 void dirty() SK_OVERRIDE; |
26 virtual bool draw(SkAnimateMaker& ) SK_OVERRIDE; | 26 bool draw(SkAnimateMaker& ) SK_OVERRIDE; |
27 virtual SkDisplayable* getParent() const SK_OVERRIDE; | 27 SkDisplayable* getParent() const SK_OVERRIDE; |
28 #ifdef SK_DUMP_ENABLED | 28 #ifdef SK_DUMP_ENABLED |
29 virtual void dump(SkAnimateMaker* ) SK_OVERRIDE; | 29 void dump(SkAnimateMaker* ) SK_OVERRIDE; |
30 #endif | 30 #endif |
31 SkPath& getPath(); | 31 SkPath& getPath(); |
32 virtual bool getProperty(int index, SkScriptValue* value) const SK_OVERRIDE; | 32 bool getProperty(int index, SkScriptValue* value) const SK_OVERRIDE; |
33 virtual bool setProperty(int index, SkScriptValue& value) SK_OVERRIDE; | 33 bool setProperty(int index, SkScriptValue& value) SK_OVERRIDE; |
34 virtual void onEndElement(SkAnimateMaker& ) SK_OVERRIDE; | 34 void onEndElement(SkAnimateMaker& ) SK_OVERRIDE; |
35 virtual void setChildHasID() SK_OVERRIDE; | 35 void setChildHasID() SK_OVERRIDE; |
36 virtual bool setParent(SkDisplayable* parent) SK_OVERRIDE; | 36 bool setParent(SkDisplayable* parent) SK_OVERRIDE; |
37 virtual bool isPath() const SK_OVERRIDE { return true; } | 37 bool isPath() const SK_OVERRIDE { return true; } |
38 public: | 38 public: |
39 SkPath fPath; | 39 SkPath fPath; |
40 protected: | 40 protected: |
41 void parseSVG(); | 41 void parseSVG(); |
42 SkString d; | 42 SkString d; |
43 SkTDPathPartArray fParts; | 43 SkTDPathPartArray fParts; |
44 mutable SkScalar fLength; | 44 mutable SkScalar fLength; |
45 SkDisplayable* fParent; // SkPolyToPoly or SkFromPath, for instance | 45 SkDisplayable* fParent; // SkPolyToPoly or SkFromPath, for instance |
46 SkBool8 fChildHasID; | 46 SkBool8 fChildHasID; |
47 SkBool8 fDirty; | 47 SkBool8 fDirty; |
48 private: | 48 private: |
49 typedef SkBoundable INHERITED; | 49 typedef SkBoundable INHERITED; |
50 }; | 50 }; |
51 | 51 |
52 class SkPolyline : public SkDrawPath { | 52 class SkPolyline : public SkDrawPath { |
53 DECLARE_MEMBER_INFO(Polyline); | 53 DECLARE_MEMBER_INFO(Polyline); |
54 virtual bool addChild(SkAnimateMaker& , SkDisplayable*) SK_OVERRIDE; | 54 bool addChild(SkAnimateMaker& , SkDisplayable*) SK_OVERRIDE; |
55 virtual void onEndElement(SkAnimateMaker& ) SK_OVERRIDE; | 55 void onEndElement(SkAnimateMaker& ) SK_OVERRIDE; |
56 protected: | 56 protected: |
57 SkTDScalarArray points; | 57 SkTDScalarArray points; |
58 private: | 58 private: |
59 typedef SkDrawPath INHERITED; | 59 typedef SkDrawPath INHERITED; |
60 }; | 60 }; |
61 | 61 |
62 class SkPolygon : public SkPolyline { | 62 class SkPolygon : public SkPolyline { |
63 DECLARE_MEMBER_INFO(Polygon); | 63 DECLARE_MEMBER_INFO(Polygon); |
64 virtual void onEndElement(SkAnimateMaker& ) SK_OVERRIDE; | 64 void onEndElement(SkAnimateMaker& ) SK_OVERRIDE; |
65 private: | 65 private: |
66 typedef SkPolyline INHERITED; | 66 typedef SkPolyline INHERITED; |
67 }; | 67 }; |
68 | 68 |
69 #endif // SkDrawPath_DEFINED | 69 #endif // SkDrawPath_DEFINED |
OLD | NEW |