• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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;
usesGpu()28     virtual bool usesGpu() const SK_OVERRIDE { return false; }
29     virtual bool shouldSkip() const SK_OVERRIDE;
name()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