commit-bot@chromium.org | 90b5a2a | 2014-05-14 17:55:32 +0000 | [diff] [blame] | 1 | #include "DMSKPTask.h" |
| 2 | #include "DMUtil.h" |
| 3 | #include "DMWriteTask.h" |
| 4 | |
mtklein | 7373456 | 2014-06-24 12:28:34 -0700 | [diff] [blame] | 5 | #include "SkCommandLineFlags.h" |
| 6 | #include "SkPictureRecorder.h" |
| 7 | |
mtklein | 72ebb9f | 2014-08-07 14:27:03 -0700 | [diff] [blame] | 8 | DEFINE_int32(skpMaxWidth, 1000, "Max SKPTask viewport width."); |
| 9 | DEFINE_int32(skpMaxHeight, 1000, "Max SKPTask viewport height."); |
mtklein | 7373456 | 2014-06-24 12:28:34 -0700 | [diff] [blame] | 10 | |
commit-bot@chromium.org | 90b5a2a | 2014-05-14 17:55:32 +0000 | [diff] [blame] | 11 | namespace DM { |
| 12 | |
mtklein | 7373456 | 2014-06-24 12:28:34 -0700 | [diff] [blame] | 13 | SKPTask::SKPTask(Reporter* r, TaskRunner* tr, const SkPicture* pic, SkString filename) |
mtklein | e4d3e60 | 2014-06-06 09:28:43 -0700 | [diff] [blame] | 14 | : CpuTask(r, tr), fPicture(SkRef(pic)), fName(FileToTaskName(filename)) {} |
commit-bot@chromium.org | 90b5a2a | 2014-05-14 17:55:32 +0000 | [diff] [blame] | 15 | |
| 16 | void SKPTask::draw() { |
mtklein | 72ebb9f | 2014-08-07 14:27:03 -0700 | [diff] [blame] | 17 | const int width = SkTMin(fPicture->width(), FLAGS_skpMaxWidth), |
| 18 | height = SkTMin(fPicture->height(), FLAGS_skpMaxHeight); |
commit-bot@chromium.org | 90b5a2a | 2014-05-14 17:55:32 +0000 | [diff] [blame] | 19 | SkBitmap bitmap; |
mtklein | 72ebb9f | 2014-08-07 14:27:03 -0700 | [diff] [blame] | 20 | AllocatePixels(kN32_SkColorType, width, height, &bitmap); |
mtklein | 7373456 | 2014-06-24 12:28:34 -0700 | [diff] [blame] | 21 | DrawPicture(*fPicture, &bitmap); |
commit-bot@chromium.org | 90b5a2a | 2014-05-14 17:55:32 +0000 | [diff] [blame] | 22 | |
commit-bot@chromium.org | d6dcacd | 2014-05-14 20:26:00 +0000 | [diff] [blame] | 23 | this->spawnChild(SkNEW_ARGS(WriteTask, (*this, bitmap))); |
commit-bot@chromium.org | 90b5a2a | 2014-05-14 17:55:32 +0000 | [diff] [blame] | 24 | } |
| 25 | |
| 26 | } // namespace DM |