The ANNRESIZEROTATE structure contains information about an annotation object when resizing and/or rotating an object in automated mode.
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)
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.
Medical Web Viewer .NET