1#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 14class SerializeTask : public CpuTask { 15 16public: 17 enum Mode { 18 kNormal_Mode, 19 kSkRecord_Mode, 20 }; 21 SerializeTask(const Task& parent, 22 skiagm::GM*, 23 SkBitmap reference, 24 Mode mode); 25 26 virtual void draw() SK_OVERRIDE; 27 virtual bool shouldSkip() const SK_OVERRIDE; 28 virtual SkString name() const SK_OVERRIDE { return fName; } 29 30private: 31 const Mode fMode; 32 const SkString fName; 33 SkAutoTDelete<skiagm::GM> fGM; 34 const SkBitmap fReference; 35}; 36 37} // namespace DM 38 39#endif // DMSerializeTask_DEFINED 40