Merge "Update bitmap shaders to the special no-copy image shaders."

This commit is contained in:
Derek Sollenberger
2016-11-08 18:55:38 +00:00
committed by Android (Google) Code Review
2 changed files with 7 additions and 8 deletions

View File

@@ -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 \

View File

@@ -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());
}
///////////////////////////////////////////////////////////////////////////////////////////////