OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2012 Google Inc. | 3 * Copyright 2012 Google Inc. |
4 * | 4 * |
5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
7 */ | 7 */ |
8 | 8 |
9 #ifndef SkBitmapHasher_DEFINED | 9 #ifndef SkBitmapHasher_DEFINED |
10 #define SkBitmapHasher_DEFINED | 10 #define SkBitmapHasher_DEFINED |
11 | 11 |
12 #include "SkBitmap.h" | 12 #include "SkBitmap.h" |
13 | 13 |
| 14 #define BITMAPHASHER_USES_TRUNCATED_MD5 |
| 15 |
14 // TODO(epoger): Soon, SkHashDigest will become a real class of its own, | 16 // TODO(epoger): Soon, SkHashDigest will become a real class of its own, |
15 // and callers won't be able to assume it converts to/from a uint64_t. | 17 // and callers won't be able to assume it converts to/from a uint64_t. |
16 typedef uint64_t SkHashDigest; | 18 typedef uint64_t SkHashDigest; |
17 | 19 |
18 /** | 20 /** |
19 * Static class that can generate an SkHashDigest from an SkBitmap. | 21 * Static class that can generate an SkHashDigest from an SkBitmap. |
20 */ | 22 */ |
21 class SkBitmapHasher { | 23 class SkBitmapHasher { |
22 public: | 24 public: |
23 /** | 25 /** |
24 * Fills in "result" with a hash of the pixels in this bitmap. | 26 * Fills in "result" with a hash of the pixels in this bitmap. |
25 * | 27 * |
26 * If this is unable to compute the hash for some reason, | 28 * If this is unable to compute the hash for some reason, |
27 * it returns false. | 29 * it returns false. |
28 * | 30 * |
29 * Note: depending on the bitmap config, we may need to create an | 31 * Note: depending on the bitmap config, we may need to create an |
30 * intermediate SkBitmap and copy the pixels over to it... so in some | 32 * intermediate SkBitmap and copy the pixels over to it... so in some |
31 * cases, performance and memory usage can suffer. | 33 * cases, performance and memory usage can suffer. |
32 */ | 34 */ |
33 static bool ComputeDigest(const SkBitmap& bitmap, SkHashDigest *result); | 35 static bool ComputeDigest(const SkBitmap& bitmap, SkHashDigest *result); |
34 | 36 |
35 private: | 37 private: |
36 static bool ComputeDigestInternal(const SkBitmap& bitmap, SkHashDigest *resu
lt); | 38 static bool ComputeDigestInternal(const SkBitmap& bitmap, SkHashDigest *resu
lt); |
37 }; | 39 }; |
38 | 40 |
39 #endif | 41 #endif |
OLD | NEW |