Home | History | Annotate | Download | only in test
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef CC_TEST_PIXEL_TEST_UTILS_H_
      6 #define CC_TEST_PIXEL_TEST_UTILS_H_
      7 
      8 #include "base/files/file_path.h"
      9 #include "cc/test/pixel_comparator.h"
     10 
     11 class SkBitmap;
     12 
     13 namespace cc {
     14 
     15 // Encodes a bitmap into a PNG and write to disk. Returns true on success. The
     16 // parent directory does not have to exist.
     17 bool WritePNGFile(const SkBitmap& bitmap, const base::FilePath& file_path,
     18     bool discard_transparency);
     19 
     20 // Reads and decodes a PNG image to a bitmap. Returns true on success. The PNG
     21 // should have been encoded using |gfx::PNGCodec::Encode|.
     22 bool ReadPNGFile(const base::FilePath& file_path, SkBitmap* bitmap);
     23 
     24 // Compares with a PNG file on disk using the given PixelComparator, and returns
     25 // true if the comparator returns a match. |ref_img_path| is absolute.
     26 bool MatchesPNGFile(const SkBitmap& gen_bmp,
     27                     base::FilePath ref_img_path,
     28                     const PixelComparator& comparator);
     29 
     30 }  // namespace cc
     31 
     32 #endif  // CC_TEST_PIXEL_TEST_UTILS_H_
     33