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 | 7 |
8 #ifndef SkPictureRecord_DEFINED | 8 #ifndef SkPictureRecord_DEFINED |
9 #define SkPictureRecord_DEFINED | 9 #define SkPictureRecord_DEFINED |
10 | 10 |
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
146 | 146 |
147 protected: | 147 protected: |
148 void validate(size_t initialOffset, size_t size) const { | 148 void validate(size_t initialOffset, size_t size) const { |
149 SkASSERT(fWriter.bytesWritten() == initialOffset + size); | 149 SkASSERT(fWriter.bytesWritten() == initialOffset + size); |
150 } | 150 } |
151 | 151 |
152 SkSurface* onNewSurface(const SkImageInfo&, const SkSurfaceProps&) override; | 152 SkSurface* onNewSurface(const SkImageInfo&, const SkSurfaceProps&) override; |
153 bool onPeekPixels(SkPixmap*) override { return false; } | 153 bool onPeekPixels(SkPixmap*) override { return false; } |
154 | 154 |
155 void willSave() override; | 155 void willSave() override; |
156 SaveLayerStrategy willSaveLayer(const SkRect*, const SkPaint*, SaveFlags) ov
erride; | 156 SaveLayerStrategy getSaveLayerStrategy(const SaveLayerRec&) override; |
157 void willRestore() override; | 157 void willRestore() override; |
158 | 158 |
159 void didConcat(const SkMatrix&) override; | 159 void didConcat(const SkMatrix&) override; |
160 void didSetMatrix(const SkMatrix&) override; | 160 void didSetMatrix(const SkMatrix&) override; |
161 | 161 |
162 void onDrawDRRect(const SkRRect&, const SkRRect&, const SkPaint&) override; | 162 void onDrawDRRect(const SkRRect&, const SkRRect&, const SkPaint&) override; |
163 | 163 |
164 void onDrawText(const void* text, size_t, SkScalar x, SkScalar y, const SkPa
int&) override; | 164 void onDrawText(const void* text, size_t, SkScalar x, SkScalar y, const SkPa
int&) override; |
165 void onDrawPosText(const void* text, size_t, const SkPoint pos[], const SkPa
int&) override; | 165 void onDrawPosText(const void* text, size_t, const SkPoint pos[], const SkPa
int&) override; |
166 void onDrawPosTextH(const void* text, size_t, const SkScalar xpos[], SkScala
r constY, | 166 void onDrawPosTextH(const void* text, size_t, const SkScalar xpos[], SkScala
r constY, |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
211 // restores to be deferred (e.g., if the MC state is being collapsed and | 211 // restores to be deferred (e.g., if the MC state is being collapsed and |
212 // only written out as needed). | 212 // only written out as needed). |
213 void recordConcat(const SkMatrix& matrix); | 213 void recordConcat(const SkMatrix& matrix); |
214 void recordTranslate(const SkMatrix& matrix); | 214 void recordTranslate(const SkMatrix& matrix); |
215 void recordScale(const SkMatrix& matrix); | 215 void recordScale(const SkMatrix& matrix); |
216 size_t recordClipRect(const SkRect& rect, SkRegion::Op op, bool doAA); | 216 size_t recordClipRect(const SkRect& rect, SkRegion::Op op, bool doAA); |
217 size_t recordClipRRect(const SkRRect& rrect, SkRegion::Op op, bool doAA); | 217 size_t recordClipRRect(const SkRRect& rrect, SkRegion::Op op, bool doAA); |
218 size_t recordClipPath(int pathID, SkRegion::Op op, bool doAA); | 218 size_t recordClipPath(int pathID, SkRegion::Op op, bool doAA); |
219 size_t recordClipRegion(const SkRegion& region, SkRegion::Op op); | 219 size_t recordClipRegion(const SkRegion& region, SkRegion::Op op); |
220 void recordSave(); | 220 void recordSave(); |
221 void recordSaveLayer(const SkRect* bounds, const SkPaint* paint, SaveFlags f
lags); | 221 void recordSaveLayer(const SaveLayerRec&); |
222 void recordRestore(bool fillInSkips = true); | 222 void recordRestore(bool fillInSkips = true); |
223 | 223 |
224 private: | 224 private: |
225 SkPictureContentInfo fContentInfo; | 225 SkPictureContentInfo fContentInfo; |
226 | 226 |
227 SkTArray<SkBitmap> fBitmaps; | 227 SkTArray<SkBitmap> fBitmaps; |
228 SkTArray<SkPaint> fPaints; | 228 SkTArray<SkPaint> fPaints; |
229 | 229 |
230 struct PathHash { | 230 struct PathHash { |
231 uint32_t operator()(const SkPath& p) { return p.getGenerationID(); } | 231 uint32_t operator()(const SkPath& p) { return p.getGenerationID(); } |
232 }; | 232 }; |
233 SkTHashMap<SkPath, int, PathHash> fPaths; | 233 SkTHashMap<SkPath, int, PathHash> fPaths; |
234 | 234 |
235 SkWriter32 fWriter; | 235 SkWriter32 fWriter; |
236 | 236 |
237 // we ref each item in these arrays | 237 // we ref each item in these arrays |
238 SkTDArray<const SkImage*> fImageRefs; | 238 SkTDArray<const SkImage*> fImageRefs; |
239 SkTDArray<const SkPicture*> fPictureRefs; | 239 SkTDArray<const SkPicture*> fPictureRefs; |
240 SkTDArray<const SkTextBlob*> fTextBlobRefs; | 240 SkTDArray<const SkTextBlob*> fTextBlobRefs; |
241 | 241 |
242 uint32_t fRecordFlags; | 242 uint32_t fRecordFlags; |
243 int fInitialSaveCount; | 243 int fInitialSaveCount; |
244 | 244 |
245 friend class SkPictureData; // for SkPictureData's SkPictureRecord-based c
onstructor | 245 friend class SkPictureData; // for SkPictureData's SkPictureRecord-based c
onstructor |
246 | 246 |
247 typedef SkCanvas INHERITED; | 247 typedef SkCanvas INHERITED; |
248 }; | 248 }; |
249 | 249 |
250 #endif | 250 #endif |
OLD | NEW |