| Index: src/image/SkImagePriv.cpp
|
| diff --git a/src/image/SkImagePriv.cpp b/src/image/SkImagePriv.cpp
|
| index bde47e71eba07853b720d75be2ce6bae779d5cf8..ad7b154e7657f351b92bc7f1d453f452c5fb7e8a 100644
|
| --- a/src/image/SkImagePriv.cpp
|
| +++ b/src/image/SkImagePriv.cpp
|
| @@ -6,10 +6,12 @@
|
| */
|
|
|
| #include "SkImagePriv.h"
|
| +#include "SkImage_Base.h"
|
| #include "SkCanvas.h"
|
| #include "SkPicture.h"
|
|
|
| -SkImage* SkNewImageFromBitmap(const SkBitmap& bm, bool canSharePixelRef) {
|
| +SkImage* SkNewImageFromBitmap(const SkBitmap& bm, bool canSharePixelRef,
|
| + const SkSurfaceProps* props) {
|
| const SkImageInfo info = bm.info();
|
| if (kUnknown_SkColorType == info.colorType()) {
|
| return NULL;
|
| @@ -17,13 +19,18 @@ SkImage* SkNewImageFromBitmap(const SkBitmap& bm, bool canSharePixelRef) {
|
|
|
| SkImage* image = NULL;
|
| if (canSharePixelRef || bm.isImmutable()) {
|
| - image = SkNewImageFromPixelRef(info, bm.pixelRef(), bm.rowBytes());
|
| + image = SkNewImageFromPixelRef(info, bm.pixelRef(), bm.rowBytes(), props);
|
| } else {
|
| bm.lockPixels();
|
| if (bm.getPixels()) {
|
| image = SkImage::NewRasterCopy(info, bm.getPixels(), bm.rowBytes());
|
| }
|
| bm.unlockPixels();
|
| +
|
| + // we don't expose props to NewRasterCopy (need a private vers) so post-init it here
|
| + if (image && props) {
|
| + as_IB(image)->initWithProps(*props);
|
| + }
|
| }
|
| return image;
|
| }
|
|
|