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 std::string GetPNGDataUrl(const SkBitmap& bitmap); 25 26 // Compares with a PNG file on disk using the given PixelComparator, and returns 27 // true if the comparator returns a match. |ref_img_path| is absolute. 28 bool MatchesPNGFile(const SkBitmap& gen_bmp, 29 base::FilePath ref_img_path, 30 const PixelComparator& comparator); 31 32 } // namespace cc 33 34 #endif // CC_TEST_PIXEL_TEST_UTILS_H_ 35