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

Side by Side Diff: ui/gfx/codec/png_codec_unittest.cc

Issue 361643002: setConfig is deprecated, use setInfo or allocPixels instead (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: don't call allocPixels+rowbytes yet (skia bug) Created 6 years, 5 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ui/gfx/codec/png_codec.cc ('k') | ui/gfx/color_analysis.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <algorithm> 5 #include <algorithm>
6 #include <cmath> 6 #include <cmath>
7 7
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 #include "third_party/libpng/png.h" 10 #include "third_party/libpng/png.h"
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 } 250 }
251 251
252 // Returns true if the BGRA 32-bit SkColor specified by |a| is equivalent to the 252 // Returns true if the BGRA 32-bit SkColor specified by |a| is equivalent to the
253 // 8-bit Gray color specified by |b|. 253 // 8-bit Gray color specified by |b|.
254 bool BGRAGrayEqualsA8Gray(uint32_t a, uint8_t b) { 254 bool BGRAGrayEqualsA8Gray(uint32_t a, uint8_t b) {
255 return SkColorGetB(a) == b && SkColorGetG(a) == b && 255 return SkColorGetB(a) == b && SkColorGetG(a) == b &&
256 SkColorGetR(a) == b && SkColorGetA(a) == 255; 256 SkColorGetR(a) == b && SkColorGetA(a) == 255;
257 } 257 }
258 258
259 void MakeTestBGRASkBitmap(int w, int h, SkBitmap* bmp) { 259 void MakeTestBGRASkBitmap(int w, int h, SkBitmap* bmp) {
260 bmp->setConfig(SkBitmap::kARGB_8888_Config, w, h); 260 bmp->allocN32Pixels(w, h);
261 bmp->allocPixels();
262 261
263 uint32_t* src_data = bmp->getAddr32(0, 0); 262 uint32_t* src_data = bmp->getAddr32(0, 0);
264 for (int i = 0; i < w * h; i++) 263 for (int i = 0; i < w * h; i++)
265 src_data[i] = SkPreMultiplyARGB(i % 255, i % 250, i % 245, i % 240); 264 src_data[i] = SkPreMultiplyARGB(i % 255, i % 250, i % 245, i % 240);
266 } 265 }
267 266
268 void MakeTestA8SkBitmap(int w, int h, SkBitmap* bmp) { 267 void MakeTestA8SkBitmap(int w, int h, SkBitmap* bmp) {
269 bmp->setConfig(SkBitmap::kA8_Config, w, h); 268 bmp->allocPixels(SkImageInfo::MakeA8(w, h));
270 bmp->allocPixels();
271 269
272 uint8_t* src_data = bmp->getAddr8(0, 0); 270 uint8_t* src_data = bmp->getAddr8(0, 0);
273 for (int i = 0; i < w * h; i++) 271 for (int i = 0; i < w * h; i++)
274 src_data[i] = i % 255; 272 src_data[i] = i % 255;
275 } 273 }
276 274
277 TEST(PNGCodec, EncodeDecodeRGB) { 275 TEST(PNGCodec, EncodeDecodeRGB) {
278 const int w = 20, h = 20; 276 const int w = 20, h = 20;
279 277
280 // create an image with known values 278 // create an image with known values
(...skipping 706 matching lines...) Expand 10 before | Expand all | Expand 10 after
987 } 985 }
988 986
989 TEST(PNGCodec, EncodeBGRASkBitmapStridePadded) { 987 TEST(PNGCodec, EncodeBGRASkBitmapStridePadded) {
990 const int kWidth = 20; 988 const int kWidth = 20;
991 const int kHeight = 20; 989 const int kHeight = 20;
992 const int kPaddedWidth = 32; 990 const int kPaddedWidth = 32;
993 const int kBytesPerPixel = 4; 991 const int kBytesPerPixel = 4;
994 const int kPaddedSize = kPaddedWidth * kHeight; 992 const int kPaddedSize = kPaddedWidth * kHeight;
995 const int kRowBytes = kPaddedWidth * kBytesPerPixel; 993 const int kRowBytes = kPaddedWidth * kBytesPerPixel;
996 994
995 SkImageInfo info = SkImageInfo::MakeN32Premul(kWidth, kHeight);
997 SkBitmap original_bitmap; 996 SkBitmap original_bitmap;
998 original_bitmap.setConfig(SkBitmap::kARGB_8888_Config, 997 original_bitmap.setInfo(info, kRowBytes);
999 kWidth, kHeight, kRowBytes);
1000 original_bitmap.allocPixels(); 998 original_bitmap.allocPixels();
1001 999
1002 // Write data over the source bitmap. 1000 // Write data over the source bitmap.
1003 // We write on the pad area here too. 1001 // We write on the pad area here too.
1004 // The encoder should ignore the pad area. 1002 // The encoder should ignore the pad area.
1005 uint32_t* src_data = original_bitmap.getAddr32(0, 0); 1003 uint32_t* src_data = original_bitmap.getAddr32(0, 0);
1006 for (int i = 0; i < kPaddedSize; i++) { 1004 for (int i = 0; i < kPaddedSize; i++) {
1007 src_data[i] = SkPreMultiplyARGB(i % 255, i % 250, i % 245, i % 240); 1005 src_data[i] = SkPreMultiplyARGB(i % 255, i % 250, i % 245, i % 240);
1008 } 1006 }
1009 1007
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
1181 PNGCodec::Decode(&encoded_normal[0], encoded_normal.size(), &decoded)); 1179 PNGCodec::Decode(&encoded_normal[0], encoded_normal.size(), &decoded));
1182 EXPECT_TRUE(BitmapsAreEqual(decoded, original_bitmap)); 1180 EXPECT_TRUE(BitmapsAreEqual(decoded, original_bitmap));
1183 1181
1184 EXPECT_TRUE( 1182 EXPECT_TRUE(
1185 PNGCodec::Decode(&encoded_fast[0], encoded_fast.size(), &decoded)); 1183 PNGCodec::Decode(&encoded_fast[0], encoded_fast.size(), &decoded));
1186 EXPECT_TRUE(BitmapsAreEqual(decoded, original_bitmap)); 1184 EXPECT_TRUE(BitmapsAreEqual(decoded, original_bitmap));
1187 } 1185 }
1188 1186
1189 1187
1190 } // namespace gfx 1188 } // namespace gfx
OLDNEW
« no previous file with comments | « ui/gfx/codec/png_codec.cc ('k') | ui/gfx/color_analysis.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698