Presentation Device Driver Functions: Difference between revisions
Appearance
mNo edit summary |
|||
(60 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
You can find more information at the [[Presentation Device Driver Reference for | You can find more information at the [[Presentation Device Driver Reference for OS/2]]. | ||
== Mandatory and Simulated Graphics Engine Function == | |||
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3"> | <div style="column-count:3;-moz-column-count:3;-webkit-column-count:3"> | ||
;SIMULATED | |||
* | * [[SDBitBlt]] | ||
* | * [[SDLine]] | ||
;Arc Functions | |||
* | * [[GreArc]] | ||
* [[GreBoxBoth]] | |||
* [[GreBoxBoundary]] | |||
* GreBoxBoth | * [[GreBoxInterior]] | ||
* GreBoxBoundary | * [[GreFullArcBoth]] | ||
* GreBoxInterior | * [[GreFullArcBoundary]] | ||
* | * [[GreFullArcInterior]] | ||
* | * [[GreGetArcParameters]] | ||
* | * [[GrePartialArc]] | ||
* | * [[GrePolyFillet]] | ||
* | * [[GrePolyFilletSharp]] | ||
* | * [[GrePolySpline]] | ||
* | * [[GreSetArcParameters]] | ||
* | ;Area and Path Functions | ||
* | * [[GreAreaSetAttributes]] | ||
* [[GreBeginArea]] | |||
* | * [[GreBeginPath]] | ||
* | * [[GreCloseFigure]] | ||
* | * [[GreEndArea]] | ||
* | * [[GreEndPath]] | ||
* | * [[GreFillPath]] | ||
* | * [[GreModifyPath]] | ||
* | * [[GreOutlinePath]] | ||
* | * [[GreRestorePath]] | ||
* | * [[GreSavePath]] | ||
* | * [[GreSelectClipPath]] | ||
* | * [[GreStrokePath]] | ||
* | '''Clip Functions''' | ||
* | *[[GreCopyClipRegion]] | ||
*[[GreExcludeClipRectangle]] | |||
* | *[[GreGetClipBox]] | ||
* | *[[GreGetClipRects]] | ||
* | *[[GreIntersectClipRectangle]] | ||
* | *[[GreOffsetClipRegion]] | ||
* | *[[GrePtVisible]] | ||
* | *[[GreQueryClipRegion]] | ||
* | *[[GreRectVisible]] | ||
* | *[[GreRegionSelectBitmap]] | ||
* | *[[GreRestoreRegion]] | ||
* | *[[GreSaveRegion]] | ||
* | *[[GreSelectClipRegion]] | ||
* | *[[GreSelectPathRegion]] | ||
* | *[[GreSetupDC]] | ||
* | *[[GreSetXformRect]] | ||
* | '''Line Functions''' | ||
* | *[[GreDrawRLE]] | ||
*[[GrePolygonSet]] | |||
* | '''Palette Manager Functions''' | ||
* | *[[GreDeviceAnimatePalette]] | ||
*[[GreDeviceCreatePalette]] | |||
* | *[[GreDeviceDeletePalette]] | ||
* | *[[GreDeviceResizePalette]] | ||
* | *[[GreDeviceSetPaletteEntries]] | ||
* | *[[GreQueryHWPaletteInfo]] | ||
* | *[[GreQueryPaletteRealization]] | ||
* | *[[GreRealizePalette]] | ||
* | *[[GreUpdateColors]] | ||
* | '''Region Functions''' | ||
* | *[[GreCombineRectRegion]] | ||
*[[GreCombineRegion]] | |||
* | *[[GreCombineShortLineRegion]] | ||
* | *[[GreCreateRectRegion]] | ||
* | *[[GreDestroyRegion]] | ||
* | *[[GreEqualRegion]] | ||
* | *[[GreGetRegionBox]] | ||
* | *[[GreGetRegionRects]] | ||
*[[GreOffsetRegion]] | |||
*[[GrePaintRegion]] | |||
*[[GrePtInRegion]] | |||
*[[GreRectInRegion]] | |||
*[[GreSetRectRegion]] | |||
* GreGetRegionBox | '''Transform Functions''' | ||
* GreGetRegionRects | *[[GreConvert]] | ||
* | *[[GreConvertWithMatrix]] | ||
*[[GreGetGlobalViewingXform]] | |||
*[[GreGetGraphicsField]] | |||
*[[GreGetModelXform]] | |||
*[[GreGetPageUnits]] | |||
*[[GreGetPageViewport]] | |||
*[[GreGetViewingLimits]] | |||
*[[GreGetWindowViewportXform]] | |||
*[[GreMultiplyXforms]] | |||
*[[GreRestoreXform]] | |||
*[[GreRestoreXformData]] | |||
*[[GreSaveXform]] | |||
*[[GreSaveXformData]] | |||
*[[GreSetGlobalViewingXform]] | |||
* | *[[GreSetGraphicsField]] | ||
*[[GreSetModelXform]] | |||
*[[GreSetPageUnits]] | |||
* | *[[GreSetPageViewport]] | ||
*[[GreSetViewingLimits]] | |||
*[[GreSetWindowViewportXform]] | |||
* | |||
* | |||
* | |||
* | |||
* | |||
* | |||
* | |||
* | |||
* | |||
* | |||
* | |||
* | |||
* GreRestoreXform | |||
* GreRestoreXformData | |||
* | |||
* GreSaveXformData | |||
* | |||
* GreSetGraphicsField | |||
* | |||
* GreSetPageUnits | |||
* GreSetPageViewport | |||
* | |||
* GreSetWindowViewportXform | |||
;MANDATORY | |||
'''Attribute Functions''' | |||
*[[GreDeviceGetAttributes]] | |||
* | *[[GreDeviceSetAttributes]] | ||
* | *[[GreDeviceSetGlobalAttribute]] | ||
* | *[[GreGetPairKerningTable]] | ||
* | '''Bit-Map Functions''' | ||
*[[GreBitblt]] | |||
* | *[[GreDeviceCreateBitmap]] | ||
* | *[[GreDeviceDeleteBitmap]] | ||
* | *[[GreDeviceSelectBitmap]] | ||
* | *[[GreDrawBits]] | ||
* | *[[GreDrawBorder]] | ||
* | *[[GreGetBitmapBits]] | ||
* | *[[GreGetPel]] | ||
* | *[[GreImageData]] | ||
* | *[[GreSetBitmapBits]] | ||
* | *[[GreSetPel]] | ||
* | '''Color Table Functions''' | ||
*[[GreCreateLogColorTable]] | |||
* | *[[GreQueryColorData]] | ||
* | *[[GreQueryColorIndex]] | ||
* | *[[GreQueryLogColorTable]] | ||
* | *[[GreQueryNearestColor]] | ||
* | *[[GreQueryRealColors]] | ||
* | *[[GreQueryRGBColor]] | ||
* | *[[GreRealizeColorTable]] | ||
* | *[[GreUnrealizeColorTable]] | ||
* | '''Device Functions 2''' | ||
*[[GreDeviceQueryFontAttributes]] | |||
* | *[[GreDeviceQueryFonts]] | ||
* | *[[GreErasePS]] | ||
* | *[[GreNotifyClipChange]] | ||
* | *[[GreNotifyTransformChange]] | ||
* | *[[GreRealizeFont]] | ||
* | '''Device Functions 3''' | ||
*[[GreAccumulateBounds]] | |||
* | *[[GreDeviceSetDCOrigin]] | ||
* | *[[GreGetBoundsData]] | ||
* | *[[GreGetCodePage]] | ||
* | *[[GreGetDCOrigin]] | ||
* | *[[GreGetLineOrigin]] | ||
* | *[[GreLockDevice]] | ||
* | *[[GreResetBounds]] | ||
* | *[[GreSetCodePage]] | ||
* | *[[GreSetLineOrigin]] | ||
* | *[[GreUnlockDevice]] | ||
* | '''Line Functions''' | ||
*[[GreDisjointLines]] | |||
* | *[[GreDrawLinesInPath]] | ||
* | *[[GreGetCurrentPosition]] | ||
* | *[[GrePolyLine]] | ||
* | *[[GrePolyScanline]] | ||
* | *[[GrePolyShortLine]] | ||
* | *[[GreSetCurrentPosition]] | ||
* | '''Marker Functions''' | ||
*[[GrePolyMarker]] | |||
* | '''Query Functions''' | ||
*[[GreQueryHardcopyCaps]] | |||
* | *[[GreQueryDeviceBitmaps]] | ||
* | *[[GreQueryDeviceCaps]] | ||
* | *[[GreQueryDevResource]] | ||
* | '''Text Functions''' | ||
*[[GreCharString]] | |||
* | *[[GreCharStringPos]] | ||
* | *[[GreQueryCharPositions]] | ||
* | *[[GreQueryTextBox]] | ||
* | *[[GreQueryWidthTable]] | ||
* | ;MANDATORY DISPLAY DRIVER | ||
'''AVIO Functions''' | |||
*[[GreCharRect]] | |||
* | *[[GreCharStr]] | ||
* | *[[GreDeviceSetAVIOFont]] | ||
* | *[[GreScrollRect]] | ||
* | *[[GreUpdateCursor]] | ||
* | '''Bitmap Functions''' | ||
*[[GreDeviceSetCursor]] | |||
* | *[[GreRestoreScreenBits]] | ||
* | *[[GreSaveScreenBits]] | ||
* | ;Device Functions 2 | ||
*[[GreDeviceInvalidateVisRegion]] | |||
* | *[[GreGetStyleRatio]] | ||
* | *[[GreSetStyleRatio]] | ||
* | ;Device Functions 3 | ||
*[[GreDeath]] | |||
* | *[[GreResurrection]] | ||
* | ;Miscellaneous Functions | ||
*[[GreGetPickWindow]] | |||
* | *[[GreSetColorCursor]] | ||
* | *[[GreSetPickWindow]] | ||
* | ;Screen | ||
* [[GreGetScreenBits]] | |||
* | * [[GreSetScreenBits]] | ||
* | * [[GreGetScreenChangeArea]] | ||
* | * [[GreOpenScreenChangeArea]] | ||
* | * [[GreCloseScreenChangeArea]] | ||
* | ;GREESCAPE | ||
* [[GreEscape]] | |||
* | |||
</div> | </div> | ||
== | ==Device Support Function== | ||
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3"> | <div style="column-count:3;-moz-column-count:3;-webkit-column-count:3"> | ||
* | * [[Default_Primary]] | ||
* | * [[DspDefaultResolution]] | ||
* | * [[DspQueryDriverInfo]] | ||
* | * [[DspQueryDriverNames]] | ||
* | * [[DspSetDriverInfo]] | ||
* | * [[GetDriverInfo]] | ||
* | * [[GreCloseDC]] | ||
* | * [[GreCopyDCLoadData]] | ||
* | * [[GreCreateBitmap]] | ||
* | * [[GreCreateJournalFile]] | ||
* | * [[GreDeleteSetId]] | ||
* | * [[GreGetAttributes]] | ||
* | * [[GreGetBitmapDimension]] | ||
* | * [[GreGetBitmapParameters]] | ||
* | * [[GreGetDefaultArcParameters]] | ||
* | * [[GreGetDefaultAttributes]] | ||
* | * [[GreGetDefaultViewingLimits]] | ||
* | * [[GreGetHandle]] | ||
* | * [[GreGetProcessControl]] | ||
* | * [[GreInitializeAttributes]] | ||
* | * [[GreLoadFont]] | ||
* | * [[GreOpenDC]] | ||
* | * [[GreOpenJournalFile]] | ||
* | * [[GrePlayJournalFile]] | ||
* | * [[GreQueryBitmapHandle]] | ||
* | * [[GreQueryCodePageVector]] | ||
* | * [[GreQueryEngineVersion]] | ||
* | * [[GreQueryFontAttributes]] | ||
* | * [[GreQueryFontFileDescriptions]] | ||
* | * [[GreQueryFonts]] | ||
* | * [[GreQueryLogicalFont]] | ||
* | * [[GreQueryNumberSetIds]] | ||
* | * [[GreQuerySetIds]] | ||
* | * [[GreResetDC]] | ||
* | * [[GreRestoreDC]] | ||
* | * [[GreSaveDC]] | ||
* | * [[GreSelectBitmap]] | ||
* | * [[GreSetAttributes]] | ||
* | * [[GreSetBitmapDimension]] | ||
* | * [[GreSetBitmapID]] | ||
* | * [[GreSetDefaultArcParameters]] | ||
* | * [[GreSetDefaultAttributes]] | ||
* | * [[GreSetDefaultViewingLimits]] | ||
* | * [[GreSetDeviceSurface]] | ||
* | * [[GreSetGlobalAttribute]] | ||
* [[GreSetHandle]] | |||
* [[GreSetProcessControl]] | |||
* [[GreStartJournalFile]] | |||
* [[GreStopJournalFile]] | |||
* [[GreUnLoadFont]] | |||
* [[PrtAbort]] | |||
* [[PrtAbortDoc]] | |||
* [[PrtClose]] | |||
* [[PrtDevIOCtl]] | |||
* [[PrtNewPage]] | |||
* [[PrtOpen]] | |||
* [[PrtQuery]] | |||
* [[PrtResetAbort]] | |||
* [[PrtSet]] | |||
* [[PrtWrite]] | |||
* [[SetDriverInfo]] | |||
* [[SplCreatePort]] | |||
* [[SplDeletePort]] | |||
* [[SplDisable]] | |||
* [[SplDisplayControlPanel]] | |||
* [[SplEnable]] | |||
* [[SplEnumQueue]] | |||
* [[SplGetControlPanelList]] | |||
* [[SplGetPortFromQ]] | |||
* [[SplMessageBox]] | |||
* [[SplPdAbortDoc]] | |||
* [[SplPdClose]] | |||
* [[SplPdEnumPort]] | |||
* [[SplPdGetPortIcon]] | |||
* [[SplPdInitPort]] | |||
* [[SplPdInstallPort]] | |||
* [[SplPdNewPage]] | |||
* [[SplPdOpen]] | |||
* [[SplPdQuery]] | |||
* [[SplPdQueryPort]] | |||
* [[SplPdRemoteSetPort]] | |||
* [[SplPdRemovePort]] | |||
* [[SplPdResetAbort]] | |||
* [[SplPdSendCmd]] | |||
* [[SplPdSet]] | |||
* [[SplPdSetPort]] | |||
* [[SplPdTermPort]] | |||
* [[SplPdWrite]] | |||
* [[SplProtSendCmd]] | |||
* [[SplProtWrite]] | |||
* [[SplProtXlateCmd]] | |||
* [[SplQmAbort]] | |||
* [[SplQmAbortDoc]] | |||
* [[SplQmClose]] | |||
* [[SplQmEndDoc]] | |||
* [[SplQmGetJobID]] | |||
* [[SplQmNewPage]] | |||
* [[SplQmOpen]] | |||
* [[SplQmStartDoc]] | |||
* [[SplQmWrite]] | |||
* [[SplQpClose]] | |||
* [[SplQpControl]] | |||
* [[SplQpInstall]] | |||
* [[SplQpOpen]] | |||
* [[SplQpPrint]] | |||
* [[SplQpQueryDt]] | |||
* [[SplQpQueryFlags]] | |||
* [[SplQueryControlPanel]] | |||
* [[SplQueryPath]] | |||
* [[SplQueryPort]] | |||
* [[SplQueryQueue]] | |||
* [[SplRegister]] | |||
* [[SplRegisterControlPanel]] | |||
* [[SplSetPort]] | |||
* [[SplStdClose]] | |||
* [[SplStdDelete]] | |||
* [[SplStdGetBits]] | |||
* [[SplStdOpen]] | |||
* [[SplStdQueryLength]] | |||
* [[SplStdStart]] | |||
* [[SplStdStop]] | |||
* [[SplUnRegister]] | |||
* [[SSAllocMem]] | |||
* [[SSFreeMem]] | |||
* [[VisRegionNotify]] | |||
* [[WinSetErrorInfo]] | |||
</div> | </div> | ||
See also: | |||
* [[Presentation Device Driver Library]] | |||
*[[ | * [[PDDR/2 - 32-Bit Plotter Presentation Driver]] | ||
*[[ | * [[PDDR/2 - 32-bit Omni Presentation Driver]] | ||
*[[ | |||
==Links== | ==Links== | ||
* | * Presentation Device Driver Reference for OS2 - ([https://archive.org/download/IBMDeviceDriverKitForOS2Documentation/pdrref.inf PDRREF.INF]) | ||
* [https://archive.org/details/os2-2.0-pdr-ref-1992 OS/2 2.0 Technical Library: Presentation Driver Reference] (Mar 1992) | * [https://archive.org/details/os2-2.0-pdr-ref-1992 OS/2 2.0 Technical Library: Presentation Driver Reference] (Mar 1992) | ||
[[Category: | [[Category:The OS/2 API Project]] |
Latest revision as of 01:48, 8 February 2020
You can find more information at the Presentation Device Driver Reference for OS/2.
Mandatory and Simulated Graphics Engine Function
- SIMULATED
- Arc Functions
- GreArc
- GreBoxBoth
- GreBoxBoundary
- GreBoxInterior
- GreFullArcBoth
- GreFullArcBoundary
- GreFullArcInterior
- GreGetArcParameters
- GrePartialArc
- GrePolyFillet
- GrePolyFilletSharp
- GrePolySpline
- GreSetArcParameters
- Area and Path Functions
- GreAreaSetAttributes
- GreBeginArea
- GreBeginPath
- GreCloseFigure
- GreEndArea
- GreEndPath
- GreFillPath
- GreModifyPath
- GreOutlinePath
- GreRestorePath
- GreSavePath
- GreSelectClipPath
- GreStrokePath
Clip Functions
- GreCopyClipRegion
- GreExcludeClipRectangle
- GreGetClipBox
- GreGetClipRects
- GreIntersectClipRectangle
- GreOffsetClipRegion
- GrePtVisible
- GreQueryClipRegion
- GreRectVisible
- GreRegionSelectBitmap
- GreRestoreRegion
- GreSaveRegion
- GreSelectClipRegion
- GreSelectPathRegion
- GreSetupDC
- GreSetXformRect
Line Functions
Palette Manager Functions
- GreDeviceAnimatePalette
- GreDeviceCreatePalette
- GreDeviceDeletePalette
- GreDeviceResizePalette
- GreDeviceSetPaletteEntries
- GreQueryHWPaletteInfo
- GreQueryPaletteRealization
- GreRealizePalette
- GreUpdateColors
Region Functions
- GreCombineRectRegion
- GreCombineRegion
- GreCombineShortLineRegion
- GreCreateRectRegion
- GreDestroyRegion
- GreEqualRegion
- GreGetRegionBox
- GreGetRegionRects
- GreOffsetRegion
- GrePaintRegion
- GrePtInRegion
- GreRectInRegion
- GreSetRectRegion
Transform Functions
- GreConvert
- GreConvertWithMatrix
- GreGetGlobalViewingXform
- GreGetGraphicsField
- GreGetModelXform
- GreGetPageUnits
- GreGetPageViewport
- GreGetViewingLimits
- GreGetWindowViewportXform
- GreMultiplyXforms
- GreRestoreXform
- GreRestoreXformData
- GreSaveXform
- GreSaveXformData
- GreSetGlobalViewingXform
- GreSetGraphicsField
- GreSetModelXform
- GreSetPageUnits
- GreSetPageViewport
- GreSetViewingLimits
- GreSetWindowViewportXform
- MANDATORY
Attribute Functions
Bit-Map Functions
- GreBitblt
- GreDeviceCreateBitmap
- GreDeviceDeleteBitmap
- GreDeviceSelectBitmap
- GreDrawBits
- GreDrawBorder
- GreGetBitmapBits
- GreGetPel
- GreImageData
- GreSetBitmapBits
- GreSetPel
Color Table Functions
- GreCreateLogColorTable
- GreQueryColorData
- GreQueryColorIndex
- GreQueryLogColorTable
- GreQueryNearestColor
- GreQueryRealColors
- GreQueryRGBColor
- GreRealizeColorTable
- GreUnrealizeColorTable
Device Functions 2
- GreDeviceQueryFontAttributes
- GreDeviceQueryFonts
- GreErasePS
- GreNotifyClipChange
- GreNotifyTransformChange
- GreRealizeFont
Device Functions 3
- GreAccumulateBounds
- GreDeviceSetDCOrigin
- GreGetBoundsData
- GreGetCodePage
- GreGetDCOrigin
- GreGetLineOrigin
- GreLockDevice
- GreResetBounds
- GreSetCodePage
- GreSetLineOrigin
- GreUnlockDevice
Line Functions
- GreDisjointLines
- GreDrawLinesInPath
- GreGetCurrentPosition
- GrePolyLine
- GrePolyScanline
- GrePolyShortLine
- GreSetCurrentPosition
Marker Functions
Query Functions
Text Functions
- MANDATORY DISPLAY DRIVER
AVIO Functions
Bitmap Functions
- Device Functions 2
- Device Functions 3
- Miscellaneous Functions
- Screen
- GreGetScreenBits
- GreSetScreenBits
- GreGetScreenChangeArea
- GreOpenScreenChangeArea
- GreCloseScreenChangeArea
- GREESCAPE
Device Support Function
- Default_Primary
- DspDefaultResolution
- DspQueryDriverInfo
- DspQueryDriverNames
- DspSetDriverInfo
- GetDriverInfo
- GreCloseDC
- GreCopyDCLoadData
- GreCreateBitmap
- GreCreateJournalFile
- GreDeleteSetId
- GreGetAttributes
- GreGetBitmapDimension
- GreGetBitmapParameters
- GreGetDefaultArcParameters
- GreGetDefaultAttributes
- GreGetDefaultViewingLimits
- GreGetHandle
- GreGetProcessControl
- GreInitializeAttributes
- GreLoadFont
- GreOpenDC
- GreOpenJournalFile
- GrePlayJournalFile
- GreQueryBitmapHandle
- GreQueryCodePageVector
- GreQueryEngineVersion
- GreQueryFontAttributes
- GreQueryFontFileDescriptions
- GreQueryFonts
- GreQueryLogicalFont
- GreQueryNumberSetIds
- GreQuerySetIds
- GreResetDC
- GreRestoreDC
- GreSaveDC
- GreSelectBitmap
- GreSetAttributes
- GreSetBitmapDimension
- GreSetBitmapID
- GreSetDefaultArcParameters
- GreSetDefaultAttributes
- GreSetDefaultViewingLimits
- GreSetDeviceSurface
- GreSetGlobalAttribute
- GreSetHandle
- GreSetProcessControl
- GreStartJournalFile
- GreStopJournalFile
- GreUnLoadFont
- PrtAbort
- PrtAbortDoc
- PrtClose
- PrtDevIOCtl
- PrtNewPage
- PrtOpen
- PrtQuery
- PrtResetAbort
- PrtSet
- PrtWrite
- SetDriverInfo
- SplCreatePort
- SplDeletePort
- SplDisable
- SplDisplayControlPanel
- SplEnable
- SplEnumQueue
- SplGetControlPanelList
- SplGetPortFromQ
- SplMessageBox
- SplPdAbortDoc
- SplPdClose
- SplPdEnumPort
- SplPdGetPortIcon
- SplPdInitPort
- SplPdInstallPort
- SplPdNewPage
- SplPdOpen
- SplPdQuery
- SplPdQueryPort
- SplPdRemoteSetPort
- SplPdRemovePort
- SplPdResetAbort
- SplPdSendCmd
- SplPdSet
- SplPdSetPort
- SplPdTermPort
- SplPdWrite
- SplProtSendCmd
- SplProtWrite
- SplProtXlateCmd
- SplQmAbort
- SplQmAbortDoc
- SplQmClose
- SplQmEndDoc
- SplQmGetJobID
- SplQmNewPage
- SplQmOpen
- SplQmStartDoc
- SplQmWrite
- SplQpClose
- SplQpControl
- SplQpInstall
- SplQpOpen
- SplQpPrint
- SplQpQueryDt
- SplQpQueryFlags
- SplQueryControlPanel
- SplQueryPath
- SplQueryPort
- SplQueryQueue
- SplRegister
- SplRegisterControlPanel
- SplSetPort
- SplStdClose
- SplStdDelete
- SplStdGetBits
- SplStdOpen
- SplStdQueryLength
- SplStdStart
- SplStdStop
- SplUnRegister
- SSAllocMem
- SSFreeMem
- VisRegionNotify
- WinSetErrorInfo
See also:
- Presentation Device Driver Library
- PDDR/2 - 32-Bit Plotter Presentation Driver
- PDDR/2 - 32-bit Omni Presentation Driver
Links
- Presentation Device Driver Reference for OS2 - (PDRREF.INF)
- OS/2 2.0 Technical Library: Presentation Driver Reference (Mar 1992)