Book Image

Android NDK: Beginner's Guide

By : Sylvain Ratabouil
Book Image

Android NDK: Beginner's Guide

By: Sylvain Ratabouil

Overview of this book

Table of Contents (18 chapters)
Android NDK Beginner's Guide Second Edition
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Time for action – running RenderScript Blur intrinsic


Let's create the native module that will generate our new effect.

  1. 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 main RenderScript header file. This is the only one you should need. RenderScript is written in C++ and is defined in the android::RSC namespace.

      #include <android/bitmap.h>
      #include <jni.h>
      #include <RenderScript.h>
      
      using namespace android::RSC;
      ...
  2. 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) < 0...