diff options
| author | Alex Sakhartchouk <alexst@google.com> | 2010-10-11 12:35:15 -0700 |
|---|---|---|
| committer | Alex Sakhartchouk <alexst@google.com> | 2010-10-11 14:04:09 -0700 |
| commit | 26ae3904e8050eae655722caf93ee5d3f0ab195a (patch) | |
| tree | 9dfbe324379dd9ea0067011fa85a62a348a66961 /graphics/jni | |
| parent | 3e6fee857a317d35b4861b8bb24a2d3e5e3e6fc2 (diff) | |
| download | frameworks_base-26ae3904e8050eae655722caf93ee5d3f0ab195a.zip frameworks_base-26ae3904e8050eae655722caf93ee5d3f0ab195a.tar.gz frameworks_base-26ae3904e8050eae655722caf93ee5d3f0ab195a.tar.bz2 | |
Update allocation from bitmap.
GL attribute cleanup in type.
Change-Id: I504dcf6744ad13d65e068e784b6608c999ab48c6
Diffstat (limited to 'graphics/jni')
| -rw-r--r-- | graphics/jni/android_renderscript_RenderScript.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/graphics/jni/android_renderscript_RenderScript.cpp b/graphics/jni/android_renderscript_RenderScript.cpp index 586d7e9..014f03b 100644 --- a/graphics/jni/android_renderscript_RenderScript.cpp +++ b/graphics/jni/android_renderscript_RenderScript.cpp @@ -423,6 +423,23 @@ nAllocationCreateFromBitmap(JNIEnv *_env, jobject _this, RsContext con, jint dst return 0; } +static void +nAllocationUpdateFromBitmap(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jobject jbitmap) +{ + SkBitmap const * nativeBitmap = + (SkBitmap const *)_env->GetIntField(jbitmap, gNativeBitmapID); + const SkBitmap& bitmap(*nativeBitmap); + SkBitmap::Config config = bitmap.getConfig(); + + RsElement e = SkBitmapToPredefined(config); + if (e) { + bitmap.lockPixels(); + const void* ptr = bitmap.getPixels(); + rsAllocationUpdateFromBitmap(con, (RsAllocation)alloc, e, ptr); + bitmap.unlockPixels(); + } +} + static void ReleaseBitmapCallback(void *bmp) { SkBitmap const * nativeBitmap = (SkBitmap const *)bmp; @@ -1234,6 +1251,7 @@ static JNINativeMethod methods[] = { {"rsnTypeGetNativeData", "(II[I)V", (void*)nTypeGetNativeData }, {"rsnAllocationCreateTyped", "(II)I", (void*)nAllocationCreateTyped }, +{"rsnAllocationUpdateFromBitmap", "(IILandroid/graphics/Bitmap;)V", (void*)nAllocationUpdateFromBitmap }, {"rsnAllocationCreateFromBitmap", "(IIZLandroid/graphics/Bitmap;)I", (void*)nAllocationCreateFromBitmap }, {"rsnAllocationCreateBitmapRef", "(IILandroid/graphics/Bitmap;)I", (void*)nAllocationCreateBitmapRef }, {"rsnAllocationCreateFromAssetStream","(IIZI)I", (void*)nAllocationCreateFromAssetStream }, |
