build method

  1. @override
Widget build(
  1. BuildContext context,
  2. LidarViewModel model
)
override

Builds the UI according to the state in model.

Implementation

@override
Widget build(BuildContext context, LidarViewModel model) => Column(
  children: [
    Padding(
      padding: const EdgeInsets.all(4),
      child: Row(
        children: [
          const SizedBox(width: 8),
          Text("Lidar", style: context.textTheme.headlineMedium),
          const Spacer(),
          ViewsSelector(index: index),
          const SizedBox(width: 8),
        ],
      ),
    ),
    const SizedBox(height: 10),
    Flexible(
      child: LayoutBuilder(
        builder: (context, constraints) {
          final minSide = min(constraints.maxWidth, constraints.maxHeight);
          return Center(
            child: SizedBox(
              width: minSide,
              height: minSide,
              child: CustomPaint(
                willChange: true,
                painter: LidarViewPainter(
                  coordinates: model.coordinates,
                  pointColor: context.colorScheme.onSurface,
                ),
              ),
            ),
          );
        },
      ),
    ),
  ],
);