OLD | NEW |
1 #include "DMTask.h" | 1 #include "DMTask.h" |
2 | 2 |
3 #include "DMTaskRunner.h" | 3 #include "DMTaskRunner.h" |
4 #include "DMUtil.h" | 4 #include "DMUtil.h" |
5 #include "SkBitmap.h" | 5 #include "SkBitmap.h" |
6 #include "SkCommandLineFlags.h" | 6 #include "SkCommandLineFlags.h" |
7 | 7 |
8 namespace DM { | 8 namespace DM { |
9 | 9 |
10 Task::Task(Reporter* reporter, TaskRunner* taskRunner) | 10 Task::Task(Reporter* reporter, TaskRunner* taskRunner) |
11 : fReporter(reporter), fTaskRunner(taskRunner) { | 11 : fReporter(reporter), fTaskRunner(taskRunner), fDepth(0) { |
12 fReporter->start(); | 12 fReporter->start(); |
13 } | 13 } |
14 | 14 |
15 Task::Task(const Task& that) | 15 Task::Task(const Task& parent) |
16 : INHERITED(that) | 16 : INHERITED(parent) |
17 , fReporter(that.fReporter) | 17 , fReporter(parent.fReporter) |
18 , fTaskRunner(that.fTaskRunner) { | 18 , fTaskRunner(parent.fTaskRunner) |
| 19 , fDepth(parent.depth()+1) { |
19 fReporter->start(); | 20 fReporter->start(); |
20 } | 21 } |
21 | 22 |
22 Task::~Task() {} | 23 Task::~Task() {} |
23 | 24 |
24 void Task::run() { | 25 void Task::run() { |
25 if (!this->shouldSkip()) { | 26 if (!this->shouldSkip()) { |
26 this->draw(); | 27 this->draw(); |
27 } | 28 } |
28 fReporter->finish(); | 29 fReporter->finish(); |
29 fReporter->updateStatusLine(); | 30 fReporter->updateStatusLine(); |
30 delete this; | 31 delete this; |
31 } | 32 } |
32 | 33 |
33 void Task::spawnChild(Task* task) { | 34 void Task::spawnChild(Task* task) { |
34 if (!task->usesGpu()) { | 35 if (!task->usesGpu()) { |
35 fTaskRunner->add(task); | 36 fTaskRunner->add(task); |
36 } else { | 37 } else { |
37 SkDEBUGFAIL("Sorry, we can't spawn GPU tasks. :( See comment in TaskRun
ner::wait()."); | 38 SkDEBUGFAIL("Sorry, we can't spawn GPU tasks. :( See comment in TaskRun
ner::wait()."); |
38 } | 39 } |
39 } | 40 } |
40 | 41 |
41 void Task::fail() { | 42 void Task::fail() { |
42 fReporter->fail(this->name()); | 43 fReporter->fail(this->name()); |
43 } | 44 } |
44 | 45 |
45 } // namespace DM | 46 } // namespace DM |
OLD | NEW |