blob: c1ee7152c9faac7c697be355787e4021ce97781c [file] [log] [blame]
mtklein@google.comd36522d2013-10-16 13:02:15 +00001#ifndef DMCpuTask_DEFINED
2#define DMCpuTask_DEFINED
3
commit-bot@chromium.org99589af2013-12-10 14:53:16 +00004#include "DMExpectations.h"
mtklein@google.comd36522d2013-10-16 13:02:15 +00005#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"
mtklein@google.comd36522d2013-10-16 13:02:15 +000012
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.
mtklein@google.comd36522d2013-10-16 13:02:15 +000015
16namespace DM {
17
18class CpuTask : public Task {
19public:
20 CpuTask(const char* name,
21 Reporter*,
22 TaskRunner*,
commit-bot@chromium.org99589af2013-12-10 14:53:16 +000023 const Expectations&,
mtklein@google.comd36522d2013-10-16 13:02:15 +000024 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
32private:
33 skiagm::GMRegistry::Factory fGMFactory;
34 SkAutoTDelete<skiagm::GM> fGM;
35 const SkString fName;
commit-bot@chromium.org99589af2013-12-10 14:53:16 +000036 const Expectations& fExpectations;
mtklein@google.comd36522d2013-10-16 13:02:15 +000037 const SkBitmap::Config fConfig;
38};
39
40} // namespace DM
41
42#endif // DMCpuTask_DEFINED