Index: dm/DMCpuTask.h |
diff --git a/dm/DMCpuTask.h b/dm/DMCpuTask.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..998ed7ba4d13fec632597701c49f6cefaa4f211b |
--- /dev/null |
+++ b/dm/DMCpuTask.h |
@@ -0,0 +1,44 @@ |
+#ifndef DMCpuTask_DEFINED |
+#define DMCpuTask_DEFINED |
+ |
+#include "DMReporter.h" |
+#include "DMTask.h" |
+#include "DMTaskRunner.h" |
+#include "SkBitmap.h" |
+#include "SkString.h" |
+#include "SkTemplates.h" |
+#include "gm.h" |
+#include "gm_expectations.h" |
+ |
+// This is the main entry point for drawing GMs with the CPU. Commandline |
+// flags control whether this kicks off various comparison tasks when done. |
+// Currently: |
+// --replay: spawn a DMReplayTask to record into a picture, draw the picture, and compare. |
+ |
+namespace DM { |
+ |
+class CpuTask : public Task { |
+public: |
+ CpuTask(const char* name, |
+ Reporter*, |
+ TaskRunner*, |
+ const skiagm::ExpectationsSource&, |
+ skiagm::GMRegistry::Factory, |
+ SkBitmap::Config); |
+ |
+ virtual void draw() SK_OVERRIDE; |
+ virtual bool usesGpu() const SK_OVERRIDE { return false; } |
+ virtual bool shouldSkip() const SK_OVERRIDE; |
+ virtual SkString name() const SK_OVERRIDE { return fName; } |
+ |
+private: |
+ skiagm::GMRegistry::Factory fGMFactory; |
+ SkAutoTDelete<skiagm::GM> fGM; |
+ const SkString fName; |
+ const skiagm::Expectations fExpectations; |
+ const SkBitmap::Config fConfig; |
+}; |
+ |
+} // namespace DM |
+ |
+#endif // DMCpuTask_DEFINED |