1 #ifndef DMCpuTask_DEFINED 2 #define DMCpuTask_DEFINED 3 4 #include "DMExpectations.h" 5 #include "DMReporter.h" 6 #include "DMTask.h" 7 #include "DMTaskRunner.h" 8 #include "SkBitmap.h" 9 #include "SkString.h" 10 #include "SkTemplates.h" 11 #include "gm.h" 12 13 // This is the main entry point for drawing GMs with the CPU. Commandline 14 // flags control whether this kicks off various comparison tasks when done. 15 16 namespace DM { 17 18 class CpuTask : public Task { 19 public: 20 CpuTask(const char* name, 21 Reporter*, 22 TaskRunner*, 23 const Expectations&, 24 skiagm::GMRegistry::Factory, 25 SkBitmap::Config); 26 27 virtual void draw() SK_OVERRIDE; 28 virtual bool usesGpu() const SK_OVERRIDE { return false; } 29 virtual bool shouldSkip() const SK_OVERRIDE; 30 virtual SkString name() const SK_OVERRIDE { return fName; } 31 32 private: 33 skiagm::GMRegistry::Factory fGMFactory; 34 SkAutoTDelete<skiagm::GM> fGM; 35 const SkString fName; 36 const Expectations& fExpectations; 37 const SkBitmap::Config fConfig; 38 }; 39 40 } // namespace DM 41 42 #endif // DMCpuTask_DEFINED 43