Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| fop 1.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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, int writingMode, java.awt.geom.Rectangle2D absVPrect, FODimension reldims)` Construct a coordinate transformation matrix (CTM).
`static CTM` | `getWMctm(int 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(int 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.
    `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.

  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,
                                       int 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)

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| fop 1.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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