diff options
author | commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2014-03-19 17:26:07 +0000 |
---|---|---|
committer | commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2014-03-19 17:26:07 +0000 |
commit | f5e315ccf1ae2941f7cf53fa53e5c8c4bb665fe1 (patch) | |
tree | 4bada82865131be20404e6e1f230a708a324bcc5 /tools/CopyTilesRenderer.cpp | |
parent | fffb2cd4639076b799a68cc0d1fc04d376b1ac3d (diff) |
add --writeChecksumBasedFilenames flag to render_pictures
BUG=skia:1455,skia:2230
R=robertphillips@google.com, robertphillips@chromium.org
Author: epoger@google.com
Review URL: https://codereview.chromium.org/202983003
git-svn-id: http://skia.googlecode.com/svn/trunk@13859 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'tools/CopyTilesRenderer.cpp')
-rw-r--r-- | tools/CopyTilesRenderer.cpp | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/tools/CopyTilesRenderer.cpp b/tools/CopyTilesRenderer.cpp index 1298d43f0f..341d93edae 100644 --- a/tools/CopyTilesRenderer.cpp +++ b/tools/CopyTilesRenderer.cpp @@ -20,11 +20,17 @@ namespace sk_tools { : fXTilesPerLargeTile(x) , fYTilesPerLargeTile(y) { } - void CopyTilesRenderer::init(SkPicture* pict) { + void CopyTilesRenderer::init(SkPicture* pict, const SkString* outputDir, + const SkString* inputFilename, bool useChecksumBasedFilenames) { + // Do not call INHERITED::init(), which would create a (potentially large) canvas which is + // not used by bench_pictures. SkASSERT(pict != NULL); // Only work with absolute widths (as opposed to percentages). SkASSERT(this->getTileWidth() != 0 && this->getTileHeight() != 0); fPicture = pict; + this->CopyString(&fOutputDir, outputDir); + this->CopyString(&fInputFilename, inputFilename); + fUseChecksumBasedFilenames = useChecksumBasedFilenames; fPicture->ref(); this->buildBBoxHierarchy(); // In order to avoid allocating a large canvas (particularly important for GPU), create one @@ -34,7 +40,7 @@ namespace sk_tools { fCanvas.reset(this->INHERITED::setupCanvas(fLargeTileWidth, fLargeTileHeight)); } - bool CopyTilesRenderer::render(const SkString* path, SkBitmap** out) { + bool CopyTilesRenderer::render(SkBitmap** out) { int i = 0; bool success = true; SkBitmap dst; @@ -59,10 +65,14 @@ namespace sk_tools { SkDEBUGCODE(bool extracted =) baseBitmap.extractSubset(&dst, subset); SkASSERT(extracted); - if (path != NULL) { - // Similar to writeAppendNumber in PictureRenderer.cpp, but just encodes + if (!fOutputDir.isEmpty()) { + // Similar to write() in PictureRenderer.cpp, but just encodes // a bitmap directly. - SkString pathWithNumber(*path); + // TODO: Share more common code with write() to do this, to properly + // write out the JSON summary, etc. + SkString pathWithNumber; + make_filepath(&pathWithNumber, fOutputDir, fInputFilename); + pathWithNumber.remove(pathWithNumber.size() - 4, 4); pathWithNumber.appendf("%i.png", i++); SkBitmap copy; #if SK_SUPPORT_GPU |