1e3ff558a4baf4cb924e7513a81c8073ddae385fccommit-bot@chromium.org#ifndef DMRecordTask_DEFINED 2e3ff558a4baf4cb924e7513a81c8073ddae385fccommit-bot@chromium.org#define DMRecordTask_DEFINED 3e3ff558a4baf4cb924e7513a81c8073ddae385fccommit-bot@chromium.org 4e3ff558a4baf4cb924e7513a81c8073ddae385fccommit-bot@chromium.org#include "DMTask.h" 5e3ff558a4baf4cb924e7513a81c8073ddae385fccommit-bot@chromium.org#include "SkBitmap.h" 690b5a2a653b312ff9bcd7102412da2dbeb52368ccommit-bot@chromium.org#include "SkPicture.h" 7e3ff558a4baf4cb924e7513a81c8073ddae385fccommit-bot@chromium.org#include "SkString.h" 8e3ff558a4baf4cb924e7513a81c8073ddae385fccommit-bot@chromium.org#include "SkTemplates.h" 9e3ff558a4baf4cb924e7513a81c8073ddae385fccommit-bot@chromium.org#include "gm.h" 10e3ff558a4baf4cb924e7513a81c8073ddae385fccommit-bot@chromium.org 1190b5a2a653b312ff9bcd7102412da2dbeb52368ccommit-bot@chromium.org// Records a GM or SKP through an SkRecord, draws it, and compares against the reference bitmap. 12e3ff558a4baf4cb924e7513a81c8073ddae385fccommit-bot@chromium.org 13e3ff558a4baf4cb924e7513a81c8073ddae385fccommit-bot@chromium.orgnamespace DM { 14e3ff558a4baf4cb924e7513a81c8073ddae385fccommit-bot@chromium.org 15e3ff558a4baf4cb924e7513a81c8073ddae385fccommit-bot@chromium.orgclass RecordTask : public CpuTask { 16e3ff558a4baf4cb924e7513a81c8073ddae385fccommit-bot@chromium.org 17e3ff558a4baf4cb924e7513a81c8073ddae385fccommit-bot@chromium.orgpublic: 1890b5a2a653b312ff9bcd7102412da2dbeb52368ccommit-bot@chromium.org enum Mode { 1990b5a2a653b312ff9bcd7102412da2dbeb52368ccommit-bot@chromium.org kNoOptimize_Mode, 2090b5a2a653b312ff9bcd7102412da2dbeb52368ccommit-bot@chromium.org kOptimize_Mode, 2190b5a2a653b312ff9bcd7102412da2dbeb52368ccommit-bot@chromium.org }; 2290b5a2a653b312ff9bcd7102412da2dbeb52368ccommit-bot@chromium.org RecordTask(const Task& parent, skiagm::GM*, SkBitmap reference, Mode); 2390b5a2a653b312ff9bcd7102412da2dbeb52368ccommit-bot@chromium.org RecordTask(const Task& parent, SkPicture*, SkBitmap reference, Mode); 24e3ff558a4baf4cb924e7513a81c8073ddae385fccommit-bot@chromium.org 25e3ff558a4baf4cb924e7513a81c8073ddae385fccommit-bot@chromium.org virtual void draw() SK_OVERRIDE; 26e3ff558a4baf4cb924e7513a81c8073ddae385fccommit-bot@chromium.org virtual bool shouldSkip() const SK_OVERRIDE; 27e3ff558a4baf4cb924e7513a81c8073ddae385fccommit-bot@chromium.org virtual SkString name() const SK_OVERRIDE { return fName; } 28e3ff558a4baf4cb924e7513a81c8073ddae385fccommit-bot@chromium.org 29e3ff558a4baf4cb924e7513a81c8073ddae385fccommit-bot@chromium.orgprivate: 3090b5a2a653b312ff9bcd7102412da2dbeb52368ccommit-bot@chromium.org bool fOptimize; 31e3ff558a4baf4cb924e7513a81c8073ddae385fccommit-bot@chromium.org const SkString fName; 3290b5a2a653b312ff9bcd7102412da2dbeb52368ccommit-bot@chromium.org SkAutoTUnref<SkPicture> fPicture; 33e3ff558a4baf4cb924e7513a81c8073ddae385fccommit-bot@chromium.org SkAutoTDelete<skiagm::GM> fGM; 34e3ff558a4baf4cb924e7513a81c8073ddae385fccommit-bot@chromium.org const SkBitmap fReference; 35e3ff558a4baf4cb924e7513a81c8073ddae385fccommit-bot@chromium.org}; 36e3ff558a4baf4cb924e7513a81c8073ddae385fccommit-bot@chromium.org 37e3ff558a4baf4cb924e7513a81c8073ddae385fccommit-bot@chromium.org} // namespace DM 38e3ff558a4baf4cb924e7513a81c8073ddae385fccommit-bot@chromium.org 39e3ff558a4baf4cb924e7513a81c8073ddae385fccommit-bot@chromium.org#endif // DMRecordTask_DEFINED 40