From 2cbb6662e329981840f90ef4edd62f70f69e6030 Mon Sep 17 00:00:00 2001 From: Matt Sarett Date: Thu, 27 Apr 2017 16:52:29 -0400 Subject: Only store width and height on SkPixelRef Bug: skia:6535 Change-Id: Id91e8d1e82f593be7d4b23ca5abde752f2666a77 Reviewed-on: https://skia-review.googlesource.com/14105 Commit-Queue: Matt Sarett Reviewed-by: Mike Reed --- src/image/SkSurface_Raster.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'src/image/SkSurface_Raster.cpp') diff --git a/src/image/SkSurface_Raster.cpp b/src/image/SkSurface_Raster.cpp index 2de1ed70d3..c4796c402f 100644 --- a/src/image/SkSurface_Raster.cpp +++ b/src/image/SkSurface_Raster.cpp @@ -20,7 +20,7 @@ public: SkSurface_Raster(const SkImageInfo&, void*, size_t rb, void (*releaseProc)(void* pixels, void* context), void* context, const SkSurfaceProps*); - SkSurface_Raster(sk_sp, const SkSurfaceProps*); + SkSurface_Raster(const SkImageInfo& info, sk_sp, const SkSurfaceProps*); SkCanvas* onNewCanvas() override; sk_sp onNewSurface(const SkImageInfo&) override; @@ -108,11 +108,10 @@ SkSurface_Raster::SkSurface_Raster(const SkImageInfo& info, void* pixels, size_t fWeOwnThePixels = false; // We are "Direct" } -SkSurface_Raster::SkSurface_Raster(sk_sp pr, const SkSurfaceProps* props) - : INHERITED(pr->info().width(), pr->info().height(), props) +SkSurface_Raster::SkSurface_Raster(const SkImageInfo& info, sk_sp pr, + const SkSurfaceProps* props) + : INHERITED(pr->width(), pr->height(), props) { - const SkImageInfo& info = pr->info(); - fBitmap.setInfo(info, pr->rowBytes()); fRowBytes = pr->rowBytes(); // we track this, so that subsequent re-allocs will match fBitmap.setPixelRef(std::move(pr), 0, 0); @@ -215,5 +214,5 @@ sk_sp SkSurface::MakeRaster(const SkImageInfo& info, size_t rowBytes, if (rowBytes) { SkASSERT(pr->rowBytes() == rowBytes); } - return sk_make_sp(std::move(pr), props); + return sk_make_sp(info, std::move(pr), props); } -- cgit v1.2.3