aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/core/SkMultiPictureDraw.h
diff options
context:
space:
mode:
authorGravatar reed <reed@google.com>2014-10-29 12:36:45 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2014-10-29 12:36:45 -0700
commit89889b69391a730f0ba2a1efb549864b7762263f (patch)
tree85e8cb00c41ae79cf4a693491138acd7853b0dfb /include/core/SkMultiPictureDraw.h
parent8f3937d9fcb28018ec14db6697d41b645716d589 (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.h20
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