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

See Also

Concepts

Windows Mobile Ink Reference