| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 <stdlib.h> | 5 #include <stdlib.h> |
| 6 | 6 |
| 7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
| 8 #include "third_party/skia/include/core/SkBitmap.h" | 8 #include "third_party/skia/include/core/SkBitmap.h" |
| 9 #include "third_party/skia/include/core/SkColorPriv.h" | 9 #include "third_party/skia/include/core/SkColorPriv.h" |
| 10 #include "ui/gfx/canvas.h" | 10 #include "ui/gfx/canvas.h" |
| (...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 158 | 158 |
| 159 // One is fully transparent, result is partially transparent. | 159 // One is fully transparent, result is partially transparent. |
| 160 back = SkColorSetA(back, 0); | 160 back = SkColorSetA(back, 0); |
| 161 EXPECT_EQ(136U, SkColorGetA(AlphaBlend(fore, back, 136))); | 161 EXPECT_EQ(136U, SkColorGetA(AlphaBlend(fore, back, 136))); |
| 162 | 162 |
| 163 // Both are fully transparent, result is fully transparent. | 163 // Both are fully transparent, result is fully transparent. |
| 164 fore = SkColorSetA(fore, 0); | 164 fore = SkColorSetA(fore, 0); |
| 165 EXPECT_EQ(0U, SkColorGetA(AlphaBlend(fore, back, 255))); | 165 EXPECT_EQ(0U, SkColorGetA(AlphaBlend(fore, back, 255))); |
| 166 } | 166 } |
| 167 | 167 |
| 168 TEST(ColorUtils, Matrix4x3) { |
| 169 Matrix4x3 tmp; |
| 170 EXPECT_EQ(tmp.lookup(3, 3), 1.0f); |
| 171 tmp.rows[0][2] = 4.0f; |
| 172 tmp.rows[2][1] = 8.0f; |
| 173 Matrix4x3 copy = tmp.Invert().Invert(); |
| 174 EXPECT_EQ(tmp.rows[0][2], 4.0f); |
| 175 EXPECT_EQ(tmp.rows[2][1], 8.0f); |
| 176 for (int row = 0; row < 3; row++) { |
| 177 for (int col = 0; col < 4; col++) { |
| 178 copy.rows[row][col] = 0.0f; |
| 179 } |
| 180 } |
| 181 copy = copy * tmp; |
| 182 for (int row = 0; row < 3; row++) { |
| 183 for (int col = 0; col < 4; col++) { |
| 184 EXPECT_EQ(copy.lookup(row, col), 0.0f); |
| 185 } |
| 186 } |
| 187 |
| 188 TriStim tmp2(1.0f, 2.0f, 3.0f); |
| 189 tmp2 = copy * tmp2; |
| 190 EXPECT_EQ(tmp2.values[0], 0.0f); |
| 191 EXPECT_EQ(tmp2.values[1], 0.0f); |
| 192 EXPECT_EQ(tmp2.values[2], 0.0f); |
| 193 } |
| 194 |
| 168 } // namespace color_utils | 195 } // namespace color_utils |
| OLD | NEW |