OLD | NEW |
| (Empty) |
1 #ifndef SkPathHeap_DEFINED | |
2 #define SkPathHeap_DEFINED | |
3 | |
4 #include "SkRefCnt.h" | |
5 #include "SkChunkAlloc.h" | |
6 #include "SkTDArray.h" | |
7 | |
8 class SkPath; | |
9 class SkFlattenableReadBuffer; | |
10 class SkFlattenableWriteBuffer; | |
11 | |
12 class SkPathHeap : public SkRefCnt { | |
13 public: | |
14 SkPathHeap(); | |
15 SkPathHeap(SkFlattenableReadBuffer&); | |
16 virtual ~SkPathHeap(); | |
17 | |
18 // called during picture-record | |
19 int append(const SkPath&); | |
20 | |
21 // called during picture-playback | |
22 int count() const { return fPaths.count(); } | |
23 const SkPath& operator[](int index) const { | |
24 return *fPaths[index]; | |
25 } | |
26 | |
27 void flatten(SkFlattenableWriteBuffer&) const; | |
28 | |
29 private: | |
30 // we store the paths in the heap (placement new) | |
31 SkChunkAlloc fHeap; | |
32 // we just store ptrs into fHeap here | |
33 SkTDArray<SkPath*> fPaths; | |
34 }; | |
35 | |
36 #endif | |
37 | |
OLD | NEW |