The following vector object values and vector attribute values are used with the vector graphics functions.
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. |
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. |