Merge "Update bitmap shaders to the special no-copy image shaders."
This commit is contained in:
committed by
Android (Google) Code Review
commit
5f9dd150f7
@@ -211,6 +211,7 @@ LOCAL_C_INCLUDES += \
|
||||
external/skia/include/private \
|
||||
external/skia/src/core \
|
||||
external/skia/src/effects \
|
||||
external/skia/src/image \
|
||||
external/skia/src/images \
|
||||
external/sqlite/dist \
|
||||
external/sqlite/android \
|
||||
|
||||
@@ -95,15 +95,13 @@ static jlong BitmapShader_constructor(JNIEnv* env, jobject o, jobject jbitmap,
|
||||
// we'll pass an empty SkBitmap to avoid crashing/excepting for compatibility.
|
||||
GraphicsJNI::getSkBitmap(env, jbitmap, &bitmap);
|
||||
}
|
||||
sk_sp<SkShader> s = SkMakeBitmapShader(bitmap,
|
||||
(SkShader::TileMode)tileModeX,
|
||||
(SkShader::TileMode)tileModeY,
|
||||
nullptr,
|
||||
kNever_SkCopyPixelsMode,
|
||||
nullptr);
|
||||
|
||||
ThrowIAE_IfNull(env, s.get());
|
||||
return reinterpret_cast<jlong>(s.release());
|
||||
sk_sp<SkImage> image = SkMakeImageFromRasterBitmap(bitmap, kNever_SkCopyPixelsMode);
|
||||
sk_sp<SkShader> shader = image->makeShader((SkShader::TileMode)tileModeX,
|
||||
(SkShader::TileMode)tileModeY);
|
||||
|
||||
ThrowIAE_IfNull(env, shader.get());
|
||||
return reinterpret_cast<jlong>(shader.release());
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Reference in New Issue
Block a user