SetViewTransform Method
SetViewTransform Method |
Sets the InkTransform object that represents the view transform that is used to render ink.
Declaration
[C++]
HRESULT SetViewTransform(
[in] IInkTransform* viewTransform
);
[Microsoft® Visual Basic® 6.0]
Public Sub SetViewTransform( _
viewTransform As InkTransform _
)
Parameters
viewTransform
[in] The InkTransform object that represents the geometric transformation — rotation, scaling, shear, and reflection — values to use to transform the stroke coordinates within the ink space.
A NULL
(Nothing
in Visual Basic 6.0) value for the viewTransform parameter correlates to the identity transform.
Return Value
HRESULT value | Description |
---|---|
S_OK | Success. |
E_POINTER | A parameter contained an invalid pointer. |
E_INVALIDARG | viewTransform does not point to a compatible InkTransform object. |
E_INK_EXCEPTION | An exception occurred inside the method. |
Remarks
The transformation applies to both the points and pen width.
View transformation occurs after object transformation.
The pen width is calculated by multiplying the specified pen width (or default of 53, if unspecified) by the square root of the determinant of the view transform.
Example
[Visual Basic 6.0]
This Visual Basic 6.0 example calls SetViewTransform in the event handler for a command button to modify the view transform to rotate the ink 180 degrees around the point (4000, 4000) in ink space.
Option Explicit
Dim theInkCollector As InkCollector
Private Sub Command1_Click()
Dim theInkTransform As New InkTransform
'Rotate the ink through 180 degrees around (4000, 4000)
theInkTransform.SetTransform -1!, 0!, 0!, -1!, 8000!, 8000!
theInkCollector.Renderer.SetViewTransform theInkTransform
Form1.Refresh
End Sub
Private Sub Form_Load()
Set theInkCollector = New InkCollector
theInkCollector.hWnd = Me.hWnd
theInkCollector.Enabled = True
End Sub