aboutsummaryrefslogtreecommitdiffhomepage
path: root/dm/DMSrcSink.h
diff options
context:
space:
mode:
Diffstat (limited to 'dm/DMSrcSink.h')
-rw-r--r--dm/DMSrcSink.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/dm/DMSrcSink.h b/dm/DMSrcSink.h
index 1ad2eca79f..6cc5df690f 100644
--- a/dm/DMSrcSink.h
+++ b/dm/DMSrcSink.h
@@ -424,11 +424,22 @@ public:
Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override;
const char* fileExtension() const override { return "png"; }
SinkFlags flags() const override { return SinkFlags{ SinkFlags::kRaster, SinkFlags::kDirect }; }
-private:
+protected:
+ void allocPixels(const Src& src, SkBitmap*) const;
+
SkColorType fColorType;
sk_sp<SkColorSpace> fColorSpace;
};
+class ThreadedSink : public RasterSink {
+public:
+ explicit ThreadedSink(SkColorType, sk_sp<SkColorSpace> = nullptr);
+ Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override;
+
+private:
+ std::unique_ptr<SkExecutor> fExecutor;
+};
+
class SKPSink : public Sink {
public:
SKPSink();