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