writeDragOffset static method

void writeDragOffset(
  1. BuildContext context,
  2. String name,
  3. double offset
)

Writes offset, a drag's distance from rest along one axis rounded to hundredths, into the number variable name (see DragModel.xVariable). Does nothing for an empty name, a missing or computed variable, or an unchanged value.

Implementation

static void writeDragOffset(
  BuildContext context,
  String name,
  double offset,
) {
  if (name.trim().isEmpty) return;
  final CodelesslyContext? codelessly = context.read<CodelesslyContext?>();
  final ValueNotifier<VariableData>? variable = codelessly
      ?.findVariableByName(name.trim());
  if (variable == null || variable.value.isComputed) return;
  final num rounded = (offset * 100).round() / 100;
  final num value = rounded == rounded.roundToDouble()
      ? rounded.round()
      : rounded;
  if ('${variable.value.value}' == '$value') return;
  variable.value = variable.value.copyWith(value: value);
}