ANNRESIZEROTATE
typedef struct tagANNRESIZEROTATE
{
L_UINT uStructSize;
L_INT nState;
pANNXFORM pAnnXForm;
L_DOUBLE dAngle;
} ANNRESIZEROTATE, *pANNRESIZEROTATE;
The ANNRESIZEROTATE structure contains information about an annotation object when resizing and/or rotating an object in automated mode.
Member |
Description |
|
uStructSize |
Size of the ANNCHANGEPARAM structure. Use sizeof(ANNCHANGEPARAM). |
|
nState |
Value that indicates the state of the move. Possible values are: |
|
|
Value |
Meaning |
|
STATE_BEGIN |
[1] |
|
STATE_UPDATE |
[2] |
|
STATE_END |
[3] |
pAnnXForm |
Pointer to a structure of type ANNXFORM. |
|
dAngle |
Angle of rotation in degrees. Positive is clockwise, and negative is counter-clockwise. |
Comments
The ANNRESIZEROTATE structure is part of the union of the ANNCHANGEPARAM structure. For more information, see the documentation for ANNCHANGEPARAM.
When doing any of the following (in automated mode or by calling L_AnnDefine explicitly)
Rotate—Shift-clicking a handle in automated mode
Resizing—dragging a vertex of a rectangular object
Resize/Rotate—by calling L_AnnDefine with ANNDEFINE_BEGINMOVEPOINT for a rectangular object (one of the following objects)
ANNOBJECT_RECT
ANNOBJECT_ELLIPSE
ANNOBJECT_HILITE
ANNOBJECT_REDACT
ANNOBJECT_TEXT
ANNOBJECT_NOTE
ANNOBJECT_STAMP
ANNOBJECT_HOTSPOT
A WM_LTANNEVENT message is sent where wParam is ANNCHANGE_RESIZE, ANNCHANGE_ROTATE, or ANNCHANGE_RESIZE_ROTATE.
The lParam field points to a structure of type ANNCHANGEPARAM. In this case, the union of ANNCHANGEPARAM is type ANNRESIZEROTATE. This message is sent when one of the following events occurs:
Starting the resize/rotate (with a mouse click): two messages are sent, one before and one after the initial mouse click. The nState field is set to STATE_BEGIN. The dAngle field is zero intially, regardless of the orientation of the object.
Updating the resize/rotate (by dragging the mouse): Pairs of messages (one before and one after) are sent for each mouse move. The nState field is set to STATE_UPDATE, and the dAngle field contains angle of rotation relative to the original angle. For example, if the original object was already rotated 15 degrees, and the object is rotated 20 degrees more, dAngle would be 20 degrees.
Ending the resize/rotate (by releasing the mouse): One pair of messages is sent (one before and one after) for the mouse up. The nState field is set to STATE_END, and the dAngle field contains the final angle, relative to the original angle.
The pANNXFORM is a pointer to a structure of type ANNXFORM. In each of the three cases above, the ANNXFORM contains a matrix that is about to be (when bAfter is FALSE) or already has been (when bAfter is TRUE) applied to the object.
See Also
Topics: |