• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef NIOBuffer_DEFINED
2 #define NIOBuffer_DEFINED
3 
4 #include <jni.h>
5 #include "SkBitmap.h"
6 
7 class NIOBuffer {
8 public:
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 
21 private:
22     jobject     fBuffer;
23     void*       fLockedPtr;
24     jbyteArray  fLockedArray;
25 };
26 
27 #endif
28