velocityDecoration method
Implementation
@protected
VxNeumorph velocityDecoration(
Color color,
VxCurve curveType,
double elevation,
) {
final color0 = color;
final emboss = curveType == VxCurve.emboss;
Color colorValue = color0;
List<BoxShadow> shadowList = [
BoxShadow(
color: _getNeuColor(color0, emboss ? 0 - elevation : elevation - 30),
offset: Offset(0 - elevation, 0 - elevation),
blurRadius: elevation,
),
BoxShadow(
color: _getNeuColor(color0, emboss ? elevation : 0 - elevation),
offset: Offset(elevation, elevation),
blurRadius: elevation,
)
];
if (emboss) {
shadowList = [
BoxShadow(
color: _getNeuColor(color0, elevation - 30),
offset: Offset(elevation / 4, elevation / 4),
blurRadius: elevation / 4,
),
BoxShadow(
color: _getNeuColor(color0, 0 - elevation),
offset: Offset(0 - elevation / 6, 0 - elevation / 6),
blurRadius: elevation / 6,
),
];
colorValue = _getNeuColor(colorValue, 0 - elevation / 2);
}
switch (curveType) {
case VxCurve.concave:
_gradient = _getConcaveGradients(colorValue, elevation);
break;
case VxCurve.convex:
_gradient = _getConvexGradients(colorValue, elevation);
break;
case VxCurve.emboss:
case VxCurve.flat:
_gradient = _getFlatGradients(colorValue, elevation);
break;
}
return VxNeumorph(
shadowList,
_gradient,
);
}