setBitmap method

  1. @override
bool setBitmap(
  1. ImageProvider bitmap
)
override

Method is used to specify the decoded raster for the icon. bitmap Image provider: Android com.navigine.image.ImageProvider; iOS UIImage via binding; Flutter navigine_sdk ImageProvider. Returns true if the operation is successful, false otherwise.

Example:

// Icon pixels come from package:navigine_sdk ImageProvider (async decode in the engine).
ImageProvider iconProvider = ImageProvider.fromImageProvider(
 const AssetImage('assets/icon.png'),
 cacheable: true,
);
bool bitmapSuccess = _iconMapObject!.setBitmap(iconProvider);
print("Set icon from ImageProvider: $bitmapSuccess");

Implementation

@override
bool setBitmap(ImageProvider bitmap) {
    final _setBitmapFfi = __lib.catchArgumentError(() => __lib.nativeLibrary.lookupFunction<
        Uint8 Function(Pointer<Void>, Pointer<Void>),
        int Function(Pointer<Void>, Pointer<Void>)
      >('navigine_sdk_flutter_IconMapObject_setBitmap__Bitmap'));
    final _bitmapHandle = navigine_sdk_flutter_ImageProvider_ToFfi(bitmap);
    final _handle = this.handle;
    final __resultHandle = _setBitmapFfi(_handle, _bitmapHandle);
    navigine_sdk_flutter_ImageProvider_ReleaseFfiHandle(_bitmapHandle);
    final _result = navigine_sdk_flutter_bool_FromFfi(__resultHandle);
    navigine_sdk_flutter_bool_ReleaseFfiHandle(__resultHandle);
    return _result;
}