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