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 | 8 |
9 #ifndef SkOrderedWriteBuffer_DEFINED | 9 #ifndef SkOrderedWriteBuffer_DEFINED |
10 #define SkOrderedWriteBuffer_DEFINED | 10 #define SkOrderedWriteBuffer_DEFINED |
11 | 11 |
12 #include "SkFlattenableBuffers.h" | 12 #include "SkFlattenableBuffers.h" |
13 | 13 |
14 #include "SkRefCnt.h" | 14 #include "SkRefCnt.h" |
15 #include "SkBitmapHeap.h" | 15 #include "SkBitmapHeap.h" |
16 #include "SkPath.h" | 16 #include "SkPath.h" |
17 #include "SkPicture.h" | 17 #include "SkPicture.h" |
18 #include "SkWriter32.h" | 18 #include "SkWriter32.h" |
19 | 19 |
20 class SkBitmap; | 20 class SkBitmap; |
21 class SkFlattenable; | 21 class SkFlattenable; |
22 class SkFactorySet; | 22 class SkFactorySet; |
23 class SkNamedFactorySet; | 23 class SkNamedFactorySet; |
24 class SkRefCntSet; | 24 class SkRefCntSet; |
25 | 25 |
26 class SkOrderedWriteBuffer : public SkFlattenableWriteBuffer { | 26 class SkOrderedWriteBuffer : public SkFlattenableWriteBuffer { |
27 public: | 27 public: |
28 SkOrderedWriteBuffer(size_t minSize); | 28 SkOrderedWriteBuffer(); |
29 SkOrderedWriteBuffer(size_t minSize, void* initialStorage, size_t storageSiz
e); | 29 SkOrderedWriteBuffer(void* initialStorage, size_t storageSize); |
30 virtual ~SkOrderedWriteBuffer(); | 30 virtual ~SkOrderedWriteBuffer(); |
31 | 31 |
32 virtual bool isOrderedBinaryBuffer() SK_OVERRIDE { return true; } | 32 virtual bool isOrderedBinaryBuffer() SK_OVERRIDE { return true; } |
33 virtual SkOrderedWriteBuffer* getOrderedBinaryBuffer() SK_OVERRIDE { return
this; } | 33 virtual SkOrderedWriteBuffer* getOrderedBinaryBuffer() SK_OVERRIDE { return
this; } |
34 | 34 |
35 SkWriter32* getWriter32() { return &fWriter; } | 35 SkWriter32* getWriter32() { return &fWriter; } |
36 void reset(void* storage, size_t storageSize) { fWriter.reset(storage, stora
geSize); } | 36 void reset(void* storage = NULL, size_t storageSize = 0) { |
37 | 37 fWriter.reset(storage, storageSize); |
38 // Returns true if we've written only into the storage passed into construct
or or reset. | 38 } |
39 // (You may be able to use this to avoid a call to writeToMemory.) | |
40 bool wroteOnlyToStorage() const { return fWriter.wroteOnlyToStorage(); } | |
41 | 39 |
42 void writeToMemory(void* dst) { fWriter.flatten(dst); } | 40 void writeToMemory(void* dst) { fWriter.flatten(dst); } |
43 uint32_t* reserve(size_t size) { return fWriter.reserve(size); } | 41 uint32_t* reserve(size_t size) { return fWriter.reserve(size); } |
44 | 42 |
45 size_t bytesWritten() const { return fWriter.bytesWritten(); } | 43 size_t bytesWritten() const { return fWriter.bytesWritten(); } |
46 // Deprecated. Please call bytesWritten instead. TODO(mtklein): clean up | 44 // Deprecated. Please call bytesWritten instead. TODO(mtklein): clean up |
47 size_t size() const { return this->bytesWritten(); } | 45 size_t size() const { return this->bytesWritten(); } |
48 | 46 |
49 virtual void writeByteArray(const void* data, size_t size) SK_OVERRIDE; | 47 virtual void writeByteArray(const void* data, size_t size) SK_OVERRIDE; |
50 virtual void writeBool(bool value) SK_OVERRIDE; | 48 virtual void writeBool(bool value) SK_OVERRIDE; |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
108 | 106 |
109 SkBitmapHeap* fBitmapHeap; | 107 SkBitmapHeap* fBitmapHeap; |
110 SkRefCntSet* fTFSet; | 108 SkRefCntSet* fTFSet; |
111 | 109 |
112 SkPicture::EncodeBitmap fBitmapEncoder; | 110 SkPicture::EncodeBitmap fBitmapEncoder; |
113 | 111 |
114 typedef SkFlattenableWriteBuffer INHERITED; | 112 typedef SkFlattenableWriteBuffer INHERITED; |
115 }; | 113 }; |
116 | 114 |
117 #endif // SkOrderedWriteBuffer_DEFINED | 115 #endif // SkOrderedWriteBuffer_DEFINED |
OLD | NEW |