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