aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/CopyTilesRenderer.cpp
diff options
context:
space:
mode:
authorGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2014-03-19 17:26:07 +0000
committerGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2014-03-19 17:26:07 +0000
commitf5e315ccf1ae2941f7cf53fa53e5c8c4bb665fe1 (patch)
tree4bada82865131be20404e6e1f230a708a324bcc5 /tools/CopyTilesRenderer.cpp
parentfffb2cd4639076b799a68cc0d1fc04d376b1ac3d (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.cpp20
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