diff options
author | tony@chromium.org <tony@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-28 18:24:21 +0000 |
---|---|---|
committer | tony@chromium.org <tony@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-28 18:24:21 +0000 |
commit | c99fcf5a1913cea79dbf53cc5ca3dba8e3ee5d64 (patch) | |
tree | ec671064fb18a8e0cf198c514680ea6f86ecc345 /webkit/support | |
parent | a6e70b07a557d6c1765df2560c0104a9033c4015 (diff) | |
download | chromium_src-c99fcf5a1913cea79dbf53cc5ca3dba8e3ee5d64.zip chromium_src-c99fcf5a1913cea79dbf53cc5ca3dba8e3ee5d64.tar.gz chromium_src-c99fcf5a1913cea79dbf53cc5ca3dba8e3ee5d64.tar.bz2 |
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
Diffstat (limited to 'webkit/support')
-rw-r--r-- | webkit/support/webkit_support_gfx.h | 40 |
1 files changed, 31 insertions, 9 deletions
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 <string> #include <vector> #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<unsigned char>* 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<gfx::PNGCodec::Comment>(), 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<unsigned char>* output) { + return gfx::PNGCodec::Encode(input, gfx::PNGCodec::FORMAT_BGRA, + gfx::Size(width, height), row_byte_width, discard_transparency, + std::vector<gfx::PNGCodec::Comment>(), 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<unsigned char>* output) { - return gfx::PNGCodec::Encode(input, gfx::PNGCodec::FORMAT_BGRA, width, - height, row_byte_width, discard_transparency, - output); + std::vector<gfx::PNGCodec::Comment> 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 |