| OLD | NEW | 
|---|
| 1 #include "DMReplayTask.h" | 1 #include "DMReplayTask.h" | 
| 2 #include "DMWriteTask.h" | 2 #include "DMWriteTask.h" | 
| 3 #include "DMUtil.h" | 3 #include "DMUtil.h" | 
| 4 | 4 | 
| 5 #include "SkCommandLineFlags.h" | 5 #include "SkCommandLineFlags.h" | 
| 6 #include "SkPicture.h" | 6 #include "SkPicture.h" | 
| 7 #include "SkRTreePicture.h" | 7 #include "SkRTreePicture.h" | 
| 8 | 8 | 
| 9 DEFINE_bool(replay, true, "If true, run picture replay tests."); | 9 DEFINE_bool(replay, true, "If true, run picture replay tests."); | 
| 10 DEFINE_bool(rtree,  true, "If true, run picture replay tests with an rtree."); | 10 DEFINE_bool(rtree,  true, "If true, run picture replay tests with an rtree."); | 
| 11 | 11 | 
| 12 namespace DM { | 12 namespace DM { | 
| 13 | 13 | 
| 14 ReplayTask::ReplayTask(const Task& parent, | 14 ReplayTask::ReplayTask(const Task& parent, | 
| 15                        skiagm::GM* gm, | 15                        skiagm::GM* gm, | 
| 16                        SkBitmap reference, | 16                        SkBitmap reference, | 
| 17                        bool useRTree) | 17                        bool useRTree) | 
| 18     : CpuTask(parent) | 18     : CpuTask(parent) | 
| 19     , fName(UnderJoin(parent.name().c_str(), useRTree ? "rtree" : "replay")) | 19     , fName(UnderJoin(parent.name().c_str(), useRTree ? "rtree" : "replay")) | 
| 20     , fGM(gm) | 20     , fGM(gm) | 
| 21     , fReference(reference) | 21     , fReference(reference) | 
| 22     , fUseRTree(useRTree) | 22     , fUseRTree(useRTree) | 
| 23     {} | 23     {} | 
| 24 | 24 | 
| 25 void ReplayTask::draw() { | 25 void ReplayTask::draw() { | 
| 26     SkAutoTUnref<SkPictureFactory> factory; | 26     SkAutoTDelete<SkBBHFactory> factory; | 
| 27     if (fUseRTree) { | 27     if (fUseRTree) { | 
| 28         factory.reset(SkNEW(SkRTreePictureFactory)); | 28         factory.reset(SkNEW(SkRTreeFactory)); | 
| 29     } | 29     } | 
| 30     SkAutoTUnref<SkPicture> recorded(RecordPicture(fGM.get(), 0, factory)); | 30     SkAutoTUnref<SkPicture> recorded(RecordPicture(fGM.get(), 0, factory.get()))
    ; | 
| 31 | 31 | 
| 32     SkBitmap bitmap; | 32     SkBitmap bitmap; | 
| 33     SetupBitmap(fReference.colorType(), fGM.get(), &bitmap); | 33     SetupBitmap(fReference.colorType(), fGM.get(), &bitmap); | 
| 34     DrawPicture(recorded, &bitmap); | 34     DrawPicture(recorded, &bitmap); | 
| 35     if (!BitmapsEqual(bitmap, fReference)) { | 35     if (!BitmapsEqual(bitmap, fReference)) { | 
| 36         this->fail(); | 36         this->fail(); | 
| 37         this->spawnChild(SkNEW_ARGS(WriteTask, (*this, bitmap))); | 37         this->spawnChild(SkNEW_ARGS(WriteTask, (*this, bitmap))); | 
| 38     } | 38     } | 
| 39 } | 39 } | 
| 40 | 40 | 
| 41 bool ReplayTask::shouldSkip() const { | 41 bool ReplayTask::shouldSkip() const { | 
| 42     if (fGM->getFlags() & skiagm::GM::kSkipPicture_Flag) { | 42     if (fGM->getFlags() & skiagm::GM::kSkipPicture_Flag) { | 
| 43         return true; | 43         return true; | 
| 44     } | 44     } | 
| 45 | 45 | 
| 46     if (FLAGS_rtree && fUseRTree) { | 46     if (FLAGS_rtree && fUseRTree) { | 
| 47         return (fGM->getFlags() & skiagm::GM::kSkipTiled_Flag) != 0; | 47         return (fGM->getFlags() & skiagm::GM::kSkipTiled_Flag) != 0; | 
| 48     } | 48     } | 
| 49     if (FLAGS_replay && !fUseRTree) { | 49     if (FLAGS_replay && !fUseRTree) { | 
| 50         return false; | 50         return false; | 
| 51     } | 51     } | 
| 52     return true; | 52     return true; | 
| 53 } | 53 } | 
| 54 | 54 | 
| 55 }  // namespace DM | 55 }  // namespace DM | 
| OLD | NEW | 
|---|