aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/effects/SkLayerRasterizer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/effects/SkLayerRasterizer.cpp')
-rw-r--r--src/effects/SkLayerRasterizer.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/effects/SkLayerRasterizer.cpp b/src/effects/SkLayerRasterizer.cpp
index 8403d06147..d3e112c3a4 100644
--- a/src/effects/SkLayerRasterizer.cpp
+++ b/src/effects/SkLayerRasterizer.cpp
@@ -116,12 +116,9 @@ bool SkLayerRasterizer::onRasterize(const SkPath& path, const SkMatrix& matrix,
}
if (SkMask::kJustComputeBounds_CreateMode != mode) {
- SkDraw draw;
- if (!draw.fDst.reset(*mask)) {
- return false;
- }
-
+ SkBitmap device;
SkRasterClip rectClip;
+ SkDraw draw;
SkMatrix translatedMatrix; // this translates us to our local pixels
SkMatrix drawMatrix; // this translates the path by each layer's offset
@@ -131,6 +128,9 @@ bool SkLayerRasterizer::onRasterize(const SkPath& path, const SkMatrix& matrix,
translatedMatrix.postTranslate(-SkIntToScalar(mask->fBounds.fLeft),
-SkIntToScalar(mask->fBounds.fTop));
+ device.installMaskPixels(*mask);
+
+ draw.fBitmap = &device;
draw.fMatrix = &drawMatrix;
draw.fRC = &rectClip;
draw.fClip = &rectClip.bwRgn();