Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright 2011 Google Inc. | 2 * Copyright 2011 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #include "gm_expectations.h" | 8 #include "gm_expectations.h" |
| 9 #include "SkBitmap.h" | 9 #include "SkBitmap.h" |
| 10 #include "SkBitmapHasher.h" | 10 #include "SkBitmapHasher.h" |
| (...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 292 if (compare_to_expectations_if_necessary(bitmapFromDecodeSub set, | 292 if (compare_to_expectations_if_necessary(bitmapFromDecodeSub set, |
| 293 subsetName.c_str(), | 293 subsetName.c_str(), |
| 294 &gFailedSubsetDecod es)) { | 294 &gFailedSubsetDecod es)) { |
| 295 gSuccessfulSubsetDecodes.push_back().printf("Decoded sub set %s from %s", | 295 gSuccessfulSubsetDecodes.push_back().printf("Decoded sub set %s from %s", |
| 296 subsetDim.c_str(), srcPath); | 296 subsetDim.c_str(), srcPath); |
| 297 } | 297 } |
| 298 | 298 |
| 299 write_expectations(bitmapFromDecodeSubset, subsetName.c_str( )); | 299 write_expectations(bitmapFromDecodeSubset, subsetName.c_str( )); |
| 300 | 300 |
| 301 if (writePath != NULL) { | 301 if (writePath != NULL) { |
| 302 // Write the region to a file whose name includes the di mensions. | 302 // Create a subdirectory to hold the results of decodeSu bset. |
| 303 SkString suffix = SkStringPrintf("_%s.png", subsetDim.c_ str()); | 303 SkString dir(*writePath); |
| 304 SkString outPath; | 304 dir.appendf("%s%c", "subsets", SkPATH_SEPARATOR); |
| 305 make_outname(&outPath, writePath->c_str(), srcPath, suff ix.c_str()); | 305 if (sk_mkdir(dir.c_str())) { |
|
epoger
2013/05/09 17:45:40
What happens if the mkdir fails? Does it pretend
scroggo
2013/05/13 17:34:12
Now it will provide an error.
| |
| 306 SkDEBUGCODE(bool success =) | 306 // Write the subset to a file whose name includes th e dimensions. |
| 307 write_bitmap(outPath.c_str(), &bitmapFromDecodeSubset); | 307 SkString suffix = SkStringPrintf("_%s.png", subsetDi m.c_str()); |
| 308 SkASSERT(success); | 308 SkString outPath; |
| 309 gSuccessfulSubsetDecodes.push_back().printf("\twrote %s" , outPath.c_str()); | 309 make_outname(&outPath, dir.c_str(), srcPath, suffix. c_str()); |
| 310 // Also use extractSubset from the original for visual c omparison. | 310 SkDEBUGCODE(bool success =) |
| 311 SkBitmap extractedSubset; | 311 write_bitmap(outPath.c_str(), &bitmapFromDecodeSubse t); |
|
epoger
2013/05/09 17:45:40
Instead of the 3 lines, I think you can do it like
scroggo
2013/05/13 17:34:12
Done.
| |
| 312 if (bitmap.extractSubset(&extractedSubset, rect)) { | |
| 313 suffix.printf("_%s_extracted.png", subsetDim.c_str() ); | |
| 314 make_outname(&outPath, writePath->c_str(), srcPath, suffix.c_str()); | |
| 315 SkDEBUGCODE(success =) write_bitmap(outPath.c_str(), &extractedSubset); | |
| 316 SkASSERT(success); | 312 SkASSERT(success); |
| 313 gSuccessfulSubsetDecodes.push_back().printf("\twrote %s", | |
| 314 outPath. c_str()); | |
| 315 // Also use extractSubset from the original for visu al comparison. | |
| 316 // Write the result to a file in a separate subdirec tory. | |
| 317 SkBitmap extractedSubset; | |
| 318 if (bitmap.extractSubset(&extractedSubset, rect)) { | |
| 319 SkString dirExtracted(*writePath); | |
| 320 dirExtracted.appendf("%s%c", "extracted", SkPATH _SEPARATOR); | |
| 321 if (sk_mkdir(dirExtracted.c_str())) { | |
| 322 make_outname(&outPath, dirExtracted.c_str(), srcPath, | |
| 323 suffix.c_str()); | |
| 324 SkDEBUGCODE(success =) | |
| 325 write_bitmap(outPath.c_str(), &extractedSubs et); | |
| 326 SkASSERT(success); | |
| 327 } | |
| 328 } | |
| 317 } | 329 } |
| 318 } | 330 } |
| 319 } else { | 331 } else { |
| 320 gFailedSubsetDecodes.push_back().printf("Failed to decode re gion %s from %s\n", | 332 gFailedSubsetDecodes.push_back().printf("Failed to decode re gion %s from %s\n", |
| 321 subsetDim.c_str(), s rcPath); | 333 subsetDim.c_str(), s rcPath); |
| 322 } | 334 } |
| 323 } | 335 } |
| 324 } | 336 } |
| 325 } | 337 } |
| 326 if (FLAGS_reencode) { | 338 if (FLAGS_reencode) { |
| (...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 505 } | 517 } |
| 506 | 518 |
| 507 return failed ? -1 : 0; | 519 return failed ? -1 : 0; |
| 508 } | 520 } |
| 509 | 521 |
| 510 #if !defined SK_BUILD_FOR_IOS | 522 #if !defined SK_BUILD_FOR_IOS |
| 511 int main(int argc, char * const argv[]) { | 523 int main(int argc, char * const argv[]) { |
| 512 return tool_main(argc, (char**) argv); | 524 return tool_main(argc, (char**) argv); |
| 513 } | 525 } |
| 514 #endif | 526 #endif |
| OLD | NEW |