OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2006 The Android Open Source Project | 2 * Copyright 2006 The Android Open Source Project |
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 SkDisplayList_DEFINED | 8 #ifndef SkDisplayList_DEFINED |
9 #define SkDisplayList_DEFINED | 9 #define SkDisplayList_DEFINED |
10 | 10 |
11 #include "SkOperand.h" | 11 #include "SkOperand.h" |
12 #include "SkIntArray.h" | 12 #include "SkIntArray.h" |
13 #include "SkRect.h" | 13 #include "SkRect.h" |
14 #include "SkRefCnt.h" | 14 #include "SkRefCnt.h" |
15 | 15 |
16 class SkAnimateMaker; | 16 class SkAnimateMaker; |
17 class SkActive; | 17 class SkActive; |
18 class SkApply; | 18 class SkApply; |
19 class SkDrawable; | 19 class SkADrawable; |
20 class SkGroup; | 20 class SkGroup; |
21 | 21 |
22 class SkDisplayList : public SkRefCnt { | 22 class SkDisplayList : public SkRefCnt { |
23 public: | 23 public: |
24 SkDisplayList(); | 24 SkDisplayList(); |
25 virtual ~SkDisplayList(); | 25 virtual ~SkDisplayList(); |
26 void append(SkActive* ); | 26 void append(SkActive* ); |
27 void clear() { fDrawList.reset(); } | 27 void clear() { fDrawList.reset(); } |
28 int count() { return fDrawList.count(); } | 28 int count() { return fDrawList.count(); } |
29 bool draw(SkAnimateMaker& , SkMSec time); | 29 bool draw(SkAnimateMaker& , SkMSec time); |
30 #ifdef SK_DUMP_ENABLED | 30 #ifdef SK_DUMP_ENABLED |
31 void dump(SkAnimateMaker* maker); | 31 void dump(SkAnimateMaker* maker); |
32 void dumpInner(SkAnimateMaker* maker); | 32 void dumpInner(SkAnimateMaker* maker); |
33 static int fIndent; | 33 static int fIndent; |
34 static int fDumpIndex; | 34 static int fDumpIndex; |
35 #endif | 35 #endif |
36 int findGroup(SkDrawable* match, SkTDDrawableArray** list, | 36 int findGroup(SkADrawable* match, SkTDDrawableArray** list, |
37 SkGroup** parent, SkGroup** found, SkTDDrawableArray** grandList); | 37 SkGroup** parent, SkGroup** found, SkTDDrawableArray** grandList); |
38 SkDrawable* get(int index) { return fDrawList[index]; } | 38 SkADrawable* get(int index) { return fDrawList[index]; } |
39 SkMSec getTime() { return fInTime; } | 39 SkMSec getTime() { return fInTime; } |
40 SkTDDrawableArray* getDrawList() { return &fDrawList; } | 40 SkTDDrawableArray* getDrawList() { return &fDrawList; } |
41 void hardReset(); | 41 void hardReset(); |
42 virtual bool onIRect(const SkIRect& r); | 42 virtual bool onIRect(const SkIRect& r); |
43 void reset(); | 43 void reset(); |
44 void remove(SkActive* ); | 44 void remove(SkActive* ); |
45 #ifdef SK_DEBUG | 45 #ifdef SK_DEBUG |
46 void validate(); | 46 void validate(); |
47 #else | 47 #else |
48 void validate() {} | 48 void validate() {} |
49 #endif | 49 #endif |
50 static int SearchForMatch(SkDrawable* match, SkTDDrawableArray** list, | 50 static int SearchForMatch(SkADrawable* match, SkTDDrawableArray** list, |
51 SkGroup** parent, SkGroup** found, SkTDDrawableArray**grandList); | 51 SkGroup** parent, SkGroup** found, SkTDDrawableArray**grandList); |
52 static bool SearchGroupForMatch(SkDrawable* draw, SkDrawable* match, | 52 static bool SearchGroupForMatch(SkADrawable* draw, SkADrawable* match, |
53 SkTDDrawableArray** list, SkGroup** parent, SkGroup** found, SkTDDrawabl
eArray** grandList, | 53 SkTDDrawableArray** list, SkGroup** parent, SkGroup** found, SkTDDrawabl
eArray** grandList, |
54 int &index); | 54 int &index); |
55 public: | 55 public: |
56 SkIRect fBounds; | 56 SkIRect fBounds; |
57 SkIRect fInvalBounds; | 57 SkIRect fInvalBounds; |
58 bool fDrawBounds; | 58 bool fDrawBounds; |
59 bool fHasUnion; | 59 bool fHasUnion; |
60 bool fUnionBounds; | 60 bool fUnionBounds; |
61 private: | 61 private: |
62 SkTDDrawableArray fDrawList; | 62 SkTDDrawableArray fDrawList; |
63 SkTDActiveArray fActiveList; | 63 SkTDActiveArray fActiveList; |
64 SkMSec fInTime; | 64 SkMSec fInTime; |
65 friend class SkEvents; | 65 friend class SkEvents; |
66 }; | 66 }; |
67 | 67 |
68 #endif // SkDisplayList_DEFINED | 68 #endif // SkDisplayList_DEFINED |
OLD | NEW |