moveNodeBy method

void moveNodeBy(
  1. int index,
  2. Offset offset
)

Implementation

void moveNodeBy(int index, Offset offset) {
  DynamicNode node = nodes[index];
  Offset avalOffset = ((node.position + offset).clamp(
              Offset.zero, Offset(size.width, size.height) + Offset.zero) -
          node.position)
      .roundWithPrecision(defaultPointPrecision);
  node.position += avalOffset;
  node.position = node.position
      .clamp(Offset.zero, Offset(size.width, size.height) + Offset.zero);

  if (node.prev != null) {
    node.prev = node.prev! + avalOffset;
    node.prev = node.prev!
        .clamp(Offset.zero, Offset(size.width, size.height) + Offset.zero);
  }
  if (node.next != null) {
    node.next = node.next! + avalOffset;
    node.next = node.next!
        .clamp(Offset.zero, Offset(size.width, size.height) + Offset.zero);
  }
}