From c99fcf5a1913cea79dbf53cc5ca3dba8e3ee5d64 Mon Sep 17 00:00:00 2001 From: "tony@chromium.org" Date: Mon, 28 Mar 2011 18:24:21 +0000 Subject: Add the ability to write comments to PNGCodec::Encode. I'm going to use this to write layout test checksums to the expected png files. Review URL: http://codereview.chromium.org/6696085 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79592 0039d316-1c4b-4281-b951-d872f2087c98 --- webkit/support/webkit_support_gfx.h | 40 ++++++++++++++++++++++++++++--------- 1 file changed, 31 insertions(+), 9 deletions(-) (limited to 'webkit/support') diff --git a/webkit/support/webkit_support_gfx.h b/webkit/support/webkit_support_gfx.h index 60bb765..e652d1c 100644 --- a/webkit/support/webkit_support_gfx.h +++ b/webkit/support/webkit_support_gfx.h @@ -1,13 +1,15 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef WEBKIT_SUPPORT_WEBKIT_SUPPORT_GFX_H_ #define WEBKIT_SUPPORT_WEBKIT_SUPPORT_GFX_H_ +#include #include #include "ui/gfx/codec/png_codec.h" +#include "ui/gfx/size.h" namespace webkit_support { @@ -20,20 +22,40 @@ inline bool DecodePNG(const unsigned char* input, size_t input_size, } // Encode an RGBA pixel array into a PNG. -inline bool EncodeRGBAPNG(const unsigned char* input, int width, int height, +inline bool EncodeRGBAPNG(const unsigned char* input, + int width, + int height, int row_byte_width, std::vector* output) { - return gfx::PNGCodec::Encode(input, gfx::PNGCodec::FORMAT_RGBA, width, - height, row_byte_width, false, output); + return gfx::PNGCodec::Encode(input, gfx::PNGCodec::FORMAT_RGBA, + gfx::Size(width, height), row_byte_width, false, + std::vector(), output); } // Encode an BGRA pixel array into a PNG. -inline bool EncodeBGRAPNG(const unsigned char* input, int width, int height, - int row_byte_width, bool discard_transparency, +inline bool EncodeBGRAPNG(const unsigned char* input, + int width, + int height, + int row_byte_width, + bool discard_transparency, + std::vector* output) { + return gfx::PNGCodec::Encode(input, gfx::PNGCodec::FORMAT_BGRA, + gfx::Size(width, height), row_byte_width, discard_transparency, + std::vector(), output); +} + +inline bool EncodeBGRAPNGWithChecksum(const unsigned char* input, + int width, + int height, + int row_byte_width, + bool discard_transparency, + const std::string& checksum, std::vector* output) { - return gfx::PNGCodec::Encode(input, gfx::PNGCodec::FORMAT_BGRA, width, - height, row_byte_width, discard_transparency, - output); + std::vector comments; + comments.push_back(gfx::PNGCodec::Comment("checksum", checksum)); + return gfx::PNGCodec::Encode(input, gfx::PNGCodec::FORMAT_BGRA, + gfx::Size(width, height), row_byte_width, discard_transparency, + comments, output); } } // namespace webkit_support -- cgit v1.1