opacityProviderOfList method
Creates an OpacityProvider for given list of paintIds
and can be
used as target
for OpacityEffect.
When opacities of all the given paintIds
are not same, this provider
directly effects opacity of the most opaque paint. Additionally, it
modifies other paints such that their respective opacity ratio with most
opaque paint is maintained.
If paintIds
is null or empty, all the paints are used for creating the
OpacityProvider.
Note: Each call results in a new OpacityProvider and hence the cached opacity ratios are calculated using opacities when this method was called.
Implementation
OpacityProvider opacityProviderOfList({
List<T?>? paintIds,
bool includeLayers = true,
}) {
return _MultiPaintOpacityProvider(
paintIds ?? (List<T?>.from(_paints.keys)..add(null)),
this,
includeLayers: includeLayers,
);
}