diff options
-rw-r--r-- | src/image/SkImagePriv.h | 8 | ||||
-rw-r--r-- | src/image/SkImage_Raster.cpp | 2 | ||||
-rw-r--r-- | tests/ImageFrom565Bitmap.cpp | 21 |
3 files changed, 22 insertions, 9 deletions
diff --git a/src/image/SkImagePriv.h b/src/image/SkImagePriv.h index b8f177905d..7518bbe808 100644 --- a/src/image/SkImagePriv.h +++ b/src/image/SkImagePriv.h @@ -40,14 +40,6 @@ enum ForceCopyMode { }; extern SkImage* SkNewImageFromRasterBitmap(const SkBitmap&, ForceCopyMode = kNo_ForceCopyMode); -static inline size_t SkImageMinRowBytes(const SkImageInfo& info) { - size_t minRB = info.minRowBytes(); - if (kIndex_8_SkColorType != info.colorType()) { - minRB = SkAlign4(minRB); - } - return minRB; -} - // Given an image created from SkNewImageFromBitmap, return its pixelref. This // may be called to see if the surface and the image share the same pixelref, // in which case the surface may need to perform a copy-on-write. diff --git a/src/image/SkImage_Raster.cpp b/src/image/SkImage_Raster.cpp index 977dc01c4b..2b81da8915 100644 --- a/src/image/SkImage_Raster.cpp +++ b/src/image/SkImage_Raster.cpp @@ -48,7 +48,7 @@ public: return false; } - if (rowBytes < SkImageMinRowBytes(info)) { + if (rowBytes < info.minRowBytes()) { return false; } diff --git a/tests/ImageFrom565Bitmap.cpp b/tests/ImageFrom565Bitmap.cpp new file mode 100644 index 0000000000..d910a47560 --- /dev/null +++ b/tests/ImageFrom565Bitmap.cpp @@ -0,0 +1,21 @@ +/* + * Copyright 2015 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include "SkBitmap.h" +#include "SkImageInfo.h" +#include "SkImage.h" +#include "Test.h" + +DEF_TEST(ImageFrom565Bitmap, r) { + SkBitmap bm; + bm.allocPixels(SkImageInfo::Make( + 5, 7, kRGB_565_SkColorType, kOpaque_SkAlphaType)); + SkAutoLockPixels autoLockPixels(bm); + bm.eraseColor(SK_ColorBLACK); + SkAutoTUnref<SkImage> img(SkImage::NewFromBitmap(bm)); + REPORTER_ASSERT(r, img.get() != nullptr); +} |