diff options
author | 2011-09-07 13:52:17 +0000 | |
---|---|---|
committer | 2011-09-07 13:52:17 +0000 | |
commit | a5adf5385dc6958bda4dad47f59c1c45bd98c627 (patch) | |
tree | 067cce017095dfc97041d55953cfefe2eac77cdf /src/core/SkPicturePlayback.cpp | |
parent | 9c9b8d90c822132e205af4c70363fe3a272d6c6f (diff) |
use templated skipT() for skipping structs within a reader
git-svn-id: http://skia.googlecode.com/svn/trunk@2238 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/core/SkPicturePlayback.cpp')
-rw-r--r-- | src/core/SkPicturePlayback.cpp | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/src/core/SkPicturePlayback.cpp b/src/core/SkPicturePlayback.cpp index 0b1a34caaf..60e1698121 100644 --- a/src/core/SkPicturePlayback.cpp +++ b/src/core/SkPicturePlayback.cpp @@ -489,10 +489,6 @@ struct SkipClipRec { }; #endif -static const SkIRect* skipIRect(SkReader32& reader) { - return (const SkIRect*)reader.skip(sizeof(SkIRect)); -} - void SkPicturePlayback::draw(SkCanvas& canvas) { #ifdef ENABLE_TIME_DRAW SkAutoTime at("SkPicture::draw", 50); @@ -534,10 +530,10 @@ void SkPicturePlayback::draw(SkCanvas& canvas) { } } break; case CLIP_RECT: { - const SkRect* rect = fReader.skipRect(); + const SkRect& rect = fReader.skipT<SkRect>(); SkRegion::Op op = (SkRegion::Op) getInt(); size_t offsetToRestore = getInt(); - if (!canvas.clipRect(*rect, op) && offsetToRestore) { + if (!canvas.clipRect(rect, op) && offsetToRestore) { #ifdef SPEW_CLIP_SKIPPING skipRect.recordSkip(offsetToRestore - fReader.offset()); #endif @@ -550,15 +546,15 @@ void SkPicturePlayback::draw(SkCanvas& canvas) { case DRAW_BITMAP: { const SkPaint* paint = getPaint(); const SkBitmap& bitmap = getBitmap(); - const SkPoint* loc = fReader.skipPoint(); - canvas.drawBitmap(bitmap, loc->fX, loc->fY, paint); + const SkPoint& loc = fReader.skipT<SkPoint>(); + canvas.drawBitmap(bitmap, loc.fX, loc.fY, paint); } break; case DRAW_BITMAP_RECT: { const SkPaint* paint = getPaint(); const SkBitmap& bitmap = getBitmap(); const SkIRect* src = this->getIRectPtr(); // may be null - const SkRect* dst = fReader.skipRect(); // required - canvas.drawBitmapRect(bitmap, src, *dst, paint); + const SkRect& dst = fReader.skipT<SkRect>(); // required + canvas.drawBitmapRect(bitmap, src, dst, paint); } break; case DRAW_BITMAP_MATRIX: { const SkPaint* paint = getPaint(); @@ -569,9 +565,9 @@ void SkPicturePlayback::draw(SkCanvas& canvas) { case DRAW_BITMAP_NINE: { const SkPaint* paint = getPaint(); const SkBitmap& bitmap = getBitmap(); - const SkIRect* src = skipIRect(fReader); - const SkRect* dst = fReader.skipRect(); - canvas.drawBitmapNine(bitmap, *src, *dst, paint); + const SkIRect& src = fReader.skipT<SkIRect>(); + const SkRect& dst = fReader.skipT<SkRect>(); + canvas.drawBitmapNine(bitmap, src, dst, paint); } break; case DRAW_CLEAR: canvas.clear(getInt()); @@ -629,7 +625,7 @@ void SkPicturePlayback::draw(SkCanvas& canvas) { } break; case DRAW_RECT: { const SkPaint& paint = *getPaint(); - canvas.drawRect(*fReader.skipRect(), paint); + canvas.drawRect(fReader.skipT<SkRect>(), paint); } break; case DRAW_SPRITE: { const SkPaint* paint = getPaint(); |