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

Side by Side Diff: ui/gfx/color_analysis_unittest.cc

Issue 271653003: Scrub deprecated Skia APIs. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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
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 "ui/gfx/color_analysis.h" 5 #include "ui/gfx/color_analysis.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 #include "third_party/skia/include/core/SkBitmap.h" 10 #include "third_party/skia/include/core/SkBitmap.h"
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 EXPECT_TRUE(ChannelApproximatelyEqual(200, SkColorGetB(color))); 272 EXPECT_TRUE(ChannelApproximatelyEqual(200, SkColorGetB(color)));
273 } 273 }
274 274
275 TEST_F(ColorAnalysisTest, ComputeColorCovarianceTrivial) { 275 TEST_F(ColorAnalysisTest, ComputeColorCovarianceTrivial) {
276 SkBitmap bitmap; 276 SkBitmap bitmap;
277 bitmap.setConfig(SkBitmap::kARGB_8888_Config, 100, 200); 277 bitmap.setConfig(SkBitmap::kARGB_8888_Config, 100, 200);
278 278
279 EXPECT_EQ(gfx::Matrix3F::Zeros(), 279 EXPECT_EQ(gfx::Matrix3F::Zeros(),
280 color_utils::ComputeColorCovariance(bitmap)); 280 color_utils::ComputeColorCovariance(bitmap));
281 bitmap.allocPixels(); 281 bitmap.allocPixels();
282 bitmap.eraseRGB(50, 150, 200); 282 bitmap.eraseARGB(255, 50, 150, 200);
283 gfx::Matrix3F covariance = color_utils::ComputeColorCovariance(bitmap); 283 gfx::Matrix3F covariance = color_utils::ComputeColorCovariance(bitmap);
284 // The answer should be all zeros. 284 // The answer should be all zeros.
285 EXPECT_TRUE(covariance == gfx::Matrix3F::Zeros()); 285 EXPECT_TRUE(covariance == gfx::Matrix3F::Zeros());
286 } 286 }
287 287
288 TEST_F(ColorAnalysisTest, ComputeColorCovarianceWithCanvas) { 288 TEST_F(ColorAnalysisTest, ComputeColorCovarianceWithCanvas) {
289 gfx::Canvas canvas(gfx::Size(250, 200), 1.0f, true); 289 gfx::Canvas canvas(gfx::Size(250, 200), 1.0f, true);
290 // The image consists of vertical stripes, with color bands set to 100 290 // The image consists of vertical stripes, with color bands set to 100
291 // in overlapping stripes 150 pixels wide. 291 // in overlapping stripes 150 pixels wide.
292 canvas.FillRect(gfx::Rect(0, 0, 50, 200), SkColorSetRGB(100, 0, 0)); 292 canvas.FillRect(gfx::Rect(0, 0, 50, 200), SkColorSetRGB(100, 0, 0));
(...skipping 15 matching lines...) Expand all
308 308
309 TEST_F(ColorAnalysisTest, ApplyColorReductionSingleColor) { 309 TEST_F(ColorAnalysisTest, ApplyColorReductionSingleColor) {
310 // The test runs color reduction on a single-colot image, where results are 310 // The test runs color reduction on a single-colot image, where results are
311 // bound to be uninteresting. This is an important edge case, though. 311 // bound to be uninteresting. This is an important edge case, though.
312 SkBitmap source, result; 312 SkBitmap source, result;
313 source.setConfig(SkBitmap::kARGB_8888_Config, 300, 200); 313 source.setConfig(SkBitmap::kARGB_8888_Config, 300, 200);
314 result.setConfig(SkBitmap::kA8_Config, 300, 200); 314 result.setConfig(SkBitmap::kA8_Config, 300, 200);
315 315
316 source.allocPixels(); 316 source.allocPixels();
317 result.allocPixels(); 317 result.allocPixels();
318 source.eraseRGB(50, 150, 200); 318 source.eraseARGB(255, 50, 150, 200);
319 319
320 gfx::Vector3dF transform(1.0f, .5f, 0.1f); 320 gfx::Vector3dF transform(1.0f, .5f, 0.1f);
321 // This transform, if not scaled, should result in GL=145. 321 // This transform, if not scaled, should result in GL=145.
322 EXPECT_TRUE(color_utils::ApplyColorReduction( 322 EXPECT_TRUE(color_utils::ApplyColorReduction(
323 source, transform, false, &result)); 323 source, transform, false, &result));
324 324
325 uint8_t min_gl = 0; 325 uint8_t min_gl = 0;
326 uint8_t max_gl = 0; 326 uint8_t max_gl = 0;
327 Calculate8bitBitmapMinMax(result, &min_gl, &max_gl); 327 Calculate8bitBitmapMinMax(result, &min_gl, &max_gl);
328 EXPECT_EQ(145, min_gl); 328 EXPECT_EQ(145, min_gl);
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
429 EXPECT_EQ(193U, SkColorGetA(result.getColor(0, 0))); 429 EXPECT_EQ(193U, SkColorGetA(result.getColor(0, 0)));
430 } 430 }
431 431
432 TEST_F(ColorAnalysisTest, ComputePrincipalComponentImageNotComputable) { 432 TEST_F(ColorAnalysisTest, ComputePrincipalComponentImageNotComputable) {
433 SkBitmap source, result; 433 SkBitmap source, result;
434 source.setConfig(SkBitmap::kARGB_8888_Config, 300, 200); 434 source.setConfig(SkBitmap::kARGB_8888_Config, 300, 200);
435 result.setConfig(SkBitmap::kA8_Config, 300, 200); 435 result.setConfig(SkBitmap::kA8_Config, 300, 200);
436 436
437 source.allocPixels(); 437 source.allocPixels();
438 result.allocPixels(); 438 result.allocPixels();
439 source.eraseRGB(50, 150, 200); 439 source.eraseARGB(255, 50, 150, 200);
440 440
441 // This computation should fail since all colors always vary together. 441 // This computation should fail since all colors always vary together.
442 EXPECT_FALSE(color_utils::ComputePrincipalComponentImage(source, &result)); 442 EXPECT_FALSE(color_utils::ComputePrincipalComponentImage(source, &result));
443 } 443 }
444 444
445 TEST_F(ColorAnalysisTest, ComputePrincipalComponentImage) { 445 TEST_F(ColorAnalysisTest, ComputePrincipalComponentImage) {
446 gfx::Canvas canvas(gfx::Size(300, 200), 1.0f, true); 446 gfx::Canvas canvas(gfx::Size(300, 200), 1.0f, true);
447 447
448 // The image consists of vertical non-overlapping stripes 100 pixels wide. 448 // The image consists of vertical non-overlapping stripes 100 pixels wide.
449 canvas.FillRect(gfx::Rect(0, 0, 100, 200), SkColorSetRGB(10, 10, 10)); 449 canvas.FillRect(gfx::Rect(0, 0, 100, 200), SkColorSetRGB(10, 10, 10));
(...skipping 11 matching lines...) Expand all
461 uint8_t min_gl = 0; 461 uint8_t min_gl = 0;
462 uint8_t max_gl = 0; 462 uint8_t max_gl = 0;
463 Calculate8bitBitmapMinMax(result, &min_gl, &max_gl); 463 Calculate8bitBitmapMinMax(result, &min_gl, &max_gl);
464 464
465 EXPECT_EQ(0, min_gl); 465 EXPECT_EQ(0, min_gl);
466 EXPECT_EQ(255, max_gl); 466 EXPECT_EQ(255, max_gl);
467 EXPECT_EQ(min_gl, SkColorGetA(result.getColor(0, 0))); 467 EXPECT_EQ(min_gl, SkColorGetA(result.getColor(0, 0)));
468 EXPECT_EQ(max_gl, SkColorGetA(result.getColor(299, 199))); 468 EXPECT_EQ(max_gl, SkColorGetA(result.getColor(299, 199)));
469 EXPECT_EQ(93U, SkColorGetA(result.getColor(150, 0))); 469 EXPECT_EQ(93U, SkColorGetA(result.getColor(150, 0)));
470 } 470 }
OLDNEW
« ui/gfx/canvas.h ('K') | « ui/gfx/canvas.cc ('k') | ui/gfx/image/image.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698