зеркало из https://github.com/mozilla/moz-skia.git
46 строки
1.0 KiB
C++
46 строки
1.0 KiB
C++
#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 CpuTask {
|
|
|
|
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 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
|