2.2.57 ADJH
The ADJH record specifies a single adjust handle that a user can employ to manipulate the geometry of a shape.
0 
1 
2 
3 
4 
5 
6 
7 
8 
9  1 0 
1 
2 
3 
4 
5 
6 
7 
8 
9  2 0 
1 
2 
3 
4 
5 
6 
7 
8 
9  3 0 
1 

A 
B 
C 
D 
E 
F 
G 
H 
I 
J 
K 
L 
M 
N 
unused1  
apX  
apY  
xRange  
yRange  
xMin  
xMax  
yMin  
yMax 

A  fahInverseX (1 bit): A bit that specifies whether the xcoordinate of this adjust handle is inverted according to the following formula:
xnew = right  xold
where right means the right coordinate of the bounding rectangle of the geometry space as specified by the geoRight property of this shape. Note that all the values are specified in the geometry space.

B  fahInverseY (1 bit): A bit that specifies whether the ycoordinate of this adjust handle is inverted according to the following formula:
ynew = bottom – yold
where bottom means the bottom coordinate of the bounding rectangle of the geometry space as specified by the geoBottom property of this shape. Note that all the values are specified in the geometry space.

C  fahSwitchPosition (1 bit): A bit that specifies whether the x and ycoordinates of this adjust handle are swapped if the shape is taller than it is wide.

D  fahPolar (1 bit): A bit that specifies whether the coordinates of this adjust handle are polar coordinate values rather than Cartesian coordinate values. The following table specifies the meaning of each value for this bit.
Value
Meaning
0x0
The coordinates of this adjust handle are Cartesian coordinate values.
0x1
The xcoordinate of this adjust handle specifies the radius in geometry space units; the ycoordinate specifies the angle, in degrees, as a value of type FixedPoint (as specified in [MSOSHARED] section 2.2.1.6); and (xRange,yRange) specifies the origin of the polar coordinate system in geometry space. The value of fahMap MUST NOT equal 0x1.

E  fahMap (1 bit): A bit that specifies whether the position of the adjust handle is mapped from the entire range of the geometry space of this shape to the range that is specified by the values of xRange and yRange. If this value equals 0x1, fahPolar MUST NOT equal 0x1.

F  fahPin (1 bit): A bit that specifies whether the position of this adjust handle is constrained to exist within the rectangle that is specified by xMin, xMax, yMin, and yMax.

G  fahUnused (1 bit): A value that is undefined and MUST be ignored.

H  fahxMin (1 bit): A bit that specifies whether xMin is interpreted as an index into the pGuides_complex array, as defined in section 2.3.6.27, for this shape rather than as a constant value.

I  fahxMax (1 bit): A bit that specifies whether xMax is interpreted as an index into the pGuides_complex array, as defined in section 2.3.6.27, for this shape rather than as a constant value.

J  fahyMin (1 bit): A bit that specifies whether yMin is interpreted as an index into the pGuides_complex array, as defined in section 2.3.6.27, for this shape rather than as a constant value.

K  fahyMax (1 bit): A bit that specifies whether yMax is interpreted as an index into the pGuides_complex array, as defined in section 2.3.6.27, for this shape rather than as a constant value.

L  fahxRange (1 bit): A bit that specifies whether xRange is interpreted as an index into the pGuides_complex array, as defined in section 2.3.6.27, for this shape rather than as a constant value.

M  fahyRange (1 bit): A bit that specifies whether yRange is interpreted as an index into the pGuides_complex array, as defined in section 2.3.6.27, for this shape rather than as a constant value.

N  fahPolarPin (1 bit): A bit that specifies whether the xcoordinate of this adjust handle is constrained to exist within the range that is specified by xMin and xMax, inclusive.

unused1 (18 bits): A value that is undefined and MUST be ignored.

apX (4 bytes): An unsigned integer that specifies the positioning of the xcoordinate of this adjust handle. The following table specifies the allowed values.
Value
Positioning
0x00000000
Position the xcoordinate of this adjust handle on the left perimeter of this shape.
0x00000001
Position the xcoordinate of this adjust handle on the right perimeter of this shape.
0x00000002
Position the xcoordinate of this adjust handle along the horizontal center of this shape.
0x00000003–0x00000082
Position the xcoordinate of this adjust handle according to an entry in the pGuides_complex array, as defined in section 2.3.6.27, for this shape. The zerobased index into the pGuides_complex array is derived by subtracting 0x00000003 from the value.
0x00000100
Position the xcoordinate of this adjust handle according to the value of the adjustValue property, as defined in section 2.3.6.10, of this shape.
0x00000101
Position the xcoordinate of this adjust handle according to the value of the adjust2Value property, as defined in section 2.3.6.11, of this shape.
0x00000102
Position the xcoordinate of this adjust handle according to the value of the adjust3Value property, as defined in section 2.3.6.12, of this shape.
0x00000103
Position the xcoordinate of this adjust handle according to the value of the adjust4Value property, as defined in section 2.3.6.13, of this shape.
0x00000104
Position the xcoordinate of this adjust handle according to the value of the adjust5Value property, as defined in section 2.3.6.14, of this shape.
0x00000105
Position the xcoordinate of this adjust handle according to the value of the adjust6Value property, as defined in section 2.3.6.15, of this shape.
0x00000106
Position the xcoordinate of this adjust handle according to the value of the adjust7Value property, as defined in section 2.3.6.16, of this shape.
0x00000107
Position the xcoordinate of this adjust handle according to the value of the adjust8Value property, as defined in section 2.3.6.17, of this shape.

apY (4 bytes): An unsigned integer that specifies the positioning of the ycoordinate of this adjust handle. The following table specifies the allowed values.
Value
Positioning
0x00000000
Position the ycoordinate of this adjust handle on the top perimeter of this shape.
0x00000001
Position the ycoordinate of this adjust handle on the bottom perimeter of this shape.
0x00000002
Position the ycoordinate of this adjust handle along the vertical center of this shape.
0x00000003–0x00000082
Position the ycoordinate of this adjust handle according to an entry in the pGuides_complex array, as defined in section 2.3.6.27, for this shape. The zerobased index into the pGuides_complex array is derived by subtracting 0x00000003 from the value.
0x00000100
Position the ycoordinate of this adjust handle according to the value of the adjustValue property, as defined in section 2.3.6.10, of this shape.
0x00000101
Position the ycoordinate of this adjust handle according to the value of the adjust2Value property, as defined in section 2.3.6.11, of this shape.
0x00000102
Position the ycoordinate of this adjust handle according to the value of the adjust3Value property, as defined in section 2.3.6.12, of this shape.
0x00000103
Position the ycoordinate of this adjust handle according to the value of the adjust4Value property, as defined in section 2.3.6.13, of this shape.
0x00000104
Position the ycoordinate of this adjust handle according to the value of the adjust5Value property, as defined in section 2.3.6.14, of this shape.
0x00000105
Position the ycoordinate of this adjust handle according to the value of the adjust6Value property, as defined in section 2.3.6.15, of this shape.
0x00000106
Position the ycoordinate of this adjust handle according to the value of the adjust7Value property, as defined in section 2.3.6.16, of this shape.
0x00000107
Position the ycoordinate of this adjust handle according to the value of the adjust8Value property, as defined in section 2.3.6.17, of this shape.

xRange (4 bytes): A signed integer that specifies the xcoordinate of a value that is used to control the position of this adjust handle. If fahxRange equals 0x0, the value is used directly. If fahxRange equals 0x1, 0x00000003 is subtracted from the value, and the result is used as a zerobased index into the pGuides_complex array, as defined in section 2.3.6.27, for this shape to calculate the actual value.

yRange (4 bytes): A signed integer that specifies the ycoordinate of a value that is used to control the position of this adjust handle. If fahyRange equals 0x0, the value is used directly. If fahyRange equals 0x1, 0x00000003 is subtracted from the value, and the result is used as a zerobased index into the pGuides_complex array, as defined in section 2.3.6.27, for this shape to calculate the actual value.

xMin (4 bytes): A signed integer that specifies the xcoordinate of a value that is used to control the position of this adjust handle. If fahxMin equals 0x0, the value is used directly. If fahxMin equals 0x1, 0x00000003 is subtracted from the value, and the result is used as a zerobased index into the pGuides_complex array, as defined in section 2.3.6.27, for this shape to calculate the actual value.

xMax (4 bytes): A signed integer that specifies the xcoordinate of a value that is used to control the position of this adjust handle. If fahxMax equals 0x0, the value is used directly. If fahxMax equals 0x1, 0x00000003 is subtracted from the value, and the result is used as a zerobased index into the pGuides_complex array, as defined in section 2.3.6.27, for this shape to calculate the actual value.

yMin (4 bytes): A signed integer that specifies the ycoordinate of a value that is used to control the position of this adjust handle. If fahyMin equals 0x0, the value is used directly. If fahyMin equals 0x1, 0x00000003 is subtracted from the value, and the result is used as a zerobased index into the pGuides_complex array, as defined in section 2.3.6.27, for this shape to calculate the actual value.

yMax (4 bytes): A signed integer that specifies the ycoordinate of a value that is used to control the position of this adjust handle. If fahyMax equals 0x0, the value is used directly. If fahyMax equals 0x1, 0x00000003 is subtracted from the value, and the result is used as a zerobased index into the pGuides_complex array, as defined in section 2.3.6.27, for this shape to calculate the actual value.