Foxit PDF SDK

Public Member Functions | Public Attributes | List of all members
FSDK.Matrix2D Class Reference

## Public Member Functions
| Concat (a, b, c, d, e, f, bPrepended)
| Concatenate with another matrix. More...
| Concat (m, bPrepended)
| Concatenate with another matrix. More...
| ConcatInverse (m, bPrepended)
| Concatenate the inverse of another matrix. More...
| constructor ()
| Construct a identity transformation matrix.
| constructor (a1, b1, c1, d1, e1, f1)
| Construct a matrix with six input coefficients. More...
| GetUnitArea ()
| Get area of the parallelogram composing two unit vectors. More...
| GetUnitRect ()
| Get a bounding rectangle of the parallelogram composing two unit vectors. More...
| GetXUnit ()
| Get the x-direction unit size. More...
| GetYUnit ()
| Get the y-direction unit size. More...
| Is90Rotated ()
| Whether this matrix has rotating of 90, or -90 degrees. More...
Reset() | IsIdentity ()
| Reset current matrix. More...
| IsInvertible ()
| Determine whether a matrix is invertible or not. More...
| IsScaled ()
| Whether this matrix has scaling (or translating) only. No rotating. More...
| MatchRect (dest, src)
| Get a matrix that transforms a source rectangle to dest rectangle. More...
| Rotate (fRadian, bPrepended)
| Rotate the matrix. More...
| RotateAt (fRadian, x, y, bPrepended)
| Rotate the matrix at a position. More...
| Scale (sx, sy, bPrepended)
| Scale the matrix. More...
| Set (a, b, c, d, e, f)
| Change the coefficients in the matrix. More...
| SetIdentity ()
| Set the matrix to be an identity transformation matrix. More...
| SetReverse (m)
| Set the coefficients of the inverse of another matrix to this matrix. More...
| Shear (fAlphaRadian, fBetaRadian, bPrepended)
| Shear the matrix. More...
| TransformDistance (distance)
| Transform a distance. More...
| TransformDistance (dx, dy)
| Transform distance specified by x and y value. More...
| TransformDistance (dx, dy)
| Transform distance specified by x and y value. More...
| TransformPoint (x, y)
| Transform point specified by x and y value. More...
| TransformRect (rect)
| Transform a rectangle and return a bounding rectangle. The result rectangle is always normalized: left <= right, and bottom <= top. More...
| TransformRect (rect)
| Transform a rectangle and return a bounding rectangle. The result rectangle is always normalized: left <= right, and bottom <= top. More...
| TransformXDistance (dx)
| Transform a x-distance. More...
| TransformYDistance (dy)
| Transform a y-distance. More...
| Translate (x, y, bPrepended)
| Translate the matrix. More...
| TranslateI (x, y, bPrepended)
| Translate the matrix. using integer value. More...

## Public Attributes
| a
| The coefficient a.
| b
| The coefficient b.
| c
| The coefficient c.
| d
| The coefficient d.
| e
| The coefficient e.
| f
| The coefficient f.

## Detailed Description

Affine (linear) transformation matrix.

It defines six coefficients: a, b, c, d, e, f. The transformation equations are: dest_x = a * src_x + c * src_y + e; dest_y = b * src_x + d * src_y + f;

## Member Function Documentation

## ◆ Concat() [1/2]

FSDK.Matrix2D.Concat | ( | a | ,
|  | b | ,
|  | c | ,
|  | d | ,
|  | e | ,
|  | f | ,
|  | bPrepended |
| ) |  |

Concatenate with another matrix.

Parameters

  [in] | a | The coefficient a of the input matrix.
  [in] | b | The coefficient b of the input matrix.
  [in] | c | The coefficient c of the input matrix.
  [in] | d | The coefficient d of the input matrix.
  [in] | e | The coefficient e of the input matrix.
  [in] | f | The coefficient f of the input matrix.
  [in] | bPrepended | If this is true, the concatenation matrix is multiplied at left side, or at right side.

Returns
  None.

## ◆ Concat() [2/2]

FSDK.Matrix2D.Concat | ( | m | ,
|  | bPrepended |
| ) |  |

Concatenate with another matrix.

Parameters

  [in] | m | The input matrix.
  [in] | bPrepended | If this is true, the concatenation matrix is multiplied at left side, or at right side.

Returns
  None.

## ◆ ConcatInverse()

FSDK.Matrix2D.ConcatInverse | ( | m | ,
|  | bPrepended |
| ) |  |

Concatenate the inverse of another matrix.

Parameters

  [in] | m | The input matrix.
  [in] | bPrepended | If this is true, the concatenation matrix is multiplied at left side, or at right side.

Returns
  None.

## ◆ constructor()

FSDK.Matrix2D.constructor | ( | a1 | ,
|  | b1 | ,
|  | c1 | ,
|  | d1 | ,
|  | e1 | ,
|  | f1 |
| ) |  |

Construct a matrix with six input coefficients.

Parameters

  [in] | a1 | The input coefficient a.
  [in] | b1 | The input coefficient b.
  [in] | c1 | The input coefficient c.
  [in] | d1 | The input coefficient d.
  [in] | e1 | The input coefficient e.
  [in] | f1 | The input coefficient f.

## ◆ GetUnitArea()

FSDK.Matrix2D.GetUnitArea | ( |  | ) |

Get area of the parallelogram composing two unit vectors.

Returns
  The area of the parallelogram composing two unit vectors.

## ◆ GetUnitRect()

FSDK.Matrix2D.GetUnitRect | ( |  | ) |

Get a bounding rectangle of the parallelogram composing two unit vectors.

Returns
  The unit rect.

## ◆ GetXUnit()

FSDK.Matrix2D.GetXUnit | ( |  | ) |

Get the x-direction unit size.

Returns
  The x-direction unit size.

## ◆ GetYUnit()

FSDK.Matrix2D.GetYUnit | ( |  | ) |

Get the y-direction unit size.

Returns
  The y-direction unit size.

## ◆ Is90Rotated()

FSDK.Matrix2D.Is90Rotated | ( |  | ) |

Whether this matrix has rotating of 90, or -90 degrees.

Returns
  true means current matrix has rotating of 90, or -90 degrees, while false means not.

## ◆ IsIdentity()

Reset () FSDK.Matrix2D.IsIdentity | ( |  | ) |

Reset current matrix.

Returns
  None.

Copy coefficients from another matrix.

Parameters

  [in] | m | The input matrix.

Returns
  None.

Determine whether a matrix is an identity transformation or not.

Returns
  true means current matrix is identity, while false means not.

## ◆ IsInvertible()

FSDK.Matrix2D.IsInvertible | ( |  | ) |

Determine whether a matrix is invertible or not.

Returns
  true means current matrix is invertible, while false means not.

## ◆ IsScaled()

FSDK.Matrix2D.IsScaled | ( |  | ) |

Whether this matrix has scaling (or translating) only. No rotating.

Returns
  true means current matrix has scaling (or translating) only, while false means not.

## ◆ MatchRect()

FSDK.Matrix2D.MatchRect | ( | dest | ,
|  | src |
| ) |  |

Get a matrix that transforms a source rectangle to dest rectangle.

Parameters

  [in] | dest | The dest rectangle.
  [in] | src | The source rectangle.

Returns
  None.

## ◆ Rotate()

FSDK.Matrix2D.Rotate | ( | fRadian | ,
|  | bPrepended |
| ) |  |

Rotate the matrix.

Parameters

  [in] | fRadian | Rotation angle in radian.
  [in] | bPrepended | If it's true, a rotation matrix is multiplied at left side, or at right side.

Returns
  None.

## ◆ RotateAt()

FSDK.Matrix2D.RotateAt | ( | fRadian | ,
|  | x | ,
|  | y | ,
|  | bPrepended |
| ) |  |

Rotate the matrix at a position.

Parameters

  [in] | fRadian | Rotation angle in radian.
  [in] | x | The x coordinate from which to rotate.
  [in] | y | The y coordinate from which to rotate.
  [in] | bPrepended | If this is true, a rotation matrix is multiplied at left side, or at right side.

Returns
  None.

## ◆ Scale()

FSDK.Matrix2D.Scale | ( | sx | ,
|  | sy | ,
|  | bPrepended |
| ) |  |

Scale the matrix.

Parameters

  [in] | sx | The x-direction scale coefficient.
  [in] | sy | The y-direction scale coefficient.
  [in] | bPrepended | If this is true, a scaling matrix is multiplied at left side, or at right side.

Returns
  None.

## ◆ Set()

FSDK.Matrix2D.Set | ( | a | ,
|  | b | ,
|  | c | ,
|  | d | ,
|  | e | ,
|  | f |
| ) |  |

Change the coefficients in the matrix.

Parameters

  [in] | a | The input coefficient a.
  [in] | b | The input coefficient b.
  [in] | c | The input coefficient c.
  [in] | d | The input coefficient d.
  [in] | e | The input coefficient e.
  [in] | f | The input coefficient f.

Returns
  None.

## ◆ SetIdentity()

FSDK.Matrix2D.SetIdentity | ( |  | ) |

Set the matrix to be an identity transformation matrix.

Returns
  None.

## ◆ SetReverse()

FSDK.Matrix2D.SetReverse | ( | m |  | ) |

Set the coefficients of the inverse of another matrix to this matrix.

Parameters

  [in] | m | The input matrix.

Returns
  None.

## ◆ Shear()

FSDK.Matrix2D.Shear | ( | fAlphaRadian | ,
|  | fBetaRadian | ,
|  | bPrepended |
| ) |  |

Shear the matrix.

Parameters

  [in] | fAlphaRadian | Shearing angle of x axis.
  [in] | fBetaRadian | Shearing angle of y axis.
  [in] | bPrepended | If this is true, a shearing matrix is multiplied at left side, or at right side.

Returns
  None.

## ◆ TransformDistance() [1/3]

FSDK.Matrix2D.TransformDistance | ( | distance |  | ) |

Transform a distance.

Parameters

  [in] | distance | The input distance.

Returns
  The transformed distance.

## ◆ TransformDistance() [2/3]

FSDK.Matrix2D.TransformDistance | ( | dx | ,
|  | dy |
| ) |  |

Transform distance specified by x and y value.

Parameters

  [in] | dx | The input x value.
  [in] | dy | The input y value.

Returns
  The transformed distance.

## ◆ TransformDistance() [3/3]

FSDK.Matrix2D.TransformDistance | ( | dx | ,
|  | dy |
| ) |  |

Transform distance specified by x and y value.

Parameters

  [in] | dx | The input x value.
  [in] | dy | The input y value.

Returns
  The transformed distance.

## ◆ TransformPoint()

FSDK.Matrix2D.TransformPoint | ( | x | ,
|  | y |
| ) |  |

Transform point specified by x and y value.

Parameters

  [in,out] | x | The input x-coordinate of the point, and it receives the output transformed x-coordinate.
  [in,out] | y | The input y-coordinate of the point, and it receives the output transformed y-coordinate.

Returns
  None.

## ◆ TransformRect() [1/2]

FSDK.Matrix2D.TransformRect | ( | rect |  | ) |

Transform a rectangle and return a bounding rectangle. The result rectangle is always normalized: left <= right, and bottom <= top.

Parameters

  [in,out] | rect | The input rectangle, and it receives the output transformed and normalized rectangle.

Returns
  None.

## ◆ TransformRect() [2/2]

FSDK.Matrix2D.TransformRect | ( | rect |  | ) |

Transform a rectangle and return a bounding rectangle. The result rectangle is always normalized: left <= right, and bottom <= top.

Parameters

  [in,out] | rect | The input rectangle, and it receives the output transformed and normalized rectangle.

Returns
  None.

## ◆ TransformXDistance()

FSDK.Matrix2D.TransformXDistance | ( | dx |  | ) |

Transform a x-distance.

Parameters

  [in] | dx | The input x-distance.

Returns
  The transformed distance.

## ◆ TransformYDistance()

FSDK.Matrix2D.TransformYDistance | ( | dy |  | ) |

Transform a y-distance.

Parameters

  [in] | dy | The input y-distance.

Returns
  The transformed distance.

## ◆ Translate()

FSDK.Matrix2D.Translate | ( | x | ,
|  | y | ,
|  | bPrepended |
| ) |  |

Translate the matrix.

Parameters

  [in] | x | The x-direction delta value.
  [in] | y | The y-direction delta value.
  [in] | bPrepended | If this is true, a translation matrix is multiplied at left side, or at right side.

Returns
  None.

## ◆ TranslateI()

FSDK.Matrix2D.TranslateI | ( | x | ,
|  | y | ,
|  | bPrepended |
| ) |  |

Translate the matrix. using integer value.

Parameters

  [in] | x | The x-direction delta integer value.
  [in] | y | The y-direction delta integer value.
  [in] | bPrepended | If this is true, a translation matrix is multiplied at left side, or at right side.

Returns
  None.