diff options
Diffstat (limited to 'chromium/third_party/skia/tools/skpdiff/SkDifferentPixelsMetric.h')
-rw-r--r-- | chromium/third_party/skia/tools/skpdiff/SkDifferentPixelsMetric.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/chromium/third_party/skia/tools/skpdiff/SkDifferentPixelsMetric.h b/chromium/third_party/skia/tools/skpdiff/SkDifferentPixelsMetric.h new file mode 100644 index 00000000000..06c56b1cca2 --- /dev/null +++ b/chromium/third_party/skia/tools/skpdiff/SkDifferentPixelsMetric.h @@ -0,0 +1,49 @@ +/* + * Copyright 2013 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#ifndef SkDifferentPixelsMetric_DEFINED +#define SkDifferentPixelsMetric_DEFINED + +#include "SkTDArray.h" + +#if SK_SUPPORT_OPENCL +#include "SkCLImageDiffer.h" +#else +#include "SkImageDiffer.h" +#endif + +/** + * A differ that measures the percentage of different corresponding pixels. If the two images are + * not the same size or have no pixels, the result will always be zero. + */ +class SkDifferentPixelsMetric : +#if SK_SUPPORT_OPENCL + public SkCLImageDiffer { +#else + public SkImageDiffer { +#endif +public: + virtual const char* getName() const SK_OVERRIDE; + virtual bool diff(SkBitmap* baseline, SkBitmap* test, bool computeMask, + Result* result) const SK_OVERRIDE; + +protected: +#if SK_SUPPORT_OPENCL + virtual bool onInit() SK_OVERRIDE; +#endif + +private: +#if SK_SUPPORT_OPENCL + cl_kernel fKernel; + + typedef SkCLImageDiffer INHERITED; +#else + typedef SkImageDiffer INHERITED; +#endif +}; + +#endif |