Index: dm/DMUtil.h |
diff --git a/dm/DMUtil.h b/dm/DMUtil.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..dfb7f920223ccc029fa39dbb73e74e646ec60ab7 |
--- /dev/null |
+++ b/dm/DMUtil.h |
@@ -0,0 +1,43 @@ |
+#ifndef DMUtil_DEFINED |
+#define DMUtil_DEFINED |
+ |
+#include "SkBitmap.h" |
+#include "SkCanvas.h" |
+#include "SkString.h" |
+#include "gm.h" |
+ |
+class SkBBHFactory; |
+ |
+// Small free functions used in more than one place in DM. |
+ |
+namespace DM { |
+ |
+// UnderJoin("a", "b") -> "a_b" |
+SkString UnderJoin(const char* a, const char* b); |
+ |
+// "foo_bar.skp" -> "foo-bar_skp" |
+SkString FileToTaskName(SkString); |
+ |
+// Draw gm to picture. |
+SkPicture* RecordPicture(skiagm::GM* gm, SkBBHFactory* factory = NULL); |
+ |
+// Allocate an empty bitmap with this size and depth. |
+void AllocatePixels(SkColorType, int w, int h, SkBitmap* bitmap); |
+// Allocate an empty bitmap the same size and depth as reference. |
+void AllocatePixels(const SkBitmap& reference, SkBitmap* bitmap); |
+ |
+// Draw picture to bitmap. |
+void DrawPicture(const SkPicture& picture, SkBitmap* bitmap); |
+ |
+// What is the maximum component difference in these bitmaps? |
+unsigned MaxComponentDifference(const SkBitmap& a, const SkBitmap& b); |
+ |
+// Are these identical bitmaps? |
+bool BitmapsEqual(const SkBitmap& a, const SkBitmap& b); |
+ |
+// Hook to modify canvas using global flag values (e.g. --matrix). |
+void CanvasPreflight(SkCanvas*); |
+ |
+} // namespace DM |
+ |
+#endif // DMUtil_DEFINED |