Home | History | Annotate | Download | only in dm
      1 #ifndef DMGpuGMTask_DEFINED
      2 #define DMGpuGMTask_DEFINED
      3 
      4 #include "DMExpectations.h"
      5 #include "DMGpuSupport.h"
      6 #include "DMReporter.h"
      7 #include "DMTask.h"
      8 #include "DMTaskRunner.h"
      9 #include "SkBitmap.h"
     10 #include "SkString.h"
     11 #include "SkTemplates.h"
     12 #include "gm.h"
     13 
     14 // This is the main entry point for drawing GMs with the GPU.
     15 
     16 namespace DM {
     17 
     18 class GpuGMTask : public GpuTask {
     19 public:
     20     GpuGMTask(const char* config,
     21               Reporter*,
     22               TaskRunner*,
     23               skiagm::GMRegistry::Factory,
     24               const Expectations&,
     25               GrContextFactory::GLContextType,
     26               int sampleCount);
     27 
     28     virtual void draw(GrContextFactory*) SK_OVERRIDE;
     29     virtual bool shouldSkip() const SK_OVERRIDE;
     30     virtual SkString name() const SK_OVERRIDE { return fName; }
     31 
     32 private:
     33     SkAutoTDelete<skiagm::GM> fGM;
     34     const SkString fName;
     35     const Expectations& fExpectations;
     36     const GrContextFactory::GLContextType fContextType;
     37     const int fSampleCount;
     38 };
     39 
     40 }  // namespace DM
     41 
     42 #endif  // DMGpuGMTask_DEFINED
     43