ea65bfa8de
Ex. dm --match patch -w bad --key arch x86 gpu nvidia model z620 --properties git_hash abcd build_number 20 -> { "build_number" : "20", "git_hash" : "abcd", "key" : { "arch" : "x86", "gpu" : "nvidia", "model" : "z620" }, "results" : [ { "key" : { "config" : "565", "name" : "ninepatch-stretch" }, "md5" : "f78cfafcbabaf815f3dfcf61fb59acc7", "options" : { "source_type" : "GM" } }, { "key" : { "config" : "8888", "name" : "ninepatch-stretch" }, "md5" : "3e8a42f35a1e76f00caa191e6310d789", "options" : { "source_type" : "GM" } }, ... This breaks -r, but that's okay. Going to follow up this CL with one that removes that entirely. BUG=skia: R=stephana@google.com, jcgregorio@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/551873003
49 lines
1.3 KiB
C++
49 lines
1.3 KiB
C++
#ifndef DMWriteTask_DEFINED
|
|
#define DMWriteTask_DEFINED
|
|
|
|
#include "DMTask.h"
|
|
#include "SkBitmap.h"
|
|
#include "SkJSONCPP.h"
|
|
#include "SkStream.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.
|
|
const char* sourceType, // E.g. "GM", "SKP". For humans.
|
|
SkBitmap bitmap); // Bitmap to encode to PNG and write to disk.
|
|
|
|
// Takes ownership of SkStreamAsset
|
|
WriteTask(const Task& parent, // WriteTask must be a child task.
|
|
const char* sourceType, // E.g. "GM", "SKP". For humans.
|
|
SkStreamAsset* data, // Pre-encoded data to write to disk.
|
|
const char* ext); // File extension.
|
|
|
|
virtual void draw() SK_OVERRIDE;
|
|
virtual bool shouldSkip() const SK_OVERRIDE;
|
|
virtual SkString name() const SK_OVERRIDE;
|
|
|
|
static void DumpJson();
|
|
|
|
private:
|
|
SkTArray<SkString> fSuffixes;
|
|
const SkString fBaseName;
|
|
const SkString fSourceType;
|
|
const SkBitmap fBitmap;
|
|
SkAutoTDelete<SkStreamAsset> fData;
|
|
const char* fExtension;
|
|
|
|
void makeDirOrFail(SkString dir);
|
|
};
|
|
|
|
} // namespace DM
|
|
|
|
#endif // DMWriteTask_DEFINED
|