Jump to content

GPIGuide - Graphics Functions: Difference between revisions

From EDM2
Ak120 (talk | contribs)
mNo edit summary
 
(17 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.