GPIGuide - Graphics Functions
Reprint Courtesy of International Business Machines Corporation, © International Business Machines Corporation
Coordinates
GPI coordinate values that are in world or model space are passed in variables of data type LONG. For a presentation space of format GPIF_LONG (see GpiCreatePS), the signed value must be contained within the low-order 28 bits.
For a presentation space with a format of GPIF_SHORT, the signed value must be contained within the low-order 16 bits. Coordinates that exceed this limit are truncated without error, when stored in a segment. As a consequence, a large positive number may appear as a negative number.
In both instances, after transformation to media space (that is, device space, possibly including a translation for the window origin), coordinate values must be in the range -32 768 through +32 767.
The PMERR_COORDINATE_OVERFLOW error condition occurs if a coordinate is too large to be handled.
Region coordinates must be within the range -32 767 through +32 765.
Matrix Parameter Values
These GPI functions define transforms:
- GpiSetSegmentTransformMatrix
- GpiSetModelTransformMatrix
- GpiCallSegmentMatrix
- GpiSetViewingTransformMatrix
- GpiSetDefaultViewMatrix
- GpiCreatePS
- GpiSetPageViewport.
- Note
- The last two functions define the device transform; the page viewport may be defaulted.
Concatenation of transform matrixes can occur as the transform is specified, for example, if TRANSFORM_ADD is specified. Concatenation also occurs during drawing, between the various transforms in the viewing pipeline.
During the process of concatenation, it is possible for the matrix parameter overflow error, PMERR_INV_MATRIX_ELEMENT, to occur. This error is raised if either of the following conditions occurs for any intermediate value during the concatenation arithmetic (see, for example, GpiSetSegmentTransformMatrix for an explanation of matrix element numbers):
- Any of the matrix elements 1, 2, 4, or 5 is greater than 32 767 or less than -32 768 (ñ1 for a GPIF_SHORT format presentation space), or
- Either of elements 7 or 8 is greater than 134 217 727 (2 -1) or less than -134 217 728 (-2) (greater than 32 767 or less than -32 768 for a GPIF_SHORT format presentation space).
Rounding Errors
In general for graphics coordinates, when non-unity transforms (apart from simple translation) are involved, rounding errors occur. For example, adding the coordinates of one point to a delta value, to produce the coordinates of a second point (all in world coordinates) does not always map to the same device pel as if the computation had been done in device coordinates. Such errors can be avoided if calculations are done in device coordinates, or if there are no scaling (or rotational, or shear) elements in the transforms. Alternatively, the problems can be reduced, though not eliminated, by defining very fine world coordinates.
Drawing Process Check Errors
Some GPI functions involve processing buffers of graphics orders or retained graphics segments (the data for which consists of graphics orders). These functions can give rise to Drawing Process Check (DPC) errors if an order is found that either is not valid in its context or that contains invalid data. If this happens, processing of the function stops and the error is recorded. Note that orders up to the one found to be in error are processed by the function, and output occurs if drawing is being performed.
Each function that can return these errors has Drawing Process Check errors in its error condition list. The full list of DPC errors is:
- PMERR_INV_IN_AREA PMERR_INV_IN_PATH
- PMERR_INV_IN_ELEMENT
- PMERR_ALREADY_IN_ELEMENT
- PMERR_STOP_DRAW_OCCURRED (warning)
- PMERR_PATH_INCOMPLETE
- PMERR_AREA_INCOMPLETE
- PMERR_IMAGE_INCOMPLETE
- PMERR_INV_ORDER_LENGTH
- PMERR_NOT_IN_IMAGE
- PMERR_NOT_IN_AREA
- PMERR_NOT_IN_ELEMENT
- PMERR_NOT_IN_PATH
- PMERR_INSUFFICIENT_MEMORY
- PMERR_SEG_CALL_STACK_EMPTY
- PMERR_SEG_CALL_STACK_FULL
- PMERR_TRUNCATED_ORDER
- PMERR_CALLED_SEG_NOT_FOUND
- PMERR_DYNAMIC_SEG_SEQ_ERROR
- PMERR_PROLOG_ERROR
- PMERR_INV_IN_VECTOR_SYMBOL
Functions
The GPI Functions are listed here
GPI Function Context
A number of the GPI error conditions indicate that a function has been used in the wrong context. This appendix lists every function and shows, for each one, whether it can be used:
- In a micro presentation space
- While there is an open segment bracket
- While there is an open area bracket
- While there is an open element bracket
- While there is an open path bracket.
A yes (Yes) means that a function can be used; a no (No) means that it cannot. There are some additional qualifiers in the form of superscript numbers. These generally indicate some further restriction on the context in which a function can be called, and are explained at the end of this appendix.
Where GPI Functions Can Be Called
Gpi Function ³Micro PS³Segment³Area ³Element³Path
³ ³Bracket³Bracket³Bracket³Bracket
GpiAnimatePalette ³Yes(8,9)³Yes ³No ³Yes ³No
GpiAssociate ³No ³Yes ³No(7) ³Yes(6) ³No(7)
GpiBeginArea ³Yes ³Yes ³No ³Yes ³No
GpiBeginElement ³No ³Yes ³Yes ³No ³Yes
GpiBeginPath ³Yes ³Yes ³No ³Yes ³No
GpiBitBlt ³Yes ³Yes ³No ³Yes ³No
GpiBox ³Yes ³Yes ³Yes ³Yes ³Yes
GpiCallSegmentMatrix ³No ³Yes ³Yes ³Yes ³Yes
GpiCharString ³Yes ³Yes ³No ³Yes ³Yes
GpiCharStringAt ³Yes ³Yes ³No ³Yes ³Yes
GpiCharStringPos ³Yes ³Yes ³No ³Yes ³Yes
GpiCharStringPosAt ³Yes ³Yes ³No ³Yes ³Yes
GpiCloseFigure ³Yes ³Yes ³No ³Yes ³Yes
GpiCloseSegment ³No ³Yes ³No(7) ³Yes ³No(7)
GpiCombineRegion ³Yes ³Yes ³No ³Yes ³No
GpiComment ³Yes ³Yes ³Yes ³Yes ³Yes
GpiConvert ³Yes ³Yes ³Yes ³Yes ³Yes
GpiConvertWithMatrix ³Yes ³Yes ³Yes ³Yes ³Yes
GpiCopyMetaFile ³Yes ³Yes ³Yes ³Yes ³Yes
GpiCorrelateChain ³No ³Yes ³No ³No ³No
GpiCorrelateFrom ³No ³Yes ³No ³No ³No
GpiCorrelateSegment ³No ³Yes ³No ³No ³No
GpiCreateBitmap ³Yes ³Yes ³Yes ³Yes ³Yes
GpiCreateLogColorTable ³Yes ³Yes ³No ³Yes ³No
GpiCreateLogFont ³Yes ³Yes ³No ³No ³Yes
GpiCreatePalette ³Yes ³Yes ³Yes ³Yes ³Yes
GpiCreatePS ³- ³- ³- ³- ³-
GpiCreateRegion ³Yes ³Yes ³No ³Yes ³No
GpiDeleteBitmap ³Yes ³Yes ³Yes ³Yes ³Yes
GpiDeleteElement ³No ³Yes(3) ³Yes(3) ³No ³Yes(3)
GpiDeleteElementRange ³No ³Yes(3) ³Yes(3) ³No ³Yes(3)
GpiDeleteElementsBetweenLabels ³No ³Yes(3) ³Yes(3) ³No ³Yes(3)
GpiDeleteMetaFile ³Yes ³Yes ³Yes ³Yes ³Yes
GpiDeletePalette ³Yes(9) ³Yes ³Yes ³Yes ³Yes
GpiDeleteSegment ³No ³Yes ³Yes ³Yes ³Yes
GpiDeleteSegments ³No ³Yes ³Yes ³Yes ³Yes
GpiDeleteSetId ³Yes ³Yes ³No ³Yes ³Yes
GpiDestroyPS ³Yes(1) ³Yes ³Yes ³Yes ³Yes
GpiDestroyRegion ³Yes ³Yes ³No ³Yes ³No
GpiDrawBits ³Yes(10) ³Yes ³Yes ³Yes ³Yes
GpiDrawChain ³No ³Yes ³No ³No ³No
GpiDrawDynamics ³No ³Yes ³No ³No ³No
GpiDrawFrom ³No ³Yes ³No ³No ³No
GpiDrawSegment ³No ³Yes ³No ³No ³No
GpiElement ³No ³Yes ³Yes ³No ³Yes
GpiEndArea ³Yes ³Yes ³Yes ³Yes ³No
GpiEndElement ³No ³Yes ³Yes ³Yes ³Yes
GpiEndPath ³Yes ³Yes ³No ³Yes ³Yes
GpiEqualRegion ³Yes ³Yes ³No ³Yes ³No
GpiErase ³Yes ³Yes ³No ³Yes ³No
GpiErrorSegmentData ³No ³Yes ³Yes ³Yes ³Yes
GpiExcludeClipRectangle ³Yes ³Yes ³No ³Yes ³No
GpiFillPath ³Yes ³Yes ³No ³Yes ³No
GpiFullArc ³Yes ³Yes ³Yes ³Yes ³Yes
GpiGetData ³No ³Yes(5) ³Yes ³Yes ³Yes
GpiImage ³Yes ³Yes ³No ³Yes ³No
GpiIntersectClipRectangle ³Yes ³Yes ³No ³Yes ³No
GpiLabel ³No ³Yes ³Yes ³No ³Yes
GpiLine ³Yes ³Yes ³Yes ³Yes ³Yes
GpiLoadBitmap ³Yes ³Yes ³Yes ³Yes ³Yes
GpiLoadFonts ³Yes ³Yes ³Yes ³Yes ³Yes
GpiLoadMetaFile ³Yes ³Yes ³Yes ³Yes ³Yes
GpiLoadPublicFonts ³Yes ³Yes ³Yes ³Yes ³Yes
GpiMarker ³Yes ³Yes ³No ³Yes ³Yes
GpiModifyPath ³Yes ³Yes ³No ³Yes ³No
GpiMove ³Yes ³Yes ³Yes ³Yes ³Yes
GpiOffsetClipRegion ³Yes ³Yes ³No ³Yes ³No
GpiOffsetElementPointer ³No ³Yes(3) ³Yes(3) ³No ³Yes(3)
GpiOffsetRegion ³Yes ³Yes ³No ³Yes ³No
GpiOpenSegment ³No ³No ³No(7) ³Yes(6) ³No(7)
GpiOutlinePath ³Yes ³Yes ³No ³Yes ³No
GpiPaintRegion ³Yes ³Yes ³No ³Yes ³No
GpiPartialArc ³Yes ³Yes ³Yes ³Yes ³Yes
GpiPathToRegion ³Yes ³Yes ³Yes ³Yes ³No
GpiPlayMetaFile ³Yes ³No ³No ³No ³No
GpiPointArc ³Yes ³Yes ³Yes ³Yes ³Yes
GpiPolyFillet ³Yes ³Yes ³Yes ³Yes ³Yes
GpiPolyFilletSharp ³Yes ³Yes ³Yes ³Yes ³Yes
GpiPolygons ³Yes ³Yes ³No ³Yes ³No
GpiPolyLine ³Yes ³Yes ³Yes ³Yes ³Yes
GpiPolyLineDisjoint ³Yes ³Yes ³Yes ³Yes ³Yes
GpiPolyMarker ³Yes ³Yes ³No ³Yes ³Yes
GpiPolySpline ³Yes ³Yes ³Yes ³Yes ³Yes
GpiPop ³No ³Yes ³Yes ³Yes ³Yes
GpiPtInRegion ³Yes ³Yes ³No ³Yes ³No
GpiPtVisible ³Yes ³Yes ³No ³Yes ³No
GpiPutData ³No ³Yes ³Yes ³Yes ³Yes
GpiQueryArcParams ³Yes ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2)
GpiQueryAttrMode ³No ³Yes ³Yes ³Yes ³Yes
GpiQueryAttrs ³Yes ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2)
GpiQueryBackColor ³Yes ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2)
GpiQueryBackMix ³Yes ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2)
GpiQueryBitmapBits ³Yes ³Yes(4) ³No ³Yes ³No
GpiQueryBitmapDimension ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryBitmapHandle ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryBitmapInfoHeader ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryBitmapParameters ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryBoundaryData ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryCharAngle ³Yes ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2)
GpiQueryCharBox ³Yes ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2)
GpiQueryCharBreakExtra ³Yes ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2)
GpiQueryCharDirection ³Yes ³Yes ³No ³Yes ³Yes
GpiQueryCharExtra ³Yes ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2)
GpiQueryCharMode ³Yes ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2)
GpiQueryCharSet ³Yes ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2)
GpiQueryCharShear ³Yes ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2)
GpiQueryCharStringPos ³Yes ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2)
GpiQueryCharStringPosAt ³Yes ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2)
GpiQueryClipBox ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryClipRegion ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryColor ³Yes ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2)
GpiQueryColorData ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryColorIndex ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryCp ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryCurrentPosition ³Yes ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2)
GpiQueryDefArcParams ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryDefAttrs ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryDefaultViewMatrix ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryDefCharBox ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryDefTag ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryDefViewingLimits ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryDevice ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryDeviceBitmapFormats ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryDrawControl ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryDrawingMode ³No ³Yes ³Yes ³Yes ³Yes
GpiQueryEditMode ³No ³Yes ³Yes ³Yes ³Yes
GpiQueryElement ³No ³Yes(3) ³Yes(3) ³Yes(3) ³Yes(3)
GpiQueryElementPointer ³No ³Yes(3) ³Yes(3) ³Yes(3) ³Yes(3)
GpiQueryElementType ³No ³Yes(3) ³Yes(3) ³Yes(3) ³Yes(3)
GpiQueryFaceString ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryFontAction ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryFontMetrics ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryFonts ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryFullFontFileDescs ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryGraphicsField ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryInitialSegmentAttrs ³No ³Yes ³Yes ³Yes ³Yes
GpiQueryKerningPairs ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryLineEnd ³Yes ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2)
GpiQueryLineJoin ³Yes ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2)
GpiQueryLineType ³Yes ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2)
GpiQueryLineWidth ³Yes ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2)
GpiQueryLineWidthGeom ³Yes ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2)
GpiQueryLogColorTable ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryLogicalFont ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryMarker ³Yes ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2)
GpiQueryMarkerSet ³Yes ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2)
GpiQueryMetaFileBits ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryMetaFileLength ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryMix ³Yes ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2)
GpiQueryModelTransformMatrix ³Yes ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2)
GpiQueryNearestColor ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryNumberSetIds ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryPageViewport ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryPalette ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryPaletteInfo ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryPattern ³Yes ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2)
GpiQueryPatternRefPoint ³Yes ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2)
GpiQueryPatternSet ³Yes ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2)
GpiQueryPel ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryPickAperturePosition ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryPickApertureSize ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryPS ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryRealColors ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryRegionBox ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryRegionRects ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryRGBColor ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQuerySegmentAttrs ³No ³Yes ³Yes ³Yes ³Yes
GpiQuerySegmentNames ³No ³Yes ³Yes ³Yes ³Yes
GpiQuerySegmentPriority ³No ³Yes ³Yes ³Yes ³Yes
GpiQuerySegmentTransformMatrix ³No ³Yes ³Yes ³Yes ³Yes
GpiQuerySetIds ³Yes ³Yes ³Yes ³Yes ³Yes
GpiQueryStopDraw ³No ³Yes ³Yes ³Yes ³Yes
GpiQueryTag ³No ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2)
GpiQueryTextAlignment ³Yes ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2)
GpiQueryTextBox ³Yes ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2)
GpiQueryViewingLimits ³Yes ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2)
GpiQueryViewingTransformMatrix ³No ³Yes ³Yes ³Yes ³Yes
GpiQueryWidthTable ³Yes ³Yes ³Yes ³Yes ³Yes
GpiRectInRegion ³Yes ³Yes ³No ³Yes ³No
GpiRectVisible ³Yes ³Yes ³No ³Yes ³No
GpiRemoveDynamics ³No ³Yes ³No ³No ³No
GpiResetBoundaryData ³Yes ³Yes ³Yes ³Yes ³Yes
GpiResetPS ³Yes ³Yes ³Yes(6) ³Yes(6) ³Yes(6)
GpiRestorePS ³Yes ³Yes(4) ³No ³Yes(4) ³No
GpiRotate ³Yes ³Yes ³Yes ³Yes ³Yes
GpiSaveMetaFile ³Yes ³Yes ³Yes ³Yes ³Yes
GpiSavePS ³Yes ³Yes(4) ³No ³Yes(4) ³No
GpiScale ³Yes ³Yes ³Yes ³Yes ³Yes
GpiSelectPalette ³Yes ³Yes ³No ³Yes ³Yes
GpiSetArcParams ³Yes ³Yes ³Yes ³Yes ³Yes
GpiSetAttrMode ³No ³Yes ³Yes ³Yes ³Yes
GpiSetAttrs ³Yes ³Yes ³No ³Yes ³Yes
GpiSetBackColor ³Yes ³Yes ³No ³Yes ³No
GpiSetBackMix ³Yes ³Yes ³No ³Yes ³No
GpiSetBitmap ³Yes ³Yes ³No ³Yes ³No
GpiSetBitmapBits ³Yes ³Yes ³No ³Yes ³No
GpiSetBitmapDimension ³Yes ³Yes ³Yes ³Yes ³Yes
GpiSetBitmapId ³Yes ³Yes ³Yes ³Yes ³Yes
GpiSetCharAngle ³Yes ³Yes ³No ³Yes ³Yes
GpiSetCharBox ³Yes ³Yes ³No ³Yes ³Yes
GpiSetCharBreakExtra ³Yes ³Yes ³Yes ³Yes ³Yes
GpiSetCharDirection ³Yes ³Yes ³No ³Yes ³Yes
GpiSetCharExtra ³Yes ³Yes ³Yes ³Yes ³Yes
GpiSetCharMode ³Yes ³Yes ³No ³Yes ³Yes
GpiSetCharSet ³Yes ³Yes ³No ³Yes ³Yes
GpiSetCharShear ³Yes ³Yes ³No ³Yes ³Yes
GpiSetClipPath ³Yes ³Yes ³No ³Yes ³No
GpiSetClipRegion ³Yes ³Yes ³No ³Yes ³No
GpiSetColor ³Yes ³Yes ³No ³Yes ³Yes
GpiSetCp ³Yes ³Yes ³No ³Yes ³Yes
GpiSetCurrentPosition ³Yes ³Yes ³Yes ³Yes ³Yes
GpiSetDefArcParams ³Yes ³Yes ³Yes ³Yes ³Yes
GpiSetDefAttrs ³Yes ³Yes ³Yes ³Yes ³Yes
GpiSetDefaultViewMatrix ³Yes ³Yes ³No ³Yes ³No
GpiSetDefTag ³Yes ³Yes ³Yes ³Yes ³Yes
GpiSetDefViewingLimits ³Yes ³Yes ³Yes ³Yes ³Yes
GpiSetDrawControl ³Yes ³No ³No ³No ³No
GpiSetDrawingMode ³No ³No ³No ³No ³No
GpiSetEditMode ³No ³Yes ³Yes ³No ³Yes
GpiSetElementPointer ³No ³Yes(2) ³Yes(2) ³No ³Yes(2)
GpiSetElementPointerAtLabel ³No ³Yes(2) ³Yes(2) ³No ³Yes(2)
GpiSetGraphicsField ³Yes ³Yes ³No ³Yes ³No
GpiSetInitialSegmentAttrs ³No ³Yes ³Yes ³Yes ³Yes
GpiSetLineEnd ³Yes ³Yes ³No ³Yes ³Yes
GpiSetLineJoin ³Yes ³Yes ³No ³Yes ³Yes
GpiSetLineType ³Yes ³Yes ³No ³Yes ³Yes
GpiSetLineWidth ³Yes ³Yes ³No ³Yes ³Yes
GpiSetLineWidthGeom ³Yes ³Yes ³No ³Yes ³No
GpiSetMarker ³Yes ³Yes ³No ³Yes ³Yes
GpiSetMarkerBox ³Yes ³Yes ³No ³Yes ³Yes
GpiSetMarkerSet ³Yes ³Yes ³No ³Yes ³Yes
GpiSetMetaFileBits ³Yes ³Yes ³Yes ³Yes ³Yes
GpiSetMix ³Yes ³Yes ³No ³Yes ³Yes
GpiSetModelTransformMatrix ³Yes ³Yes ³Yes ³Yes ³Yes
GpiSetPageViewport ³Yes ³Yes ³No ³Yes ³No
GpiSetPaletteEntries ³Yes(8) ³Yes ³No ³Yes ³Yes
GpiSetPattern ³Yes ³Yes ³No ³Yes ³No
GpiSetPatternRefPoint ³Yes ³Yes ³No ³Yes ³No
GpiSetPatternSet ³Yes ³Yes ³No ³Yes ³No
GpiSetPickAperturePosition ³Yes ³Yes ³No ³Yes ³No
GpiSetPickApertureSize ³Yes ³Yes ³No ³Yes ³No
GpiSetPS ³Yes ³Yes ³No ³Yes ³No
GpiSetRegion ³Yes ³Yes ³Yes ³Yes ³Yes
GpiSetSegmentAttrs ³Yes ³Yes ³No ³Yes ³No
GpiSetSegmentPriority ³No ³Yes ³Yes ³Yes ³Yes
GpiSetSegmentTransformMatrix ³No ³No(5) ³Yes ³No ³Yes
GpiSetStopDraw ³No ³Yes ³Yes ³Yes ³Yes
GpiSetTag ³No ³Yes ³Yes ³Yes ³Yes
GpiSetTextAlignment ³No ³Yes ³No ³Yes ³Yes
GpiSetViewingLimits ³Yes ³Yes ³Yes ³Yes ³Yes
GpiSetViewingTransformMatrix ³Yes ³Yes ³No ³Yes ³No
GpiStrokePath ³No ³No ³No ³Yes ³No
GpiTranslate ³Yes ³Yes ³No ³Yes ³No
GpiUnloadFonts ³Yes ³Yes ³Yes ³Yes ³Yes
GpiUnloadPublicFonts ³Yes ³Yes ³Yes ³Yes ³Yes
GpiUnloadPublicFonts ³Yes ³Yes ³Yes ³Yes ³Yes
GpiWCBitBlt ³Yes ³Yes ³Yes ³Yes ³Yes
- Notes
- Not valid to a cached micro presentation space.
- Valid only when the actual drawing mode is draw or draw-and-retain. The actual drawing mode is determined as shown in the following table:
- The Current Drawing Mode
GpiSetDrawingMode parameter ³ ³Context
³Chained Segment³Unchained Segment³Outside Segment
DM_DRAWANDRETAIN ³draw-and-retain³retain ³draw
DM_RETAIN ³retain ³retain ³draw
DM_DRAW ³draw ³retain ³draw
For example, if the current drawing mode parameter is DM_RETAIN, and primitives are being drawn outside a segment, then the actual drawing mode is draw.
- Valid only when the actual drawing mode (see note 2) is retain.
- Valid only when the actual drawing mode (see note 2) is draw.
- Not valid if the specified segment is the current open segment.
- Bracket (path, element, or area) is ended without error.
- Severity is Warning.
- If associated with a metafile, only the final values are recorded in the metafile.
- Palette must not be current.
- Device context must be able to support bit map operations.