Home | History | Annotate | Download | only in dm
      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