OLD | NEW |
(Empty) | |
| 1 /* |
| 2 * Copyright 2014 Google Inc. |
| 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. |
| 6 */ |
| 7 |
| 8 #include "SkImageInfo.h" |
| 9 |
| 10 #include "Test.h" |
| 11 |
| 12 struct ImageInfoRec { |
| 13 int fWidth; |
| 14 int fHeight; |
| 15 SkColorType fColorType; |
| 16 SkAlphaType fAlphaType; |
| 17 float fGamma; |
| 18 bool fIsSRGB; |
| 19 }; |
| 20 |
| 21 static void check_info(skiatest::Reporter* reporter, |
| 22 const ImageInfoRec& expected, const SkImageInfo& info) { |
| 23 REPORTER_ASSERT(reporter, info.width() == expected.fWidth); |
| 24 REPORTER_ASSERT(reporter, info.height() == expected.fHeight); |
| 25 REPORTER_ASSERT(reporter, info.colorType() == expected.fColorType); |
| 26 REPORTER_ASSERT(reporter, info.alphaType() == expected.fAlphaType); |
| 27 REPORTER_ASSERT(reporter, info.gamma() == expected.fGamma); |
| 28 REPORTER_ASSERT(reporter, info.isSRGB() == expected.fIsSRGB); |
| 29 } |
| 30 |
| 31 DEF_TEST(ImageInfo, reporter) { |
| 32 const float nan = SK_ScalarNaN; |
| 33 const float nice_gamma = 1.5f; |
| 34 const int W = 100; |
| 35 const int H = 200; |
| 36 SkImageInfo info; |
| 37 |
| 38 const ImageInfoRec rec[] = { |
| 39 { 0, 0, kUnknown_SkColorType, kIgnore_SkAlphaType, 0, false }, // M
akeUnknown() |
| 40 { W, H, kUnknown_SkColorType, kIgnore_SkAlphaType, 0, false }, // M
akeUnknown(...) |
| 41 { W, H, kN32_SkColorType, kPremul_SkAlphaType, 1, false }, // M
akeN32Premul(...) |
| 42 { W, H, kN32_SkColorType, kOpaque_SkAlphaType, 1, false }, // M
akeN32(...) |
| 43 { W, H, kAlpha_8_SkColorType, kPremul_SkAlphaType, 0, false }, // M
akeA8() |
| 44 { W, H, kRGBA_8888_SkColorType, kUnpremul_SkAlphaType, 1, false }, // M
ake() |
| 45 { W, H, kBGRA_8888_SkColorType, kPremul_SkAlphaType, 1, false }, // M
ake() |
| 46 { W, H, kBGRA_8888_SkColorType, kPremul_SkAlphaType, 0, true }, // Ma
keSRGB() |
| 47 { W, H, kN32_SkColorType, kPremul_SkAlphaType, 1, false }, // M
akeWithGamma() NaN |
| 48 { W, H, kAlpha_8_SkColorType, kPremul_SkAlphaType, 0, false }, // M
akeWithGamma() bad ct for gamma |
| 49 { W, H, kN32_SkColorType, kPremul_SkAlphaType, nice_gamma, false
}, // MakeWithGamma() good |
| 50 }; |
| 51 |
| 52 check_info(reporter, rec[ 0], SkImageInfo::MakeUnknown()); |
| 53 check_info(reporter, rec[ 1], SkImageInfo::MakeUnknown(W, H)); |
| 54 check_info(reporter, rec[ 2], SkImageInfo::MakeN32Premul(W, H)); |
| 55 check_info(reporter, rec[ 3], SkImageInfo::MakeN32(W, H, rec[3].fAlphaType))
; |
| 56 check_info(reporter, rec[ 4], SkImageInfo::MakeA8(W, H)); |
| 57 check_info(reporter, rec[ 5], SkImageInfo::Make(W, H, rec[5].fColorType, rec
[5].fAlphaType)); |
| 58 check_info(reporter, rec[ 6], SkImageInfo::Make(W, H, rec[6].fColorType, rec
[6].fAlphaType)); |
| 59 check_info(reporter, rec[ 7], SkImageInfo::MakeSRGB(W, H, rec[7].fColorType,
rec[7].fAlphaType)); |
| 60 check_info(reporter, rec[ 8], SkImageInfo::MakeWithGamma(W, H, rec[8].fColor
Type, rec[8].fAlphaType, nan)); |
| 61 check_info(reporter, rec[ 9], SkImageInfo::MakeWithGamma(W, H, rec[9].fColor
Type, rec[9].fAlphaType, nice_gamma)); |
| 62 check_info(reporter, rec[10], SkImageInfo::MakeWithGamma(W, H, rec[10].fColo
rType, rec[10].fAlphaType, rec[10].fGamma)); |
| 63 } |
| 64 |
OLD | NEW |