render method
Widget
render({
- required Node node,
- required Size parentSize,
- required int itemCount,
- required IndexedWidgetBuilder itemBuilder,
- Axis scrollDirection = Axis.vertical,
- bool shrinkWrap = false,
Implementation
Widget render({
required final figma.Node node,
required final Size parentSize,
required final int itemCount,
required final IndexedWidgetBuilder itemBuilder,
final Axis scrollDirection = Axis.vertical,
final bool shrinkWrap = false,
}) {
if (!node.visible) return const SizedBox.shrink();
final layoutAdapter = FigmaLayoutAdapter(node);
final decorationAdapter = FigmaDecorationAdapter(node);
final constraintsAdapter = FigmaConstraintsAdapter(node, parentSize);
layoutAdapter.validateLayout();
Widget list = ListView.separated(
padding: layoutAdapter.padding,
scrollDirection: scrollDirection,
itemCount: itemCount,
shrinkWrap: shrinkWrap,
separatorBuilder:
(context, index) => SizedBox(
width:
scrollDirection == Axis.horizontal
? layoutAdapter.itemSpacing
: 0,
height:
scrollDirection == Axis.vertical
? layoutAdapter.itemSpacing
: 0,
),
itemBuilder: itemBuilder,
);
list = Container(
decoration: decorationAdapter.createBoxDecoration(),
child: decorationAdapter.wrapWithBlurEffects(list),
);
return constraintsAdapter.applyConstraints(list);
}