190b5a2a653b312ff9bcd7102412da2dbeb52368ccommit-bot@chromium.org#include "DMSKPTask.h" 290b5a2a653b312ff9bcd7102412da2dbeb52368ccommit-bot@chromium.org#include "DMUtil.h" 390b5a2a653b312ff9bcd7102412da2dbeb52368ccommit-bot@chromium.org#include "DMWriteTask.h" 490b5a2a653b312ff9bcd7102412da2dbeb52368ccommit-bot@chromium.org 57373456679b809d4e7649a438f0fe5b59257e4e5mtklein#include "SkCommandLineFlags.h" 67373456679b809d4e7649a438f0fe5b59257e4e5mtklein#include "SkPictureRecorder.h" 77373456679b809d4e7649a438f0fe5b59257e4e5mtklein 872ebb9f1dc1ed4d64127b02fed93446b278069d1mtkleinDEFINE_int32(skpMaxWidth, 1000, "Max SKPTask viewport width."); 972ebb9f1dc1ed4d64127b02fed93446b278069d1mtkleinDEFINE_int32(skpMaxHeight, 1000, "Max SKPTask viewport height."); 107373456679b809d4e7649a438f0fe5b59257e4e5mtklein 1190b5a2a653b312ff9bcd7102412da2dbeb52368ccommit-bot@chromium.orgnamespace DM { 1290b5a2a653b312ff9bcd7102412da2dbeb52368ccommit-bot@chromium.org 1323c94f05cad79f6f8d303c1b4ffb6d0b91671e83mtkleinSKPTask::SKPTask(Reporter* r, 1423c94f05cad79f6f8d303c1b4ffb6d0b91671e83mtklein TaskRunner* tr, 1523c94f05cad79f6f8d303c1b4ffb6d0b91671e83mtklein const SkPicture* pic, 1623c94f05cad79f6f8d303c1b4ffb6d0b91671e83mtklein SkString filename) 1723c94f05cad79f6f8d303c1b4ffb6d0b91671e83mtklein : CpuTask(r, tr) 1823c94f05cad79f6f8d303c1b4ffb6d0b91671e83mtklein , fPicture(SkRef(pic)) 1923c94f05cad79f6f8d303c1b4ffb6d0b91671e83mtklein , fName(FileToTaskName(filename)) {} 2090b5a2a653b312ff9bcd7102412da2dbeb52368ccommit-bot@chromium.org 2190b5a2a653b312ff9bcd7102412da2dbeb52368ccommit-bot@chromium.orgvoid SKPTask::draw() { 22a8d7f0b13cd4c6d773fcf055fe17db75d260fa05robertphillips const int width = SkTMin(SkScalarCeilToInt(fPicture->cullRect().width()), FLAGS_skpMaxWidth), 23a8d7f0b13cd4c6d773fcf055fe17db75d260fa05robertphillips height = SkTMin(SkScalarCeilToInt(fPicture->cullRect().height()), FLAGS_skpMaxHeight); 2490b5a2a653b312ff9bcd7102412da2dbeb52368ccommit-bot@chromium.org SkBitmap bitmap; 2572ebb9f1dc1ed4d64127b02fed93446b278069d1mtklein AllocatePixels(kN32_SkColorType, width, height, &bitmap); 267373456679b809d4e7649a438f0fe5b59257e4e5mtklein DrawPicture(*fPicture, &bitmap); 2790b5a2a653b312ff9bcd7102412da2dbeb52368ccommit-bot@chromium.org 28ea65bfa8ded918b908287e3e3474aaf5cbd12feamtklein this->spawnChild(SkNEW_ARGS(WriteTask, (*this, "SKP", bitmap))); 2990b5a2a653b312ff9bcd7102412da2dbeb52368ccommit-bot@chromium.org} 3090b5a2a653b312ff9bcd7102412da2dbeb52368ccommit-bot@chromium.org 3190b5a2a653b312ff9bcd7102412da2dbeb52368ccommit-bot@chromium.org} // namespace DM 32