buildIcon static method
Implementation
static Widget buildIcon(
BuildContext context,
String? assetName,
OudsLinkControlState controlItemState,
OudsLinkLayout layout,
OudsLinkSize size,
) {
final statusModifier = OudsLinkStatusModifier(context);
final sizeModifier = OudsLinkSizeModifier(context);
final iconSize = sizeModifier.getIconSize(size);
final isIcon = layout == OudsLinkLayout.textAndIcon;
final rtlMode = Directionality.of(context) == TextDirection.rtl;
return SvgPicture.asset(
excludeFromSemantics: true,
assetName ?? statusModifier.getStatusIcon(layout, rtlMode)!,
package: assetName == null ? OudsTheme.of(context).packageName : null,
width: iconSize[OudsLinkDimensions.width.name],
height: iconSize[OudsLinkDimensions.height.name],
fit: BoxFit.contain,
colorFilter: ColorFilter.mode(
!isIcon
? statusModifier.getArrowColor(controlItemState)
: statusModifier.getTextAndIconColor(controlItemState),
BlendMode.srcIn,
),
);
}