Jump to content

PDRREF:Mandatory and Simulated Graphics Engine Function Reference

From EDM2
Revision as of 21:35, 19 November 2019 by Martini (talk | contribs) (Created page with "{{PDRREF}} {{IBM-Reprint}} All mandatory and simulated Presentation Manager functions are listed alphabetically in the following table. The two rightmost columns indicate whe...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Presentation Device Driver Reference for OS/2
  1. Introduction to OS/2 Presentation Drivers
  2. Design Considerations for All Drivers
  3. Graphics Engine/Presentation Driver Design Changes
  4. Design Considerations for Display Drivers
  5. Design Considerations for Hardcopy Drivers
  6. Display Drivers
  7. Distributed Console Access Facility (DCAF) Architecture
  8. Graphics Engine Hardcopy Drivers
  9. Queue Drivers
  10. Port Drivers
  11. Presentation Manager Function Categories
  12. Exported Driver Function Reference
  13. Mandatory and Simulated Graphics Engine Function Reference
  14. Device Support Function Reference
  15. DBIDI Command Structures and Command Flow

Appendixes

A - OS/2 Version Compatibility Considerations
B - Syntax Conventions
C - Format of the Journal File
D - Bit-Map Simulation for 16-Bit Hardcopy Drivers
E - Data Types
F - Notices

Miscellaneous

G - Glossary

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

All mandatory and simulated Presentation Manager functions are listed alphabetically in the following table. The two rightmost columns indicate whether a function is required for Hardcopy or Display drivers, or for both. A detailed description of each function follows the table. For ease of recognition, mandatory functions also include at the top of the page an icon of a printer, a display, or both, as appropriate.

┌──────────────────────────────┬───────────────┬───────┬────────┐
│Function                      │Type           │ Hard  │Display │
│                              │               │ Copy  │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreAccumulateBounds           │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreArc                        │simulated (arc │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreAreaSetAttributes          │simulated (area│       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreBeginArea                  │simulated (area│       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreBeginPath                  │simulated (arc │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreBitblt                     │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreBoxBoth                    │simulated (arc │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreBoxBoundary                │simulated (arc │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreBoxInterior                │simulated      │       │        │
│                              │(area/path     │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreCharRect                   │mandatory (AVIO│       │x       │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreCharStr                    │mandatory (AVIO│       │x       │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreCharStr                    │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreCharStringPos              │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreCloseFigure                │simulated (arc │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreCombineRectRegion          │simulated      │       │        │
│                              │(region        │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreCombineRegion              │simulated      │       │        │
│                              │(region        │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreCombineShortLineRegion     │simulated      │       │        │
│                              │(region        │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreConvert                    │simulated      │       │        │
│                              │(transform     │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreConvertWithMatrix          │simulated      │       │        │
│                              │(transform     │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreCopyClipRegion             │simulated (clip│       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreCreateLogColorTable        │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreCreateRectRegion           │simulated      │       │        │
│                              │(region        │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreDeath                      │mandatory      │       │x       │
│                              │(display       │       │        │
│                              │devices) device│       │        │
│                              │function 3     │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreDestroyRegion              │simulated      │       │        │
│                              │(region        │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreDeviceAnimatePalette       │simulated      │       │        │
│                              │(transform     │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreDeviceCreateBitmap         │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreDeviceCreatePalette        │simulated      │       │        │
│                              │(transform     │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreDeviceDeleteBitmap         │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreDeviceDeletePalette        │simulated      │       │        │
│                              │(palette       │       │        │
│                              │manager)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreDeviceGetAttributes        │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreDeviceInvalidateVisRegion  │mandatory      │       │x       │
│                              │(display       │       │        │
│                              │devices) device│       │        │
│                              │function 2     │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreDeviceQueryFontAttributes  │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreDeviceQueryFonts           │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreDeviceResizePalette        │simulated      │       │        │
│                              │(palette       │       │        │
│                              │manager        │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreDeviceSelectBitmap         │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreDeviceSetAttributes        │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreDeviceSetAVIOFont          │mandatory      │       │x       │
│                              │(display       │       │        │
│                              │devices) AVIO  │       │        │
│                              │function       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreDeviceSetCursor            │mandatory      │       │x       │
│                              │(display       │       │        │
│                              │devices) bit   │       │        │
│                              │map function   │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreDeviceSetDCOrigin          │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreDeviceSetGlobalAttribute   │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreDeviceSetPaletteEntries    │simulated      │       │        │
│                              │(palette       │       │        │
│                              │manager        │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreDisjointLines              │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreDrawBits                   │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreDrawBorder                 │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreDrawLinesInPath            │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreDrawRLE                    │simulated (line│       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEndArea                    │simulated (area│       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEndPath                    │simulated (path│       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEqualRegion                │simulated      │       │        │
│                              │(region        │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreErasePS                    │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEscape DEVESC_ABORTDOC     │mandatory      │x      │        │
│                              │(hardcopy      │       │        │
│                              │devices)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEscape DEVESC_ACQUIREFB    │mandatory      │       │x       │
│                              │(software      │       │        │
│                              │motion video   │       │        │
│                              │support)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEscape DEVESC_BREAK_EXTRA  │mandatory      │x      │        │
│                              │(hardcopy      │       │        │
│                              │devices)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEscape DEVESC_CHAR_EXTRA   │mandatory      │x      │        │
│                              │(hardcopy      │       │        │
│                              │devices)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEscape                     │mandatory (DBCS│       │        │
│DEVESC_DBE_FONTMANAGEMENT     │support)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEscape DEVESC_DBE_LAST     │mandatory (DBCS│       │        │
│                              │support)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEscape DEVESC_DEACQUIREFB  │mandatory      │       │x       │
│                              │(software      │       │        │
│                              │motion video   │       │        │
│                              │support)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEscape DEVESC_DRAFTMODE    │mandatory      │x      │        │
│                              │(hardcopy      │       │        │
│                              │devices)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEscape DEVESC_ENDDOC       │mandatory      │x      │        │
│                              │(hardcopy      │       │        │
│                              │devices)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEscape DEVESC_EXTGET       │mandatory      │       │x       │
│                              │(software      │       │        │
│                              │motion video   │       │        │
│                              │support)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEscape DEVESC_EXTPUT       │mandatory      │       │x       │
│                              │(software      │       │        │
│                              │motion video   │       │        │
│                              │support)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEscape DEVESC_EXTQUERY     │mandatory      │       │x       │
│                              │(software      │       │        │
│                              │motion video   │       │        │
│                              │support)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEscape DEVESC_FLUSHOUTPUT  │mandatory      │x      │        │
│                              │(hardcopy      │       │        │
│                              │devices)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEscape DEVESC_GETAPERTURE  │mandatory      │       │x       │
│                              │(software      │       │        │
│                              │motion video   │       │        │
│                              │support)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEscape DEVESC_GETCP        │mandatory      │x      │        │
│                              │(hardcopy      │       │        │
│                              │devices)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEscape DEVESC_GETJOBID     │mandatory      │x      │        │
│                              │(hardcopy      │       │        │
│                              │devices) ???   │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEscape                     │mandatory      │x      │        │
│DEVESC_GETSCALINGFACTOR       │(hardcopy      │       │        │
│                              │devices)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEscape DEVESC_HWREQUEST    │mandatory      │       │x       │
│                              │(software      │       │        │
│                              │motion video   │       │        │
│                              │support)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEscape DEVESC_NEWFRAME     │mandatory      │x      │        │
│                              │(hardcopy      │       │        │
│                              │devices)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEscape DEVESC_NEXTBAND     │mandatory      │x      │        │
│                              │(hardcopy      │       │        │
│                              │devices)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEscape                     │mandatory      │x      │x       │
│DEVESC_QUERYESCSUPPORT        │               │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEscape DEVESC_QUERYFB      │mandatory      │       │x       │
│                              │(software      │       │        │
│                              │motion video   │       │        │
│                              │support)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEscape                     │mandatory      │       │x       │
│DEVESC_QUERYVIOCELLSIZES      │(display       │       │        │
│                              │devices)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEscape DEVESC_RAWDATA      │mandatory      │x      │        │
│                              │(hardcopy      │       │        │
│                              │devices)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEscape DEVESC_REGISTER     │mandatory      │       │x       │
│                              │(software      │       │        │
│                              │motion video   │       │        │
│                              │support)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEscape DEVESC_SETMODE      │mandatory      │x      │        │
│                              │(hardcopy      │       │        │
│                              │devices)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEscape                     │mandatory      │       │x       │
│DEVESC_SETUPBLITTERNOTIFY     │(software      │       │        │
│                              │motion video   │       │        │
│                              │support)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEscape DEVESC_STARTDOC     │mandatory      │x      │        │
│                              │(hardcopy      │       │        │
│                              │devices)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEscape DEVESC_STD_JOURNAL  │mandatory      │x      │        │
│                              │(hardcopy      │       │        │
│                              │devices)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEscape DEVESC_SWITCHBANK   │mandatory      │       │x       │
│                              │(software      │       │        │
│                              │motion video   │       │        │
│                              │support)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEscape DEVESC_VIDEOHIDDEN  │mandatory      │       │x       │
│                              │(software      │       │        │
│                              │motion video   │       │        │
│                              │support)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreEscape DEVESC_VRAMALLOC    │mandatory      │       │x       │
│                              │(software      │       │        │
│                              │motion video   │       │        │
│                              │support)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreExcludeClipRectangle       │simulated (clip│       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreFillPath                   │simulated (path│       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreFullArcBoth                │simulated (arc │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreFullArcBoundary            │simulated (arc │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreFullArcInterior            │simulated (arc │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreGetArcParameters           │simulated (arc │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreGetBitmapBits              │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreGetBoundsData              │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreGetClipBox                 │simulated (clip│       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreGetClipRects               │simulated (clip│       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreGetCodePage                │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreGetCurrentPosition         │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreGetDCOrigin                │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreGetGlobalViewingXform      │simulated      │       │        │
│                              │(transform     │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreGetGraphicsField           │simulated      │       │        │
│                              │(transform     │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreGetLineOrigin              │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreGetModelXform              │simulated      │       │        │
│                              │(transform     │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreGetPageUnits               │simulated      │       │        │
│                              │(transform     │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreGetPageViewport            │simulated      │       │        │
│                              │(transform     │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreGetPairKerningTable        │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreGetPel                     │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreGetPickWindow              │mandatory      │       │x       │
│                              │(display       │       │        │
│                              │devices) misc  │       │        │
│                              │function       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreGetRegionBox               │simulated      │       │        │
│                              │(region        │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreGetRegionRects             │simulated      │       │        │
│                              │(transform     │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreGetStyleRatio              │mandatory      │       │x       │
│                              │(display       │       │        │
│                              │devices) device│       │        │
│                              │function 2     │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreGetViewingLimits           │simulated      │       │        │
│                              │(transform     │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreGetWindowViewportXform     │simulated      │       │        │
│                              │(transform     │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreImageData                  │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreIntersectClipRectangle     │simulated (clip│       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreLockDevice                 │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreModifyPath                 │simulated (path│       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreMultiplyXforms             │simulated      │       │        │
│                              │(transform     │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreNotifyClipChange           │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreNotifyTransformChange      │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreOffsetClipRegion           │simulated (clip│       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreOffsetRegion               │simulated      │       │        │
│                              │(region        │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreOutlinePath                │simulated (path│       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GrePaintRegion                │simulated      │       │        │
│                              │(region        │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GrePartialArc                 │simulated (arc │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GrePolyFillet                 │simulated (arc │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GrePolyFilletSharp            │simulated (arc │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GrePolygonSet                 │simulated (line│       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GrePolyLine                   │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GrePolyMarker                 │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GrePolyScanline               │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GrePolyShortLine              │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GrePolySpline                 │simulated (line│       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GrePtInRegion                 │simulated      │       │        │
│                              │(region        │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GrePtVisible                  │simulated (clip│       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreQueryCharPositions         │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreQueryClipRegion            │simulated (clip│       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreQueryColorData             │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreQueryColorIndex            │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreQueryDeviceBitmaps         │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreQueryDeviceCaps            │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreQueryDevResource           │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreQueryHardcopyCaps          │mandatory      │x      │        │
│                              │(hardcopy      │       │        │
│                              │devices)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreQueryHWPaletteInfo         │simulated      │       │        │
│                              │(palette       │       │        │
│                              │manager)       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreQueryLogColorTable         │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreQueryNearestColor          │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreQueryPaletteRealization    │simulated      │       │        │
│                              │(palette       │       │        │
│                              │manager        │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreQueryRealColors            │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreQueryRGBColor              │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreQueryTextBox               │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreQueryWidthTable            │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreRealizeColorTable          │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreRealizeFont                │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreRealizePalette             │simulated      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreRectInRegion               │simulated      │       │        │
│                              │(region        │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreRectVisible                │simulated (clip│       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreRegionSelectBitmap         │simulated (clip│       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreResetBounds                │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreRestorePath                │simulated (path│       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreRestoreRegion              │simulated (clip│       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreRestoreScreenBits          │mandatory      │       │x       │
│                              │(display       │       │        │
│                              │devices) bit   │       │        │
│                              │map function   │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreRestoreXform               │simulated      │       │        │
│                              │(transform     │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreRestoreXformData           │simulated      │       │        │
│                              │(transform     │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreResurrection               │mandatory      │       │x       │
│                              │(display       │       │        │
│                              │devices) device│       │        │
│                              │function 3     │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreSavePath                   │simulated (path│       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreSaveRegion                 │simulated (clip│       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreSaveScreenBits             │mandatory      │       │x       │
│                              │(display       │       │        │
│                              │devices) bit   │       │        │
│                              │map function   │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreSaveXform                  │simulated      │       │        │
│                              │(transform     │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreSaveXformData              │simulated      │       │        │
│                              │(transform     │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreScrollRect                 │mandatory      │       │x       │
│                              │(display       │       │        │
│                              │devices) AVIO  │       │        │
│                              │function       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreSelectClipPath             │simulated (path│       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreSelectClipRegion           │simulated (clip│       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreSelectPathRegion           │simulated (clip│       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreSetArcParameters           │simulated (arc │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreSetBitmapBits              │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreSetCodePage                │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreSetColorCursor             │mandatory      │       │x       │
│                              │(display       │       │        │
│                              │devices) misc  │       │        │
│                              │function       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreSetCurrentPosition         │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreSetGlobalViewingXform      │simulated      │       │        │
│                              │(transform     │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreSetGraphicsField           │simulated      │       │        │
│                              │(transform     │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreSetLineOrigin              │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreSetModelXform              │simulated      │       │        │
│                              │(transform     │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreSetPageUnits               │simulated      │       │        │
│                              │(transform     │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreSetPageViewport            │simulated      │       │        │
│                              │(transform     │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreSetPel                     │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreSetPickWindow              │mandatory      │       │x       │
│                              │(display       │       │        │
│                              │devices) misc  │       │        │
│                              │function       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreSetRectRegion              │simulated      │       │        │
│                              │(region        │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreSetStyleRatio              │mandatory      │       │x       │
│                              │(display       │       │        │
│                              │devices) device│       │        │
│                              │function 2     │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreSetupDC                    │simulated (clip│       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreSetViewingLimits           │simulated      │       │        │
│                              │(transform     │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreSetWindowViewportXform     │simulated      │       │        │
│                              │(transform     │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreSetXformRect               │simulated (clip│       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreStrokePath                 │simulated (path│       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreUnlockDevice               │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreUnrealizeColorTable        │mandatory      │x      │x       │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreUpdateColors               │simulated      │       │        │
│                              │(palette       │       │        │
│                              │manager        │       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│GreUpdateCursor               │mandatory      │       │x       │
│                              │(display       │       │        │
│                              │devices) AVIO  │       │        │
│                              │function       │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│SDBitBlt                      │simulated      │       │        │
│                              │(device surface│       │        │
│                              │function)      │       │        │
├──────────────────────────────┼───────────────┼───────┼────────┤
│SDLine                        │mandatory      │       │        │
│                              │(device surface│       │        │
│                              │function)      │       │        │
└──────────────────────────────┴───────────────┴───────┴────────┘