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

Side by Side Diff: src/utils/debugger/SkDrawCommand.cpp

Issue 917933002: Revert of Remove SkPictureFlat.h include from SkDrawCommands.h (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years, 10 months 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
« no previous file with comments | « src/utils/debugger/SkDrawCommand.h ('k') | tools/filtermain.cpp » ('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 /* 2 /*
3 * Copyright 2012 Google Inc. 3 * Copyright 2012 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 9
10 #include "SkDrawCommand.h" 10 #include "SkDrawCommand.h"
11 #include "SkObjectParser.h" 11 #include "SkObjectParser.h"
12 #include "SkPicture.h" 12
13 #include "SkTextBlob.h" 13 #include "SkTextBlob.h"
14 14
15 // TODO(chudy): Refactor into non subclass model. 15 // TODO(chudy): Refactor into non subclass model.
16 16
17 SkDrawCommand::SkDrawCommand(OpType type) 17 SkDrawCommand::SkDrawCommand(DrawType type)
18 : fOpType(type) 18 : fDrawType(type)
19 , fOffset(0) 19 , fOffset(0)
20 , fVisible(true) { 20 , fVisible(true) {
21 } 21 }
22 22
23 SkDrawCommand::~SkDrawCommand() { 23 SkDrawCommand::~SkDrawCommand() {
24 fInfo.deleteAll(); 24 fInfo.deleteAll();
25 } 25 }
26 26
27 const char* SkDrawCommand::GetCommandString(OpType type) { 27 const char* SkDrawCommand::GetCommandString(DrawType type) {
28 switch (type) { 28 switch (type) {
29 case kBeginCommentGroup_OpType: return "BeginCommentGroup"; 29 case UNUSED: SkDEBUGFAIL("DrawType UNUSED\n"); break;
30 case kClipPath_OpType: return "ClipPath"; 30 case DRAW_CLEAR: return "Clear";
31 case kClipRegion_OpType: return "ClipRegion"; 31 case CLIP_PATH: return "Clip Path";
32 case kClipRect_OpType: return "ClipRect"; 32 case CLIP_REGION: return "Clip Region";
33 case kClipRRect_OpType: return "ClipRRect"; 33 case CLIP_RECT: return "Clip Rect";
34 case kComment_OpType: return "Comment"; 34 case CLIP_RRECT: return "Clip RRect";
35 case kConcat_OpType: return "Concat"; 35 case CONCAT: return "Concat";
36 case kDrawBitmap_OpType: return "DrawBitmap"; 36 case DRAW_BITMAP: return "Draw Bitmap";
37 case kDrawBitmapNine_OpType: return "DrawBitmapNine"; 37 case DRAW_BITMAP_MATRIX: return "Draw Bitmap Matrix";
38 case kDrawBitmapRect_OpType: return "DrawBitmapRect"; 38 case DRAW_BITMAP_NINE: return "Draw Bitmap Nine";
39 case kDrawClear_OpType: return "DrawClear"; 39 case DRAW_BITMAP_RECT_TO_RECT: return "Draw Bitmap Rect";
40 case kDrawDRRect_OpType: return "DrawDRRect"; 40 case DRAW_DATA: return "Draw Data";
41 case kDrawOval_OpType: return "DrawOval"; 41 case DRAW_OVAL: return "Draw Oval";
42 case kDrawPaint_OpType: return "DrawPaint"; 42 case DRAW_PAINT: return "Draw Paint";
43 case kDrawPatch_OpType: return "DrawPatch"; 43 case DRAW_PATH: return "Draw Path";
44 case kDrawPath_OpType: return "DrawPath"; 44 case DRAW_PICTURE: return "Draw Picture";
45 case kDrawPicture_OpType: return "DrawPicture"; 45 case DRAW_POINTS: return "Draw Points";
46 case kDrawPoints_OpType: return "DrawPoints"; 46 case DRAW_POS_TEXT: return "Draw Pos Text";
47 case kDrawPosText_OpType: return "DrawPosText"; 47 case DRAW_POS_TEXT_H: return "Draw Pos Text H";
48 case kDrawPosTextH_OpType: return "DrawPosTextH"; 48 case DRAW_RECT: return "Draw Rect";
49 case kDrawRect_OpType: return "DrawRect"; 49 case DRAW_RRECT: return "Draw RRect";
50 case kDrawRRect_OpType: return "DrawRRect"; 50 case DRAW_SPRITE: return "Draw Sprite";
51 case kDrawSprite_OpType: return "DrawSprite"; 51 case DRAW_TEXT: return "Draw Text";
52 case kDrawText_OpType: return "DrawText"; 52 case DRAW_TEXT_BLOB: return "Draw Text Blob";
53 case kDrawTextBlob_OpType: return "DrawTextBlob"; 53 case DRAW_TEXT_ON_PATH: return "Draw Text On Path";
54 case kDrawTextOnPath_OpType: return "DrawTextOnPath"; 54 case DRAW_VERTICES: return "Draw Vertices";
55 case kDrawVertices_OpType: return "DrawVertices"; 55 case RESTORE: return "Restore";
56 case kEndCommentGroup_OpType: return "EndCommentGroup"; 56 case ROTATE: return "Rotate";
57 case kRestore_OpType: return "Restore"; 57 case SAVE: return "Save";
58 case kSave_OpType: return "Save"; 58 case SAVE_LAYER: return "Save Layer";
59 case kSaveLayer_OpType: return "SaveLayer"; 59 case SCALE: return "Scale";
60 case kSetMatrix_OpType: return "SetMatrix"; 60 case SET_MATRIX: return "Set Matrix";
61 case SKEW: return "Skew";
62 case TRANSLATE: return "Translate";
63 case NOOP: return "NoOp";
64 case BEGIN_COMMENT_GROUP: return "BeginCommentGroup";
65 case COMMENT: return "Comment";
66 case END_COMMENT_GROUP: return "EndCommentGroup";
67 case DRAW_DRRECT: return "Draw DRRect";
61 default: 68 default:
62 SkDebugf("OpType error 0x%08x\n", type); 69 SkDebugf("DrawType error 0x%08x\n", type);
63 SkASSERT(0); 70 SkASSERT(0);
64 break; 71 break;
65 } 72 }
66 SkDEBUGFAIL("DrawType UNUSED\n"); 73 SkDEBUGFAIL("DrawType UNUSED\n");
67 return NULL; 74 return NULL;
68 } 75 }
69 76
70 SkString SkDrawCommand::toString() const { 77 SkString SkDrawCommand::toString() const {
71 return SkString(GetCommandString(fOpType)); 78 return SkString(GetCommandString(fDrawType));
72 } 79 }
73 80
74 SkClearCommand::SkClearCommand(SkColor color) : INHERITED(kDrawClear_OpType) { 81 SkClearCommand::SkClearCommand(SkColor color) : INHERITED(DRAW_CLEAR) {
75 fColor = color; 82 fColor = color;
76 fInfo.push(SkObjectParser::CustomTextToString("No Parameters")); 83 fInfo.push(SkObjectParser::CustomTextToString("No Parameters"));
77 } 84 }
78 85
79 void SkClearCommand::execute(SkCanvas* canvas) const { 86 void SkClearCommand::execute(SkCanvas* canvas) const {
80 canvas->clear(fColor); 87 canvas->clear(fColor);
81 } 88 }
82 89
83 namespace { 90 namespace {
84 91
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 p.setStyle(SkPaint::kStroke_Style); 183 p.setStyle(SkPaint::kStroke_Style);
177 184
178 canvas->drawDRRect(outer, inner, p); 185 canvas->drawDRRect(outer, inner, p);
179 canvas->restore(); 186 canvas->restore();
180 } 187 }
181 188
182 }; 189 };
183 190
184 191
185 SkClipPathCommand::SkClipPathCommand(const SkPath& path, SkRegion::Op op, bool d oAA) 192 SkClipPathCommand::SkClipPathCommand(const SkPath& path, SkRegion::Op op, bool d oAA)
186 : INHERITED(kClipPath_OpType) { 193 : INHERITED(CLIP_PATH) {
187 fPath = path; 194 fPath = path;
188 fOp = op; 195 fOp = op;
189 fDoAA = doAA; 196 fDoAA = doAA;
190 197
191 fInfo.push(SkObjectParser::PathToString(path)); 198 fInfo.push(SkObjectParser::PathToString(path));
192 fInfo.push(SkObjectParser::RegionOpToString(op)); 199 fInfo.push(SkObjectParser::RegionOpToString(op));
193 fInfo.push(SkObjectParser::BoolToString(doAA)); 200 fInfo.push(SkObjectParser::BoolToString(doAA));
194 } 201 }
195 202
196 void SkClipPathCommand::execute(SkCanvas* canvas) const { 203 void SkClipPathCommand::execute(SkCanvas* canvas) const {
197 canvas->clipPath(fPath, fOp, fDoAA); 204 canvas->clipPath(fPath, fOp, fDoAA);
198 } 205 }
199 206
200 bool SkClipPathCommand::render(SkCanvas* canvas) const { 207 bool SkClipPathCommand::render(SkCanvas* canvas) const {
201 render_path(canvas, fPath); 208 render_path(canvas, fPath);
202 return true; 209 return true;
203 } 210 }
204 211
205 SkClipRegionCommand::SkClipRegionCommand(const SkRegion& region, SkRegion::Op op ) 212 SkClipRegionCommand::SkClipRegionCommand(const SkRegion& region, SkRegion::Op op )
206 : INHERITED(kClipRegion_OpType) { 213 : INHERITED(CLIP_REGION) {
207 fRegion = region; 214 fRegion = region;
208 fOp = op; 215 fOp = op;
209 216
210 fInfo.push(SkObjectParser::RegionToString(region)); 217 fInfo.push(SkObjectParser::RegionToString(region));
211 fInfo.push(SkObjectParser::RegionOpToString(op)); 218 fInfo.push(SkObjectParser::RegionOpToString(op));
212 } 219 }
213 220
214 void SkClipRegionCommand::execute(SkCanvas* canvas) const { 221 void SkClipRegionCommand::execute(SkCanvas* canvas) const {
215 canvas->clipRegion(fRegion, fOp); 222 canvas->clipRegion(fRegion, fOp);
216 } 223 }
217 224
218 SkClipRectCommand::SkClipRectCommand(const SkRect& rect, SkRegion::Op op, bool d oAA) 225 SkClipRectCommand::SkClipRectCommand(const SkRect& rect, SkRegion::Op op, bool d oAA)
219 : INHERITED(kClipRect_OpType) { 226 : INHERITED(CLIP_RECT) {
220 fRect = rect; 227 fRect = rect;
221 fOp = op; 228 fOp = op;
222 fDoAA = doAA; 229 fDoAA = doAA;
223 230
224 fInfo.push(SkObjectParser::RectToString(rect)); 231 fInfo.push(SkObjectParser::RectToString(rect));
225 fInfo.push(SkObjectParser::RegionOpToString(op)); 232 fInfo.push(SkObjectParser::RegionOpToString(op));
226 fInfo.push(SkObjectParser::BoolToString(doAA)); 233 fInfo.push(SkObjectParser::BoolToString(doAA));
227 } 234 }
228 235
229 void SkClipRectCommand::execute(SkCanvas* canvas) const { 236 void SkClipRectCommand::execute(SkCanvas* canvas) const {
230 canvas->clipRect(fRect, fOp, fDoAA); 237 canvas->clipRect(fRect, fOp, fDoAA);
231 } 238 }
232 239
233 SkClipRRectCommand::SkClipRRectCommand(const SkRRect& rrect, SkRegion::Op op, bo ol doAA) 240 SkClipRRectCommand::SkClipRRectCommand(const SkRRect& rrect, SkRegion::Op op, bo ol doAA)
234 : INHERITED(kClipRRect_OpType) { 241 : INHERITED(CLIP_RRECT) {
235 fRRect = rrect; 242 fRRect = rrect;
236 fOp = op; 243 fOp = op;
237 fDoAA = doAA; 244 fDoAA = doAA;
238 245
239 fInfo.push(SkObjectParser::RRectToString(rrect)); 246 fInfo.push(SkObjectParser::RRectToString(rrect));
240 fInfo.push(SkObjectParser::RegionOpToString(op)); 247 fInfo.push(SkObjectParser::RegionOpToString(op));
241 fInfo.push(SkObjectParser::BoolToString(doAA)); 248 fInfo.push(SkObjectParser::BoolToString(doAA));
242 } 249 }
243 250
244 void SkClipRRectCommand::execute(SkCanvas* canvas) const { 251 void SkClipRRectCommand::execute(SkCanvas* canvas) const {
245 canvas->clipRRect(fRRect, fOp, fDoAA); 252 canvas->clipRRect(fRRect, fOp, fDoAA);
246 } 253 }
247 254
248 bool SkClipRRectCommand::render(SkCanvas* canvas) const { 255 bool SkClipRRectCommand::render(SkCanvas* canvas) const {
249 render_rrect(canvas, fRRect); 256 render_rrect(canvas, fRRect);
250 return true; 257 return true;
251 } 258 }
252 259
253 SkConcatCommand::SkConcatCommand(const SkMatrix& matrix) 260 SkConcatCommand::SkConcatCommand(const SkMatrix& matrix)
254 : INHERITED(kConcat_OpType) { 261 : INHERITED(CONCAT) {
255 fMatrix = matrix; 262 fMatrix = matrix;
256 263
257 fInfo.push(SkObjectParser::MatrixToString(matrix)); 264 fInfo.push(SkObjectParser::MatrixToString(matrix));
258 } 265 }
259 266
260 void SkConcatCommand::execute(SkCanvas* canvas) const { 267 void SkConcatCommand::execute(SkCanvas* canvas) const {
261 canvas->concat(fMatrix); 268 canvas->concat(fMatrix);
262 } 269 }
263 270
264 SkDrawBitmapCommand::SkDrawBitmapCommand(const SkBitmap& bitmap, SkScalar left, SkScalar top, 271 SkDrawBitmapCommand::SkDrawBitmapCommand(const SkBitmap& bitmap, SkScalar left, SkScalar top,
265 const SkPaint* paint) 272 const SkPaint* paint)
266 : INHERITED(kDrawBitmap_OpType) { 273 : INHERITED(DRAW_BITMAP) {
267 fBitmap = bitmap; 274 fBitmap = bitmap;
268 fLeft = left; 275 fLeft = left;
269 fTop = top; 276 fTop = top;
270 if (paint) { 277 if (paint) {
271 fPaint = *paint; 278 fPaint = *paint;
272 fPaintPtr = &fPaint; 279 fPaintPtr = &fPaint;
273 } else { 280 } else {
274 fPaintPtr = NULL; 281 fPaintPtr = NULL;
275 } 282 }
276 283
277 fInfo.push(SkObjectParser::BitmapToString(bitmap)); 284 fInfo.push(SkObjectParser::BitmapToString(bitmap));
278 fInfo.push(SkObjectParser::ScalarToString(left, "SkScalar left: ")); 285 fInfo.push(SkObjectParser::ScalarToString(left, "SkScalar left: "));
279 fInfo.push(SkObjectParser::ScalarToString(top, "SkScalar top: ")); 286 fInfo.push(SkObjectParser::ScalarToString(top, "SkScalar top: "));
280 if (paint) { 287 if (paint) {
281 fInfo.push(SkObjectParser::PaintToString(*paint)); 288 fInfo.push(SkObjectParser::PaintToString(*paint));
282 } 289 }
283 } 290 }
284 291
285 void SkDrawBitmapCommand::execute(SkCanvas* canvas) const { 292 void SkDrawBitmapCommand::execute(SkCanvas* canvas) const {
286 canvas->drawBitmap(fBitmap, fLeft, fTop, fPaintPtr); 293 canvas->drawBitmap(fBitmap, fLeft, fTop, fPaintPtr);
287 } 294 }
288 295
289 bool SkDrawBitmapCommand::render(SkCanvas* canvas) const { 296 bool SkDrawBitmapCommand::render(SkCanvas* canvas) const {
290 render_bitmap(canvas, fBitmap); 297 render_bitmap(canvas, fBitmap);
291 return true; 298 return true;
292 } 299 }
293 300
294 SkDrawBitmapNineCommand::SkDrawBitmapNineCommand(const SkBitmap& bitmap, const S kIRect& center, 301 SkDrawBitmapNineCommand::SkDrawBitmapNineCommand(const SkBitmap& bitmap, const S kIRect& center,
295 const SkRect& dst, const SkPain t* paint) 302 const SkRect& dst, const SkPain t* paint)
296 : INHERITED(kDrawBitmapNine_OpType) { 303 : INHERITED(DRAW_BITMAP_NINE) {
297 fBitmap = bitmap; 304 fBitmap = bitmap;
298 fCenter = center; 305 fCenter = center;
299 fDst = dst; 306 fDst = dst;
300 if (paint) { 307 if (paint) {
301 fPaint = *paint; 308 fPaint = *paint;
302 fPaintPtr = &fPaint; 309 fPaintPtr = &fPaint;
303 } else { 310 } else {
304 fPaintPtr = NULL; 311 fPaintPtr = NULL;
305 } 312 }
306 313
(...skipping 10 matching lines...) Expand all
317 } 324 }
318 325
319 bool SkDrawBitmapNineCommand::render(SkCanvas* canvas) const { 326 bool SkDrawBitmapNineCommand::render(SkCanvas* canvas) const {
320 render_bitmap(canvas, fBitmap); 327 render_bitmap(canvas, fBitmap);
321 return true; 328 return true;
322 } 329 }
323 330
324 SkDrawBitmapRectCommand::SkDrawBitmapRectCommand(const SkBitmap& bitmap, const S kRect* src, 331 SkDrawBitmapRectCommand::SkDrawBitmapRectCommand(const SkBitmap& bitmap, const S kRect* src,
325 const SkRect& dst, const SkPain t* paint, 332 const SkRect& dst, const SkPain t* paint,
326 SkCanvas::DrawBitmapRectFlags f lags) 333 SkCanvas::DrawBitmapRectFlags f lags)
327 : INHERITED(kDrawBitmapRect_OpType) { 334 : INHERITED(DRAW_BITMAP_RECT_TO_RECT) {
328 fBitmap = bitmap; 335 fBitmap = bitmap;
329 if (src) { 336 if (src) {
330 fSrc = *src; 337 fSrc = *src;
331 } else { 338 } else {
332 fSrc.setEmpty(); 339 fSrc.setEmpty();
333 } 340 }
334 fDst = dst; 341 fDst = dst;
335 342
336 if (paint) { 343 if (paint) {
337 fPaint = *paint; 344 fPaint = *paint;
(...skipping 17 matching lines...) Expand all
355 void SkDrawBitmapRectCommand::execute(SkCanvas* canvas) const { 362 void SkDrawBitmapRectCommand::execute(SkCanvas* canvas) const {
356 canvas->drawBitmapRectToRect(fBitmap, this->srcRect(), fDst, fPaintPtr, fFla gs); 363 canvas->drawBitmapRectToRect(fBitmap, this->srcRect(), fDst, fPaintPtr, fFla gs);
357 } 364 }
358 365
359 bool SkDrawBitmapRectCommand::render(SkCanvas* canvas) const { 366 bool SkDrawBitmapRectCommand::render(SkCanvas* canvas) const {
360 render_bitmap(canvas, fBitmap, this->srcRect()); 367 render_bitmap(canvas, fBitmap, this->srcRect());
361 return true; 368 return true;
362 } 369 }
363 370
364 SkBeginCommentGroupCommand::SkBeginCommentGroupCommand(const char* description) 371 SkBeginCommentGroupCommand::SkBeginCommentGroupCommand(const char* description)
365 : INHERITED(kBeginCommentGroup_OpType) 372 : INHERITED(BEGIN_COMMENT_GROUP)
366 , fDescription(description) { 373 , fDescription(description) {
367 SkString* temp = new SkString; 374 SkString* temp = new SkString;
368 temp->appendf("Description: %s", description); 375 temp->appendf("Description: %s", description);
369 fInfo.push(temp); 376 fInfo.push(temp);
370 } 377 }
371 378
372 SkCommentCommand::SkCommentCommand(const char* kywd, const char* value) 379 SkCommentCommand::SkCommentCommand(const char* kywd, const char* value)
373 : INHERITED(kComment_OpType) 380 : INHERITED(COMMENT)
374 , fKywd(kywd) 381 , fKywd(kywd)
375 , fValue(value) { 382 , fValue(value) {
376 SkString* temp = new SkString; 383 SkString* temp = new SkString;
377 temp->appendf("%s: %s", kywd, value); 384 temp->appendf("%s: %s", kywd, value);
378 fInfo.push(temp); 385 fInfo.push(temp);
379 } 386 }
380 387
381 SkEndCommentGroupCommand::SkEndCommentGroupCommand() 388 SkEndCommentGroupCommand::SkEndCommentGroupCommand()
382 : INHERITED(kEndCommentGroup_OpType) { 389 : INHERITED(END_COMMENT_GROUP) {
383 } 390 }
384 391
385 SkDrawOvalCommand::SkDrawOvalCommand(const SkRect& oval, const SkPaint& paint) 392 SkDrawOvalCommand::SkDrawOvalCommand(const SkRect& oval, const SkPaint& paint)
386 : INHERITED(kDrawOval_OpType) { 393 : INHERITED(DRAW_OVAL) {
387 fOval = oval; 394 fOval = oval;
388 fPaint = paint; 395 fPaint = paint;
389 396
390 fInfo.push(SkObjectParser::RectToString(oval)); 397 fInfo.push(SkObjectParser::RectToString(oval));
391 fInfo.push(SkObjectParser::PaintToString(paint)); 398 fInfo.push(SkObjectParser::PaintToString(paint));
392 } 399 }
393 400
394 void SkDrawOvalCommand::execute(SkCanvas* canvas) const { 401 void SkDrawOvalCommand::execute(SkCanvas* canvas) const {
395 canvas->drawOval(fOval, fPaint); 402 canvas->drawOval(fOval, fPaint);
396 } 403 }
397 404
398 bool SkDrawOvalCommand::render(SkCanvas* canvas) const { 405 bool SkDrawOvalCommand::render(SkCanvas* canvas) const {
399 canvas->clear(0xFFFFFFFF); 406 canvas->clear(0xFFFFFFFF);
400 canvas->save(); 407 canvas->save();
401 408
402 xlate_and_scale_to_bounds(canvas, fOval); 409 xlate_and_scale_to_bounds(canvas, fOval);
403 410
404 SkPaint p; 411 SkPaint p;
405 p.setColor(SK_ColorBLACK); 412 p.setColor(SK_ColorBLACK);
406 p.setStyle(SkPaint::kStroke_Style); 413 p.setStyle(SkPaint::kStroke_Style);
407 414
408 canvas->drawOval(fOval, p); 415 canvas->drawOval(fOval, p);
409 canvas->restore(); 416 canvas->restore();
410 417
411 return true; 418 return true;
412 } 419 }
413 420
414 SkDrawPaintCommand::SkDrawPaintCommand(const SkPaint& paint) 421 SkDrawPaintCommand::SkDrawPaintCommand(const SkPaint& paint)
415 : INHERITED(kDrawPaint_OpType) { 422 : INHERITED(DRAW_PAINT) {
416 fPaint = paint; 423 fPaint = paint;
417 424
418 fInfo.push(SkObjectParser::PaintToString(paint)); 425 fInfo.push(SkObjectParser::PaintToString(paint));
419 } 426 }
420 427
421 void SkDrawPaintCommand::execute(SkCanvas* canvas) const { 428 void SkDrawPaintCommand::execute(SkCanvas* canvas) const {
422 canvas->drawPaint(fPaint); 429 canvas->drawPaint(fPaint);
423 } 430 }
424 431
425 bool SkDrawPaintCommand::render(SkCanvas* canvas) const { 432 bool SkDrawPaintCommand::render(SkCanvas* canvas) const {
426 canvas->clear(0xFFFFFFFF); 433 canvas->clear(0xFFFFFFFF);
427 canvas->drawPaint(fPaint); 434 canvas->drawPaint(fPaint);
428 return true; 435 return true;
429 } 436 }
430 437
431 SkDrawPathCommand::SkDrawPathCommand(const SkPath& path, const SkPaint& paint) 438 SkDrawPathCommand::SkDrawPathCommand(const SkPath& path, const SkPaint& paint)
432 : INHERITED(kDrawPath_OpType) { 439 : INHERITED(DRAW_PATH) {
433 fPath = path; 440 fPath = path;
434 fPaint = paint; 441 fPaint = paint;
435 442
436 fInfo.push(SkObjectParser::PathToString(path)); 443 fInfo.push(SkObjectParser::PathToString(path));
437 fInfo.push(SkObjectParser::PaintToString(paint)); 444 fInfo.push(SkObjectParser::PaintToString(paint));
438 } 445 }
439 446
440 void SkDrawPathCommand::execute(SkCanvas* canvas) const { 447 void SkDrawPathCommand::execute(SkCanvas* canvas) const {
441 canvas->drawPath(fPath, fPaint); 448 canvas->drawPath(fPath, fPaint);
442 } 449 }
443 450
444 bool SkDrawPathCommand::render(SkCanvas* canvas) const { 451 bool SkDrawPathCommand::render(SkCanvas* canvas) const {
445 render_path(canvas, fPath); 452 render_path(canvas, fPath);
446 return true; 453 return true;
447 } 454 }
448 455
449 SkDrawPictureCommand::SkDrawPictureCommand(const SkPicture* picture, 456 SkDrawPictureCommand::SkDrawPictureCommand(const SkPicture* picture,
450 const SkMatrix* matrix, 457 const SkMatrix* matrix,
451 const SkPaint* paint) 458 const SkPaint* paint)
452 : INHERITED(kDrawPicture_OpType) 459 : INHERITED(DRAW_PICTURE)
453 , fPicture(SkRef(picture)) 460 , fPicture(SkRef(picture))
454 , fMatrixPtr(NULL) 461 , fMatrixPtr(NULL)
455 , fPaintPtr(NULL) { 462 , fPaintPtr(NULL) {
456 463
457 if (matrix) { 464 if (matrix) {
458 fMatrix = *matrix; 465 fMatrix = *matrix;
459 fMatrixPtr = &fMatrix; 466 fMatrixPtr = &fMatrix;
460 } 467 }
461 if (paint) { 468 if (paint) {
462 fPaint = *paint; 469 fPaint = *paint;
(...skipping 25 matching lines...) Expand all
488 495
489 canvas->drawPicture(fPicture.get()); 496 canvas->drawPicture(fPicture.get());
490 497
491 canvas->restore(); 498 canvas->restore();
492 499
493 return true; 500 return true;
494 } 501 }
495 502
496 SkDrawPointsCommand::SkDrawPointsCommand(SkCanvas::PointMode mode, size_t count, 503 SkDrawPointsCommand::SkDrawPointsCommand(SkCanvas::PointMode mode, size_t count,
497 const SkPoint pts[], const SkPaint& pai nt) 504 const SkPoint pts[], const SkPaint& pai nt)
498 : INHERITED(kDrawPoints_OpType) { 505 : INHERITED(DRAW_POINTS) {
499 fMode = mode; 506 fMode = mode;
500 fCount = count; 507 fCount = count;
501 fPts = new SkPoint[count]; 508 fPts = new SkPoint[count];
502 memcpy(fPts, pts, count * sizeof(SkPoint)); 509 memcpy(fPts, pts, count * sizeof(SkPoint));
503 fPaint = paint; 510 fPaint = paint;
504 511
505 fInfo.push(SkObjectParser::PointsToString(pts, count)); 512 fInfo.push(SkObjectParser::PointsToString(pts, count));
506 fInfo.push(SkObjectParser::ScalarToString(SkIntToScalar((unsigned int)count) , 513 fInfo.push(SkObjectParser::ScalarToString(SkIntToScalar((unsigned int)count) ,
507 "Points: ")); 514 "Points: "));
508 fInfo.push(SkObjectParser::PointModeToString(mode)); 515 fInfo.push(SkObjectParser::PointModeToString(mode));
(...skipping 22 matching lines...) Expand all
531 p.setStyle(SkPaint::kStroke_Style); 538 p.setStyle(SkPaint::kStroke_Style);
532 539
533 canvas->drawPoints(fMode, fCount, fPts, p); 540 canvas->drawPoints(fMode, fCount, fPts, p);
534 canvas->restore(); 541 canvas->restore();
535 542
536 return true; 543 return true;
537 } 544 }
538 545
539 SkDrawPosTextCommand::SkDrawPosTextCommand(const void* text, size_t byteLength, 546 SkDrawPosTextCommand::SkDrawPosTextCommand(const void* text, size_t byteLength,
540 const SkPoint pos[], const SkPaint& p aint) 547 const SkPoint pos[], const SkPaint& p aint)
541 : INHERITED(kDrawPosText_OpType) { 548 : INHERITED(DRAW_POS_TEXT) {
542 size_t numPts = paint.countText(text, byteLength); 549 size_t numPts = paint.countText(text, byteLength);
543 550
544 fText = new char[byteLength]; 551 fText = new char[byteLength];
545 memcpy(fText, text, byteLength); 552 memcpy(fText, text, byteLength);
546 fByteLength = byteLength; 553 fByteLength = byteLength;
547 554
548 fPos = new SkPoint[numPts]; 555 fPos = new SkPoint[numPts];
549 memcpy(fPos, pos, numPts * sizeof(SkPoint)); 556 memcpy(fPos, pos, numPts * sizeof(SkPoint));
550 557
551 fPaint = paint; 558 fPaint = paint;
552 559
553 fInfo.push(SkObjectParser::TextToString(text, byteLength, paint.getTextEncod ing())); 560 fInfo.push(SkObjectParser::TextToString(text, byteLength, paint.getTextEncod ing()));
554 // TODO(chudy): Test that this works. 561 // TODO(chudy): Test that this works.
555 fInfo.push(SkObjectParser::PointsToString(pos, 1)); 562 fInfo.push(SkObjectParser::PointsToString(pos, 1));
556 fInfo.push(SkObjectParser::PaintToString(paint)); 563 fInfo.push(SkObjectParser::PaintToString(paint));
557 } 564 }
558 565
559 void SkDrawPosTextCommand::execute(SkCanvas* canvas) const { 566 void SkDrawPosTextCommand::execute(SkCanvas* canvas) const {
560 canvas->drawPosText(fText, fByteLength, fPos, fPaint); 567 canvas->drawPosText(fText, fByteLength, fPos, fPaint);
561 } 568 }
562 569
563 570
564 SkDrawPosTextHCommand::SkDrawPosTextHCommand(const void* text, size_t byteLength , 571 SkDrawPosTextHCommand::SkDrawPosTextHCommand(const void* text, size_t byteLength ,
565 const SkScalar xpos[], SkScalar con stY, 572 const SkScalar xpos[], SkScalar con stY,
566 const SkPaint& paint) 573 const SkPaint& paint)
567 : INHERITED(kDrawPosTextH_OpType) { 574 : INHERITED(DRAW_POS_TEXT_H) {
568 size_t numPts = paint.countText(text, byteLength); 575 size_t numPts = paint.countText(text, byteLength);
569 576
570 fText = new char[byteLength]; 577 fText = new char[byteLength];
571 memcpy(fText, text, byteLength); 578 memcpy(fText, text, byteLength);
572 fByteLength = byteLength; 579 fByteLength = byteLength;
573 580
574 fXpos = new SkScalar[numPts]; 581 fXpos = new SkScalar[numPts];
575 memcpy(fXpos, xpos, numPts * sizeof(SkScalar)); 582 memcpy(fXpos, xpos, numPts * sizeof(SkScalar));
576 583
577 fConstY = constY; 584 fConstY = constY;
578 fPaint = paint; 585 fPaint = paint;
579 586
580 fInfo.push(SkObjectParser::TextToString(text, byteLength, paint.getTextEncod ing())); 587 fInfo.push(SkObjectParser::TextToString(text, byteLength, paint.getTextEncod ing()));
581 fInfo.push(SkObjectParser::ScalarToString(xpos[0], "XPOS: ")); 588 fInfo.push(SkObjectParser::ScalarToString(xpos[0], "XPOS: "));
582 fInfo.push(SkObjectParser::ScalarToString(constY, "SkScalar constY: ")); 589 fInfo.push(SkObjectParser::ScalarToString(constY, "SkScalar constY: "));
583 fInfo.push(SkObjectParser::PaintToString(paint)); 590 fInfo.push(SkObjectParser::PaintToString(paint));
584 } 591 }
585 592
586 void SkDrawPosTextHCommand::execute(SkCanvas* canvas) const { 593 void SkDrawPosTextHCommand::execute(SkCanvas* canvas) const {
587 canvas->drawPosTextH(fText, fByteLength, fXpos, fConstY, fPaint); 594 canvas->drawPosTextH(fText, fByteLength, fXpos, fConstY, fPaint);
588 } 595 }
589 596
590 SkDrawTextBlobCommand::SkDrawTextBlobCommand(const SkTextBlob* blob, SkScalar x, SkScalar y, 597 SkDrawTextBlobCommand::SkDrawTextBlobCommand(const SkTextBlob* blob, SkScalar x, SkScalar y,
591 const SkPaint& paint) 598 const SkPaint& paint)
592 : INHERITED(kDrawTextBlob_OpType) 599 : INHERITED(DRAW_TEXT_BLOB)
593 , fBlob(blob) 600 , fBlob(blob)
594 , fXPos(x) 601 , fXPos(x)
595 , fYPos(y) 602 , fYPos(y)
596 , fPaint(paint) { 603 , fPaint(paint) {
597 604
598 blob->ref(); 605 blob->ref();
599 606
600 // FIXME: push blob info 607 // FIXME: push blob info
601 fInfo.push(SkObjectParser::ScalarToString(x, "XPOS: ")); 608 fInfo.push(SkObjectParser::ScalarToString(x, "XPOS: "));
602 fInfo.push(SkObjectParser::ScalarToString(y, "YPOS: ")); 609 fInfo.push(SkObjectParser::ScalarToString(y, "YPOS: "));
(...skipping 12 matching lines...) Expand all
615 SkRect bounds = fBlob->bounds().makeOffset(fXPos, fYPos); 622 SkRect bounds = fBlob->bounds().makeOffset(fXPos, fYPos);
616 xlate_and_scale_to_bounds(canvas, bounds); 623 xlate_and_scale_to_bounds(canvas, bounds);
617 624
618 canvas->drawTextBlob(fBlob.get(), fXPos, fYPos, fPaint); 625 canvas->drawTextBlob(fBlob.get(), fXPos, fYPos, fPaint);
619 626
620 canvas->restore(); 627 canvas->restore();
621 628
622 return true; 629 return true;
623 } 630 }
624 631
625 SkDrawPatchCommand::SkDrawPatchCommand(const SkPoint cubics[12], const SkColor c olors[4],
626 const SkPoint texCoords[4], SkXfermode* x fermode,
627 const SkPaint& paint)
628 : INHERITED(kDrawPatch_OpType) {
629 memcpy(fCubics, cubics, sizeof(fCubics));
630 memcpy(fColors, colors, sizeof(fColors));
631 memcpy(fTexCoords, texCoords, sizeof(fTexCoords));
632 fXfermode.reset(xfermode);
633 fPaint = paint;
634
635 fInfo.push(SkObjectParser::PaintToString(paint));
636 }
637
638 void SkDrawPatchCommand::execute(SkCanvas* canvas) const {
639 canvas->drawPatch(fCubics, fColors, fTexCoords, fXfermode, fPaint);
640 }
641
642 SkDrawRectCommand::SkDrawRectCommand(const SkRect& rect, const SkPaint& paint) 632 SkDrawRectCommand::SkDrawRectCommand(const SkRect& rect, const SkPaint& paint)
643 : INHERITED(kDrawRect_OpType) { 633 : INHERITED(DRAW_RECT) {
644 fRect = rect; 634 fRect = rect;
645 fPaint = paint; 635 fPaint = paint;
646 636
647 fInfo.push(SkObjectParser::RectToString(rect)); 637 fInfo.push(SkObjectParser::RectToString(rect));
648 fInfo.push(SkObjectParser::PaintToString(paint)); 638 fInfo.push(SkObjectParser::PaintToString(paint));
649 } 639 }
650 640
651 void SkDrawRectCommand::execute(SkCanvas* canvas) const { 641 void SkDrawRectCommand::execute(SkCanvas* canvas) const {
652 canvas->drawRect(fRect, fPaint); 642 canvas->drawRect(fRect, fPaint);
653 } 643 }
654 644
655 SkDrawRRectCommand::SkDrawRRectCommand(const SkRRect& rrect, const SkPaint& pain t) 645 SkDrawRRectCommand::SkDrawRRectCommand(const SkRRect& rrect, const SkPaint& pain t)
656 : INHERITED(kDrawRRect_OpType) { 646 : INHERITED(DRAW_RRECT) {
657 fRRect = rrect; 647 fRRect = rrect;
658 fPaint = paint; 648 fPaint = paint;
659 649
660 fInfo.push(SkObjectParser::RRectToString(rrect)); 650 fInfo.push(SkObjectParser::RRectToString(rrect));
661 fInfo.push(SkObjectParser::PaintToString(paint)); 651 fInfo.push(SkObjectParser::PaintToString(paint));
662 } 652 }
663 653
664 void SkDrawRRectCommand::execute(SkCanvas* canvas) const { 654 void SkDrawRRectCommand::execute(SkCanvas* canvas) const {
665 canvas->drawRRect(fRRect, fPaint); 655 canvas->drawRRect(fRRect, fPaint);
666 } 656 }
667 657
668 bool SkDrawRRectCommand::render(SkCanvas* canvas) const { 658 bool SkDrawRRectCommand::render(SkCanvas* canvas) const {
669 render_rrect(canvas, fRRect); 659 render_rrect(canvas, fRRect);
670 return true; 660 return true;
671 } 661 }
672 662
673 SkDrawDRRectCommand::SkDrawDRRectCommand(const SkRRect& outer, 663 SkDrawDRRectCommand::SkDrawDRRectCommand(const SkRRect& outer,
674 const SkRRect& inner, 664 const SkRRect& inner,
675 const SkPaint& paint) 665 const SkPaint& paint)
676 : INHERITED(kDrawDRRect_OpType) { 666 : INHERITED(DRAW_DRRECT) {
677 fOuter = outer; 667 fOuter = outer;
678 fInner = inner; 668 fInner = inner;
679 fPaint = paint; 669 fPaint = paint;
680 670
681 fInfo.push(SkObjectParser::RRectToString(outer)); 671 fInfo.push(SkObjectParser::RRectToString(outer));
682 fInfo.push(SkObjectParser::RRectToString(inner)); 672 fInfo.push(SkObjectParser::RRectToString(inner));
683 fInfo.push(SkObjectParser::PaintToString(paint)); 673 fInfo.push(SkObjectParser::PaintToString(paint));
684 } 674 }
685 675
686 void SkDrawDRRectCommand::execute(SkCanvas* canvas) const { 676 void SkDrawDRRectCommand::execute(SkCanvas* canvas) const {
687 canvas->drawDRRect(fOuter, fInner, fPaint); 677 canvas->drawDRRect(fOuter, fInner, fPaint);
688 } 678 }
689 679
690 bool SkDrawDRRectCommand::render(SkCanvas* canvas) const { 680 bool SkDrawDRRectCommand::render(SkCanvas* canvas) const {
691 render_drrect(canvas, fOuter, fInner); 681 render_drrect(canvas, fOuter, fInner);
692 return true; 682 return true;
693 } 683 }
694 684
695 SkDrawSpriteCommand::SkDrawSpriteCommand(const SkBitmap& bitmap, int left, int t op, 685 SkDrawSpriteCommand::SkDrawSpriteCommand(const SkBitmap& bitmap, int left, int t op,
696 const SkPaint* paint) 686 const SkPaint* paint)
697 : INHERITED(kDrawSprite_OpType) { 687 : INHERITED(DRAW_SPRITE) {
698 fBitmap = bitmap; 688 fBitmap = bitmap;
699 fLeft = left; 689 fLeft = left;
700 fTop = top; 690 fTop = top;
701 if (paint) { 691 if (paint) {
702 fPaint = *paint; 692 fPaint = *paint;
703 fPaintPtr = &fPaint; 693 fPaintPtr = &fPaint;
704 } else { 694 } else {
705 fPaintPtr = NULL; 695 fPaintPtr = NULL;
706 } 696 }
707 697
708 fInfo.push(SkObjectParser::BitmapToString(bitmap)); 698 fInfo.push(SkObjectParser::BitmapToString(bitmap));
709 fInfo.push(SkObjectParser::IntToString(left, "Left: ")); 699 fInfo.push(SkObjectParser::IntToString(left, "Left: "));
710 fInfo.push(SkObjectParser::IntToString(top, "Top: ")); 700 fInfo.push(SkObjectParser::IntToString(top, "Top: "));
711 if (paint) { 701 if (paint) {
712 fInfo.push(SkObjectParser::PaintToString(*paint)); 702 fInfo.push(SkObjectParser::PaintToString(*paint));
713 } 703 }
714 } 704 }
715 705
716 void SkDrawSpriteCommand::execute(SkCanvas* canvas) const { 706 void SkDrawSpriteCommand::execute(SkCanvas* canvas) const {
717 canvas->drawSprite(fBitmap, fLeft, fTop, fPaintPtr); 707 canvas->drawSprite(fBitmap, fLeft, fTop, fPaintPtr);
718 } 708 }
719 709
720 bool SkDrawSpriteCommand::render(SkCanvas* canvas) const { 710 bool SkDrawSpriteCommand::render(SkCanvas* canvas) const {
721 render_bitmap(canvas, fBitmap); 711 render_bitmap(canvas, fBitmap);
722 return true; 712 return true;
723 } 713 }
724 714
725 SkDrawTextCommand::SkDrawTextCommand(const void* text, size_t byteLength, SkScal ar x, SkScalar y, 715 SkDrawTextCommand::SkDrawTextCommand(const void* text, size_t byteLength, SkScal ar x, SkScalar y,
726 const SkPaint& paint) 716 const SkPaint& paint)
727 : INHERITED(kDrawText_OpType) { 717 : INHERITED(DRAW_TEXT) {
728 fText = new char[byteLength]; 718 fText = new char[byteLength];
729 memcpy(fText, text, byteLength); 719 memcpy(fText, text, byteLength);
730 fByteLength = byteLength; 720 fByteLength = byteLength;
731 fX = x; 721 fX = x;
732 fY = y; 722 fY = y;
733 fPaint = paint; 723 fPaint = paint;
734 724
735 fInfo.push(SkObjectParser::TextToString(text, byteLength, paint.getTextEncod ing())); 725 fInfo.push(SkObjectParser::TextToString(text, byteLength, paint.getTextEncod ing()));
736 fInfo.push(SkObjectParser::ScalarToString(x, "SkScalar x: ")); 726 fInfo.push(SkObjectParser::ScalarToString(x, "SkScalar x: "));
737 fInfo.push(SkObjectParser::ScalarToString(y, "SkScalar y: ")); 727 fInfo.push(SkObjectParser::ScalarToString(y, "SkScalar y: "));
738 fInfo.push(SkObjectParser::PaintToString(paint)); 728 fInfo.push(SkObjectParser::PaintToString(paint));
739 } 729 }
740 730
741 void SkDrawTextCommand::execute(SkCanvas* canvas) const { 731 void SkDrawTextCommand::execute(SkCanvas* canvas) const {
742 canvas->drawText(fText, fByteLength, fX, fY, fPaint); 732 canvas->drawText(fText, fByteLength, fX, fY, fPaint);
743 } 733 }
744 734
745 SkDrawTextOnPathCommand::SkDrawTextOnPathCommand(const void* text, size_t byteLe ngth, 735 SkDrawTextOnPathCommand::SkDrawTextOnPathCommand(const void* text, size_t byteLe ngth,
746 const SkPath& path, const SkMat rix* matrix, 736 const SkPath& path, const SkMat rix* matrix,
747 const SkPaint& paint) 737 const SkPaint& paint)
748 : INHERITED(kDrawTextOnPath_OpType) { 738 : INHERITED(DRAW_TEXT_ON_PATH) {
749 fText = new char[byteLength]; 739 fText = new char[byteLength];
750 memcpy(fText, text, byteLength); 740 memcpy(fText, text, byteLength);
751 fByteLength = byteLength; 741 fByteLength = byteLength;
752 fPath = path; 742 fPath = path;
753 if (matrix) { 743 if (matrix) {
754 fMatrix = *matrix; 744 fMatrix = *matrix;
755 } else { 745 } else {
756 fMatrix.setIdentity(); 746 fMatrix.setIdentity();
757 } 747 }
758 fPaint = paint; 748 fPaint = paint;
(...skipping 10 matching lines...) Expand all
769 canvas->drawTextOnPath(fText, fByteLength, fPath, 759 canvas->drawTextOnPath(fText, fByteLength, fPath,
770 fMatrix.isIdentity() ? NULL : &fMatrix, 760 fMatrix.isIdentity() ? NULL : &fMatrix,
771 fPaint); 761 fPaint);
772 } 762 }
773 763
774 SkDrawVerticesCommand::SkDrawVerticesCommand(SkCanvas::VertexMode vmode, int ver texCount, 764 SkDrawVerticesCommand::SkDrawVerticesCommand(SkCanvas::VertexMode vmode, int ver texCount,
775 const SkPoint vertices[], const SkP oint texs[], 765 const SkPoint vertices[], const SkP oint texs[],
776 const SkColor colors[], SkXfermode* xfermode, 766 const SkColor colors[], SkXfermode* xfermode,
777 const uint16_t indices[], int index Count, 767 const uint16_t indices[], int index Count,
778 const SkPaint& paint) 768 const SkPaint& paint)
779 : INHERITED(kDrawVertices_OpType) { 769 : INHERITED(DRAW_VERTICES) {
780 fVmode = vmode; 770 fVmode = vmode;
781 771
782 fVertexCount = vertexCount; 772 fVertexCount = vertexCount;
783 773
784 fVertices = new SkPoint[vertexCount]; 774 fVertices = new SkPoint[vertexCount];
785 memcpy(fVertices, vertices, vertexCount * sizeof(SkPoint)); 775 memcpy(fVertices, vertices, vertexCount * sizeof(SkPoint));
786 776
787 if (texs) { 777 if (texs) {
788 fTexs = new SkPoint[vertexCount]; 778 fTexs = new SkPoint[vertexCount];
789 memcpy(fTexs, texs, vertexCount * sizeof(SkPoint)); 779 memcpy(fTexs, texs, vertexCount * sizeof(SkPoint));
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
826 delete [] fIndices; 816 delete [] fIndices;
827 } 817 }
828 818
829 void SkDrawVerticesCommand::execute(SkCanvas* canvas) const { 819 void SkDrawVerticesCommand::execute(SkCanvas* canvas) const {
830 canvas->drawVertices(fVmode, fVertexCount, fVertices, 820 canvas->drawVertices(fVmode, fVertexCount, fVertices,
831 fTexs, fColors, fXfermode, fIndices, 821 fTexs, fColors, fXfermode, fIndices,
832 fIndexCount, fPaint); 822 fIndexCount, fPaint);
833 } 823 }
834 824
835 SkRestoreCommand::SkRestoreCommand() 825 SkRestoreCommand::SkRestoreCommand()
836 : INHERITED(kRestore_OpType) { 826 : INHERITED(RESTORE) {
837 fInfo.push(SkObjectParser::CustomTextToString("No Parameters")); 827 fInfo.push(SkObjectParser::CustomTextToString("No Parameters"));
838 } 828 }
839 829
840 void SkRestoreCommand::execute(SkCanvas* canvas) const { 830 void SkRestoreCommand::execute(SkCanvas* canvas) const {
841 canvas->restore(); 831 canvas->restore();
842 } 832 }
843 833
834 SkRotateCommand::SkRotateCommand(SkScalar degrees)
835 : INHERITED(ROTATE) {
836 fDegrees = degrees;
837
838 fInfo.push(SkObjectParser::ScalarToString(degrees, "SkScalar degrees: "));
839 }
840
841 void SkRotateCommand::execute(SkCanvas* canvas) const {
842 canvas->rotate(fDegrees);
843 }
844
844 SkSaveCommand::SkSaveCommand() 845 SkSaveCommand::SkSaveCommand()
845 : INHERITED(kSave_OpType) { 846 : INHERITED(SAVE) {
846 } 847 }
847 848
848 void SkSaveCommand::execute(SkCanvas* canvas) const { 849 void SkSaveCommand::execute(SkCanvas* canvas) const {
849 canvas->save(); 850 canvas->save();
850 } 851 }
851 852
852 SkSaveLayerCommand::SkSaveLayerCommand(const SkRect* bounds, const SkPaint* pain t, 853 SkSaveLayerCommand::SkSaveLayerCommand(const SkRect* bounds, const SkPaint* pain t,
853 SkCanvas::SaveFlags flags) 854 SkCanvas::SaveFlags flags)
854 : INHERITED(kSaveLayer_OpType) { 855 : INHERITED(SAVE_LAYER) {
855 if (bounds) { 856 if (bounds) {
856 fBounds = *bounds; 857 fBounds = *bounds;
857 } else { 858 } else {
858 fBounds.setEmpty(); 859 fBounds.setEmpty();
859 } 860 }
860 861
861 if (paint) { 862 if (paint) {
862 fPaint = *paint; 863 fPaint = *paint;
863 fPaintPtr = &fPaint; 864 fPaintPtr = &fPaint;
864 } else { 865 } else {
(...skipping 13 matching lines...) Expand all
878 void SkSaveLayerCommand::execute(SkCanvas* canvas) const { 879 void SkSaveLayerCommand::execute(SkCanvas* canvas) const {
879 canvas->saveLayer(fBounds.isEmpty() ? NULL : &fBounds, 880 canvas->saveLayer(fBounds.isEmpty() ? NULL : &fBounds,
880 fPaintPtr, 881 fPaintPtr,
881 fFlags); 882 fFlags);
882 } 883 }
883 884
884 void SkSaveLayerCommand::vizExecute(SkCanvas* canvas) const { 885 void SkSaveLayerCommand::vizExecute(SkCanvas* canvas) const {
885 canvas->save(); 886 canvas->save();
886 } 887 }
887 888
889 SkScaleCommand::SkScaleCommand(SkScalar sx, SkScalar sy)
890 : INHERITED(SCALE) {
891 fSx = sx;
892 fSy = sy;
893
894 fInfo.push(SkObjectParser::ScalarToString(sx, "SkScalar sx: "));
895 fInfo.push(SkObjectParser::ScalarToString(sy, "SkScalar sy: "));
896 }
897
898 void SkScaleCommand::execute(SkCanvas* canvas) const {
899 canvas->scale(fSx, fSy);
900 }
901
888 SkSetMatrixCommand::SkSetMatrixCommand(const SkMatrix& matrix) 902 SkSetMatrixCommand::SkSetMatrixCommand(const SkMatrix& matrix)
889 : INHERITED(kSetMatrix_OpType) { 903 : INHERITED(SET_MATRIX) {
890 fUserMatrix.reset(); 904 fUserMatrix.reset();
891 fMatrix = matrix; 905 fMatrix = matrix;
892 906
893 fInfo.push(SkObjectParser::MatrixToString(matrix)); 907 fInfo.push(SkObjectParser::MatrixToString(matrix));
894 } 908 }
895 909
896 void SkSetMatrixCommand::setUserMatrix(const SkMatrix& userMatrix) { 910 void SkSetMatrixCommand::setUserMatrix(const SkMatrix& userMatrix) {
897 fUserMatrix = userMatrix; 911 fUserMatrix = userMatrix;
898 } 912 }
899 913
900 void SkSetMatrixCommand::execute(SkCanvas* canvas) const { 914 void SkSetMatrixCommand::execute(SkCanvas* canvas) const {
901 SkMatrix temp = SkMatrix::Concat(fUserMatrix, fMatrix); 915 SkMatrix temp = SkMatrix::Concat(fUserMatrix, fMatrix);
902 canvas->setMatrix(temp); 916 canvas->setMatrix(temp);
903 } 917 }
904 918
919 SkSkewCommand::SkSkewCommand(SkScalar sx, SkScalar sy)
920 : INHERITED(SKEW) {
921 fSx = sx;
922 fSy = sy;
923
924 fInfo.push(SkObjectParser::ScalarToString(sx, "SkScalar sx: "));
925 fInfo.push(SkObjectParser::ScalarToString(sy, "SkScalar sy: "));
926 }
927
928 void SkSkewCommand::execute(SkCanvas* canvas) const {
929 canvas->skew(fSx, fSy);
930 }
931
932 SkTranslateCommand::SkTranslateCommand(SkScalar dx, SkScalar dy)
933 : INHERITED(TRANSLATE) {
934 fDx = dx;
935 fDy = dy;
936
937 fInfo.push(SkObjectParser::ScalarToString(dx, "SkScalar dx: "));
938 fInfo.push(SkObjectParser::ScalarToString(dy, "SkScalar dy: "));
939 }
940
941 void SkTranslateCommand::execute(SkCanvas* canvas) const {
942 canvas->translate(fDx, fDy);
943 }
944
OLDNEW
« no previous file with comments | « src/utils/debugger/SkDrawCommand.h ('k') | tools/filtermain.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698