Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
4/8/2010

Calculates the rectangle on the device context that would contain a stroke if it were drawn with the IInkRendererobject using the IInkRenderer::DrawStrokemethod.

Syntax

HRESULT MeasureStroke (
  [in] IInkStrokeDisp *stroke,
  [in, optional, defaultvalue(0)] IInkDrawingAttributes 
	*drawingAttributes,
  [out, retval] IInkRectangle **Rectangle
);

Parameters

stroke

The stroke to measure.

drawingAttributes

The IInkDrawingAttributesto use when calculating the rectangle, which override the drawing attributes on the stroke. The default value is NULL, which means the stroke is measured by using its own drawing attributes.

Rectangle

Returns the rectangle on the device context that would contain the stroke if the stroke were drawn with the DrawStrokemethod of the IInkRendererobject. The stroke must contain x– and y–coordinates to calculate the rectangle. Otherwise, the method returns an empty rectangle.

Return Value

HRESULT value Description

S_OK

Success.

REGDB_E_CLASSNOTREG

The IInkRectangleobject is not registered on the system.

E_INK_INCOMPATIBLE_OBJECT

IInkStrokeDispdoes not point to a compatible IInkDispobject, or drawingAttributesis an invalid input parameter.

E_INK_EXCEPTION

An exception occurred inside the method.

E_POINTER

A parameter contained an invalid pointer.

E_INVALIDARG

Invalid display handle.

E_UNEXPECTED

Unexpected parameter or property type.

Remarks

This is accurate only if you pass the same arguments to both MeasureStrokeand IInkRenderer::DrawStroke.

Since the bounding box is affected by the pen width, this width is scaled appropriately for the IInkRenderer's view transform. To do this, the pen width is multiplied by the square root of the determinant of the view transform. The height and width of the bounding box are expanded by half this amount in each direction, and the right and bottom sides are incremented by one.

For example, consider that the pen width is originally 53, the square root of the determinant of the view transform 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).

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