dvStudioPlace function

Widget dvStudioPlace(
  1. Map<String, Object?> properties,
  2. Widget child
)

child at the place properties name, or child itself when they name none.

Only the edges that were named. Filling the others in with zero would move a child pinned to one edge, and stretch one pinned to two.

Implementation

Widget dvStudioPlace(Map<String, Object?> properties, Widget child) {
  if (!dvStudioIsPlaced(properties)) return child;
  double? edge(String name) {
    final Object? value = properties[name];
    return value is num ? value.toDouble() : null;
  }

  return Positioned(
    left: edge('left'),
    top: edge('top'),
    right: edge('right'),
    bottom: edge('bottom'),
    child: child,
  );
}