Transform

 Available since LÖVE 11.0 This type is not supported in earlier versions.

Object containing a coordinate system transformation.

The love.graphics module has several functions and function variants which accept Transform objects.

Constructors

 love.math.newTransform Creates a new Transform object. 11

Functions

 Object:release Immediately destroys the object's Lua reference. 11.0 Object:type Gets the type of the object as a string. Object:typeOf Checks whether an object is of a certain type. Transform:apply Applies the given other Transform object to this one. 11.0 Transform:clone Creates a new copy of this Transform. 11.0 Transform:getMatrix Gets the internal transformation matrix stored by this Transform. 11.0 Transform:inverse Creates a new Transform containing the inverse of this Transform. 11.0 Transform:inverseTransformPoint Applies the reverse of the Transform object's transformation to the given 2D position. 11.0 Transform:isAffine2DTransform Checks whether the Transform is an affine transformation. 11.0 Transform:reset Resets the Transform to an identity state. 11.0 Transform:rotate Applies a rotation to the Transform's coordinate system. 11.0 Transform:scale Scales the Transform's coordinate system. 11.0 Transform:setMatrix Directly sets the Transform's internal transformation matrix. 11.0 Transform:setTransformation Resets the Transform to the specified transformation parameters. 11.0 Transform:shear Applies a shear factor (skew) to the Transform's coordinate system. 11.0 Transform:transformPoint Applies the Transform object's transformation to the given 2D position. 11.0 Transform:translate Applies a translation to the Transform's coordinate system. 11.0

Enums

 MatrixLayout The layout of matrix elements (row-major or column-major). 11

Notes

Transform objects have a custom `*` (multiplication) operator. `result = tA * tB` is equivalent to `result = tA:clone():apply(tB)`. It maps to the matrix multiplication operation that Transform:apply performs.

The `*` operator creates a new Transform object, so it is not recommended to use it heavily in per-frame code.