1 #ifndef DMUtil_DEFINED 2 #define DMUtil_DEFINED 3 4 #include "Benchmark.h" 5 #include "SkBitmap.h" 6 #include "SkString.h" 7 #include "gm_expectations.h" 8 9 class SkBBHFactory; 10 11 // Small free functions used in more than one place in DM. 12 13 namespace DM { 14 15 // UnderJoin("a", "b") -> "a_b" 16 SkString UnderJoin(const char* a, const char* b); 17 18 // "foo_bar.skp" -> "foo-bar_skp" 19 SkString FileToTaskName(SkString); 20 21 // Draw gm to picture. Passes recordFlags to SkPictureRecorder::beginRecording(). 22 SkPicture* RecordPicture(skiagm::GM* gm, 23 uint32_t recordFlags = 0, 24 SkBBHFactory* factory = NULL); 25 26 // Allocate an empty bitmap with this size and depth. 27 void AllocatePixels(SkColorType, int w, int h, SkBitmap* bitmap); 28 // Allocate an empty bitmap the same size and depth as reference. 29 void AllocatePixels(const SkBitmap& reference, SkBitmap* bitmap); 30 31 // Draw picture to bitmap. 32 void DrawPicture(SkPicture* picture, SkBitmap* bitmap); 33 34 // What is the maximum component difference in these bitmaps? 35 unsigned MaxComponentDifference(const SkBitmap& a, const SkBitmap& b); 36 37 // Are these identical bitmaps? 38 bool BitmapsEqual(const SkBitmap& a, const SkBitmap& b); 39 40 } // namespace DM 41 42 #endif // DMUtil_DEFINED 43