Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Side by Side Diff: src/utils/SkCanvasStateUtils.cpp

Issue 51033004: add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/ports/SkImageDecoder_CG.cpp ('k') | src/utils/debugger/SkDebugCanvas.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2013 Google Inc. 2 * Copyright 2013 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 #include "SkCanvasStateUtils.h" 8 #include "SkCanvasStateUtils.h"
9 9
10 #include "SkBitmapDevice.h" 10 #include "SkBitmapDevice.h"
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 SkRegion::Iterator clip_iterator(clip); 164 SkRegion::Iterator clip_iterator(clip);
165 for (; !clip_iterator.done(); clip_iterator.next()) { 165 for (; !clip_iterator.done(); clip_iterator.next()) {
166 // this assumes the SkIRect is stored in l,t,r,b ordering which 166 // this assumes the SkIRect is stored in l,t,r,b ordering which
167 // matches the ordering of our ClipRect struct 167 // matches the ordering of our ClipRect struct
168 clipWriter.writeIRect(clip_iterator.rect()); 168 clipWriter.writeIRect(clip_iterator.rect());
169 state->clipRectCount++; 169 state->clipRectCount++;
170 } 170 }
171 } 171 }
172 172
173 // allocate memory for the clip then and copy them to the struct 173 // allocate memory for the clip then and copy them to the struct
174 state->clipRects = (ClipRect*) sk_malloc_throw(clipWriter.size()); 174 state->clipRects = (ClipRect*) sk_malloc_throw(clipWriter.bytesWritten());
175 clipWriter.flatten(state->clipRects); 175 clipWriter.flatten(state->clipRects);
176 } 176 }
177 177
178 178
179 179
180 SkCanvasState* SkCanvasStateUtils::CaptureCanvasState(SkCanvas* canvas) { 180 SkCanvasState* SkCanvasStateUtils::CaptureCanvasState(SkCanvas* canvas) {
181 SkASSERT(canvas); 181 SkASSERT(canvas);
182 182
183 // Check the clip can be decomposed into rectangles (i.e. no soft clips). 183 // Check the clip can be decomposed into rectangles (i.e. no soft clips).
184 ClipValidator validator; 184 ClipValidator validator;
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
232 return NULL; 232 return NULL;
233 } 233 }
234 layerState->raster.rowBytes = bitmap.rowBytes(); 234 layerState->raster.rowBytes = bitmap.rowBytes();
235 layerState->raster.pixels = bitmap.getPixels(); 235 layerState->raster.pixels = bitmap.getPixels();
236 236
237 setup_MC_state(&layerState->mcState, layer.matrix(), layer.clip()); 237 setup_MC_state(&layerState->mcState, layer.matrix(), layer.clip());
238 layerCount++; 238 layerCount++;
239 } 239 }
240 240
241 // allocate memory for the layers and then and copy them to the struct 241 // allocate memory for the layers and then and copy them to the struct
242 SkASSERT(layerWriter.size() == layerCount * sizeof(SkCanvasLayerState)); 242 SkASSERT(layerWriter.bytesWritten() == layerCount * sizeof(SkCanvasLayerStat e));
243 canvasState->layerCount = layerCount; 243 canvasState->layerCount = layerCount;
244 canvasState->layers = (SkCanvasLayerState*) sk_malloc_throw(layerWriter.size ()); 244 canvasState->layers = (SkCanvasLayerState*) sk_malloc_throw(layerWriter.byte sWritten());
245 layerWriter.flatten(canvasState->layers); 245 layerWriter.flatten(canvasState->layers);
246 246
247 // for now, just ignore any client supplied DrawFilter. 247 // for now, just ignore any client supplied DrawFilter.
248 if (canvas->getDrawFilter()) { 248 if (canvas->getDrawFilter()) {
249 // SkDEBUGF(("CaptureCanvasState will ignore the canvases draw filter.\n" )); 249 // SkDEBUGF(("CaptureCanvasState will ignore the canvases draw filter.\n" ));
250 } 250 }
251 251
252 return canvasState.detach(); 252 return canvasState.detach();
253 } 253 }
254 254
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
334 } 334 }
335 335
336 return canvas.detach(); 336 return canvas.detach();
337 } 337 }
338 338
339 //////////////////////////////////////////////////////////////////////////////// 339 ////////////////////////////////////////////////////////////////////////////////
340 340
341 void SkCanvasStateUtils::ReleaseCanvasState(SkCanvasState* state) { 341 void SkCanvasStateUtils::ReleaseCanvasState(SkCanvasState* state) {
342 SkDELETE(state); 342 SkDELETE(state);
343 } 343 }
OLDNEW
« no previous file with comments | « src/ports/SkImageDecoder_CG.cpp ('k') | src/utils/debugger/SkDebugCanvas.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698