OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2011 Google Inc. | 2 * Copyright 2011 Google Inc. |
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 #include <new> | 7 #include <new> |
8 #include "SkBBoxHierarchy.h" | 8 #include "SkBBoxHierarchy.h" |
9 #include "SkOffsetTable.h" | |
10 #include "SkPicturePlayback.h" | 9 #include "SkPicturePlayback.h" |
11 #include "SkPictureRecord.h" | 10 #include "SkPictureRecord.h" |
12 #include "SkPictureStateTree.h" | 11 #include "SkPictureStateTree.h" |
13 #include "SkReadBuffer.h" | 12 #include "SkReadBuffer.h" |
14 #include "SkTypeface.h" | 13 #include "SkTypeface.h" |
15 #include "SkTSort.h" | 14 #include "SkTSort.h" |
16 #include "SkWriteBuffer.h" | 15 #include "SkWriteBuffer.h" |
17 | 16 |
18 template <typename T> int SafeCount(const T* obj) { | 17 template <typename T> int SafeCount(const T* obj) { |
19 return obj ? obj->count() : 0; | 18 return obj ? obj->count() : 0; |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 | 90 |
92 // copy over the refcnt dictionary to our reader | 91 // copy over the refcnt dictionary to our reader |
93 record.fFlattenableHeap.setupPlaybacks(); | 92 record.fFlattenableHeap.setupPlaybacks(); |
94 | 93 |
95 fBitmaps = record.fBitmapHeap->extractBitmaps(); | 94 fBitmaps = record.fBitmapHeap->extractBitmaps(); |
96 fPaints = record.fPaints.unflattenToArray(); | 95 fPaints = record.fPaints.unflattenToArray(); |
97 | 96 |
98 fBitmapHeap.reset(SkSafeRef(record.fBitmapHeap)); | 97 fBitmapHeap.reset(SkSafeRef(record.fBitmapHeap)); |
99 fPathHeap.reset(SkSafeRef(record.fPathHeap)); | 98 fPathHeap.reset(SkSafeRef(record.fPathHeap)); |
100 | 99 |
101 fBitmapUseOffsets.reset(SkSafeRef(record.fBitmapUseOffsets.get())); | |
102 | |
103 // ensure that the paths bounds are pre-computed | 100 // ensure that the paths bounds are pre-computed |
104 if (fPathHeap.get()) { | 101 if (fPathHeap.get()) { |
105 for (int i = 0; i < fPathHeap->count(); i++) { | 102 for (int i = 0; i < fPathHeap->count(); i++) { |
106 (*fPathHeap)[i].updateBoundsCache(); | 103 (*fPathHeap)[i].updateBoundsCache(); |
107 } | 104 } |
108 } | 105 } |
109 | 106 |
110 const SkTDArray<SkPicture* >& pictures = record.getPictureRefs(); | 107 const SkTDArray<SkPicture* >& pictures = record.getPictureRefs(); |
111 fPictureCount = pictures.count(); | 108 fPictureCount = pictures.count(); |
112 if (fPictureCount > 0) { | 109 if (fPictureCount > 0) { |
(...skipping 1669 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1782 for (index = 0; index < fPictureCount; index++) | 1779 for (index = 0; index < fPictureCount; index++) |
1783 bufferPtr += snprintf(bufferPtr, DUMP_BUFFER_SIZE - (bufferPtr - pBuffer
), | 1780 bufferPtr += snprintf(bufferPtr, DUMP_BUFFER_SIZE - (bufferPtr - pBuffer
), |
1784 "picture%p, ", fPictureRefs[index]); | 1781 "picture%p, ", fPictureRefs[index]); |
1785 if (fPictureCount > 0) | 1782 if (fPictureCount > 0) |
1786 SkDebugf("%s0};\n", pBuffer); | 1783 SkDebugf("%s0};\n", pBuffer); |
1787 | 1784 |
1788 const_cast<SkPicturePlayback*>(this)->dumpStream(); | 1785 const_cast<SkPicturePlayback*>(this)->dumpStream(); |
1789 } | 1786 } |
1790 | 1787 |
1791 #endif | 1788 #endif |
OLD | NEW |