2.4.31 MSOPATHESCAPE

The MSOPATHESCAPE enumeration, as shown in the following table, modifies the path properties by adding elements to a path, providing additional control, or specifying how to handle the editing of POINT data, as defined in section 2.2.55.

Name

Value

Meaning

msopathEscapeExtension

0x00000000

This value adds additional POINT values, as defined in section 2.2.55, to the escape code that follows msopathEscapeExtension.

msopathEscapeAngleEllipseTo

0x00000001

The first POINT specifies the center of the ellipse. The second POINT specifies the starting radius in the x value and the ending radius in the y value. The third POINT specifies the starting angle in the x value and the ending angle in the y value. Angles are in degrees. The number of ellipse segments drawn equals the number of segments divided by three.

msopathEscapeAngleEllipse

0x00000002

The first POINT specifies the center of the ellipse. The second POINT specifies the starting radius in the x value and the ending radius in the y value. The third POINT specifies the starting angle in the x value and the ending angle in the y value. Angles are in degrees. The number of ellipse segments drawn equals the number of segments divided by three. The first POINT of the ellipse becomes the first POINT of a new path.

msopathEscapeArcTo

0x00000003

The first two POINT values specify the bounding rectangle of the ellipse. The second two POINT values specify the radial vectors for the ellipse. The radial vectors are cast from the center of the bounding rectangle. The path starts at the POINT where the first radial vector intersects the bounding rectangle and goes to the POINT where the second radial vector intersects the bounding rectangle. The drawing direction is counterclockwise. If the path has already been started, a line is drawn from the last POINT to the starting POINT of the arc; otherwise, a new path is started. The number of arc segments drawn equals the number of segments divided by four.

msopathEscapeArc

0x00000004

The first two POINT values specify the bounding rectangle of the ellipse. The second two POINT values specify the radial vectors for the ellipse. The radial vectors are cast from the center of the bounding rectangle. The path starts at the POINT where the first radial vector intersects the bounding rectangle and goes to the POINT where the second radial vector intersects the bounding rectangle. The drawing direction is counterclockwise. The number of arc segments drawn equals the number of segments divided by four.

msopathEscapeClockwiseArcTo

0x00000005

The first two POINT values specify the bounding rectangle of the ellipse. The second two POINT values specify the radial vectors for the ellipse. The radial vectors are cast from the center of the bounding rectangle. The path starts at the POINT where the first radial vector intersects the bounding rectangle and goes to the POINT where the second radial vector intersects the bounding rectangle. The drawing direction is clockwise. If the path has already been started, a line is drawn from the last POINT to the starting POINT of the arc; otherwise, a new path is started. The number of arc segments drawn equals the number of segments divided by four.

msopathEscapeClockwiseArc

0x00000006

The first two POINT values specify the bounding rectangle of the ellipse. The second two POINT values specify the radial vectors for the ellipse. The radial vectors are cast from the center of the bounding rectangle. The path starts at the POINT where the first radial vector intersects the bounding rectangle and goes to the POINT where the second radial vector intersects the bounding rectangle. The drawing direction is clockwise. The number of arc segments drawn equals the number of segments divided by four. This escape code starts a new path.

msopathEscapeEllipticalQuadrantX

0x00000007

This value adds an ellipse to the path from the current POINT to the next POINT. The ellipse is drawn as a quadrant that starts as a tangent to the x-axis. Multiple elliptical quadrants are joined by a straight line. The number of elliptical quadrants drawn equals the number of segments.

msopathEscapeEllipticalQuadrantY

0x00000008

This value adds an ellipse to the path from the current POINT to the next POINT. The ellipse is drawn as a quadrant that starts as a tangent to the y-axis. Multiple elliptical quadrants are joined by a straight line. The number of elliptical quadrants drawn equals the number of segments.

msopathEscapeQuadraticBezier

0x00000009

Each POINT defines a control point for a quadratic Bezier curve. The number of control POINT values is defined by the segments property of the containing MSOPATHESCAPEINFO record, as defined in section 2.2.54.

msopathEscapeNoFill

0x0000000A

The path is not to be filled, even if it is passed to a rendering routine that would normally fill the path.

msopathEscapeNoLine

0x0000000B

The path is not to be drawn, even if it passed to a rendering routine that would normally draw the path.

msopathEscapeAutoLine

0x0000000C

For Bezier curve editing, the vertex joints are calculated, are of equal length, and are collinear. The segment after the POINT is a line. The tangent is not visible.

msopathEscapeAutoCurve

0x0000000D

For Bezier curve editing, the vertex joints are calculated, are of equal length, and are collinear. The segment after the POINT is a curve. The tangent is not visible.

msopathEscapeCornerLine

0x0000000E

For Bezier curve editing, the vertex joints are not calculated, are not of equal lengths and are not collinear. The segment after the POINT is a line. The tangent is visible.

msopathEscapeCornerCurve

0x0000000F

For Bezier curve editing, the vertex joints are not calculated, are not of equal length, and are not collinear. The segment after the POINT is a curve. The tangent is visible.

msopathEscapeSmoothLine

0x00000010

For Bezier curve editing, the vertex joints are not calculated, are not of equal length, and are not collinear. The segment after the POINT is a line. The tangent is visible.

msopathEscapeSmoothCurve

0x00000011

For Bezier curve editing, the vertex joints are not calculated, are not of equal length, and are not collinear. The segment after the POINT is a curve. The tangent is visible.

msopathEscapeSymmetricLine

0x00000012

For Bezier curve editing, the vertex joints are not calculated, are of equal length, and are not collinear. The segment after the POINT is a line. The tangent is visible.

msopathEscapeSymmetricCurve

0x00000013

For Bezier curve editing the vertex joints are not calculated, are of equal length, and are not collinear. The segment after the POINT is a curve. The tangent is visible.

msopathEscapeFreeform

0x00000014

For Bezier curve editing, the vertex joints are calculated, are of equal length, and are collinear. The tangent is not visible.    

msopathEscapeFillColor

0x00000015

This value sets a new fill color. A single POINT is used to represent the colors. The x value is an OfficeArtCOLORREF structure, as defined in section 2.2.2, that specifies the new foreground color. The y value is an OfficeArtCOLORREF that specifies the new background color.

msopathEscapeLineColor

0x00000016

This value sets a new line drawing color. A single POINT is used to represent the colors. The x value is an OfficeArtCOLORREF structure, as defined in section 2.2.2, that specifies the new foreground color. The y value is an OfficeArtCOLORREF that specifies the new background color.