| 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 #include "SkAnnotation.h" | 9 #include "SkAnnotation.h" |
| 10 #include "SkBitmapDevice.h" | 10 #include "SkBitmapDevice.h" |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 143 if (!mustKeep) { | 143 if (!mustKeep) { |
| 144 return potential; | 144 return potential; |
| 145 } | 145 } |
| 146 } | 146 } |
| 147 } | 147 } |
| 148 return NULL; | 148 return NULL; |
| 149 } | 149 } |
| 150 | 150 |
| 151 /////////////////////////////////////////////////////////////////////////////// | 151 /////////////////////////////////////////////////////////////////////////////// |
| 152 | 152 |
| 153 class FlatDictionary : public SkFlatDictionary<SkFlattenable> { | 153 struct SkFlattenableTraits { |
| 154 public: | 154 static void flatten(SkOrderedWriteBuffer& buffer, const SkFlattenable& flatt
enable) { |
| 155 FlatDictionary(FlattenableHeap* heap) | 155 buffer.writeFlattenable(&flattenable); |
| 156 : SkFlatDictionary<SkFlattenable>(heap) { | |
| 157 fFlattenProc = &flattenFlattenableProc; | |
| 158 // No need to define fUnflattenProc since the writer will never | |
| 159 // unflatten the data. | |
| 160 } | 156 } |
| 161 static void flattenFlattenableProc(SkOrderedWriteBuffer& buffer, | 157 // No need to define unflatten if we never call it. |
| 162 const void* obj) { | |
| 163 buffer.writeFlattenable((SkFlattenable*)obj); | |
| 164 } | |
| 165 | |
| 166 }; | 158 }; |
| 159 typedef SkFlatDictionary<SkFlattenable, SkFlattenableTraits> FlatDictionary; |
| 167 | 160 |
| 168 /////////////////////////////////////////////////////////////////////////////// | 161 /////////////////////////////////////////////////////////////////////////////// |
| 169 | 162 |
| 170 /** | 163 /** |
| 171 * If SkBitmaps are to be flattened to send to the reader, this class is | 164 * If SkBitmaps are to be flattened to send to the reader, this class is |
| 172 * provided to the SkBitmapHeap to tell the SkGPipeCanvas to do so. | 165 * provided to the SkBitmapHeap to tell the SkGPipeCanvas to do so. |
| 173 */ | 166 */ |
| 174 class BitmapShuttle : public SkBitmapHeap::ExternalStorage { | 167 class BitmapShuttle : public SkBitmapHeap::ExternalStorage { |
| 175 public: | 168 public: |
| 176 BitmapShuttle(SkGPipeCanvas*); | 169 BitmapShuttle(SkGPipeCanvas*); |
| (...skipping 1063 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1240 return fCanvas->shuttleBitmap(bitmap, slot); | 1233 return fCanvas->shuttleBitmap(bitmap, slot); |
| 1241 } | 1234 } |
| 1242 | 1235 |
| 1243 void BitmapShuttle::removeCanvas() { | 1236 void BitmapShuttle::removeCanvas() { |
| 1244 if (NULL == fCanvas) { | 1237 if (NULL == fCanvas) { |
| 1245 return; | 1238 return; |
| 1246 } | 1239 } |
| 1247 fCanvas->unref(); | 1240 fCanvas->unref(); |
| 1248 fCanvas = NULL; | 1241 fCanvas = NULL; |
| 1249 } | 1242 } |
| OLD | NEW |