Index: src/pdf/SkPDFDevice.cpp |
diff --git a/src/pdf/SkPDFDevice.cpp b/src/pdf/SkPDFDevice.cpp |
index 273b958a8c6376e33d4aa151436a730a45b80b22..a0ad1343af4bba4291e6565ab8155b03b39cdb55 100644 |
--- a/src/pdf/SkPDFDevice.cpp |
+++ b/src/pdf/SkPDFDevice.cpp |
@@ -17,10 +17,10 @@ |
#include "SkPaint.h" |
#include "SkPath.h" |
#include "SkPathOps.h" |
+#include "SkPDFBitmap.h" |
#include "SkPDFFont.h" |
#include "SkPDFFormXObject.h" |
#include "SkPDFGraphicState.h" |
-#include "SkPDFImage.h" |
#include "SkPDFResourceDict.h" |
#include "SkPDFShader.h" |
#include "SkPDFStream.h" |
@@ -2126,7 +2126,7 @@ void SkPDFDevice::internalDrawBitmap(const SkMatrix& origMatrix, |
if (content.needShape()) { |
SkPath shape; |
shape.addRect(SkRect::MakeWH(SkIntToScalar(subset.width()), |
- SkIntToScalar( subset.height()))); |
+ SkIntToScalar(subset.height()))); |
shape.transform(matrix); |
content.setShape(shape); |
} |
@@ -2134,8 +2134,12 @@ void SkPDFDevice::internalDrawBitmap(const SkMatrix& origMatrix, |
return; |
} |
- SkAutoTUnref<SkPDFObject> image( |
- SkPDFCreateImageObject(fCanon, *bitmap, subset)); |
+ SkBitmap subsetBitmap; |
+ // Should extractSubset be done by the SkPDFDevice? |
+ if (!bitmap->extractSubset(&subsetBitmap, subset)) { |
+ return; |
+ } |
+ SkAutoTUnref<SkPDFObject> image(SkPDFBitmap::Create(fCanon, subsetBitmap)); |
if (!image) { |
return; |
} |