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