IInkRenderer::Draw
4/8/2010
The IInkRenderer method that draws ink strokes using the known device context.
Syntax
HRESULT Draw (
[in] long hdc,
[in] IInkStrokes *strokes
);
Parameters
- hdc
Specifies the handle of the device context on which to draw.
- strokes
Specifies the collection of strokes to draw.
Return Value
HRESULT value | Description |
---|---|
S_OK |
Success. |
E_POINTER |
A parameter contained an invalid pointer. |
E_INK_MISMATCHED_INK_OBJECT |
The strokes parameter is associated with a different IInkDisp object. |
E_INVALIDARG |
An argument is invalid. |
E_INK_INCOMPATIBLE_OBJECT |
The hdc or the strokes parameter does not point to a valid object. |
E_INK_EXCEPTION |
An exception occurred inside the method. |
E_UNEXPECTED |
Unexpected parameter or property type. |
Remarks
Use the IInkRenderer::DrawStroke method to draw a single stroke.
The pen width is multiplied (or scaled) by the square root of the determinant of the view transform.
Note
If you have not set the pen width explicitly, it is 53 by default. You must multiply the pen width by the square root of the determinant to yield the correct bounding box. The height and width of the bounding box are expanded by half this amount in each direction.
For example, consider that the pen width is 53, the square root of the determinant is 50, and the bounding box is (0,0,1000,1000). The pen width adjustment to the bounding box in each direction is calculated as (53*50)/2, and the right and bottom sides are incremented by one. This results in a rendered bounding box of (-1325,-1325,2326,2326).
The IInkRenderer forces the viewport and window origins to 0, 0. Any existing settings are saved and restored, but is not used by the IInkRenderer. To perform scrolling, use the IInkRenderer object's view and object transform methods.
Requirements
Header | msinkaut.h |
Windows Embedded CE | Windows CE 5.0 and later |
Windows Mobile | Windows Mobile 6 Classic and later, Windows Mobile 6 Professional and later |