aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrAADistanceFieldPathRenderer.cpp
diff options
context:
space:
mode:
authorGravatar reed <reed@google.com>2015-06-08 10:47:12 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-06-08 10:47:13 -0700
commitc31af44336f5eb4a50e83e76e51962d46c3ed458 (patch)
tree244dcbfbeb638de8da65980dd59707ee323c5d24 /src/gpu/GrAADistanceFieldPathRenderer.cpp
parent77dcbdeb19d26e52428e392fca0ec9a72658b746 (diff)
change SkDraw and all Blitters to use pixmap instead of bitmap
Diffstat (limited to 'src/gpu/GrAADistanceFieldPathRenderer.cpp')
-rwxr-xr-xsrc/gpu/GrAADistanceFieldPathRenderer.cpp22
1 files changed, 8 insertions, 14 deletions
diff --git a/src/gpu/GrAADistanceFieldPathRenderer.cpp b/src/gpu/GrAADistanceFieldPathRenderer.cpp
index 21fbcb37fb..3c7648aae3 100755
--- a/src/gpu/GrAADistanceFieldPathRenderer.cpp
+++ b/src/gpu/GrAADistanceFieldPathRenderer.cpp
@@ -354,14 +354,12 @@ private:
SkIRect pathBounds = SkIRect::MakeWH(devPathBounds.width(),
devPathBounds.height());
- SkBitmap bmp;
- const SkImageInfo bmImageInfo = SkImageInfo::MakeA8(pathBounds.fRight,
- pathBounds.fBottom);
- if (!bmp.tryAllocPixels(bmImageInfo)) {
+ SkAutoPixmapStorage dst;
+ if (!dst.tryAlloc(SkImageInfo::MakeA8(pathBounds.width(),
+ pathBounds.height()))) {
return false;
}
-
- sk_bzero(bmp.getPixels(), bmp.getSafeSize());
+ sk_bzero(dst.writable_addr(), dst.getSafeSize());
// rasterize path
SkPaint paint;
@@ -388,7 +386,7 @@ private:
draw.fRC = &rasterClip;
draw.fClip = &rasterClip.bwRgn();
draw.fMatrix = &drawMatrix;
- draw.fBitmap = &bmp;
+ draw.fDst = dst;
draw.drawPathCoverage(path, paint);
@@ -400,13 +398,9 @@ private:
SkAutoSMalloc<1024> dfStorage(width * height * sizeof(unsigned char));
// Generate signed distance field
- {
- SkAutoLockPixels alp(bmp);
-
- SkGenerateDistanceFieldFromA8Image((unsigned char*)dfStorage.get(),
- (const unsigned char*)bmp.getPixels(),
- bmp.width(), bmp.height(), bmp.rowBytes());
- }
+ SkGenerateDistanceFieldFromA8Image((unsigned char*)dfStorage.get(),
+ (const unsigned char*)dst.addr(),
+ dst.width(), dst.height(), dst.rowBytes());
// add to atlas
SkIPoint16 atlasLocation;