rotation3D method

VisualEffect<ContainerLayer> rotation3D(
  1. Angle angle, {
  2. required ({double x, double y, double z}) axis,
  3. double perspective = 1,
  4. Alignment anchor = Alignment.center,
})

Implementation

VisualEffect rotation3D(
  Angle angle, {
  required ({double x, double y, double z}) axis,
  double perspective = 1,
  Alignment anchor = Alignment.center,
}) {
  if (angle == Angle.zero) {
    return this;
  }

  final vector = Vector3(axis.x, axis.y, axis.z);

  final transform = Matrix4.identity()
    ..setEntry(3, 2, perspective / 100)
    ..rotate(vector, angle.radians);
  return _TransformVisualEffect(
    transform: transform,
    anchor: anchor,
    childSize: childSize,
    childEffect: this,
  );
}