| 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 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 113 void fillRestoreOffsetPlaceholdersForCurrentStackLevel(uint32_t restoreOffse
t); | 113 void fillRestoreOffsetPlaceholdersForCurrentStackLevel(uint32_t restoreOffse
t); |
| 114 | 114 |
| 115 #ifndef SK_COLLAPSE_MATRIX_CLIP_STATE | 115 #ifndef SK_COLLAPSE_MATRIX_CLIP_STATE |
| 116 SkTDArray<int32_t> fRestoreOffsetStack; | 116 SkTDArray<int32_t> fRestoreOffsetStack; |
| 117 int fFirstSavedLayerIndex; | 117 int fFirstSavedLayerIndex; |
| 118 enum { | 118 enum { |
| 119 kNoSavedLayerIndex = -1 | 119 kNoSavedLayerIndex = -1 |
| 120 }; | 120 }; |
| 121 #endif | 121 #endif |
| 122 | 122 |
| 123 SkTDArray<uint32_t> fCullOffsetStack; |
| 124 |
| 123 /* | 125 /* |
| 124 * Write the 'drawType' operation and chunk size to the skp. 'size' | 126 * Write the 'drawType' operation and chunk size to the skp. 'size' |
| 125 * can potentially be increased if the chunk size needs its own storage | 127 * can potentially be increased if the chunk size needs its own storage |
| 126 * location (i.e., it overflows 24 bits). | 128 * location (i.e., it overflows 24 bits). |
| 127 * Returns the start offset of the chunk. This is the location at which | 129 * Returns the start offset of the chunk. This is the location at which |
| 128 * the opcode & size are stored. | 130 * the opcode & size are stored. |
| 129 * TODO: since we are handing the size into here we could call reserve | 131 * TODO: since we are handing the size into here we could call reserve |
| 130 * and then return a pointer to the memory storage. This could decrease | 132 * and then return a pointer to the memory storage. This could decrease |
| 131 * allocation overhead but could lead to more wasted space (the tail | 133 * allocation overhead but could lead to more wasted space (the tail |
| 132 * end of blocks could go unused). Possibly add a second addDraw that | 134 * end of blocks could go unused). Possibly add a second addDraw that |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 216 SkASSERT(fWriter.bytesWritten() == initialOffset + size); | 218 SkASSERT(fWriter.bytesWritten() == initialOffset + size); |
| 217 } | 219 } |
| 218 #endif | 220 #endif |
| 219 | 221 |
| 220 protected: | 222 protected: |
| 221 virtual SkSurface* onNewSurface(const SkImageInfo&) SK_OVERRIDE; | 223 virtual SkSurface* onNewSurface(const SkImageInfo&) SK_OVERRIDE; |
| 222 const void* onPeekPixels(SkImageInfo*, size_t*) SK_OVERRIDE { | 224 const void* onPeekPixels(SkImageInfo*, size_t*) SK_OVERRIDE { |
| 223 return NULL; | 225 return NULL; |
| 224 } | 226 } |
| 225 virtual void onDrawDRRect(const SkRRect&, const SkRRect&, const SkPaint&) SK
_OVERRIDE; | 227 virtual void onDrawDRRect(const SkRRect&, const SkRRect&, const SkPaint&) SK
_OVERRIDE; |
| 228 virtual void onPushCull(const SkRect&) SK_OVERRIDE; |
| 229 virtual void onPopCull() SK_OVERRIDE; |
| 226 | 230 |
| 227 // Return fontmetrics.fTop,fBottom in topbot[0,1], after they have been | 231 // Return fontmetrics.fTop,fBottom in topbot[0,1], after they have been |
| 228 // tweaked by paint.computeFastBounds(). | 232 // tweaked by paint.computeFastBounds(). |
| 229 static void ComputeFontMetricsTopBottom(const SkPaint& paint, SkScalar topbo
t[2]); | 233 static void ComputeFontMetricsTopBottom(const SkPaint& paint, SkScalar topbo
t[2]); |
| 230 | 234 |
| 231 // Make sure that flat has fTopBot written. | 235 // Make sure that flat has fTopBot written. |
| 232 static void WriteTopBot(const SkPaint& paint, const SkFlatData& flat) { | 236 static void WriteTopBot(const SkPaint& paint, const SkFlatData& flat) { |
| 233 if (!flat.isTopBotWritten()) { | 237 if (!flat.isTopBotWritten()) { |
| 234 ComputeFontMetricsTopBottom(paint, flat.writableTopBot()); | 238 ComputeFontMetricsTopBottom(paint, flat.writableTopBot()); |
| 235 SkASSERT(flat.isTopBotWritten()); | 239 SkASSERT(flat.isTopBotWritten()); |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 288 friend class SkPictureTester; // for unit testing | 292 friend class SkPictureTester; // for unit testing |
| 289 | 293 |
| 290 #ifdef SK_COLLAPSE_MATRIX_CLIP_STATE | 294 #ifdef SK_COLLAPSE_MATRIX_CLIP_STATE |
| 291 SkMatrixClipStateMgr fMCMgr; | 295 SkMatrixClipStateMgr fMCMgr; |
| 292 #endif | 296 #endif |
| 293 | 297 |
| 294 typedef SkCanvas INHERITED; | 298 typedef SkCanvas INHERITED; |
| 295 }; | 299 }; |
| 296 | 300 |
| 297 #endif | 301 #endif |
| OLD | NEW |