/* * 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 SkPMetric_DEFINED #define SkPMetric_DEFINED #include "SkTArray.h" #include "SkTDArray.h" #include "SkImageDiffer.h" /** * An image differ that uses the pdiff image metric to compare images. */ class SkPMetric : public SkImageDiffer { public: virtual const char* getName() SK_OVERRIDE; virtual int queueDiff(SkBitmap* baseline, SkBitmap* test) SK_OVERRIDE; virtual void deleteDiff(int id) SK_OVERRIDE; virtual bool isFinished(int id) SK_OVERRIDE; virtual double getResult(int id) SK_OVERRIDE; virtual int getPointsOfInterestCount(int id) SK_OVERRIDE; virtual SkIPoint* getPointsOfInterest(int id) SK_OVERRIDE; private: struct QueuedDiff { bool finished; double result; SkTDArray poi; }; SkTArray fQueuedDiffs; typedef SkImageDiffer INHERITED; }; #endif