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 SkDrawGroup_DEFINED | 10 #ifndef SkDrawGroup_DEFINED |
11 #define SkDrawGroup_DEFINED | 11 #define SkDrawGroup_DEFINED |
12 | 12 |
13 #include "SkADrawable.h" | 13 #include "SkADrawable.h" |
14 #include "SkIntArray.h" | 14 #include "SkIntArray.h" |
15 #include "SkMemberInfo.h" | 15 #include "SkMemberInfo.h" |
16 | 16 |
17 class SkGroup : public SkADrawable { //interface for schema element <g> | 17 class SkGroup : public SkADrawable { //interface for schema element <g> |
18 public: | 18 public: |
19 DECLARE_MEMBER_INFO(Group); | 19 DECLARE_MEMBER_INFO(Group); |
20 SkGroup(); | 20 SkGroup(); |
21 virtual ~SkGroup(); | 21 virtual ~SkGroup(); |
22 virtual bool addChild(SkAnimateMaker& , SkDisplayable* child) SK_OVERRIDE; | 22 bool addChild(SkAnimateMaker& , SkDisplayable* child) SK_OVERRIDE; |
23 virtual bool contains(SkDisplayable* ) SK_OVERRIDE; | 23 bool contains(SkDisplayable* ) SK_OVERRIDE; |
24 SkGroup* copy(); | 24 SkGroup* copy(); |
25 SkBool copySet(int index); | 25 SkBool copySet(int index); |
26 virtual SkDisplayable* deepCopy(SkAnimateMaker* ) SK_OVERRIDE; | 26 SkDisplayable* deepCopy(SkAnimateMaker* ) SK_OVERRIDE; |
27 virtual bool doEvent(SkDisplayEvent::Kind , SkEventState* state ) SK_OVERRID
E; | 27 bool doEvent(SkDisplayEvent::Kind , SkEventState* state ) SK_OVERRIDE; |
28 virtual bool draw(SkAnimateMaker& ) SK_OVERRIDE; | 28 bool draw(SkAnimateMaker& ) SK_OVERRIDE; |
29 #ifdef SK_DUMP_ENABLED | 29 #ifdef SK_DUMP_ENABLED |
30 virtual void dump(SkAnimateMaker* ) SK_OVERRIDE; | 30 void dump(SkAnimateMaker* ) SK_OVERRIDE; |
31 virtual void dumpDrawables(SkAnimateMaker* ); | 31 virtual void dumpDrawables(SkAnimateMaker* ); |
32 virtual void dumpEvents() SK_OVERRIDE; | 32 void dumpEvents() SK_OVERRIDE; |
33 #endif | 33 #endif |
34 int findGroup(SkADrawable* drawable, SkTDDrawableArray** list, | 34 int findGroup(SkADrawable* drawable, SkTDDrawableArray** list, |
35 SkGroup** parent, SkGroup** found, SkTDDrawableArray** grandList); | 35 SkGroup** parent, SkGroup** found, SkTDDrawableArray** grandList); |
36 virtual bool enable(SkAnimateMaker& ) SK_OVERRIDE; | 36 bool enable(SkAnimateMaker& ) SK_OVERRIDE; |
37 SkTDDrawableArray* getChildren() { return &fChildren; } | 37 SkTDDrawableArray* getChildren() { return &fChildren; } |
38 SkGroup* getOriginal() { return fOriginal; } | 38 SkGroup* getOriginal() { return fOriginal; } |
39 virtual bool hasEnable() const SK_OVERRIDE; | 39 bool hasEnable() const SK_OVERRIDE; |
40 virtual void initialize() SK_OVERRIDE; | 40 void initialize() SK_OVERRIDE; |
41 SkBool isACopy() { return fOriginal != NULL; } | 41 SkBool isACopy() { return fOriginal != NULL; } |
42 void markCopyClear(int index); | 42 void markCopyClear(int index); |
43 void markCopySet(int index); | 43 void markCopySet(int index); |
44 void markCopySize(int index); | 44 void markCopySize(int index); |
45 bool markedForDelete(int index) const { return (fCopies[index >> 5] & 1 << (
index & 0x1f)) == 0; } | 45 bool markedForDelete(int index) const { return (fCopies[index >> 5] & 1 << (
index & 0x1f)) == 0; } |
46 void reset(); | 46 void reset(); |
47 bool resolveIDs(SkAnimateMaker& maker, SkDisplayable* original, SkApply* ) S
K_OVERRIDE; | 47 bool resolveIDs(SkAnimateMaker& maker, SkDisplayable* original, SkApply* ) S
K_OVERRIDE; |
48 virtual void setSteps(int steps) SK_OVERRIDE; | 48 void setSteps(int steps) SK_OVERRIDE; |
49 #ifdef SK_DEBUG | 49 #ifdef SK_DEBUG |
50 virtual void validate() SK_OVERRIDE; | 50 void validate() SK_OVERRIDE; |
51 #endif | 51 #endif |
52 protected: | 52 protected: |
53 bool ifCondition(SkAnimateMaker& maker, SkADrawable* drawable, | 53 bool ifCondition(SkAnimateMaker& maker, SkADrawable* drawable, |
54 SkString& conditionString); | 54 SkString& conditionString); |
55 SkString condition; | 55 SkString condition; |
56 SkString enableCondition; | 56 SkString enableCondition; |
57 SkTDDrawableArray fChildren; | 57 SkTDDrawableArray fChildren; |
58 SkTDDrawableArray* fParentList; | 58 SkTDDrawableArray* fParentList; |
59 SkTDIntArray fCopies; | 59 SkTDIntArray fCopies; |
60 SkGroup* fOriginal; | 60 SkGroup* fOriginal; |
61 private: | 61 private: |
62 typedef SkADrawable INHERITED; | 62 typedef SkADrawable INHERITED; |
63 }; | 63 }; |
64 | 64 |
65 class SkSave: public SkGroup { | 65 class SkSave: public SkGroup { |
66 DECLARE_MEMBER_INFO(Save); | 66 DECLARE_MEMBER_INFO(Save); |
67 virtual bool draw(SkAnimateMaker& ) SK_OVERRIDE; | 67 bool draw(SkAnimateMaker& ) SK_OVERRIDE; |
68 private: | 68 private: |
69 typedef SkGroup INHERITED; | 69 typedef SkGroup INHERITED; |
70 }; | 70 }; |
71 | 71 |
72 #endif // SkDrawGroup_DEFINED | 72 #endif // SkDrawGroup_DEFINED |
OLD | NEW |