• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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;
name()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