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.0 |
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.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
- love.math
- love.graphics.applyTransform
- love.graphics.replaceTransform
- love.graphics.draw
- love.graphics.print
- SpriteBatch:add
- Text:add
- Shader:send
© 2006–2020 LÖVE Development Team
Licensed under the GNU Free Documentation License, Version 1.3.
https://love2d.org/wiki/Transform