morph method

Rect morph(
  1. Point fixpoint,
  2. List<double> matrix
)

Morph: apply a matrix about a given fixpoint.

Implementation

Rect morph(Point fixpoint, List<double> matrix) {
  final p = Point(x0 - fixpoint.x, y0 - fixpoint.y).transform(matrix);
  final q = Point(x1 - fixpoint.x, y1 - fixpoint.y).transform(matrix);
  return Rect(
    p.x + fixpoint.x,
    p.y + fixpoint.y,
    q.x + fixpoint.x,
    q.y + fixpoint.y,
  ).normalized;
}