1#ifndef DMQuiltTask_DEFINED 2#define DMQuiltTask_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 SkPicture, draws it in tiles, and compares against the reference bitmap. 11 12namespace DM { 13 14class QuiltTask : public CpuTask { 15 16public: 17 QuiltTask(const Task& parent, // QuiltTask must be a child task. Pass its parent here. 18 skiagm::GM*, // GM to run through a picture. Takes ownership. 19 SkBitmap reference); // Bitmap to compare picture replay results to. 20 21 virtual void draw() SK_OVERRIDE; 22 virtual bool shouldSkip() const SK_OVERRIDE; 23 virtual SkString name() const SK_OVERRIDE { return fName; } 24 25private: 26 const SkString fName; 27 SkAutoTDelete<skiagm::GM> fGM; 28 const SkBitmap fReference; 29}; 30 31} // namespace DM 32 33#endif // DMReplayTask_DEFINED 34