Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(157)

Unified Diff: ui/gfx/codec/png_codec.h

Issue 6696085: Add the ability to write comments to PNGCodec::Encode. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: with webkit_support function Created 9 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/gfx/codec/png_codec.h
diff --git a/ui/gfx/codec/png_codec.h b/ui/gfx/codec/png_codec.h
index 73453feee0af3de2f5df0702150e0bf111a111f3..cc1333e7e741e749706cd44e8b5be179ea0b856f 100644
--- a/ui/gfx/codec/png_codec.h
+++ b/ui/gfx/codec/png_codec.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2008 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.
@@ -6,6 +6,7 @@
#define UI_GFX_CODEC_PNG_CODEC_H_
#pragma once
+#include <string>
#include <vector>
#include "base/basictypes.h"
@@ -14,6 +15,8 @@ class SkBitmap;
namespace gfx {
+class Size;
+
// Interface for encoding and decoding PNG data. This is a wrapper around
// libpng, which has an inconvenient interface for callers. This is currently
// designed for use in tests only (where we control the files), so the handling
@@ -39,6 +42,13 @@ class PNGCodec {
FORMAT_SkBitmap
};
+ // Represents a comment in the tEXt ancillary chunk of the png.
+ struct Comment {
+ std::string key;
+ std::string text;
+ Comment(const std::string& k, const std::string& t) : key(k), text(t) {}
brettw 2011/03/25 00:06:09 Wouldn't this constructor normally go first? Can
tony 2011/03/25 01:04:44 Done.
+ };
+
// Encodes the given raw 'input' data, with each pixel being represented as
// given in 'format'. The encoded PNG data will be written into the supplied
// vector and true will be returned on success. On failure (false), the
@@ -47,7 +57,7 @@ class PNGCodec {
// When writing alpha values, the input colors are assumed to be post
// multiplied.
//
- // w, h: dimensions of the image
+ // size: dimensions of the image
// row_byte_width: the width in bytes of each row. This may be greater than
// w * bytes_per_pixel if there is extra padding at the end of each row
// (often, each row is padded to the next machine word).
@@ -55,9 +65,13 @@ class PNGCodec {
// alpha values, these alpha values will be discarded and only RGB will be
// written to the resulting file. Otherwise, alpha values in the input
// will be preserved.
- static bool Encode(const unsigned char* input, ColorFormat format,
- int w, int h, int row_byte_width,
+ // comments: comments to be written in the png's metadata.
+ static bool Encode(const unsigned char* input,
+ ColorFormat format,
+ const Size& size,
+ int row_byte_width,
bool discard_transparency,
+ const std::vector<Comment>& comments,
std::vector<unsigned char>* output);
// Call PNGCodec::Encode on the supplied SkBitmap |input|, which is assumed

Powered by Google App Engine
This is Rietveld 408576698