Transform class

A widget that applies a transformation before painting its child.

Sample code

This example rotates and skews an orange box containing text, keeping the top right corner pinned to its original position.

Container(
  color: Colors.black,
  child: Transform(
    alignment: Alignment.topRight,
    transform: Matrix4.skewY(0.3)..rotateZ(-math.pi / 12.0),
    child: Container(
      padding: const EdgeInsets.all(8.0),
      color: const Color(0xFFE8581C),
      child: const Text('Apartment for rent!'),
    ),
  ),
)

See also:

  • RotatedBox, which rotates the child widget during layout, not just during painting.
  • FractionalTranslation, which applies a translation to the child that is relative to the child's size.
  • FittedBox, which sizes and positions its child widget to fit the parent according to a given BoxFit discipline.
Inheritance

Constructors

Transform({Key key, @required Matrix4 transform, Offset origin, AlignmentGeometry alignment, bool transformHitTests: true, Widget child })
Creates a widget that transforms its child. [...]
const
Transform.rotate({Key key, @required double angle, Offset origin, AlignmentGeometry alignment: Alignment.center, bool transformHitTests: true, Widget child })
Creates a widget that transforms its child using a rotation around the center. [...]
Transform.scale({Key key, @required double scale, Offset origin, AlignmentGeometry alignment: Alignment.center, bool transformHitTests: true, Widget child })
Creates a widget that scales its child uniformly. [...]
Transform.translate({Key key, @required Offset offset, bool transformHitTests: true, Widget child })
Creates a widget that transforms its child using a translation. [...]

Properties

alignment AlignmentGeometry
The alignment of the origin, relative to the size of the box. [...]
final
origin Offset
The origin of the coordinate system (relative to the upper left corder of this render object) in which to apply the matrix. [...]
final
transform Matrix4
The matrix to transform the child by during painting.
final
transformHitTests → bool
Whether to apply the transformation when performing hit tests.
final
child Widget
The widget below this widget in the tree. [...]
final, inherited
hashCode → int
The hash code for this object. [...]
read-only, inherited
key Key
Controls how one widget replaces another widget in the tree. [...]
final, inherited
runtimeType → Type
A representation of the runtime type of the object.
read-only, inherited

Methods

createRenderObject(BuildContext context) RenderTransform
Creates an instance of the RenderObject class that this RenderObjectWidget represents, using the configuration described by this RenderObjectWidget. [...]
updateRenderObject(BuildContext context, RenderTransform renderObject) → void
Copies the configuration described by this RenderObjectWidget to the given RenderObject, which will be of the same type as returned by this object's createRenderObject. [...]
createElement() SingleChildRenderObjectElement
RenderObjectWidgets always inflate to a RenderObjectElement subclass.
inherited
debugDescribeChildren() → List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children. [...]
@protected, inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node. [...]
inherited
didUnmountRenderObject(RenderObject renderObject) → void
A render object previously associated with this widget has been removed from the tree. The given RenderObject will be of the same type as returned by this object's createRenderObject.
@protected, inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited
toDiagnosticsNode({String name, DiagnosticsTreeStyle style }) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by toStringDeep. [...]
inherited
toString({DiagnosticLevel minLevel: DiagnosticLevel.debug }) → String
Returns a string representation of this object.
inherited
toStringDeep({String prefixLineOne: '', String prefixOtherLines, DiagnosticLevel minLevel: DiagnosticLevel.debug }) → String
Returns a string representation of this node and its descendants. [...]
inherited
toStringShallow({String joiner: ', ', DiagnosticLevel minLevel: DiagnosticLevel.debug }) → String
Returns a one-line detailed description of the object. [...]
inherited
toStringShort() → String
A short, textual description of this widget.
inherited

Operators

operator ==(dynamic other) → bool
The equality operator. [...]
inherited