File Parser ConstantsFile Parser Constants*
*Contents  *Index  *Topic Contents
*Previous Topic: File Parsers
*Next Topic: File Viewers

File Parser Constants


The following vector object values and vector attribute values are used with the vector graphics functions.

Vector object values

SO_ARC Draws an arc. dwDataSize must be four times the size of the SOPOINT structure, and pData must be the address of four SOPOINT structures.
SO_ARCANGLE Draws an arc by defining the angles of the two points on the ellipse that locate the start and end of the arc. dwDataSize must be the size of the SOARCINFO structure, and pData must be the address of a SOARCINFO structure that defines the arc.
SO_ARCANGLECLOCKWISE Draws an arc in the clockwise direction by defining the angles of the two points on the ellipse that locate the start and end of the arc. dwDataSize must be the size of the SOARCINFO structure, and pData must be the address of a SOARCINFO structure.
SO_ARCCLOCKWISE Draws an arc in the clockwise direction. dwDataSize must be four times the size of the SOPOINT structure, and pData must be the address of four SOPOINT structures.
SO_BEGINGROUP Starts the definition of a group. dwDataSize must be the size of the SOGROUPINFO structure added to GroupInfo.nTransforms times the size of the SOTRANSFORM structure, and pData must be the address of a SOGROUPINFO structure followed by the number of SOTRANSFORM structures defined in the nTransforms member of the SOGROUPINFO structure. The transformations will occur to all objects in the group in the order supplied. For more information, see the SO_OBJECTTRANSFORM vector attribute value.
SO_BEGINPATH Starts the definition of a path. dwDataSize must be the size of the SOPATHINFO structure added to GroupInfo.nTransforms times the size of the SOTRANSFORM structure, and pData must be the address of a SOPATHINFO structure followed by the number of SOTRANSFORM structures defined in the nTransforms member of the SOPATHINFO structure. The transformations will occur to all objects in the path in the order supplied. For more information, see the SO_OBJECTTRANSFORM vector attribute value later in this section.

This item is used to begin the definition of a path. Paths are a collection of points connected by lines that form opened or closed objects. Multiple subpaths may be created using SO_CLOSESUBPATH while defining a path. Note that the current object and group transformations will also apply during creation of a path. This allows maximum flexibility with transforming paths. Any object can be rendered to create the path. However, due to current limitations, text objects will not be added to the path. Multiple levels of paths are also allowed.

SO_BEGINSYMBOL Starts the definition of a symbol. A symbol is collection of vector commands that together make up a single symbol. Symbols are considered in the wrapping algorithm of frame text. dwDataSize must be the size of the SORECT structure, and pData must be the address of a SORECT structure that identifies the bounding rectangle of all commands used within the symbol.
SO_BEGINTEXTFRAME Starts the definition of a text frame. A text frame is used in conjunction with SO_TEXTINPARA to wrap text within a frame. Text is wrapped according to the SO_PARAINDENTS vector attribute value. Symbols are included in the wrapping algorithm. dwDataSize must be the size of the SORECT structure, and pData must be the address of a SORECT structure that identifies the bounding rectangle of the text frame.
SO_CHORD Draws a chord. dwDataSize must be four times the size of the SOPOINT structure, and pData must be the address of four SOPOINT structures.
SO_CHORDANGLE Draws a chord by defining the angles of the two points on the ellipse that locate the start and end of the chord. dwDataSize must be the size of the SOARCINFO structure, and pData must be the address of a SOARCINFO structure that defines the chord in terms of the arc located on the chord.
SO_CLOSESUBPATH Closes the current subpath. dwDataSize must be zero, and pData must be NULL.
SO_CPARCANGLE Draws an arc from the current point pivoting around the center point of the specified sweep angle. dwDataSize must be the size of the SOCPARCANGLE structure, and pData must be the address of a SOCPARCANGLE structure that gives the center point of the arc and the sweep angle.
SO_CPARCTRIPLE Draws a circle arc from the current point through the first point and ending at the second point. dwDataSize must be two times the size of the SOPOINT structure, and pData must be the address of two SOPOINT structures.
SO_CPELLIPSE Draws an ellipse around the current point with an x- and y-radius described by the SOPOINT data. dwDataSize must be the size of the SOPOINT structure, and pData must be the address of a variable containing the x- and y-radius values.
SO_CPLINE Draws a line from the current pen position. dwDataSize must be the size of the SOPOINT structure, and pData must be the address of a variable containing the point to draw to.
SO_CPPIEANGLE Draws a pie with the current position as the center and with the given start and sweep angles. dwDataSize must be the size of the SOCPPIEANGLE structure, and pData must be the address of a SOCPPIEANGLE structure that gives the radius of the circle.
SO_CPRECTANGLE Draws a rectangle starting at the current pen position. dwDataSize must be the size of SOPOINT structure, and pData must be the address of a variable containing the point to be the opposite corner of the rectangle.
SO_CPSET Moves the current pen position to this point. dwDataSize must be the size of the SOPOINT structure, and pData must be the address of the variable containing the point.
SO_DRAWPATH Strokes, fills, or both strokes and fills the current path with the current pen and brush. Since the group, path, and object transformations were applied when the path was created, they are not applied again. dwDataSize must be the size of a WORD, and pData must be the address of a variable containing the SODP_STROKE or SODP_FILL value, or both.
SO_ELLIPSE Draws an ellipse. dwDataSize must be two times the size of the SOPOINT structure, and pData must be the address of two SOPOINT structures.
SO_ENDGROUP Ends the definition of a group. dwDataSize must be zero, and pData must be NULL.
SO_ENDPATH Ends the definition of a path. dwDataSize must be zero, and pData must be NULL.
SO_ENDPOLY Ends drawing of a polygon. dwDataSize must be zero, and pData must be NULL.
SO_ENDSYMBOL Ends the definition of a symbol. dwDataSize must be zero, and pData must be NULL.
SO_ENDTEXTFRAME Ends the definition of a text frame. dwDataSize must be zero, and pData must be NULL.
SO_FLOODFILL Fills the area with the given color. dwDataSize must be the size of the SOPOINT structure plus the size of the SOCOLORREF structure, and pData must be the address of a variable containing the coordinates of the point to start at followed by the RGB color value to use to fill the area.
SO_LINE Draws a line from point 1 to point 2 using the current pen. dwDataSize must be two times the size of the SOPOINT structure, and pData must be the address of two SOPOINT structures.
SO_PARAEND Ends a paragraph. dwDataSize must be zero, and pData must be NULL.
SO_PIE Draws a pie shape. dwDataSize must be four times the size of the SOPOINT structure, and pData must be the address of four SOPOINT structures.
SO_PIEANGLE Draws a pie by defining the angles of the two points on the ellipse that locate the start and end of the pie. dwDataSize must be the size of the SOARCINFO structure, and pData must be the address of a SOARCINFO structure that defines the pie in terms of the arc located on the pie.
SO_POINTS Specifies vertices of a polygon. dwDataSize must be N times the size of the SOPOINT structure, and pData must be the address of consecutively stored SOPOINT structures. At most, SOMAXPOINTS can be passed in a single SO_POINTS object. Multiple SO_POINTS objects can be generated to define all of the points associated with a polygon object. The number of points defined in SO_STARTPOLY must be defined using SO_POINTS before the object is closed with SO_ENDPOLY.
SO_RECTANGLE Draws a rectangle. dwDataSize must be two times the size of the SOPOINT structure, and pData must be the address of two SOPOINT structures.
SO_ROUNDRECT Draws a rectangle with rounded corners. dwDataSize must be three times the size of the SOPOINT structure, and pData must be address of the three SOPOINT structures.
SO_SETPIXEL Sets the color of a pixel. dwDataSize must be the size of the SOPOINT structure plus the size of the SOCOLORREF structure, and pData must be the address of a variable containing the pixel point followed by the RGB color value to set.
SO_STARTPOLY Starts drawing of a polygon. dwDataSize must be the size of the SOPOLYINFO structure, and pData must be the address of a SOPOLYINFO structure.
SO_TEXTATARCANGLE Draws text at the given location. dwDataSize must be the size of the SOTEXTATARCANGLE structure plus the length of the text string, and pData must be the address of a SOTEXTATARCANGLE structure followed by the text string.
SO_TEXTATPOINT Draws text at the given point. dwDataSize must be the size of the SOTEXTATPOINT structure plus the length of the text string, and pData must be the address of a SOTEXTATPOINT structure followed by the text string.
SO_TEXTINPARA Draws the text string in the current font and text attributes at the current wrap location. The wrap location is moved by the text extent. Any words that would extend beyond the right indent of the frame are wrapped. This object is only valid within a text frame. dwDataSize must be the size of an INT plus the length of the text string, and pData must be the address of an integer variable containing the size of the text string that follows.
SO_TEXTINRECT Draws text in a rectangle. dwDataSize must be the size of the SOTEXTINRECT structure plus the length of the text string, and pData must be the address of a SOTEXTINRECT structure followed by the text string.

Vector attribute values

SO_BKCOLOR Sets the background color used for styled lines, hatched brushes, and text when the background mode is SOBK_OPAQUE. dwDataSize must be the size of the SOCOLORREF structure, and pData must be the address of a variable containing an RGB or palette-relative color value. To set this value, use the SORGB or SOPALETTE macro.
SO_BKMODE Sets the background mode. dwDataSize must be the size of an INT, and pData must be the address of a variable containing either the SOBK_OPAQUE or SOBK_TRANSPARENT value.
SO_CLIPMODE Sets the clipping mode. dwDataSize must be the size of a WORD, and pData must be the address of a variable containing either the SO_DONOTCLIP or SO_CLIPTOPATH value.
SO_DRAWMODE Sets the drawing mode used when drawing the pen and interiors. dwDataSize must be the size of an INT, and pData must be the address of a variable containing one of these values:
SOR2_BLACK SOR2_NOT
SOR2_COPYPEN SOR2_NOTCOPYPEN
SOR2_MASKNOTPEN SOR2_NOTMASKPEN
SOR2_MASKPEN SOR2_NOTMERGEPEN
SOR2_MASKPENNOT SOR2_NOTXORPEN
SOR2_MERGENOTPEN SOR2_WHITE
SOR2_MERGEPEN SOR2_XORPEN
SOR2_NOP
SO_OBJECTTRANSFORM Sets object transformations. dwDataSize must be the size of an INT plus nCount times the size of the SOTRANSFORM structure, and pData must be one INT (nCount) followed by that number of SOTRANSFORM structures. The transformations will occur in the order supplied.
SO_PARAALIGN Sets the alignment of paragraph text being built into a text frame. dwDataSize must be the size of a WORD, and pData must be the address of a 16-bit variable containing the SO_ALIGNLEFT, SO_ALIGNCENTER, SO_ALIGNRIGHT, or SO_ALIGNJUSTIFY value.
SO_PARAINDENTS Sets the paragraph indents within a text frame, defining the first, left, and right indents of paragraph text being built into the frame. These values are only valid when within a text frame. All values are in the current coordinate system. dwDataSize must be the size of the SOPARAINDENTS structure, and pData must be the address of a SOPARAINDENTS structure.
SO_POINTRELATION Sets the coordinate orientation. dwDataSize must be the size of an INT, and pData must be the address of a variable containing the SOPR_ABSOLUTE or SOPR_RELATIVE value.
SO_POLYFILLMODE Sets the polygon-filling mode. dwDataSize must be the size of an INT, and pData must be the address of a variable containing either the SOPF_ALTERNATE or SOPF_WINDING value.
SO_SELECTBRUSH Selects the given brush. dwDataSize must be the size of the SOLOGBRUSH structure, and pData must be the address of a SOLOGBRUSH structure.
SO_SELECTFONT Selects the given font. dwDataSize must be the size of the SOLOGFONT structure, and pData must be the address of a SOLOGFONT structure.
SO_SELECTPEN Selects the given pen. dwDataSize must be the size of the SOLOGPEN structure, and pData must be the address of a SOLOGPEN structure.
SO_TEXTCHAREXTRA Sets the text character extra value. dwDataSize must be the size of an INT, and pData must be the address of a variable containing a value. This attribute affects text objects.
SO_TEXTCOLOR Sets the foreground color. dwDataSize must be the size of the SOCOLORREF structure, and pData must be the address of a variable containing an RGB or a palette-relative color value. To set this value, use the SORGB or SOPALETTE macro.

Up Top of Page
© 1997 Microsoft Corporation. All rights reserved. Terms of Use.