| Index: dm/DMSKPTask.cpp
|
| diff --git a/dm/DMSKPTask.cpp b/dm/DMSKPTask.cpp
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d633594ffc594e892f2d76dd53676ef5061078a5
|
| --- /dev/null
|
| +++ b/dm/DMSKPTask.cpp
|
| @@ -0,0 +1,31 @@
|
| +#include "DMSKPTask.h"
|
| +#include "DMUtil.h"
|
| +#include "DMWriteTask.h"
|
| +
|
| +#include "SkCommandLineFlags.h"
|
| +#include "SkPictureRecorder.h"
|
| +
|
| +DEFINE_int32(skpMaxWidth, 1000, "Max SKPTask viewport width.");
|
| +DEFINE_int32(skpMaxHeight, 1000, "Max SKPTask viewport height.");
|
| +
|
| +namespace DM {
|
| +
|
| +SKPTask::SKPTask(Reporter* r,
|
| + TaskRunner* tr,
|
| + const SkPicture* pic,
|
| + SkString filename)
|
| + : CpuTask(r, tr)
|
| + , fPicture(SkRef(pic))
|
| + , fName(FileToTaskName(filename)) {}
|
| +
|
| +void SKPTask::draw() {
|
| + const int width = SkTMin(SkScalarCeilToInt(fPicture->cullRect().width()), FLAGS_skpMaxWidth),
|
| + height = SkTMin(SkScalarCeilToInt(fPicture->cullRect().height()), FLAGS_skpMaxHeight);
|
| + SkBitmap bitmap;
|
| + AllocatePixels(kN32_SkColorType, width, height, &bitmap);
|
| + DrawPicture(*fPicture, &bitmap);
|
| +
|
| + this->spawnChild(SkNEW_ARGS(WriteTask, (*this, "SKP", bitmap)));
|
| +}
|
| +
|
| +} // namespace DM
|
|
|