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. Added since 11.0

Functions

Object:release Immediately destroys the object's Lua reference. Added since 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. Added since 11.0
Transform:clone Creates a new copy of this Transform. Added since 11.0
Transform:getMatrix Gets the internal transformation matrix stored by this Transform. Added since 11.0
Transform:inverse Creates a new Transform containing the inverse of this Transform. Added since 11.0
Transform:inverseTransformPoint Applies the reverse of the Transform object's transformation to the given 2D position. Added since 11.0
Transform:isAffine2DTransform Checks whether the Transform is an affine transformation. Added since 11.0
Transform:reset Resets the Transform to an identity state. Added since 11.0
Transform:rotate Applies a rotation to the Transform's coordinate system. Added since 11.0
Transform:scale Scales the Transform's coordinate system. Added since 11.0
Transform:setMatrix Directly sets the Transform's internal transformation matrix. Added since 11.0
Transform:setTransformation Resets the Transform to the specified transformation parameters. Added since 11.0
Transform:shear Applies a shear factor (skew) to the Transform's coordinate system. Added since 11.0
Transform:transformPoint Applies the Transform object's transformation to the given 2D position. Added since 11.0
Transform:translate Applies a translation to the Transform's coordinate system. Added since 11.0

Enums

MatrixLayout The layout of matrix elements (row-major or column-major). Added since 11.0

Supertypes

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.

See Also

Other Languages