| 248 | return dlsym( _lib, procName ); |
| 249 | } |
| 250 | bool load( const char * libName ) |
| 251 | { |
| 252 | if ( !_lib ) { |
| 253 | _lib = dlopen( libName, RTLD_NOW | RTLD_LOCAL ); |
| 254 | } |
| 255 | if ( _lib ) { |
| 256 | AndroidBitmap_getInfo = (int (*)(JNIEnv* env, jobject jbitmap, AndroidBitmapInfo* info)) |
| 257 | getProc( "AndroidBitmap_getInfo" ); |
| 258 | AndroidBitmap_lockPixels = (int (*)(JNIEnv* env, jobject jbitmap, void** addrPtr)) |
| 259 | getProc( "AndroidBitmap_lockPixels" ); |
| 260 | AndroidBitmap_unlockPixels = (int (*)(JNIEnv* env, jobject jbitmap)) |
| 261 | getProc( "AndroidBitmap_unlockPixels"); |
| 262 | if ( !AndroidBitmap_getInfo || !AndroidBitmap_lockPixels || !AndroidBitmap_unlockPixels ) |
| 263 | unload(); // not all functions found in library, fail |
| 264 | } |
| 265 | return ( _lib!=NULL ); |
| 266 | } |
| 267 | bool unload() |
| 268 | { |
| 269 | bool res = false; |