Foxit PDF SDK
|
Inherits SystemIDisposable.
Public Member Functions | |
Matrix2D () | |
Construct a identity transformation matrix. | |
Matrix2D (float a1, float b1, float c1, float d1, float e1, float f1) | |
Construct a matrix with six input coefficients. More... | |
void | Concat (float a, float b, float c, float d, float e, float f, bool bPrepended) |
Concatenate with another matrix. More... | |
void | Concat (Matrix2D m, bool bPrepended) |
Concatenate with another matrix. More... | |
void | ConcatInverse (Matrix2D m, bool bPrepended) |
Concatenate the inverse of another matrix. More... | |
void | Copy (Matrix2D m) |
Copy coefficients from another matrix. More... | |
float | GetUnitArea () |
Get area of the parallelogram composing two unit vectors. More... | |
RectF | GetUnitRect () |
Get a bounding rectangle of the parallelogram composing two unit vectors. More... | |
float | GetXUnit () |
Get the x-direction unit size. More... | |
float | GetYUnit () |
Get the y-direction unit size. More... | |
bool | Is90Rotated () |
Whether this matrix has rotating of 90, or -90 degrees. More... | |
bool | IsIdentity () |
Determine whether a matrix is an identity transformation or not. More... | |
bool | IsInvertible () |
Determine whether a matrix is invertible or not. More... | |
bool | IsScaled () |
Whether this matrix has scaling (or translating) only. No rotating. More... | |
void | MatchRect (RectF dest, RectF src) |
Get a matrix that transforms a source rectangle to dest rectangle. More... | |
void | Reset () |
Reset current matrix. More... | |
void | Rotate (float fRadian, bool bPrepended) |
Rotate the matrix. More... | |
void | RotateAt (float fRadian, float x, float y, bool bPrepended) |
Rotate the matrix at a position. More... | |
void | Scale (float sx, float sy, bool bPrepended) |
Scale the matrix. More... | |
void | Set (float a, float b, float c, float d, float e, float f) |
Change the coefficients in the matrix. More... | |
void | Set (float[] n) |
Change the coefficients in the matrix. More... | |
void | SetIdentity () |
Set the matrix to be an identity transformation matrix. More... | |
void | SetReverse (Matrix2D m) |
Set the coefficients of the inverse of another matrix to this matrix. More... | |
void | Shear (float fAlphaRadian, float fBetaRadian, bool bPrepended) |
Shear the matrix. More... | |
float | TransformDistance (float dx, float dy) |
Transform distance specified by x and y value. More... | |
int | TransformDistance (int dx, int dy) |
Transform distance specified by x and y value. More... | |
float | TransformDistance (float distance) |
Transform a distance. More... | |
void | TransformPoint (ref float x, ref float y) |
Transform point specified by x and y value. More... | |
void | TransformPoint (ref int x, ref int y) |
Transform point specified by x and y value. More... | |
void | TransformRect (RectF rect) |
Transform a rectangle and return a bounding rectangle. The result rectangle is always normalized: left <= right, and bottom <= top. More... | |
void | TransformRect (RectI rect) |
Transform a rectangle and return a bounding rectangle. The result rectangle is always normalized: left <= right, and bottom <= top. More... | |
float | TransformXDistance (float dx) |
Transform a x-distance. More... | |
int | TransformXDistance (int dx) |
Transform a x-distance. More... | |
float | TransformYDistance (float dy) |
Transform a y-distance. More... | |
int | TransformYDistance (int dy) |
Transform a y-distance. More... | |
void | Translate (float x, float y, bool bPrepended) |
Translate the matrix. More... | |
void | TranslateI (int x, int y, bool bPrepended) |
Translate the matrix. using integer value. More... | |
Properties | |
float | a [get, set] |
The coefficient a. | |
float | b [get, set] |
The coefficient b. | |
float | c [get, set] |
The coefficient c. | |
float | d [get, set] |
The coefficient d. | |
float | e [get, set] |
The coefficient e. | |
float | f [get, set] |
The coefficient f. | |
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;
|
inline |
Construct a matrix with six input coefficients.
[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. |
|
inline |
Concatenate with another matrix.
[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. |
|
inline |
Concatenate with another matrix.
[in] | m | The input matrix. |
[in] | bPrepended | If this is true, the concatenation matrix is multiplied at left side, or at right side. |
|
inline |
Concatenate the inverse of another matrix.
[in] | m | The input matrix. |
[in] | bPrepended | If this is true, the concatenation matrix is multiplied at left side, or at right side. |
|
inline |
Copy coefficients from another matrix.
[in] | m | The input matrix. |
|
inline |
Get area of the parallelogram composing two unit vectors.
|
inline |
Get a bounding rectangle of the parallelogram composing two unit vectors.
|
inline |
Get the x-direction unit size.
|
inline |
Get the y-direction unit size.
|
inline |
Whether this matrix has rotating of 90, or -90 degrees.
|
inline |
Determine whether a matrix is an identity transformation or not.
|
inline |
Determine whether a matrix is invertible or not.
|
inline |
Whether this matrix has scaling (or translating) only. No rotating.
Get a matrix that transforms a source rectangle to dest rectangle.
[in] | dest | The dest rectangle. |
[in] | src | The source rectangle. |
|
inline |
Reset current matrix.
|
inline |
Rotate the matrix.
[in] | fRadian | Rotation angle in radian. |
[in] | bPrepended | If it's true, a rotation matrix is multiplied at left side, or at right side. |
|
inline |
Rotate the matrix at a position.
[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. |
|
inline |
Scale the matrix.
[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. |
|
inline |
Change the coefficients in the matrix.
[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. |
|
inline |
Change the coefficients in the matrix.
[in] | n | The input coefficient array. |
|
inline |
Set the matrix to be an identity transformation matrix.
|
inline |
Set the coefficients of the inverse of another matrix to this matrix.
[in] | m | The input matrix. |
|
inline |
Shear the matrix.
[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. |
|
inline |
Transform distance specified by x and y value.
[in] | dx | The input x value. |
[in] | dy | The input y value. |
|
inline |
Transform distance specified by x and y value.
[in] | dx | The input x value. |
[in] | dy | The input y value. |
|
inline |
Transform a distance.
[in] | distance | The input distance. |
|
inline |
Transform point specified by x and y value.
[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. |
|
inline |
Transform point specified by x and y value.
[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. |
|
inline |
Transform a rectangle and return a bounding rectangle. The result rectangle is always normalized: left <= right, and bottom <= top.
[in,out] | rect | The input rectangle, and it receives the output transformed and normalized rectangle. |
|
inline |
Transform a rectangle and return a bounding rectangle. The result rectangle is always normalized: left <= right, and bottom <= top.
[in,out] | rect | The input rectangle, and it receives the output transformed and normalized rectangle. |
|
inline |
Transform a x-distance.
[in] | dx | The input x-distance. |
|
inline |
Transform a x-distance.
[in] | dx | The input x-distance. |
|
inline |
Transform a y-distance.
[in] | dy | The input y-distance. |
|
inline |
Transform a y-distance.
[in] | dy | The input y-distance. |
|
inline |
Translate the matrix.
[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. |
|
inline |
Translate the matrix. using integer value.
[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. |