Share via


Clip Method

Clip Method

Removes portions of a IInkStrokeDisp object or InkStrokes collection that are outside a rectangle.

Declaration

[C++]

HRESULT Clip (
    [in] IInkRectangle* rectangle
);

[Microsoft® Visual Basic® 6.0]

Public Sub Clip( _
    rectangle As InkRectangle _
)

Parameters

rectangle

[in] Specifies the rectangle outside of which the stroke or strokes are clipped. The rectangle is specified in ink space coordinates.

Return Value

HRESULT value Description
S_OK Success.
E_POINTER A parameter contained an invalid pointer.
REGDB_CLASSNOTREG The Ink object is not registered.
E_INVALIDARG Invalid clip rectangle.
E_INK_EXCEPTION An exception occurred inside the method.
E_FAIL An unspecified error occurred.

Remarks

For an InkDisp object, all strokes intersected by the rectangle are split at the intersection points. All portions of strokes outside the rectangle are removed from the InkDisp object. The method may add new points to a stroke at the point where the stroke intersects the rectangle. After you call the Clip method on an InkDisp object, the IDs of the strokes in the InkDisp object's strokes collection are guaranteed to be unique, but not guaranteed to preserve other information.

This method does not take the pen width into account when clipping. It clips only the actual ink or stroke data.

For a IInkStrokeDisp object or InkStrokes collection, the Clip method updates the parent InkDisp object. Whenever ink is removed from an InkDisp object, any IInkStrokeDisp objects or InkStrokes collections defined for that InkDisp object may be invalidated.

For more information on ink data, see Ink Data.

Example

[Visual Basic 6.0]

This Visual Basic 6.0 example shows a simple call to Clip with an InkRectangle object in ink coordinates.

theInkCollector.Ink.Clip theRectangle

Applies To