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 15namespace DM { 16 17class CpuGMTask : public CpuTask { 18public: 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 29private: 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