update skpdiff visualization (image magnification with alpha mask)

R=epoger@google.com

Review URL: https://codereview.chromium.org/29103005

git-svn-id: http://skia.googlecode.com/svn/trunk@12174 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/tools/skpdiff/SkImageDiffer.h b/tools/skpdiff/SkImageDiffer.h
index 6c570cb..3b50d57 100644
--- a/tools/skpdiff/SkImageDiffer.h
+++ b/tools/skpdiff/SkImageDiffer.h
@@ -19,6 +19,9 @@
     SkImageDiffer();
     virtual ~SkImageDiffer();
 
+    static const double RESULT_CORRECT = 1.0f;
+    static const double RESULT_INCORRECT = 0.0f;
+
     /**
      * Gets a unique and descriptive name of this differ
      * @return A statically allocated null terminated string that is the name of this differ
@@ -37,6 +40,12 @@
     virtual bool requiresOpenCL() { return false; }
 
     /**
+     * Enables the generation of an alpha mask for all points of interest.
+     * @return True if the differ supports generating an alpha mask and false otherwise.
+     */
+    virtual bool enablePOIAlphaMask() { return false; }
+
+    /**
      * Wraps a call to queueDiff by loading the given filenames into SkBitmaps
      * @param  baseline The file path of the baseline image
      * @param  test     The file path of the test image
@@ -87,6 +96,13 @@
      */
     virtual SkIPoint* getPointsOfInterest(int id) = 0;
 
+    /*
+     * Gets a bitmap containing an alpha mask containing transparent pixels at the points of
+     * interest for the diff of the given id. The results are only meaningful after the
+     * queued diff has finished.
+     * @param  id The id of the queued diff to query
+     */
+    virtual SkBitmap* getPointsOfInterestAlphaMask(int id) { return NULL; }
 
 
 protected: