| #ifndef DMWriteTask_DEFINED |
| #define DMWriteTask_DEFINED |
| |
| #include "DMExpectations.h" |
| #include "DMTask.h" |
| #include "SkBitmap.h" |
| #include "SkString.h" |
| #include "SkTArray.h" |
| |
| |
| // Writes a bitmap to a file. |
| |
| namespace DM { |
| |
| class WriteTask : public Task { |
| |
| public: |
| WriteTask(const Task& parent, // WriteTask must be a child Task. Pass its parent here. |
| SkBitmap bitmap); // Bitmap to write. |
| |
| virtual void draw() SK_OVERRIDE; |
| virtual bool usesGpu() const SK_OVERRIDE { return false; } |
| virtual bool shouldSkip() const SK_OVERRIDE; |
| virtual SkString name() const SK_OVERRIDE; |
| |
| // Reads image files WriteTask wrote under root and compares them with bitmap. |
| class Expectations : public DM::Expectations { |
| public: |
| explicit Expectations(const char* root) : fRoot(root) {} |
| |
| bool check(const Task& task, SkBitmap bitmap) const SK_OVERRIDE; |
| private: |
| const char* fRoot; |
| }; |
| |
| private: |
| SkTArray<SkString> fSuffixes; |
| SkString fGmName; |
| const SkBitmap fBitmap; |
| |
| void makeDirOrFail(SkString dir); |
| }; |
| |
| } // namespace DM |
| |
| #endif // DMWriteTask_DEFINED |