update method
Implementation
@override
FutureOr<void> update(covariant CIFilterConfiguration configuration) async {
if (!configuration.ready) {
debugPrint('Invoke `prepare()` before updating parameter $name');
return;
}
if (!_needsUpdate) {
return;
}
_needsUpdate = false;
if (_image) {
if (asset != null) {
await configuration._api.setCIImageCubeSourceParameter(
configuration._filterId,
name,
true,
asset!,
_size,
_columns,
_rows,
);
} else if (file != null) {
await configuration._api.setCIImageCubeSourceParameter(
configuration._filterId,
name,
false,
file!.absolute.path,
_size,
_columns,
_rows,
);
} else if (data != null) {
await configuration._api.setCIImageCubeDataParameter(
configuration._filterId,
name,
data!,
_size,
_columns,
_rows,
);
}
} else {
if (asset != null) {
await configuration._api.setNSDataSourceParameter(
configuration._filterId,
name,
true,
asset!,
);
} else if (file != null) {
await configuration._api.setNSDataSourceParameter(
configuration._filterId,
name,
false,
file!.absolute.path,
);
} else if (data != null) {
await configuration._api
.setNSDataParameter(configuration._filterId, name, data!);
}
}
}