blob: 968dd27c25e2cc9a626db7e7c94bdf16c51685e1 [file] [log] [blame]
commit-bot@chromium.orgef57b7e2014-02-28 20:31:31 +00001#ifndef DMCpuGMTask_DEFINED
2#define DMCpuGMTask_DEFINED
mtklein@google.comd36522d2013-10-16 13:02:15 +00003
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
commit-bot@chromium.orgef57b7e2014-02-28 20:31:31 +000018class CpuGMTask : public CpuTask {
mtklein@google.comd36522d2013-10-16 13:02:15 +000019public:
commit-bot@chromium.orgef57b7e2014-02-28 20:31:31 +000020 CpuGMTask(const char* config,
21 Reporter*,
22 TaskRunner*,
commit-bot@chromium.orgef57b7e2014-02-28 20:31:31 +000023 skiagm::GMRegistry::Factory,
mtkleine4d3e602014-06-06 09:28:43 -070024 const Expectations&,
commit-bot@chromium.orgef57b7e2014-02-28 20:31:31 +000025 SkColorType);
mtklein@google.comd36522d2013-10-16 13:02:15 +000026
27 virtual void draw() SK_OVERRIDE;
mtklein@google.comd36522d2013-10-16 13:02:15 +000028 virtual bool shouldSkip() const SK_OVERRIDE;
29 virtual SkString name() const SK_OVERRIDE { return fName; }
30
31private:
32 skiagm::GMRegistry::Factory fGMFactory;
33 SkAutoTDelete<skiagm::GM> fGM;
34 const SkString fName;
commit-bot@chromium.org99589af2013-12-10 14:53:16 +000035 const Expectations& fExpectations;
commit-bot@chromium.org15a14052014-02-16 00:59:25 +000036 const SkColorType fColorType;
mtklein@google.comd36522d2013-10-16 13:02:15 +000037};
38
39} // namespace DM
40
commit-bot@chromium.orgef57b7e2014-02-28 20:31:31 +000041#endif // DMCpuGMTask_DEFINED