writeDragOffset static method
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);
}