Jump to content

GPIGuide - Graphics Functions: Difference between revisions

From EDM2
Ak120 (talk | contribs)
mNo edit summary
 
(18 intermediate revisions by 3 users not shown)
Line 16: Line 16:
==Matrix Parameter Values==
==Matrix Parameter Values==
These GPI functions define transforms:
These GPI functions define transforms:
:GpiSetSegmentTransformMatrix
:[[GpiSetSegmentTransformMatrix]]
:GpiSetModelTransformMatrix
:[[GpiSetModelTransformMatrix]]
:GpiCallSegmentMatrix
:[[GpiCallSegmentMatrix]]
:GpiSetViewingTransformMatrix
:[[GpiSetViewingTransformMatrix]]
:GpiSetDefaultViewMatrix
:[[GpiSetDefaultViewMatrix]]
:GpiCreatePS
:[[GpiCreatePS]]
:GpiSetPageViewport.
:[[GpiSetPageViewport]]


;Note: The last two functions define the device transform; the page viewport may be defaulted.
;Note: The last two functions define the device transform; the page viewport may be defaulted.
Line 32: Line 32:
* 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
* 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).  
* 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==
==Rounding Errors==
Line 42: Line 42:


Each function that can return these errors has Drawing Process Check errors in its error condition list. The full list of DPC errors is:
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_AREA  
:PMERR_INV_IN_PATH
:PMERR_INV_IN_ELEMENT
:PMERR_INV_IN_ELEMENT
:PMERR_ALREADY_IN_ELEMENT
:PMERR_ALREADY_IN_ELEMENT
Line 77: Line 78:


===Where GPI Functions Can Be Called===  
===Where GPI Functions Can Be Called===  
<PRE>
{|class="wikitable"
³Gpi Function                    ³Micro PS³Segment³Area  ³Element³Path
!Gpi Function||Micro PS||Segment<br/>Bracket||Area<br/>Bracket||Element<br/>Bracket||Path<br/>Bracket
³                                ³        ³Bracket³Bracket³Bracket³Bracket
|-
 
|[[GpiAnimatePalette]]||Yes(8,9)||Yes||No||Yes||No
³GpiAnimatePalette              ³Yes(8,9)³Yes    ³No    ³Yes    ³No
|-
³GpiAssociate                    ³No      ³Yes    ³No(7) ³Yes(6) ³No(7)
|[[GpiAssociate]]||No||Yes||No(7)||Yes(6)||No(7)
³GpiBeginArea                    ³Yes    ³Yes    ³No    ³Yes    ³No
|-
³GpiBeginElement                ³No      ³Yes    ³Yes    ³No    ³Yes
|[[GpiBeginArea]]||Yes||Yes||No||Yes||No
³GpiBeginPath                    ³Yes    ³Yes    ³No    ³Yes    ³No
|-
³GpiBitBlt                      ³Yes    ³Yes    ³No    ³Yes    ³No
|[[GpiBeginElement]]||No||Yes||Yes||No||Yes
³GpiBox                          ³Yes    ³Yes    ³Yes    ³Yes    ³Yes
|-
³GpiCallSegmentMatrix            ³No      ³Yes    ³Yes    ³Yes    ³Yes
|[[GpiBeginPath]]||Yes||Yes||No||Yes||No
³GpiCharString                  ³Yes    ³Yes    ³No    ³Yes    ³Yes
|-
³GpiCharStringAt                ³Yes    ³Yes    ³No    ³Yes    ³Yes
|[[GpiBitBlt]]||Yes||Yes||No||Yes||No
³GpiCharStringPos                ³Yes    ³Yes    ³No    ³Yes    ³Yes
|-
³GpiCharStringPosAt              ³Yes    ³Yes    ³No    ³Yes    ³Yes
|[[GpiBox]]||Yes||Yes||Yes||Yes||Yes
³GpiCloseFigure                  ³Yes    ³Yes    ³No    ³Yes    ³Yes
|-
³GpiCloseSegment                ³No      ³Yes    ³No(7) ³Yes    ³No(7)
|[[GpiCallSegmentMatrix]]||No||Yes||Yes||Yes||Yes
³GpiCombineRegion                ³Yes    ³Yes    ³No    ³Yes    ³No
|-
³GpiComment                      ³Yes    ³Yes    ³Yes    ³Yes    ³Yes
|[[GpiCharString]]||Yes||Yes||No||Yes||Yes
³GpiConvert                      ³Yes    ³Yes    ³Yes    ³Yes    ³Yes
|-
³GpiConvertWithMatrix            ³Yes    ³Yes    ³Yes    ³Yes    ³Yes
|[[GpiCharStringAt]]||Yes||Yes||No||Yes||Yes
³GpiCopyMetaFile                ³Yes    ³Yes    ³Yes    ³Yes    ³Yes
|-
³GpiCorrelateChain              ³No      ³Yes    ³No    ³No    ³No
|[[GpiCharStringPos]]||Yes||Yes||No||Yes||Yes
³GpiCorrelateFrom                ³No      ³Yes    ³No    ³No    ³No
|-
³GpiCorrelateSegment            ³No      ³Yes    ³No    ³No    ³No
|[[GpiCharStringPosAt]]||Yes||Yes||No||Yes||Yes
³GpiCreateBitmap                ³Yes    ³Yes    ³Yes    ³Yes    ³Yes
|-
³GpiCreateLogColorTable          ³Yes    ³Yes    ³No    ³Yes    ³No
|[[GpiCloseFigure]]||Yes||Yes||No||Yes||Yes
³GpiCreateLogFont                ³Yes    ³Yes    ³No    ³No    ³Yes
|-
³GpiCreatePalette                ³Yes    ³Yes    ³Yes    ³Yes    ³Yes
|[[GpiCloseSegment]]||No||Yes||No(7)||Yes||No(7)
³GpiCreatePS                    ³-       ³-     ³-     ³-     ³-
|-
³GpiCreateRegion                ³Yes    ³Yes    ³No    ³Yes    ³No
|[[GpiCombineRegion]]||Yes||Yes||No||Yes||No
³GpiDeleteBitmap                ³Yes    ³Yes    ³Yes    ³Yes    ³Yes
|-
³GpiDeleteElement                ³No      ³Yes(3) ³Yes(3) ³No    ³Yes(3)
|[[GpiComment]]||Yes||Yes||Yes||Yes||Yes
³GpiDeleteElementRange          ³No      ³Yes(3) ³Yes(3) ³No    ³Yes(3)
|-
³GpiDeleteElementsBetweenLabels  ³No      ³Yes(3) ³Yes(3) ³No    ³Yes(3)
|[[GpiConvert]]||Yes||Yes||Yes||Yes||Yes
³GpiDeleteMetaFile              ³Yes    ³Yes    ³Yes    ³Yes    ³Yes
|-
³GpiDeletePalette                ³Yes(9) ³Yes    ³Yes    ³Yes    ³Yes
|[[GpiConvertWithMatrix]]||Yes||Yes||Yes||Yes||Yes
³GpiDeleteSegment                ³No      ³Yes    ³Yes    ³Yes    ³Yes
|-
³GpiDeleteSegments              ³No      ³Yes    ³Yes    ³Yes    ³Yes
|[[GpiCopyMetaFile]]||Yes||Yes||Yes||Yes||Yes
³GpiDeleteSetId                  ³Yes    ³Yes    ³No    ³Yes    ³Yes
|-
³GpiDestroyPS                    ³Yes(1) ³Yes    ³Yes    ³Yes    ³Yes
|[[GpiCorrelateChain]]||No||Yes||No||No||No
³GpiDestroyRegion                ³Yes    ³Yes    ³No    ³Yes    ³No
|-
³GpiDrawBits                    ³Yes(10) ³Yes    ³Yes    ³Yes    ³Yes
|[[GpiCorrelateFrom]]||No||Yes||No||No||No
³GpiDrawChain                    ³No      ³Yes    ³No    ³No    ³No
|-
³GpiDrawDynamics                ³No      ³Yes    ³No    ³No    ³No
|[[GpiCorrelateSegment]]||No||Yes||No||No||No
³GpiDrawFrom                    ³No      ³Yes    ³No    ³No    ³No
|-
³GpiDrawSegment                  ³No      ³Yes    ³No    ³No    ³No
|[[GpiCreateBitmap]]||Yes||Yes||Yes||Yes||Yes
³GpiElement                      ³No      ³Yes    ³Yes    ³No    ³Yes
|-
³GpiEndArea                      ³Yes    ³Yes    ³Yes    ³Yes    ³No
|[[GpiCreateLogColorTable]]||Yes||Yes||No||Yes||No
³GpiEndElement                  ³No      ³Yes    ³Yes    ³Yes    ³Yes
|-
³GpiEndPath                      ³Yes    ³Yes    ³No    ³Yes    ³Yes
|[[GpiCreateLogFont]]||Yes||Yes||No||No||Yes
³GpiEqualRegion                  ³Yes    ³Yes    ³No    ³Yes    ³No
|-
³GpiErase                        ³Yes    ³Yes    ³No    ³Yes    ³No
|[[GpiCreatePalette]]||Yes||Yes||Yes||Yes||Yes
³GpiErrorSegmentData            ³No      ³Yes    ³Yes    ³Yes    ³Yes
|-
³GpiExcludeClipRectangle        ³Yes    ³Yes    ³No    ³Yes    ³No
|[[GpiCreatePS]]|| -|| -|| -|| -|| -
³GpiFillPath                    ³Yes    ³Yes    ³No    ³Yes    ³No
|-
³GpiFullArc                      ³Yes    ³Yes    ³Yes    ³Yes    ³Yes
|[[GpiCreateRegion]]||Yes||Yes||No||Yes||No
³GpiGetData                      ³No      ³Yes(5) ³Yes    ³Yes    ³Yes
|-
³GpiImage                        ³Yes    ³Yes    ³No    ³Yes    ³No
|[[GpiDeleteBitmap]]||Yes||Yes||Yes||Yes||Yes
³GpiIntersectClipRectangle      ³Yes    ³Yes    ³No    ³Yes    ³No
|-
³GpiLabel                        ³No      ³Yes    ³Yes    ³No    ³Yes
|[[GpiDeleteElement]]||No||Yes(3)||Yes(3)||No||Yes(3)
³GpiLine                        ³Yes    ³Yes    ³Yes    ³Yes    ³Yes
|-
³GpiLoadBitmap                  ³Yes    ³Yes    ³Yes    ³Yes    ³Yes
|[[GpiDeleteElementRange]]||No||Yes(3)||Yes(3)||No||Yes(3)
³GpiLoadFonts                    ³Yes    ³Yes    ³Yes    ³Yes    ³Yes
|-
³GpiLoadMetaFile                ³Yes    ³Yes    ³Yes    ³Yes    ³Yes
|[[GpiDeleteElementsBetweenLabels]]||No||Yes(3)||Yes(3)||No||Yes(3)
³GpiLoadPublicFonts              ³Yes    ³Yes    ³Yes    ³Yes    ³Yes
|-
³GpiMarker                      ³Yes    ³Yes    ³No    ³Yes    ³Yes    ³
|[[GpiDeleteMetaFile]]||Yes||Yes||Yes||Yes||Yes
³GpiModifyPath                  ³Yes    ³Yes    ³No    ³Yes    ³No    ³
|-
³GpiMove                        ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiDeletePalette]]||Yes(9)||Yes||Yes||Yes||Yes
³GpiOffsetClipRegion            ³Yes    ³Yes    ³No    ³Yes    ³No    ³
|-
³GpiOffsetElementPointer        ³No      ³Yes(3) ³Yes(3) ³No    ³Yes(3) ³
|[[GpiDeleteSegment]]||No||Yes||Yes||Yes||Yes
³GpiOffsetRegion                ³Yes    ³Yes    ³No    ³Yes    ³No    ³
|-
³GpiOpenSegment                  ³No      ³No    ³No(7) ³Yes(6) ³No(7) ³
|[[GpiDeleteSegments]]||No||Yes||Yes||Yes||Yes
³GpiOutlinePath                  ³Yes    ³Yes    ³No    ³Yes    ³No    ³
|-
³GpiPaintRegion                  ³Yes    ³Yes    ³No    ³Yes    ³No    ³
|[[GpiDeleteSetId]]||Yes||Yes||No||Yes||Yes
³GpiPartialArc                  ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiPathToRegion                ³Yes    ³Yes    ³Yes    ³Yes    ³No    ³
|[[GpiDestroyPS]]||Yes(1)||Yes||Yes||Yes||Yes
³GpiPlayMetaFile                ³Yes    ³No    ³No    ³No    ³No    ³
|-
³GpiPointArc                    ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiDestroyRegion]]||Yes||Yes||No||Yes||No
³GpiPolyFillet                  ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiPolyFilletSharp              ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiDrawBits]]||Yes(10)||Yes||Yes||Yes||Yes
³GpiPolygons                    ³Yes    ³Yes    ³No    ³Yes    ³No    ³
|-
³GpiPolyLine                    ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiDrawChain]]||No||Yes||No||No||No
³GpiPolyLineDisjoint            ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiPolyMarker                  ³Yes    ³Yes    ³No    ³Yes    ³Yes    ³
|[[GpiDrawDynamics]]||No||Yes||No||No||No
³GpiPolySpline                  ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiPop                          ³No      ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiDrawFrom]]||No||Yes||No||No||No
³GpiPtInRegion                  ³Yes    ³Yes    ³No    ³Yes    ³No    ³
|-
³GpiPtVisible                    ³Yes    ³Yes    ³No    ³Yes    ³No    ³
|[[GpiDrawSegment]]||No||Yes||No||No||No
³GpiPutData                      ³No      ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiQueryArcParams              ³Yes    ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2) ³
|[[GpiElement]]||No||Yes||Yes||No||Yes
³GpiQueryAttrMode                ³No      ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiQueryAttrs                  ³Yes    ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2) ³
|[[GpiEndArea]]||Yes||Yes||Yes||Yes||No
³GpiQueryBackColor              ³Yes    ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2) ³
|-
³GpiQueryBackMix                ³Yes    ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2) ³
|[[GpiEndElement]]||No||Yes||Yes||Yes||Yes
³GpiQueryBitmapBits              ³Yes    ³Yes(4) ³No    ³Yes    ³No    ³
|-
³GpiQueryBitmapDimension        ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiEndPath]]||Yes||Yes||No||Yes||Yes
³GpiQueryBitmapHandle            ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiQueryBitmapInfoHeader        ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiEqualRegion]]||Yes||Yes||No||Yes||No
³GpiQueryBitmapParameters        ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiQueryBoundaryData            ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiErase]]||Yes||Yes||No||Yes||No
³GpiQueryCharAngle              ³Yes    ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2) ³
|-
³GpiQueryCharBox                ³Yes    ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2) ³
|[[GpiErrorSegmentData]]||No||Yes||Yes||Yes||Yes
³GpiQueryCharBreakExtra          ³Yes    ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2) ³
|-
³GpiQueryCharDirection          ³Yes    ³Yes    ³No    ³Yes    ³Yes    ³
|[[GpiExcludeClipRectangle]]||Yes||Yes||No||Yes||No
³GpiQueryCharExtra              ³Yes    ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2) ³
|-
³GpiQueryCharMode                ³Yes    ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2) ³
|[[GpiFillPath]]||Yes||Yes||No||Yes||No
³GpiQueryCharSet                ³Yes    ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2) ³
|-
³GpiQueryCharShear              ³Yes    ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2) ³
|[[GpiFullArc]]||Yes||Yes||Yes||Yes||Yes
³GpiQueryCharStringPos          ³Yes    ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2) ³
|-
³GpiQueryCharStringPosAt        ³Yes    ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2) ³
|[[GpiGetData]]||No||Yes(5)||Yes||Yes||Yes
³GpiQueryClipBox                ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiQueryClipRegion              ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiImage]]||Yes||Yes||No||Yes||No
³GpiQueryColor                  ³Yes    ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2) ³
|-
³GpiQueryColorData              ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiIntersectClipRectangle]]||Yes||Yes||No||Yes||No
³GpiQueryColorIndex              ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiQueryCp                      ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiLabel]]||No||Yes||Yes||No||Yes
³GpiQueryCurrentPosition        ³Yes    ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2) ³
|-
³GpiQueryDefArcParams            ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiLine]]||Yes||Yes||Yes||Yes||Yes
³GpiQueryDefAttrs                ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiQueryDefaultViewMatrix      ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiLoadBitmap]]||Yes||Yes||Yes||Yes||Yes
³GpiQueryDefCharBox              ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiQueryDefTag                  ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiLoadFonts]]||Yes||Yes||Yes||Yes||Yes
³GpiQueryDefViewingLimits        ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiQueryDevice                  ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiLoadMetaFile]]||Yes||Yes||Yes||Yes||Yes
³GpiQueryDeviceBitmapFormats    ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiQueryDrawControl            ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiLoadPublicFonts]]||Yes||Yes||Yes||Yes||Yes
³GpiQueryDrawingMode            ³No      ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiQueryEditMode                ³No      ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiMarker]]||Yes||Yes||No||Yes||Yes
³GpiQueryElement                ³No      ³Yes(3) ³Yes(3) ³Yes(3) ³Yes(3) ³
|-
³GpiQueryElementPointer          ³No      ³Yes(3) ³Yes(3) ³Yes(3) ³Yes(3) ³
|[[GpiModifyPath]]||Yes||Yes||No||Yes||No
³GpiQueryElementType            ³No      ³Yes(3) ³Yes(3) ³Yes(3) ³Yes(3) ³
|-
³GpiQueryFaceString              ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiMove]]||Yes||Yes||Yes||Yes||Yes
³GpiQueryFontAction              ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiQueryFontMetrics            ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiOffsetClipRegion]]||Yes||Yes||No||Yes||No
³GpiQueryFonts                  ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiQueryFullFontFileDescs      ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiOffsetElementPointer]]||No||Yes(3)||Yes(3)||No||Yes(3)
³GpiQueryGraphicsField          ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiQueryInitialSegmentAttrs    ³No      ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiOffsetRegion]]||Yes||Yes||No||Yes||No
³GpiQueryKerningPairs            ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiQueryLineEnd                ³Yes    ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2) ³
|[[GpiOpenSegment]]||No||No||No(7)||Yes(6)||No(7)
³GpiQueryLineJoin                ³Yes    ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2) ³
|-
³GpiQueryLineType                ³Yes    ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2) ³
|[[GpiOutlinePath]]||Yes||Yes||No||Yes||No
³GpiQueryLineWidth              ³Yes    ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2) ³
|-
³GpiQueryLineWidthGeom          ³Yes    ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2) ³
|[[GpiPaintRegion]]||Yes||Yes||No||Yes||No
³GpiQueryLogColorTable          ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiQueryLogicalFont            ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiPartialArc]]||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) ³
|[[GpiPathToRegion]]||Yes||Yes||Yes||Yes||No
³GpiQueryMetaFileBits            ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiQueryMetaFileLength          ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiPlayMetaFile]]||Yes||No||No||No||No
³GpiQueryMix                    ³Yes    ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2) ³
|-
³GpiQueryModelTransformMatrix    ³Yes    ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2) ³
|[[GpiPointArc]]||Yes||Yes||Yes||Yes||Yes
³GpiQueryNearestColor            ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiQueryNumberSetIds            ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiPolyFillet]]||Yes||Yes||Yes||Yes||Yes
³GpiQueryPageViewport            ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiQueryPalette                ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiPolyFilletSharp]]||Yes||Yes||Yes||Yes||Yes
³GpiQueryPaletteInfo            ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiQueryPattern                ³Yes    ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2) ³
|[[GpiPolygons]]||Yes||Yes||No||Yes||No
³GpiQueryPatternRefPoint        ³Yes    ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2) ³
|-
³GpiQueryPatternSet              ³Yes    ³Yes(2) ³Yes(2) ³Yes(2) ³Yes(2) ³
|[[GpiPolyLine]]||Yes||Yes||Yes||Yes||Yes
³GpiQueryPel                    ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiQueryPickAperturePosition    ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiPolyLineDisjoint]]||Yes||Yes||Yes||Yes||Yes
³GpiQueryPickApertureSize        ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiQueryPS                      ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiPolyMarker]]||Yes||Yes||No||Yes||Yes
³GpiQueryRealColors              ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiQueryRegionBox              ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiPolySpline]]||Yes||Yes||Yes||Yes||Yes
³GpiQueryRegionRects            ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiQueryRGBColor                ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiPop]]||No||Yes||Yes||Yes||Yes
³GpiQuerySegmentAttrs            ³No      ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiQuerySegmentNames            ³No      ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiPtInRegion]]||Yes||Yes||No||Yes||No
³GpiQuerySegmentPriority        ³No      ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiQuerySegmentTransformMatrix  ³No      ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiPtVisible]]||Yes||Yes||No||Yes||No
³GpiQuerySetIds                  ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiQueryStopDraw                ³No      ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiPutData]]||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) ³
|[[GpiQueryArcParams]]||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) ³
|[[GpiQueryAttrMode]]||No||Yes||Yes||Yes||Yes
³GpiQueryViewingTransformMatrix  ³No      ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiQueryWidthTable              ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiQueryAttrs]]||Yes||Yes(2)||Yes(2)||Yes(2)||Yes(2)
³GpiRectInRegion                ³Yes    ³Yes    ³No    ³Yes    ³No    ³
|-
³GpiRectVisible                  ³Yes    ³Yes    ³No    ³Yes    ³No    ³
|[[GpiQueryBackColor]]||Yes||Yes(2)||Yes(2)||Yes(2)||Yes(2)
³GpiRemoveDynamics              ³No      ³Yes    ³No    ³No    ³No    ³
|-
³GpiResetBoundaryData            ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|[[GpiQueryBackMix]]||Yes||Yes(2)||Yes(2)||Yes(2)||Yes(2)
³GpiResetPS                      ³Yes    ³Yes    ³Yes(6) ³Yes(6) ³Yes(6) ³
|-
³GpiRestorePS                    ³Yes    ³Yes(4) ³No    ³Yes(4) ³No    ³
|GpiQueryBitmapBits||Yes||Yes(4)||No||Yes||No
³GpiRotate                      ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiSaveMetaFile                ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|GpiQueryBitmapDimension||Yes||Yes||Yes||Yes||Yes
³GpiSavePS                      ³Yes    ³Yes(4) ³No    ³Yes(4) ³No    ³
|-
³GpiScale                        ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|GpiQueryBitmapHandle||Yes||Yes||Yes||Yes||Yes
³GpiSelectPalette                ³Yes    ³Yes    ³No    ³Yes    ³Yes    ³
|-
³GpiSetArcParams                ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|GpiQueryBitmapInfoHeader||Yes||Yes||Yes||Yes||Yes
³GpiSetAttrMode                  ³No      ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiSetAttrs                    ³Yes    ³Yes    ³No    ³Yes    ³Yes    ³
|GpiQueryBitmapParameters||Yes||Yes||Yes||Yes||Yes
³GpiSetBackColor                ³Yes    ³Yes    ³No    ³Yes    ³No    ³
|-
³GpiSetBackMix                  ³Yes    ³Yes    ³No    ³Yes    ³No    ³
|GpiQueryBoundaryData||Yes||Yes||Yes||Yes||Yes
³GpiSetBitmap                    ³Yes    ³Yes    ³No    ³Yes    ³No    ³
|-
³GpiSetBitmapBits                ³Yes    ³Yes    ³No    ³Yes    ³No    ³
|GpiQueryCharAngle||Yes||Yes(2)||Yes(2)||Yes(2)||Yes(2)
³GpiSetBitmapDimension          ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiSetBitmapId                  ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|GpiQueryCharBox||Yes||Yes(2)||Yes(2)||Yes(2)||Yes(2)
³GpiSetCharAngle                ³Yes    ³Yes    ³No    ³Yes    ³Yes    ³
|-
³GpiSetCharBox                  ³Yes    ³Yes    ³No    ³Yes    ³Yes    ³
|GpiQueryCharBreakExtra||Yes||Yes(2)||Yes(2)||Yes(2)||Yes(2)
³GpiSetCharBreakExtra            ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiSetCharDirection            ³Yes    ³Yes    ³No    ³Yes    ³Yes    ³
|GpiQueryCharDirection||Yes||Yes||No||Yes||Yes
³GpiSetCharExtra                ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiSetCharMode                  ³Yes    ³Yes    ³No    ³Yes    ³Yes    ³
|GpiQueryCharExtra||Yes||Yes(2)||Yes(2)||Yes(2)||Yes(2)
³GpiSetCharSet                  ³Yes    ³Yes    ³No    ³Yes    ³Yes    ³
|-
³GpiSetCharShear                ³Yes    ³Yes    ³No    ³Yes    ³Yes    ³
|GpiQueryCharMode||Yes||Yes(2)||Yes(2)||Yes(2)||Yes(2)
³GpiSetClipPath                  ³Yes    ³Yes    ³No    ³Yes    ³No    ³
|-
³GpiSetClipRegion                ³Yes    ³Yes    ³No    ³Yes    ³No    ³
|GpiQueryCharSet||Yes||Yes(2)||Yes(2)||Yes(2)||Yes(2)
³GpiSetColor                    ³Yes    ³Yes    ³No    ³Yes    ³Yes    ³
|-
³GpiSetCp                        ³Yes    ³Yes    ³No    ³Yes    ³Yes    ³
|GpiQueryCharShear||Yes||Yes(2)||Yes(2)||Yes(2)||Yes(2)
³GpiSetCurrentPosition          ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiSetDefArcParams              ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|GpiQueryCharStringPos||Yes||Yes(2)||Yes(2)||Yes(2)||Yes(2)
³GpiSetDefAttrs                  ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiSetDefaultViewMatrix        ³Yes    ³Yes    ³No    ³Yes    ³No    ³
|GpiQueryCharStringPosAt||Yes||Yes(2)||Yes(2)||Yes(2)||Yes(2)
³GpiSetDefTag                    ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiSetDefViewingLimits          ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|GpiQueryClipBox||Yes||Yes||Yes||Yes||Yes
³GpiSetDrawControl              ³Yes    ³No    ³No    ³No    ³No    ³
|-
³GpiSetDrawingMode              ³No      ³No    ³No    ³No    ³No    ³
|GpiQueryClipRegion||Yes||Yes||Yes||Yes||Yes
³GpiSetEditMode                  ³No      ³Yes    ³Yes    ³No    ³Yes    ³
|-
³GpiSetElementPointer            ³No      ³Yes(2) ³Yes(2) ³No    ³Yes(2) ³
|GpiQueryColor||Yes||Yes(2)||Yes(2)||Yes(2)||Yes(2)
³GpiSetElementPointerAtLabel    ³No      ³Yes(2) ³Yes(2) ³No    ³Yes(2) ³
|-
³GpiSetGraphicsField            ³Yes    ³Yes    ³No    ³Yes    ³No    ³
|GpiQueryColorData||Yes||Yes||Yes||Yes||Yes
³GpiSetInitialSegmentAttrs      ³No      ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiSetLineEnd                  ³Yes    ³Yes    ³No    ³Yes    ³Yes    ³
|GpiQueryColorIndex||Yes||Yes||Yes||Yes||Yes
³GpiSetLineJoin                  ³Yes    ³Yes    ³No    ³Yes    ³Yes    ³
|-
³GpiSetLineType                  ³Yes    ³Yes    ³No    ³Yes    ³Yes    ³
|GpiQueryCp||Yes||Yes||Yes||Yes||Yes
³GpiSetLineWidth                ³Yes    ³Yes    ³No    ³Yes    ³Yes    ³
|-
³GpiSetLineWidthGeom            ³Yes    ³Yes    ³No    ³Yes    ³No    ³
|GpiQueryCurrentPosition||Yes||Yes(2)||Yes(2)||Yes(2)||Yes(2)
³GpiSetMarker                    ³Yes    ³Yes    ³No    ³Yes    ³Yes    ³
|-
³GpiSetMarkerBox                ³Yes    ³Yes    ³No    ³Yes    ³Yes    ³
|GpiQueryDefArcParams||Yes||Yes||Yes||Yes||Yes
³GpiSetMarkerSet                ³Yes    ³Yes    ³No    ³Yes    ³Yes    ³
|-
³GpiSetMetaFileBits              ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|GpiQueryDefAttrs||Yes||Yes||Yes||Yes||Yes
³GpiSetMix                      ³Yes    ³Yes    ³No    ³Yes    ³Yes    ³
|-
³GpiSetModelTransformMatrix      ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|GpiQueryDefaultViewMatrix||Yes||Yes||Yes||Yes||Yes
³GpiSetPageViewport              ³Yes    ³Yes    ³No    ³Yes    ³No    ³
|-
³GpiSetPaletteEntries            ³Yes(8) ³Yes    ³No    ³Yes    ³Yes    ³
|GpiQueryDefCharBox||Yes||Yes||Yes||Yes||Yes
³GpiSetPattern                  ³Yes    ³Yes    ³No    ³Yes    ³No    ³
|-
³GpiSetPatternRefPoint          ³Yes    ³Yes    ³No    ³Yes    ³No    ³
|GpiQueryDefTag||Yes||Yes||Yes||Yes||Yes
³GpiSetPatternSet                ³Yes    ³Yes    ³No    ³Yes    ³No    ³
|-
³GpiSetPickAperturePosition      ³Yes    ³Yes    ³No    ³Yes    ³No    ³
|GpiQueryDefViewingLimits||Yes||Yes||Yes||Yes||Yes
³GpiSetPickApertureSize          ³Yes    ³Yes    ³No    ³Yes    ³No    ³
|-
³GpiSetPS                        ³Yes    ³Yes    ³No    ³Yes    ³No    ³
|GpiQueryDevice||Yes||Yes||Yes||Yes||Yes
³GpiSetRegion                    ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiSetSegmentAttrs              ³Yes    ³Yes    ³No    ³Yes    ³No    ³
|GpiQueryDeviceBitmapFormats||Yes||Yes||Yes||Yes||Yes
³GpiSetSegmentPriority          ³No      ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiSetSegmentTransformMatrix    ³No      ³No(5) ³Yes    ³No    ³Yes    ³
|GpiQueryDrawControl||Yes||Yes||Yes||Yes||Yes
³GpiSetStopDraw                  ³No      ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiSetTag                      ³No      ³Yes    ³Yes    ³Yes    ³Yes    ³
|GpiQueryDrawingMode||No||Yes||Yes||Yes||Yes
³GpiSetTextAlignment            ³No      ³Yes    ³No    ³Yes    ³Yes    ³
|-
³GpiSetViewingLimits            ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|GpiQueryEditMode||No||Yes||Yes||Yes||Yes
³GpiSetViewingTransformMatrix    ³Yes    ³Yes    ³No    ³Yes    ³No    ³
|-
³GpiStrokePath                  ³No      ³No    ³No    ³Yes    ³No    ³
|GpiQueryElement||No||Yes(3)||Yes(3)||Yes(3)||Yes(3)
³GpiTranslate                    ³Yes    ³Yes    ³No    ³Yes    ³No    ³
|-
³GpiUnloadFonts                  ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|GpiQueryElementPointer||No||Yes(3)||Yes(3)||Yes(3)||Yes(3)
³GpiUnloadPublicFonts            ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
³GpiUnloadPublicFonts            ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|GpiQueryElementType||No||Yes(3)||Yes(3)||Yes(3)||Yes(3)
³GpiWCBitBlt                    ³Yes    ³Yes    ³Yes    ³Yes    ³Yes    ³
|-
</PRE>
|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:
;Notes:
#Not valid to a cached micro presentation space.
1. 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:


2.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
;The Current Drawing Mode
<PRE>
{|class="wikitable"
    ³GpiSetDrawingMode parameter ³              ³Context
!GpiSetDrawingMode parameter||colspan=3|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.
 
3. Valid only when the actual drawing mode (see note 2) is retain.
 
4. Valid only when the actual drawing mode (see note 2) is draw.
 
5. Not valid if the specified segment is the current open segment.
 
6. Bracket (path, element, or area) is ended without error.
 
7. Severity is Warning.


    ³                            ³Chained Segment³Unchained Segment³Outside Segment
8. If associated with a metafile, only the final values are recorded in the metafile.


    ³DM_DRAWANDRETAIN            ³draw-and-retain³retain          ³draw
9. Palette must not be current.
    ³DM_RETAIN                  ³retain        ³retain          ³draw
    ³DM_DRAW                    ³draw          ³retain          ³draw
</PRE>
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.
10. Device context must be able to support bit map operations.
# 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.

Latest revision as of 17:20, 14 May 2025

Reprint Courtesy of International Business Machines Corporation, © International Business Machines Corporation

GPI Guide and Reference
  1. How to Use the GPI Guide and Reference
  2. Graphics Functions
  3. Data Types
  4. Graphics Orders
  5. Graphics Orders Data Types
  6. Errors
  7. Area and Polygon Primitives
  8. Bit Maps
  9. Creating and Drawing Retained Graphics
  10. Character String Primitives
  11. Clipping and Boundary Determination
  12. Color and Mix Attributes
  13. Correlation
  14. Coordinate Spaces and Transformations
  15. Editing Retained Graphics and Graphics Segments
  16. Fonts
  17. Graphics Attributes
  18. Line and Arc Primitives
  19. Marker Primitives
  20. Matrix Multiplication
  21. Metafiles
  22. Print Job Submission and Manipulation
  23. Presentation Spaces and Device Contexts
  24. Paths
  25. Regions
  26. Notices
  27. Glossary

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
Bracket
Area
Bracket
Element
Bracket
Path
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

1. Not valid to a cached micro presentation space.

2.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.

3. Valid only when the actual drawing mode (see note 2) is retain.

4. Valid only when the actual drawing mode (see note 2) is draw.

5. Not valid if the specified segment is the current open segment.

6. Bracket (path, element, or area) is ended without error.

7. Severity is Warning.

8. If associated with a metafile, only the final values are recorded in the metafile.

9. Palette must not be current.

10. Device context must be able to support bit map operations.