pixel_test_utils.h revision 116680a4aac90f2aa7413d9095a592090648e557
12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file. 42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef CC_TEST_PIXEL_TEST_UTILS_H_ 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define CC_TEST_PIXEL_TEST_UTILS_H_ 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/files/file_path.h" 9c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "cc/test/pixel_comparator.h" 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class SkBitmap; 122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace cc { 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Encodes a bitmap into a PNG and write to disk. Returns true on success. The 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// parent directory does not have to exist. 17c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)bool WritePNGFile(const SkBitmap& bitmap, const base::FilePath& file_path, 18c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) bool discard_transparency); 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Reads and decodes a PNG image to a bitmap. Returns true on success. The PNG 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// should have been encoded using |gfx::PNGCodec::Encode|. 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)bool ReadPNGFile(const base::FilePath& file_path, SkBitmap* bitmap); 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 24116680a4aac90f2aa7413d9095a592090648e557Ben Murdochstd::string GetPNGDataUrl(const SkBitmap& bitmap); 25116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 26c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Compares with a PNG file on disk using the given PixelComparator, and returns 27c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// true if the comparator returns a match. |ref_img_path| is absolute. 28c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)bool MatchesPNGFile(const SkBitmap& gen_bmp, 29c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) base::FilePath ref_img_path, 30c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) const PixelComparator& comparator); 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} // namespace cc 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif // CC_TEST_PIXEL_TEST_UTILS_H_ 35