# Class AffineTransform

java.lang.Object
com.codename1.ui.geom.AffineTransform

public class AffineTransform extends java.lang.Object
A utility class for expressing 2-D affine transforms in Codename One.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AffineTransform()`
  Creates identity transform.
  `AffineTransform(double[] m)`
  Creates a new AffineTransform.
  `AffineTransform(double m00, double m10, double m01, double m11, double m02, double m12)`
  Creates a new AffineTransform.
  `AffineTransform(float[] m)`
  Creates a new AffineTransform.
  `AffineTransform(float m00, float m10, float m01, float m11, float m02, float m12)`
  Creates a new AffineTransform.
  `AffineTransform(AffineTransform atx)`
  Creates new affine transform as a copy of the given transform.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static AffineTransform`
  `getRotateInstance(double theta)`
  Gets a rotation transform
  `static AffineTransform`
  `getRotateInstance(double theta, double anchorx, double anchory)`
  Gets a rotation transform.
  `void`
  `setToIdentity()`
  Set to the identity matrix.
  `void`
  `setToRotation(double theta)`
  Sets to a rotation transform.
  `void`
  `setToRotation(double vecx, double vecy)`
  Sets transform to a rotation transform.
  `void`
  `setToRotation(double theta, double anchorx, double anchory)`
  Sets to a rotation transform.
  `void`
  `setToRotation(double vecx, double vecy, double anchorx, double anchory)`
  Sets the transform to a rotation transform.
  `void`
  `setToScale(double sx, double sy)`
  Sets transform to a scale transform.
  `void`
  `setToShear(double shx, double shy)`
  Sets transform to a shear transform.
  `void`
  `setToTranslation(double tx, double ty)`
  Sets transform to a translation transform.
  `void`
  `setTransform(double m00, double m10, double m01, double m11, double m02, double m12)`
  Sets the transform to the given double coords.
  `String`
  `toString()`
  `Transform`
  `toTransform()`
  Converts the transform to a `Transform`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### AffineTransform

    public AffineTransform()
    Creates identity transform.

  - ### AffineTransform

    public AffineTransform(AffineTransform atx)

    Creates new affine transform as a copy of the given transform.

    ###### Parameters

    - `atx`: Transform to copy.

  - ### AffineTransform

    public AffineTransform(float m00, float m10, float m01, float m11, float m02, float m12)

    Creates a new AffineTransform.

    ###### Parameters

    - `m00`: the X coordinate scaling element of the 3x3 matrix

    - `m10`: the Y coordinate shearing element of the 3x3 matrix

    - `m01`: the X coordinate shearing element of the 3x3 matrix

    - `m11`: the Y coordinate scaling element of the 3x3 matrix

    - `m02`: the X coordinate translation element of the 3x3 matrix

    - `m12`: the Y coordinate translation element of the 3x3 matrix

  - ### AffineTransform

    public AffineTransform(float[] m)

    Creates a new AffineTransform.

    ###### Parameters

    - `m`: @param m the float array containing the values to be set in the new `AffineTransform` object. The length of the array is assumed to be at least 4. If the length of the array is less than 6, only the first 4 values are taken. If the length of the array is greater than 6, the first 6 values are taken.

  - ### AffineTransform

    public AffineTransform(double m00, double m10, double m01, double m11, double m02, double m12)

    Creates a new AffineTransform.

    ###### Parameters

    - `m00`: the X coordinate scaling element of the 3x3 matrix

    - `m10`: the Y coordinate shearing element of the 3x3 matrix

    - `m01`: the X coordinate shearing element of the 3x3 matrix

    - `m11`: the Y coordinate scaling element of the 3x3 matrix

    - `m02`: the X coordinate translation element of the 3x3 matrix

    - `m12`: the Y coordinate translation element of the 3x3 matrix

  - ### AffineTransform

    public AffineTransform(double[] m)

    Creates a new AffineTransform.

    ###### Parameters

    - `m`: @param m the double array containing the values to be set in the new `AffineTransform` object. The length of the array is assumed to be at least 4. If the length of the array is less than 6, only the first 4 values are taken. If the length of the array is greater than 6, the first 6 values are taken.

- ## Method Details

  - ### getRotateInstance

    public static AffineTransform getRotateInstance(double theta)

    Gets a rotation transform

    ###### Parameters

    - `theta`: Radian rotation angle.

  - ### getRotateInstance

    public static AffineTransform getRotateInstance(double theta, double anchorx, double anchory)

    Gets a rotation transform.

    ###### Parameters

    - `theta`: Radian rotation angle.

    - `anchorx`: Anchor point x-coord.

    - `anchory`: Anchor point y-coord.

  - ### setToScale

    public void setToScale(double sx, double sy)

    Sets transform to a scale transform.

    ###### Parameters

    - `sx`: X-scale factor

    - `sy`: Y-scale factor

  - ### setToShear

    public void setToShear(double shx, double shy)

    Sets transform to a shear transform.

    ###### Parameters

    - `shx`: The shear-x

    - `shy`: The shear-y

  - ### setToRotation

    public void setToRotation(double vecx, double vecy)

    Sets transform to a rotation transform.

    ###### Parameters

    - `vecx`: x-coordinate of rotation vector.

    - `vecy`: y-coordinate of rotation vector.

  - ### setToRotation

    public void setToRotation(double vecx, double vecy, double anchorx, double anchory)

    Sets the transform to a rotation transform.

    ###### Parameters

    - `vecx`: x-coordinate of rotation vector.

    - `vecy`: y-coordinate of rotation vector

    - `anchorx`: Anchor point x-coordinate

    - `anchory`: Anchor point y-coordinate

  - ### setToIdentity

    public void setToIdentity()
    Set to the identity matrix.

  - ### setToTranslation

    public void setToTranslation(double tx, double ty)

    Sets transform to a translation transform.

    ###### Parameters

    - `tx`: x-translation

    - `ty`: y-translation

  - ### setToRotation

    public void setToRotation(double theta, double anchorx, double anchory)

    Sets to a rotation transform.

    ###### Parameters

    - `theta`: Radian rotation angle.

    - `anchorx`: Anchor point x-coord.

    - `anchory`: Anchor point y-coord.

  - ### setToRotation

    public void setToRotation(double theta)

    Sets to a rotation transform.

    ###### Parameters

    - `theta`: Rotation angle in radians.

  - ### setTransform

    public void setTransform(double m00, double m10, double m01, double m11, double m02, double m12)

    Sets the transform to the given double coords.

    ###### Parameters

    - `m00`: the X coordinate scaling element of the 3x3 matrix

    - `m10`: the Y coordinate shearing element of the 3x3 matrix

    - `m01`: the X coordinate shearing element of the 3x3 matrix

    - `m11`: the Y coordinate scaling element of the 3x3 matrix

    - `m02`: the X coordinate translation element of the 3x3 matrix

    - `m12`: the Y coordinate translation element of the 3x3 matrix

  - ### toTransform

    public Transform toTransform()
    Converts the transform to a `Transform`

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `java.lang.Object`