1 #ifndef DMTileGridTask_DEFINED 2 #define DMTileGridTask_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 12 namespace DM { 13 14 class TileGridTask : public Task { 15 16 public: 17 TileGridTask(const Task& parent, // TileGridTask 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 SkISize tileSize); // Tile size to use. 21 22 virtual void draw() SK_OVERRIDE; 23 virtual bool usesGpu() const SK_OVERRIDE { return false; } 24 virtual bool shouldSkip() const SK_OVERRIDE; 25 virtual SkString name() const SK_OVERRIDE { return fName; } 26 27 private: 28 const SkString fName; 29 SkAutoTDelete<skiagm::GM> fGM; 30 const SkBitmap fReference; 31 const SkISize fTileSize; 32 }; 33 34 } // namespace DM 35 36 #endif // DMReplayTask_DEFINED 37