diff options
author | reed <reed@google.com> | 2014-10-29 12:36:45 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-10-29 12:36:45 -0700 |
commit | 89889b69391a730f0ba2a1efb549864b7762263f (patch) | |
tree | 85e8cb00c41ae79cf4a693491138acd7853b0dfb /include/core/SkMultiPictureDraw.h | |
parent | 8f3937d9fcb28018ec14db6697d41b645716d589 (diff) |
MultiPictureDraw is taskgroup aware.
SampleApp is multipicturedraw aware.
BUG=skia:
Review URL: https://codereview.chromium.org/684923002
Diffstat (limited to 'include/core/SkMultiPictureDraw.h')
-rw-r--r-- | include/core/SkMultiPictureDraw.h | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/include/core/SkMultiPictureDraw.h b/include/core/SkMultiPictureDraw.h index d8d9cb7ecd..461d38136b 100644 --- a/include/core/SkMultiPictureDraw.h +++ b/include/core/SkMultiPictureDraw.h @@ -56,13 +56,23 @@ public: private: struct DrawData { - SkCanvas* canvas; // reffed - const SkPicture* picture; // reffed - SkMatrix matrix; - SkPaint* paint; // owned + SkCanvas* fCanvas; // reffed + const SkPicture* fPicture; // reffed + SkMatrix fMatrix; + SkPaint* fPaint; // owned + + void init(SkCanvas*, const SkPicture*, const SkMatrix*, const SkPaint*); + void draw(); + + static void Reset(SkTDArray<DrawData>&); + + static void Run(void* ctx) { + static_cast<DrawData*>(ctx)->draw(); + } }; - SkTDArray<DrawData> fDrawData; + SkTDArray<DrawData> fThreadSafeDrawData; + SkTDArray<DrawData> fGPUDrawData; }; #endif |