1192cbf67b281b20477320134962d554ed823c691commit-bot@chromium.org#ifndef DMSerializeTask_DEFINED 2192cbf67b281b20477320134962d554ed823c691commit-bot@chromium.org#define DMSerializeTask_DEFINED 3192cbf67b281b20477320134962d554ed823c691commit-bot@chromium.org 4192cbf67b281b20477320134962d554ed823c691commit-bot@chromium.org#include "DMTask.h" 5192cbf67b281b20477320134962d554ed823c691commit-bot@chromium.org#include "SkBitmap.h" 6192cbf67b281b20477320134962d554ed823c691commit-bot@chromium.org#include "SkString.h" 7192cbf67b281b20477320134962d554ed823c691commit-bot@chromium.org#include "SkTemplates.h" 8192cbf67b281b20477320134962d554ed823c691commit-bot@chromium.org#include "gm.h" 9192cbf67b281b20477320134962d554ed823c691commit-bot@chromium.org 10192cbf67b281b20477320134962d554ed823c691commit-bot@chromium.org// Record a picture, serialize it, deserialize it, then draw it and compare to reference bitmap. 11192cbf67b281b20477320134962d554ed823c691commit-bot@chromium.org 12192cbf67b281b20477320134962d554ed823c691commit-bot@chromium.orgnamespace DM { 13192cbf67b281b20477320134962d554ed823c691commit-bot@chromium.org 14ef57b7e65330d5f794a513630517907500f1c1d0commit-bot@chromium.orgclass SerializeTask : public CpuTask { 15192cbf67b281b20477320134962d554ed823c691commit-bot@chromium.org 16192cbf67b281b20477320134962d554ed823c691commit-bot@chromium.orgpublic: 177373456679b809d4e7649a438f0fe5b59257e4e5mtklein enum Mode { 187373456679b809d4e7649a438f0fe5b59257e4e5mtklein kNormal_Mode, 197373456679b809d4e7649a438f0fe5b59257e4e5mtklein kSkRecord_Mode, 207373456679b809d4e7649a438f0fe5b59257e4e5mtklein }; 21192cbf67b281b20477320134962d554ed823c691commit-bot@chromium.org SerializeTask(const Task& parent, 22192cbf67b281b20477320134962d554ed823c691commit-bot@chromium.org skiagm::GM*, 237373456679b809d4e7649a438f0fe5b59257e4e5mtklein SkBitmap reference, 247373456679b809d4e7649a438f0fe5b59257e4e5mtklein Mode mode); 25192cbf67b281b20477320134962d554ed823c691commit-bot@chromium.org 26192cbf67b281b20477320134962d554ed823c691commit-bot@chromium.org virtual void draw() SK_OVERRIDE; 27192cbf67b281b20477320134962d554ed823c691commit-bot@chromium.org virtual bool shouldSkip() const SK_OVERRIDE; 28192cbf67b281b20477320134962d554ed823c691commit-bot@chromium.org virtual SkString name() const SK_OVERRIDE { return fName; } 29192cbf67b281b20477320134962d554ed823c691commit-bot@chromium.org 30192cbf67b281b20477320134962d554ed823c691commit-bot@chromium.orgprivate: 317373456679b809d4e7649a438f0fe5b59257e4e5mtklein const Mode fMode; 32192cbf67b281b20477320134962d554ed823c691commit-bot@chromium.org const SkString fName; 33192cbf67b281b20477320134962d554ed823c691commit-bot@chromium.org SkAutoTDelete<skiagm::GM> fGM; 34192cbf67b281b20477320134962d554ed823c691commit-bot@chromium.org const SkBitmap fReference; 35192cbf67b281b20477320134962d554ed823c691commit-bot@chromium.org}; 36192cbf67b281b20477320134962d554ed823c691commit-bot@chromium.org 37192cbf67b281b20477320134962d554ed823c691commit-bot@chromium.org} // namespace DM 38192cbf67b281b20477320134962d554ed823c691commit-bot@chromium.org 39192cbf67b281b20477320134962d554ed823c691commit-bot@chromium.org#endif // DMSerializeTask_DEFINED 40