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

Side by Side Diff: src/core/SkPicturePlayback.cpp

Issue 1199473002: change old picture serialization to really handle images (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: address scroggo comments Created 5 years, 6 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
OLDNEW
1 /* 1 /*
2 * Copyright 2014 Google Inc. 2 * Copyright 2014 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 "SkCanvas.h" 8 #include "SkCanvas.h"
9 #include "SkPatchUtils.h" 9 #include "SkPatchUtils.h"
10 #include "SkPictureData.h" 10 #include "SkPictureData.h"
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
209 // deprecated (M44) 209 // deprecated (M44)
210 break; 210 break;
211 case COMMENT: 211 case COMMENT:
212 reader->readString(); 212 reader->readString();
213 reader->readString(); 213 reader->readString();
214 // deprecated (M44) 214 // deprecated (M44)
215 break; 215 break;
216 case END_COMMENT_GROUP: 216 case END_COMMENT_GROUP:
217 // deprecated (M44) 217 // deprecated (M44)
218 break; 218 break;
219 case DRAW_IMAGE: {
220 const SkPaint* paint = fPictureData->getPaint(reader);
221 const SkImage* image = fPictureData->getImage(reader);
222 const SkPoint& loc = reader->skipT<SkPoint>();
223 canvas->drawImage(image, loc.fX, loc.fY, paint);
224 } break;
225 case DRAW_IMAGE_RECT: {
226 const SkPaint* paint = fPictureData->getPaint(reader);
227 const SkImage* image = fPictureData->getImage(reader);
228 const SkRect* src = get_rect_ptr(reader); // may be null
229 const SkRect& dst = reader->skipT<SkRect>(); // required
230 canvas->drawImageRect(image, src, dst, paint);
231 } break;
219 case DRAW_OVAL: { 232 case DRAW_OVAL: {
220 const SkPaint& paint = *fPictureData->getPaint(reader); 233 const SkPaint& paint = *fPictureData->getPaint(reader);
221 canvas->drawOval(reader->skipT<SkRect>(), paint); 234 canvas->drawOval(reader->skipT<SkRect>(), paint);
222 } break; 235 } break;
223 case DRAW_PAINT: 236 case DRAW_PAINT:
224 canvas->drawPaint(*fPictureData->getPaint(reader)); 237 canvas->drawPaint(*fPictureData->getPaint(reader));
225 break; 238 break;
226 case DRAW_PATCH: { 239 case DRAW_PATCH: {
227 const SkPaint& paint = *fPictureData->getPaint(reader); 240 const SkPaint& paint = *fPictureData->getPaint(reader);
228 241
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
433 case TRANSLATE: { 446 case TRANSLATE: {
434 SkScalar dx = reader->readScalar(); 447 SkScalar dx = reader->readScalar();
435 SkScalar dy = reader->readScalar(); 448 SkScalar dy = reader->readScalar();
436 canvas->translate(dx, dy); 449 canvas->translate(dx, dy);
437 } break; 450 } break;
438 default: 451 default:
439 SkASSERTF(false, "Unknown draw type: %d", op); 452 SkASSERTF(false, "Unknown draw type: %d", op);
440 } 453 }
441 } 454 }
442 455
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698