blob: 94ac412e4246f049de4eb25ecc694c5aac6381da [file] [log] [blame]
commit-bot@chromium.orge3ff5582014-04-01 16:24:06 +00001#ifndef DMRecordTask_DEFINED
2#define DMRecordTask_DEFINED
3
4#include "DMTask.h"
5#include "SkBitmap.h"
6#include "SkString.h"
7#include "SkTemplates.h"
8#include "gm.h"
9
10// Records a GM through an SkRecord, draws it, and compares against the reference bitmap.
11
12namespace DM {
13
14class RecordTask : public CpuTask {
15
16public:
commit-bot@chromium.org93043bc2014-05-06 19:48:02 +000017 RecordTask(const Task& parent, skiagm::GM*, SkBitmap reference, bool optimize);
commit-bot@chromium.orge3ff5582014-04-01 16:24:06 +000018
19 virtual void draw() SK_OVERRIDE;
20 virtual bool shouldSkip() const SK_OVERRIDE;
21 virtual SkString name() const SK_OVERRIDE { return fName; }
22
23private:
24 const SkString fName;
25 SkAutoTDelete<skiagm::GM> fGM;
26 const SkBitmap fReference;
commit-bot@chromium.org93043bc2014-05-06 19:48:02 +000027 bool fOptimize;
commit-bot@chromium.orge3ff5582014-04-01 16:24:06 +000028};
29
30} // namespace DM
31
32#endif // DMRecordTask_DEFINED