Time for action – running RenderScript Blur intrinsic
Let's create the native module that will generate our new effect.
- Create a new file
jni/ RenderScript.cpp
. We will need the following:android/bitmap.h
header to manipulate bitmaps.jni.h
for JNI strings.RenderScript.h
, which is the mainRenderScript
header file. This is the only one you should need. RenderScript is written in C++ and is defined in theandroid::RSC
namespace.#include <android/bitmap.h> #include <jni.h> #include <RenderScript.h> using namespace android::RSC; ...
- Write two utility methods to lock and unlock Android bitmaps as seen in Chapter 4, Calling Java Back from Native Code:
... void lockBitmap(JNIEnv* pEnv, jobject pImage, AndroidBitmapInfo* pInfo, uint32_t** pContent) { if (AndroidBitmap_getInfo(pEnv, pImage, pInfo) < 0) abort(); if (pInfo->format != ANDROID_BITMAP_FORMAT_RGBA_8888) abort(); if (AndroidBitmap_lockPixels(pEnv, pImage, (void**)pContent...