fop 1.1

## org.apache.fop.area
Class CTM

    java.lang.Object
      org.apache.fop.area.CTM

All Implemented Interfaces:
  java.io.Serializable

    public class CTM

extends java.lang.Object
implements java.io.Serializable

Describe a PDF or PostScript style coordinate transformation matrix (CTM). The matrix encodes translations, scaling and rotations of the coordinate system used to render pages.

See Also:
  Serialized Form

Constructor Summary
`` `CTM()` Create the identity matrix
`` `CTM(java.awt.geom.AffineTransform at)` Initialize a CTM with the values of an AffineTransform.
`protected` `CTM(CTM ctm)` Initialize a CTM with the values of another CTM.
`` `CTM(double x, double y)` Initialize a CTM to the identity matrix with a translation specified by x and y
`` `CTM(double a, double b, double c, double d, double e, double f)` Initialize a CTM from the passed arguments.

Method Summary
`static CTM` `getCTMandRelDims(int absRefOrient, WritingMode writingMode, java.awt.geom.Rectangle2D absVPrect, FODimension reldims)` Construct a coordinate transformation matrix (CTM).
`static CTM` `getWMctm(WritingMode wm, int ipd, int bpd)` Return a CTM which will transform coordinates for a particular writing-mode into normalized first quandrant coordinates.
`CTM` `multiply(CTM premult)` Multiply new passed CTM with this one and generate a new result CTM.
`CTM` `rotate(double angle)` Rotate this CTM by "angle" radians and return a new result CTM.
`CTM` `scale(double x, double y)` Scale this CTM by the passed x and y values and return a new result CTM.
`java.awt.geom.AffineTransform` `toAffineTransform()` Returns this CTM as an AffineTransform object.
`double[]` `toArray()` Get an array containing the values of this transform.
`java.lang.String` `toString()` Get string for this transform.
`java.awt.geom.Rectangle2D` `transform(java.awt.geom.Rectangle2D inRect)` Transform a rectangle by the CTM to produce a rectangle in the transformed coordinate system.
`CTM` `translate(double x, double y)` Translate this CTM by the passed x and y values and return a new result CTM.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### CTM

    public CTM()

  Create the identity matrix

### CTM

    public CTM(double a,
               double b,
               double c,
               double d,
               double e,
               double f)

  Initialize a CTM from the passed arguments.

  Parameters:
    `a` - the x scale
    `b` - the x shear
    `c` - the y shear
    `d` - the y scale
    `e` - the x shift
    `f` - the y shift

### CTM

    public CTM(double x,
               double y)

  Initialize a CTM to the identity matrix with a translation specified by x and y

  Parameters:
    `x` - the x shift
    `y` - the y shift.

### CTM

    protected CTM(CTM ctm)

  Initialize a CTM with the values of another CTM.

  Parameters:
    `ctm` - another CTM

### CTM

    public CTM(java.awt.geom.AffineTransform at)

  Initialize a CTM with the values of an AffineTransform.

  Parameters:
    `at` - the transformation matrix

Method Detail

### getWMctm

    public static CTM getWMctm(WritingMode wm,
                               int ipd,
                               int bpd)

  Return a CTM which will transform coordinates for a particular writing-mode into normalized first quandrant coordinates.

  Parameters:
    `wm` - A writing mode constant from fo.properties.WritingMode, ie. one of LR_TB, RL_TB, TB_RL, TB_LR.
    `ipd` - The inline-progression dimension of the reference area whose CTM is being set..
    `bpd` - The block-progression dimension of the reference area whose CTM is being set.
  Returns:
    a new CTM with the required transform

### multiply

    public CTM multiply(CTM premult)

  Multiply new passed CTM with this one and generate a new result CTM.

  Parameters:
    `premult` - The CTM to multiply with this one. The new one will be the first multiplicand.
  Returns:
    CTM The result of multiplying premult * this.

### rotate

    public CTM rotate(double angle)

  Rotate this CTM by "angle" radians and return a new result CTM. This is used to account for reference-orientation.

  Parameters:
    `angle` - The angle in radians. Positive angles are measured counter- clockwise.
  Returns:
    CTM The result of rotating this CTM.

### translate

    public CTM translate(double x,
                         double y)

  Translate this CTM by the passed x and y values and return a new result CTM.

  Parameters:
    `x` - The amount to translate along the x axis.
    `y` - The amount to translate along the y axis.
  Returns:
    CTM The result of translating this CTM.

### scale

    public CTM scale(double x,
                     double y)

  Scale this CTM by the passed x and y values and return a new result CTM.

  Parameters:
    `x` - The amount to scale along the x axis.
    `y` - The amount to scale along the y axis.
  Returns:
    CTM The result of scaling this CTM.

### transform

    public java.awt.geom.Rectangle2D transform(java.awt.geom.Rectangle2D inRect)

  Transform a rectangle by the CTM to produce a rectangle in the transformed coordinate system.

  Parameters:
    `inRect` - The rectangle in the original coordinate system
  Returns:
    Rectangle2D The rectangle in the transformed coordinate system.

### toString

    public java.lang.String toString()

  Get string for this transform.

  Overrides:
    `toString` in class `java.lang.Object`
  Returns:
    a string with the transform values

### toArray

    public double[] toArray()

  Get an array containing the values of this transform. This creates and returns a new transform with the values in it.

  Returns:
    an array containing the transform values

### toAffineTransform

    public java.awt.geom.AffineTransform toAffineTransform()

  Returns this CTM as an AffineTransform object.

  Returns:
    the AffineTransform representation

### getCTMandRelDims

    public static CTM getCTMandRelDims(int absRefOrient,
                                       WritingMode writingMode,
                                       java.awt.geom.Rectangle2D absVPrect,
                                       FODimension reldims)

  Construct a coordinate transformation matrix (CTM).

  Parameters:
    `absRefOrient` - absolute reference orientation
    `writingMode` - the writing mode
    `absVPrect` - absolute viewpoint rectangle
    `reldims` - relative dimensions
  Returns:
    CTM the coordinate transformation matrix (CTM)

fop 1.1

Copyright 1999-2012 The Apache Software Foundation. All Rights Reserved.