| 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 #include "skdiff.h" | 7 #include "skdiff.h" |
| 8 #include "skdiff_html.h" | 8 #include "skdiff_html.h" |
| 9 #include "skdiff_utils.h" | 9 #include "skdiff_utils.h" |
| 10 #include "SkBitmap.h" | 10 #include "SkBitmap.h" |
| (...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 322 | 322 |
| 323 /// Comparison routines for qsort, sort by file names. | 323 /// Comparison routines for qsort, sort by file names. |
| 324 static int compare_file_name_metrics(SkString **lhs, SkString **rhs) { | 324 static int compare_file_name_metrics(SkString **lhs, SkString **rhs) { |
| 325 return strcmp((*lhs)->c_str(), (*rhs)->c_str()); | 325 return strcmp((*lhs)->c_str(), (*rhs)->c_str()); |
| 326 } | 326 } |
| 327 | 327 |
| 328 class AutoReleasePixels { | 328 class AutoReleasePixels { |
| 329 public: | 329 public: |
| 330 AutoReleasePixels(DiffRecord* drp) | 330 AutoReleasePixels(DiffRecord* drp) |
| 331 : fDrp(drp) { | 331 : fDrp(drp) { |
| 332 SkASSERT(drp != NULL); | 332 SkASSERT(drp != nullptr); |
| 333 } | 333 } |
| 334 ~AutoReleasePixels() { | 334 ~AutoReleasePixels() { |
| 335 fDrp->fBase.fBitmap.setPixelRef(NULL); | 335 fDrp->fBase.fBitmap.setPixelRef(nullptr); |
| 336 fDrp->fComparison.fBitmap.setPixelRef(NULL); | 336 fDrp->fComparison.fBitmap.setPixelRef(nullptr); |
| 337 fDrp->fDifference.fBitmap.setPixelRef(NULL); | 337 fDrp->fDifference.fBitmap.setPixelRef(nullptr); |
| 338 fDrp->fWhite.fBitmap.setPixelRef(NULL); | 338 fDrp->fWhite.fBitmap.setPixelRef(nullptr); |
| 339 } | 339 } |
| 340 | 340 |
| 341 private: | 341 private: |
| 342 DiffRecord* fDrp; | 342 DiffRecord* fDrp; |
| 343 }; | 343 }; |
| 344 | 344 |
| 345 static void get_bounds(DiffResource& resource, const char* name) { | 345 static void get_bounds(DiffResource& resource, const char* name) { |
| 346 if (resource.fBitmap.empty() && !DiffResource::isStatusFailed(resource.fStat
us)) { | 346 if (resource.fBitmap.empty() && !DiffResource::isStatusFailed(resource.fStat
us)) { |
| 347 SkAutoDataUnref fileBits(read_file(resource.fFullPath.c_str())); | 347 SkAutoDataUnref fileBits(read_file(resource.fFullPath.c_str())); |
| 348 if (NULL == fileBits) { | 348 if (nullptr == fileBits) { |
| 349 SkDebugf("WARNING: couldn't read %s file <%s>\n", name, resource.fFu
llPath.c_str()); | 349 SkDebugf("WARNING: couldn't read %s file <%s>\n", name, resource.fFu
llPath.c_str()); |
| 350 resource.fStatus = DiffResource::kCouldNotRead_Status; | 350 resource.fStatus = DiffResource::kCouldNotRead_Status; |
| 351 } else { | 351 } else { |
| 352 get_bitmap(fileBits, resource, SkImageDecoder::kDecodeBounds_Mode); | 352 get_bitmap(fileBits, resource, SkImageDecoder::kDecodeBounds_Mode); |
| 353 } | 353 } |
| 354 } | 354 } |
| 355 } | 355 } |
| 356 | 356 |
| 357 static void get_bounds(DiffRecord& drp) { | 357 static void get_bounds(DiffRecord& drp) { |
| 358 get_bounds(drp.fBase, "base"); | 358 get_bounds(drp.fBase, "base"); |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 470 drp->fComparison.fStatus = DiffResource::kExists_Status; | 470 drp->fComparison.fStatus = DiffResource::kExists_Status; |
| 471 | 471 |
| 472 SkAutoDataUnref baseFileBits(read_file(drp->fBase.fFullPath.c_str())
); | 472 SkAutoDataUnref baseFileBits(read_file(drp->fBase.fFullPath.c_str())
); |
| 473 if (baseFileBits) { | 473 if (baseFileBits) { |
| 474 drp->fBase.fStatus = DiffResource::kRead_Status; | 474 drp->fBase.fStatus = DiffResource::kRead_Status; |
| 475 } | 475 } |
| 476 SkAutoDataUnref comparisonFileBits(read_file(drp->fComparison.fFullP
ath.c_str())); | 476 SkAutoDataUnref comparisonFileBits(read_file(drp->fComparison.fFullP
ath.c_str())); |
| 477 if (comparisonFileBits) { | 477 if (comparisonFileBits) { |
| 478 drp->fComparison.fStatus = DiffResource::kRead_Status; | 478 drp->fComparison.fStatus = DiffResource::kRead_Status; |
| 479 } | 479 } |
| 480 if (NULL == baseFileBits || NULL == comparisonFileBits) { | 480 if (nullptr == baseFileBits || nullptr == comparisonFileBits) { |
| 481 if (NULL == baseFileBits) { | 481 if (nullptr == baseFileBits) { |
| 482 drp->fBase.fStatus = DiffResource::kCouldNotRead_Status; | 482 drp->fBase.fStatus = DiffResource::kCouldNotRead_Status; |
| 483 VERBOSE_STATUS("READ FAIL", ANSI_COLOR_RED, baseFiles[i]); | 483 VERBOSE_STATUS("READ FAIL", ANSI_COLOR_RED, baseFiles[i]); |
| 484 } | 484 } |
| 485 if (NULL == comparisonFileBits) { | 485 if (nullptr == comparisonFileBits) { |
| 486 drp->fComparison.fStatus = DiffResource::kCouldNotRead_Statu
s; | 486 drp->fComparison.fStatus = DiffResource::kCouldNotRead_Statu
s; |
| 487 VERBOSE_STATUS("READ FAIL", ANSI_COLOR_RED, comparisonFiles[
j]); | 487 VERBOSE_STATUS("READ FAIL", ANSI_COLOR_RED, comparisonFiles[
j]); |
| 488 } | 488 } |
| 489 drp->fResult = DiffRecord::kCouldNotCompare_Result; | 489 drp->fResult = DiffRecord::kCouldNotCompare_Result; |
| 490 | 490 |
| 491 } else if (are_buffers_equal(baseFileBits, comparisonFileBits)) { | 491 } else if (are_buffers_equal(baseFileBits, comparisonFileBits)) { |
| 492 drp->fResult = DiffRecord::kEqualBits_Result; | 492 drp->fResult = DiffRecord::kEqualBits_Result; |
| 493 VERBOSE_STATUS("MATCH", ANSI_COLOR_GREEN, baseFiles[i]); | 493 VERBOSE_STATUS("MATCH", ANSI_COLOR_GREEN, baseFiles[i]); |
| 494 } else { | 494 } else { |
| 495 AutoReleasePixels arp(drp); | 495 AutoReleasePixels arp(drp); |
| (...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 851 // range [0...255] are wrapped (mod 256). Do the conversion ourselves, to | 851 // range [0...255] are wrapped (mod 256). Do the conversion ourselves, to |
| 852 // make sure that we only return 0 when there were no failures. | 852 // make sure that we only return 0 when there were no failures. |
| 853 return (num_failing_results > 255) ? 255 : num_failing_results; | 853 return (num_failing_results > 255) ? 255 : num_failing_results; |
| 854 } | 854 } |
| 855 | 855 |
| 856 #if !defined SK_BUILD_FOR_IOS | 856 #if !defined SK_BUILD_FOR_IOS |
| 857 int main(int argc, char * const argv[]) { | 857 int main(int argc, char * const argv[]) { |
| 858 return tool_main(argc, (char**) argv); | 858 return tool_main(argc, (char**) argv); |
| 859 } | 859 } |
| 860 #endif | 860 #endif |
| OLD | NEW |