IInkTransform

4/8/2010

Represents a 3 × 3 matrix that, in turn, represents an affine transformation.

The object stores only six of the nine numbers in a 3 × 3 matrix because all 3 × 3 matrices that represent affine transformations have the same third column (0, 0, 1). This object in turn is used to describe transformation operations such as moving, shearing, scaling, or rotating in an IInkRenderer object, IInkStrokeDisp object, or IInkStrokes collection.

The IInkTransform object correlates to the XFORM structure. The XFORM structure has the following form:

typedef struct tagXFORM {

FLOAT eM11;

FLOAT eM12;

FLOAT eM21;

FLOAT eM22;

FLOAT eDx;

FLOAT eDy;

} XFORM;

The XFORM structure specifies a world–space to page–space transformation. The eDx and eDy members specify the horizontal and vertical translation components, respectively. The following table shows how the other members are used, depending on the operation:

Operation eM11 eM12 eM21 eM22

Rotation

Cosine of rotation angle

Sine of rotation angle

Negative sine of rotation angle

Cosine of rotation angle

Scaling

Horizontal scaling component

Nothing

Nothing

Vertical scaling component

Shear

Nothing

Horizontal proportionality constant

Vertical proportionality constant

Nothing

Reflection

Horizontal reflection component

Nothing

Nothing

Vertical

In This Section

See Also

Concepts

Windows Mobile Ink Reference