diff options
author | Leon Scroggins III <scroggo@google.com> | 2020-01-15 05:41:06 -0500 |
---|---|---|
committer | Leon Scroggins III <scroggo@google.com> | 2020-01-16 12:17:56 -0500 |
commit | 1ade46d272f1279ce3d3dbe4867b7229ec170aff (patch) | |
tree | 1f0fd492d4bf374fe4891a30ce58420995122f2f /core/jni/android | |
parent | 4c0487a163ab3a51e26e730587967fdb79f69845 (diff) |
Replace setAlphaFlags with setUnpremultipliedRequired
Bug: 135133301
Test: I48e49ee08ab1954eddf62ecae87942aeb128c10d
As described in I3381582e27894e1072db9b8635f3762b801f5d69, this is a
more sensible API.
In addition, remove unused methods on ImageDecoder.
Lastly, update AImageDecoder methods in the map to document which API
level they were introduced in.
Change-Id: I1aff544e8d6932b9ed0931a00da66a0aba6cd536
Diffstat (limited to 'core/jni/android')
-rw-r--r-- | core/jni/android/graphics/ImageDecoder.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/core/jni/android/graphics/ImageDecoder.cpp b/core/jni/android/graphics/ImageDecoder.cpp index a9002867ae10..e17e057d75c7 100644 --- a/core/jni/android/graphics/ImageDecoder.cpp +++ b/core/jni/android/graphics/ImageDecoder.cpp @@ -241,7 +241,7 @@ static jobject ImageDecoder_nDecodeBitmap(JNIEnv* env, jobject /*clazz*/, jlong doThrowISE(env, "Could not scale to target size!"); return nullptr; } - if (requireUnpremul && !decoder->setOutAlphaType(kUnpremul_SkAlphaType)) { + if (requireUnpremul && !decoder->setUnpremultipliedRequired(true)) { doThrowISE(env, "Cannot scale unpremultiplied pixels!"); return nullptr; } @@ -301,11 +301,15 @@ static jobject ImageDecoder_nDecodeBitmap(JNIEnv* env, jobject /*clazz*/, jlong } } - SkBitmap bm; SkImageInfo bitmapInfo = decoder->getOutputInfo(); + if (decoder->opaque()) { + bitmapInfo = bitmapInfo.makeAlphaType(kOpaque_SkAlphaType); + } if (asAlphaMask && colorType == kGray_8_SkColorType) { bitmapInfo = bitmapInfo.makeColorType(kAlpha_8_SkColorType); } + + SkBitmap bm; if (!bm.setInfo(bitmapInfo)) { doThrowIOE(env, "Failed to setInfo properly"); return nullptr; |