blob: 6a96373f72d274d7fd087631d5e4a4bf8bb72479 [file] [log] [blame]
mtklein@google.comd36522d2013-10-16 13:02:15 +00001#ifndef DMReplayTask_DEFINED
2#define DMReplayTask_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#include "gm_expectations.h"
12
commit-bot@chromium.org66bb3d12013-10-16 19:13:38 +000013// Records a GM through an SkPicture, draws it, and compares against the reference bitmap.
mtklein@google.comd36522d2013-10-16 13:02:15 +000014
15namespace DM {
16
17class ReplayTask : public Task {
18
19public:
20 ReplayTask(const char* name,
21 const Task& parent,
22 skiagm::GM*,
commit-bot@chromium.org66bb3d12013-10-16 19:13:38 +000023 SkBitmap reference);
mtklein@google.comd36522d2013-10-16 13:02:15 +000024
25 virtual void draw() SK_OVERRIDE;
26 virtual bool usesGpu() const SK_OVERRIDE { return false; }
27 virtual bool shouldSkip() const SK_OVERRIDE;
28 virtual SkString name() const SK_OVERRIDE { return fName; }
29
30private:
31 const SkString fName;
32 SkAutoTDelete<skiagm::GM> fGM;
commit-bot@chromium.org66bb3d12013-10-16 19:13:38 +000033 const SkBitmap fReference;
mtklein@google.comd36522d2013-10-16 13:02:15 +000034};
35
36} // namespace DM
37
38#endif // DMReplayTask_DEFINED