Home | History | Annotate | Download | only in dm
      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