1#ifndef NIOBuffer_DEFINED 2#define NIOBuffer_DEFINED 3 4#include <jni.h> 5#include "SkBitmap.h" 6 7class NIOBuffer { 8public: 9 NIOBuffer(JNIEnv* env, jobject buffer); 10 // this checks to ensure that free() was called 11 ~NIOBuffer(); 12 13 void* lock(JNIEnv* env, int* remaining); 14 void unlock(JNIEnv* env, bool dataChanged); 15 // must be called before destructor 16 void free(JNIEnv* env); 17 18 // call once on boot, to setup JNI globals 19 static void RegisterJNI(JNIEnv*); 20 21private: 22 jobject fBuffer; 23 void* fLockedPtr; 24 jbyteArray fLockedArray; 25}; 26 27#endif 28