Home | History | Annotate | Download | only in dm
      1 #ifndef DMCpuGMTask_DEFINED
      2 #define DMCpuGMTask_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 CpuGMTask : public CpuTask {
     19 public:
     20     CpuGMTask(const char* config,
     21               Reporter*,
     22               TaskRunner*,
     23               skiagm::GMRegistry::Factory,
     24               const Expectations&,
     25               SkColorType);
     26 
     27     virtual void draw() SK_OVERRIDE;
     28     virtual bool shouldSkip() const SK_OVERRIDE;
     29     virtual SkString name() const SK_OVERRIDE { return fName; }
     30 
     31 private:
     32     skiagm::GMRegistry::Factory fGMFactory;
     33     SkAutoTDelete<skiagm::GM> fGM;
     34     const SkString fName;
     35     const Expectations& fExpectations;
     36     const SkColorType fColorType;
     37 };
     38 
     39 }  // namespace DM
     40 
     41 #endif // DMCpuGMTask_DEFINED
     42