aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/image/SkSurface_Raster.cpp
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2018-02-08 14:10:40 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-02-08 19:34:50 +0000
commit4c790bd7dd8a6edacfc39b65b7043742331ab4da (patch)
tree1d66da0bfa6b7627315388b0d3f712897ea03bbd /src/image/SkSurface_Raster.cpp
parentb9fc24e465767db8bd9dbddfd67c905392346e66 (diff)
add writePixels to SkSurface --> so we can remove it from canvas
Bug: skia: Change-Id: Ib35d7bdc113c3fd9f6dfacb42ec61aaa448cb165 Reviewed-on: https://skia-review.googlesource.com/105623 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src/image/SkSurface_Raster.cpp')
-rw-r--r--src/image/SkSurface_Raster.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/image/SkSurface_Raster.cpp b/src/image/SkSurface_Raster.cpp
index fab75ed817..c430ad90b0 100644
--- a/src/image/SkSurface_Raster.cpp
+++ b/src/image/SkSurface_Raster.cpp
@@ -22,6 +22,7 @@ public:
SkCanvas* onNewCanvas() override;
sk_sp<SkSurface> onNewSurface(const SkImageInfo&) override;
sk_sp<SkImage> onNewImageSnapshot() override;
+ void onWritePixels(const SkPixmap&, int x, int y) override;
void onDraw(SkCanvas*, SkScalar x, SkScalar y, const SkPaint*) override;
void onCopyOnWrite(ContentChangeMode) override;
void onRestoreBackingMutability() override;
@@ -147,6 +148,10 @@ sk_sp<SkImage> SkSurface_Raster::onNewImageSnapshot() {
return SkMakeImageFromRasterBitmap(fBitmap, cpm);
}
+void SkSurface_Raster::onWritePixels(const SkPixmap& src, int x, int y) {
+ fBitmap.writePixels(src, x, y);
+}
+
void SkSurface_Raster::onRestoreBackingMutability() {
SkASSERT(!this->hasCachedImage()); // Shouldn't be any snapshots out there.
if (SkPixelRef* pr = fBitmap.pixelRef()) {