blob: c840d278fa4d78fd16faceb1f2651ea64c392cd0 [file] [log] [blame]
commit-bot@chromium.org192cbf62013-10-21 18:40:25 +00001#ifndef DMSerializeTask_DEFINED
2#define DMSerializeTask_DEFINED
3
4#include "DMTask.h"
5#include "SkBitmap.h"
6#include "SkString.h"
7#include "SkTemplates.h"
8#include "gm.h"
9
10// Record a picture, serialize it, deserialize it, then draw it and compare to reference bitmap.
11
12namespace DM {
13
commit-bot@chromium.orgef57b7e2014-02-28 20:31:31 +000014class SerializeTask : public CpuTask {
commit-bot@chromium.org192cbf62013-10-21 18:40:25 +000015
16public:
mtkleina9ceaf52014-09-29 08:44:46 -070017 SerializeTask(const Task& parent, skiagm::GM*, SkBitmap reference);
commit-bot@chromium.org192cbf62013-10-21 18:40:25 +000018
19 virtual void draw() SK_OVERRIDE;
commit-bot@chromium.org192cbf62013-10-21 18:40:25 +000020 virtual bool shouldSkip() const SK_OVERRIDE;
21 virtual SkString name() const SK_OVERRIDE { return fName; }
22
23private:
commit-bot@chromium.org192cbf62013-10-21 18:40:25 +000024 const SkString fName;
25 SkAutoTDelete<skiagm::GM> fGM;
26 const SkBitmap fReference;
27};
28
29} // namespace DM
30
31#endif // DMSerializeTask_DEFINED