From 831c726f83ab3146a573f483438c1a461b2ba465 Mon Sep 17 00:00:00 2001 From: "robertphillips@google.com" Date: Thu, 25 Oct 2012 14:45:08 +0000 Subject: Correctly set width & height in filtered SkPictures https://codereview.appspot.com/6772047/ git-svn-id: http://skia.googlecode.com/svn/trunk@6103 2bbb7eff-a529-9590-31e7-b0007b416f81 --- include/core/SkPicture.h | 7 ++++--- tools/filtermain.cpp | 6 ++++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/include/core/SkPicture.h b/include/core/SkPicture.h index f70fd3fbc4..c7ae7757c4 100644 --- a/include/core/SkPicture.h +++ b/include/core/SkPicture.h @@ -148,12 +148,13 @@ public: void abortPlayback(); protected: - // fRecord is protected to allow derived classes to install their own - // SkPictureRecord-derived recorders. + // fRecord and fWidth & fHeight are protected to allow derived classes to + // install their own SkPictureRecord-derived recorders and set the picture + // size SkPictureRecord* fRecord; + int fWidth, fHeight; private: - int fWidth, fHeight; SkPicturePlayback* fPlayback; /** Used by the R-Tree when kOptimizeForClippedPlayback_RecordingFlag is diff --git a/tools/filtermain.cpp b/tools/filtermain.cpp index cfd6487879..f0b2e82673 100644 --- a/tools/filtermain.cpp +++ b/tools/filtermain.cpp @@ -95,7 +95,9 @@ private: // Wrap SkPicture to allow installation of a SkFilterRecord object class SkFilterPicture : public SkPicture { public: - SkFilterPicture(SkPictureRecord* record) { + SkFilterPicture(int width, int height, SkPictureRecord* record) { + fWidth = width; + fHeight = height; fRecord = record; SkSafeRef(fRecord); } @@ -187,7 +189,7 @@ int tool_main(int argc, char** argv) { filterRecord->report(); if (!outFile.isEmpty()) { - SkFilterPicture outPicture(filterRecord); + SkFilterPicture outPicture(inPicture->width(), inPicture->height(), filterRecord); SkFILEWStream outStream(outFile.c_str()); outPicture.serialize(&outStream); -- cgit v1.2.3