The adjust values that put a handle as near as it can go to a point: what dragging it there sets. Values the handle does not move are kept as they are.
The handle's IGeometry.IHandle.index.
In pixels, in the shape's frame.
In pixels, in the shape's frame.
Values to pass to IShape.setAdjustments or withAdjustments.
Visits every adjust value the definition declares, in the definition's order, with the value the geometry was evaluated with: the shape's own where it sets one, else the default.
Called with each value's name, its value, and whether it is the default.
Visits the connection sites, in the order a connector's ends index them.
Visits the adjust handles, in the order adjustmentsFromHandle indexes them.
Visits every path in paint order: a shape's fills, then its strokes, then its markers.
The height the geometry was evaluated at, in pixels.
The box that holds every path, line ends included, in the shape's frame.
Where text is laid out: the definition's text rectangle, or the whole frame when it declares none.
The width the geometry was evaluated at, in pixels.
Whether any adjust value differs from the definition's default.
The same shape evaluated with other adjust values.
Values by name, as IShape.setAdjustments takes them (what a
handle drag produced); null for the preset's defaults.
A shape's geometry evaluated at one size: its paths, text rectangle, adjust handles and connection sites, in pixels in the shape's own frame (its top-left is 0,0).
Remarks
Returned by IShape.getGeometry, which loads whatever the shape needs to evaluate. Once it has resolved, everything here is synchronous: a renderer re-evaluates at a new size (resize) or with new adjust values (withAdjustments) on every frame of a drag.
Example