| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2011 Google Inc. | 3 * Copyright 2011 Google Inc. |
| 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 #ifndef SkPicturePlayback_DEFINED | 8 #ifndef SkPicturePlayback_DEFINED |
| 9 #define SkPicturePlayback_DEFINED | 9 #define SkPicturePlayback_DEFINED |
| 10 | 10 |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 57 SkTDArray<SkFlatData*> paintData; | 57 SkTDArray<SkFlatData*> paintData; |
| 58 }; | 58 }; |
| 59 | 59 |
| 60 class SkPicturePlayback { | 60 class SkPicturePlayback { |
| 61 public: | 61 public: |
| 62 SkPicturePlayback(); | 62 SkPicturePlayback(); |
| 63 SkPicturePlayback(const SkPicturePlayback& src, SkPictCopyInfo* deepCopyInfo
= NULL); | 63 SkPicturePlayback(const SkPicturePlayback& src, SkPictCopyInfo* deepCopyInfo
= NULL); |
| 64 explicit SkPicturePlayback(const SkPictureRecord& record, bool deepCopy = fa
lse); | 64 explicit SkPicturePlayback(const SkPictureRecord& record, bool deepCopy = fa
lse); |
| 65 static SkPicturePlayback* CreateFromStream(SkStream*, const SkPictInfo&, | 65 static SkPicturePlayback* CreateFromStream(SkStream*, const SkPictInfo&, |
| 66 SkPicture::InstallPixelRefProc); | 66 SkPicture::InstallPixelRefProc); |
| 67 static SkPicturePlayback* CreateFromBuffer(SkFlattenableReadBuffer&); |
| 67 | 68 |
| 68 virtual ~SkPicturePlayback(); | 69 virtual ~SkPicturePlayback(); |
| 69 | 70 |
| 70 void draw(SkCanvas& canvas, SkDrawPictureCallback*); | 71 void draw(SkCanvas& canvas, SkDrawPictureCallback*); |
| 71 | 72 |
| 72 void serialize(SkWStream*, SkPicture::EncodeBitmap) const; | 73 void serialize(SkWStream*, SkPicture::EncodeBitmap) const; |
| 74 void flatten(SkFlattenableWriteBuffer&) const; |
| 73 | 75 |
| 74 void dumpSize() const; | 76 void dumpSize() const; |
| 75 | 77 |
| 76 bool containsBitmaps() const; | 78 bool containsBitmaps() const; |
| 77 | 79 |
| 78 #ifdef SK_BUILD_FOR_ANDROID | 80 #ifdef SK_BUILD_FOR_ANDROID |
| 79 // Can be called in the middle of playback (the draw() call). WIll abort the | 81 // Can be called in the middle of playback (the draw() call). WIll abort the |
| 80 // drawing and return from draw() after the "current" op code is done | 82 // drawing and return from draw() after the "current" op code is done |
| 81 void abort() { fAbortCurrentPlayback = true; } | 83 void abort() { fAbortCurrentPlayback = true; } |
| 82 #endif | 84 #endif |
| 83 | 85 |
| 84 protected: | 86 protected: |
| 85 bool parseStream(SkStream*, const SkPictInfo&, | 87 bool parseStream(SkStream*, const SkPictInfo&, |
| 86 SkPicture::InstallPixelRefProc); | 88 SkPicture::InstallPixelRefProc); |
| 89 bool parseBuffer(SkFlattenableReadBuffer& buffer); |
| 87 #ifdef SK_DEVELOPER | 90 #ifdef SK_DEVELOPER |
| 88 virtual bool preDraw(int opIndex, int type); | 91 virtual bool preDraw(int opIndex, int type); |
| 89 virtual void postDraw(int opIndex); | 92 virtual void postDraw(int opIndex); |
| 90 #endif | 93 #endif |
| 91 | 94 |
| 92 private: | 95 private: |
| 93 class TextContainer { | 96 class TextContainer { |
| 94 public: | 97 public: |
| 95 size_t length() { return fByteLength; } | 98 size_t length() { return fByteLength; } |
| 96 const void* text() { return (const void*) fText; } | 99 const void* text() { return (const void*) fText; } |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 191 void dumpText(char** bufferPtrPtr, char* buffer); | 194 void dumpText(char** bufferPtrPtr, char* buffer); |
| 192 void dumpStream(); | 195 void dumpStream(); |
| 193 | 196 |
| 194 public: | 197 public: |
| 195 void dump() const; | 198 void dump() const; |
| 196 #endif | 199 #endif |
| 197 | 200 |
| 198 private: // these help us with reading/writing | 201 private: // these help us with reading/writing |
| 199 bool parseStreamTag(SkStream*, const SkPictInfo&, uint32_t tag, size_t size, | 202 bool parseStreamTag(SkStream*, const SkPictInfo&, uint32_t tag, size_t size, |
| 200 SkPicture::InstallPixelRefProc); | 203 SkPicture::InstallPixelRefProc); |
| 201 bool parseBufferTag(SkOrderedReadBuffer&, uint32_t tag, size_t size); | 204 bool parseBufferTag(SkFlattenableReadBuffer&, uint32_t tag, size_t size); |
| 202 void flattenToBuffer(SkOrderedWriteBuffer&) const; | 205 void flattenToBuffer(SkFlattenableWriteBuffer&) const; |
| 203 | 206 |
| 204 private: | 207 private: |
| 205 // Only used by getBitmap() if the passed in index is SkBitmapHeap::INVALID_
SLOT. This empty | 208 // Only used by getBitmap() if the passed in index is SkBitmapHeap::INVALID_
SLOT. This empty |
| 206 // bitmap allows playback to draw nothing and move on. | 209 // bitmap allows playback to draw nothing and move on. |
| 207 SkBitmap fBadBitmap; | 210 SkBitmap fBadBitmap; |
| 208 | 211 |
| 209 SkAutoTUnref<SkBitmapHeap> fBitmapHeap; | 212 SkAutoTUnref<SkBitmapHeap> fBitmapHeap; |
| 210 SkAutoTUnref<SkPathHeap> fPathHeap; | 213 SkAutoTUnref<SkPathHeap> fPathHeap; |
| 211 | 214 |
| 212 SkTRefArray<SkBitmap>* fBitmaps; | 215 SkTRefArray<SkBitmap>* fBitmaps; |
| (...skipping 11 matching lines...) Expand all Loading... |
| 224 | 227 |
| 225 SkTypefacePlayback fTFPlayback; | 228 SkTypefacePlayback fTFPlayback; |
| 226 SkFactoryPlayback* fFactoryPlayback; | 229 SkFactoryPlayback* fFactoryPlayback; |
| 227 #ifdef SK_BUILD_FOR_ANDROID | 230 #ifdef SK_BUILD_FOR_ANDROID |
| 228 SkMutex fDrawMutex; | 231 SkMutex fDrawMutex; |
| 229 bool fAbortCurrentPlayback; | 232 bool fAbortCurrentPlayback; |
| 230 #endif | 233 #endif |
| 231 }; | 234 }; |
| 232 | 235 |
| 233 #endif | 236 #endif |
| OLD | NEW |