aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkPicturePlayback.cpp
diff options
context:
space:
mode:
authorGravatar reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-09-07 13:52:17 +0000
committerGravatar reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-09-07 13:52:17 +0000
commita5adf5385dc6958bda4dad47f59c1c45bd98c627 (patch)
tree067cce017095dfc97041d55953cfefe2eac77cdf /src/core/SkPicturePlayback.cpp
parent9c9b8d90c822132e205af4c70363fe3a272d6c6f (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.cpp24
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();