Package com.reportmill.graphics
Class RMTransform
- java.lang.Object
-
- com.reportmill.base.RMObject
-
- com.reportmill.graphics.RMTransform
-
- All Implemented Interfaces:
RMArchiver.Archiving,java.lang.Cloneable
public class RMTransform extends RMObject
This class represents a simple 2D transform.
-
-
Constructor Summary
Constructors Constructor Description RMTransform()Creates a new identity transform.RMTransform(float a, float b, float c, float d, float tx, float ty)Creates a transform initialized to given matrix components.RMTransform(float dx, float dy, float angle, float sx, float sy, float skx, float sky)Create a transform with translation, rotation, and skew.RMTransform(float dx, float dy, float anAngle, float porx, float pory, float sx, float sy, float skx, float sky)Creates a transform with translation and given rotation/skew about a point.RMTransform(RMTransform aTransform)Creates a new transform from a given transform.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description floata()Returns the first component of the transform matrix.java.awt.geom.AffineTransformawt()Returns AWT version of transform for use with Java2D (caching it if needed).floatb()Returns the second component of the transform matrix.floatc()Returns the third component of the transform matrix.floatd()Returns the fourth component of the transform matrix.booleanequals(java.lang.Object anObj)Standard equals implementation.RMTransforminvert()Inverts this transform (and returns this for convenience).booleanisIdentity()Returns whether this transform is identity.RMTransformmultiply(float a, float b, float c, float d, float tx, float ty)Multiplies this transform by the given transform components (return this for convenience).RMTransformmultiply(RMTransform aTransform)Multiplies this transform by the given transform.RMTransformrotate(float anAngle)Rotates this transform by given angle in degrees (returns this for convenience).RMTransformscale(float sx, float sy)Scales this transform by given scale x and scale y (returns this for convenience).RMTransformskew(float aSkewX, float aSkewY)Skews this transform by given skew x and skew y angles in degrees (returns this for convenience).java.lang.StringtoString()Returns a string representation of the transform.RMPointtransform(RMPoint aPoint)Transforms the given point.RMRecttransform(RMRect aRect)Transforms the given rect.RMSizetransform(RMSize aSize)Transforms the given size.RMSizetransformVector(RMSize aSize)Transforms the given size as a vector (preserves negative values).RMTransformtranslate(float dx, float dy)Translates this transform by given x & y (returns this for convenience).floattx()Returns the x translation component of the transform matrix.floatty()Returns the y translation component of the transform matrix.-
Methods inherited from class com.reportmill.base.RMObject
clone, copy, didChange, didUndo, getAnimAttribute, getClassNameShort, initWithArchiver, undoClone, undoCopy, undoEquals
-
-
-
-
Field Detail
-
_a
public float _a
-
_b
public float _b
-
_c
public float _c
-
_d
public float _d
-
_tx
public float _tx
-
_ty
public float _ty
-
identity
public static final RMTransform identity
-
-
Constructor Detail
-
RMTransform
public RMTransform()
Creates a new identity transform.
-
RMTransform
public RMTransform(RMTransform aTransform)
Creates a new transform from a given transform.
-
RMTransform
public RMTransform(float a, float b, float c, float d, float tx, float ty)Creates a transform initialized to given matrix components.
-
RMTransform
public RMTransform(float dx, float dy, float angle, float sx, float sy, float skx, float sky)Create a transform with translation, rotation, and skew.
-
RMTransform
public RMTransform(float dx, float dy, float anAngle, float porx, float pory, float sx, float sy, float skx, float sky)Creates a transform with translation and given rotation/skew about a point.
-
-
Method Detail
-
a
public float a()
Returns the first component of the transform matrix.
-
b
public float b()
Returns the second component of the transform matrix.
-
c
public float c()
Returns the third component of the transform matrix.
-
d
public float d()
Returns the fourth component of the transform matrix.
-
tx
public float tx()
Returns the x translation component of the transform matrix.
-
ty
public float ty()
Returns the y translation component of the transform matrix.
-
isIdentity
public boolean isIdentity()
Returns whether this transform is identity.
-
translate
public RMTransform translate(float dx, float dy)
Translates this transform by given x & y (returns this for convenience).
-
rotate
public RMTransform rotate(float anAngle)
Rotates this transform by given angle in degrees (returns this for convenience).
-
scale
public RMTransform scale(float sx, float sy)
Scales this transform by given scale x and scale y (returns this for convenience).
-
skew
public RMTransform skew(float aSkewX, float aSkewY)
Skews this transform by given skew x and skew y angles in degrees (returns this for convenience).
-
multiply
public RMTransform multiply(RMTransform aTransform)
Multiplies this transform by the given transform.
-
multiply
public RMTransform multiply(float a, float b, float c, float d, float tx, float ty)
Multiplies this transform by the given transform components (return this for convenience).
-
invert
public RMTransform invert()
Inverts this transform (and returns this for convenience).
-
transformVector
public RMSize transformVector(RMSize aSize)
Transforms the given size as a vector (preserves negative values).
-
equals
public boolean equals(java.lang.Object anObj)
Standard equals implementation.- Overrides:
equalsin classjava.lang.Object
-
awt
public java.awt.geom.AffineTransform awt()
Returns AWT version of transform for use with Java2D (caching it if needed).
-
toString
public java.lang.String toString()
Returns a string representation of the transform.- Overrides:
toStringin classjava.lang.Object
-
-