OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 <stdint.h> | 5 #include <stdint.h> |
6 | 6 |
7 #include "base/memory/shared_memory.h" | 7 #include "base/memory/shared_memory.h" |
8 #include "build/build_config.h" | 8 #include "build/build_config.h" |
9 #include "skia/ext/platform_canvas.h" | 9 #include "skia/ext/platform_canvas.h" |
10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
(...skipping 28 matching lines...) Expand all Loading... |
39 SkImageInfo info = SkImageInfo::MakeN32Premul(w, h); | 39 SkImageInfo info = SkImageInfo::MakeN32Premul(w, h); |
40 canvas->writePixels(info, extendedValues, w*4, 0, 0); | 40 canvas->writePixels(info, extendedValues, w*4, 0, 0); |
41 } | 41 } |
42 | 42 |
43 // Checks each pixel in the given canvas and see if it is made up of the given | 43 // Checks each pixel in the given canvas and see if it is made up of the given |
44 // values, where each value has been duplicated into each channel of the given | 44 // values, where each value has been duplicated into each channel of the given |
45 // bitmap (see SetToCanvas above). | 45 // bitmap (see SetToCanvas above). |
46 template <int w, int h> | 46 template <int w, int h> |
47 void VerifyCanvasValues(SkCanvas* canvas, uint8_t values[h][w]) { | 47 void VerifyCanvasValues(SkCanvas* canvas, uint8_t values[h][w]) { |
48 SkBitmap bitmap = skia::ReadPixels(canvas); | 48 SkBitmap bitmap = skia::ReadPixels(canvas); |
49 SkAutoLockPixels lock(bitmap); | |
50 ASSERT_EQ(w, bitmap.width()); | 49 ASSERT_EQ(w, bitmap.width()); |
51 ASSERT_EQ(h, bitmap.height()); | 50 ASSERT_EQ(h, bitmap.height()); |
52 | 51 |
53 for (int y = 0; y < h; y++) { | 52 for (int y = 0; y < h; y++) { |
54 for (int x = 0; x < w; x++) { | 53 for (int x = 0; x < w; x++) { |
55 uint8_t value = values[y][x]; | 54 uint8_t value = values[y][x]; |
56 uint32_t expected = (value << 24) | (value << 16) | (value << 8) | value; | 55 uint32_t expected = (value << 24) | (value << 16) | (value << 8) | value; |
57 ASSERT_EQ(expected, *bitmap.getAddr32(x, y)); | 56 ASSERT_EQ(expected, *bitmap.getAddr32(x, y)); |
58 } | 57 } |
59 } | 58 } |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
166 {0x30, 0x31, 0x32, 0x33, 0x34}, | 165 {0x30, 0x31, 0x32, 0x33, 0x34}, |
167 {0x40, 0x41, 0x42, 0x43, 0x44}}; | 166 {0x40, 0x41, 0x42, 0x43, 0x44}}; |
168 SetToCanvas<5, 5>(canvas.get(), initial_values); | 167 SetToCanvas<5, 5>(canvas.get(), initial_values); |
169 | 168 |
170 // Sanity check on input. | 169 // Sanity check on input. |
171 VerifyCanvasValues<5, 5>(canvas.get(), initial_values); | 170 VerifyCanvasValues<5, 5>(canvas.get(), initial_values); |
172 } | 171 } |
173 | 172 |
174 #endif | 173 #endif |
175 | 174 |
OLD | NEW |