Listing: 1 (******************************************************************************) 2 (* GRPORTS.DEF - MetaWINDOW 'Port' and 'Bitmap' Definitions *) 3 (* *) 4 (* Transcribed form GPORTS.H by Metagraphics Software Corporation *) 5 (* *) 6 (* PSW 06/28/91 08:30am *) 7 (******************************************************************************) 8 (*# module(implementation=>off, init_code=>off) *) 9 10 DEFINITION MODULE GrPorts; 11 (* 12 * Graphix 13 * Release 3.7 14 * (c) Copyright 1986-1992 PMI 15 * Green Bay, Wisconsin 16 * (414) 468-6040 17 * All rights reserved 18 * 19 *) 20 21 (******************************************************************************) 22 (* WARNING - USE ONLY WITH LARGE MEMORY MODEL CONFIGURATIONS *) 23 (* If you use "metaPort" or "bitmap" data structures within your program, you *) 24 (* must operate with either a "data" or "large" memory model configuration. *) 25 (* The pointer variables used within these structures must be 32 bit (4 byte, *) 26 (* far) pointers. The "small" and "program" memory models use only 16 bit (2 *) 27 (* byte, near) pointers and will not allocate these data structures properly. *) 28 (******************************************************************************) 29 30 FROM GrFonts IMPORT adsFont; 31 FROM GrConst IMPORT rect, point; 32 33 CONST 34 35 (*** Bitmap Device Type (devType) Definitions ***) 36 devSTD = 0; (* Standard memory mapped bitmap *) 37 devEGA = 1; (* IBM EGA/VGA display bitmap *) 38 devND1 = 40H; (* NDI Genesis-1024 bitmap *) 39 devND2 = 41H; (* NDI Genesis-1280 bitmap *) 40 devHP1 = 42H; (* Hewlett Packard1 *) 41 devEMS = 80H; (* EMS expanded memory bitmap *) 42 devWYS = 81H; (* Wyse 1280x800 display bitmap *) 43 devSIG = 82H; (* Sigma Design Color-400 bitmap *) 44 devLASVU = 83H; (* Sigma Design LaserView *) 45 devVISTA = 84H; (* Cornerstone VISTA 1600 *) 46 devREV512 = 85H; (* Number Nine Revolution 512x484 *) 47 devDUALPG = 86H; (* Cornerstone DualPage System *) 48 devTSENG = 87H; (* Tseng Labs chip set *) 49 devDUALGRAY = 88H; (* Cornerstone, extended *) 50 51 TYPE 52 53 Proc = PROCEDURE (): INTEGER; ***** ^ not supported yet ***** ^ not supported yet 54 55 adsMem = POINTER TO BYTE; ***** ^ undeclared identifier 56 57 devProc = RECORD (* Device Procedure List Structure *) 58 procSign: ARRAY[0..7] OF CHAR; (* devProc signature "devProc" *) ***** ^ not supported yet ***** ^ not supported yet 59 procMeta: ARRAY[0..5] OF Proc; (* optimization pointers *) ***** ^ not supported yet ***** ^ not supported yet 60 procDev: ARRAY[0..255] OF Proc;(* device procedure pointers *) ***** ^ not supported yet ***** ^ not supported yet 61 END; ***** ^ not supported yet 62 63 map = RECORD (* "rowTable" Raster Line Pointers *) 64 rowTable: ARRAY [0..1280] OF adsMem; (* Table of row pointers *) ***** ^ not supported yet ***** ^ not supported yet 65 END; ***** ^ not supported yet 66 67 rowTblPtr = POINTER TO map; ***** ^ not supported yet 68 69 bitmap = RECORD (* "bitmap" Data Structure *) 70 devClass: INTEGER; (* Device class *) 71 devType: INTEGER; (* Device type *) 72 devProcs: POINTER TO devProc; (* Ptr to device procedure list *) ***** ^ not supported yet 73 rowBytes: INTEGER; (* Bytes per scan line *) 74 pixWidth: INTEGER; (* Pixels horizontal *) 75 pixHeight: INTEGER; (* Pixels vertical *) 76 pixResX: INTEGER; (* Pixels per inch horzontally *) 77 pixResY: INTEGER; (* Pixels per inch vertically *) 78 pixBits: INTEGER; (* Color bits per pixel *) 79 pixPlanes: INTEGER; (* Color planes per pixel *) 80 mapTable: ARRAY [0..23] OF rowTblPtr; (* Pointers to rowTable(s) *) ***** ^ not supported yet ***** ^ not supported yet 81 mapActive: INTEGER; (* Active logical page *) 82 mapPages: INTEGER; (* Number of mapList entries,1-4 *) 83 mapList: ARRAY [0..3] OF INTEGER; (* List of logical pages loaded *) ***** ^ not supported yet ***** ^ not supported yet 84 mapRsvd: ARRAY [0..5] OF INTEGER; (* (reserved for future use) *) ***** ^ not supported yet ***** ^ not supported yet 85 mapSegment: INTEGER; (* Map segment *) 86 mapHandle: INTEGER; (* Map handle *) 87 mapManager: Proc; (* Pointer to paging manager *) 88 END; ***** ^ not supported yet 89 90 adsBMap = POINTER TO bitmap; ***** ^ not supported yet 91 92 metaPort = RECORD (* "metaPort" Data Structure *) 93 portBMap: adsBMap; (* Pointer to "bitmap" record *) 94 portRect: rect; (* 'Local' coordinate port bounds *) 95 portOrgn: point; (* 'Global' origin of portRect *) 96 portVirt: rect; (* 'Virtual' port bounds *) 97 portFlgs: INTEGER; (* Port Flags *) 98 portClip: rect; (* 'Local' clipping rectangle *) 99 portRgn: POINTER TO INTEGER; (* (reserved) *) ***** ^ not supported yet 100 bkPat: INTEGER; (* Background pattern index *) 101 bkColor: LONGINT; (* Background color *) 102 pnColor: LONGINT; (* Pen color *) 103 pnLoc: point; (* Pen location *) 104 pnSize: point; (* Pen size *) 105 pnMode: INTEGER; (* Pen mode (rasterOp) *) 106 pnPat: INTEGER; (* Pen pattern index *) 107 pnCap: INTEGER; (* Pen end-cap style *) 108 pnJoin: INTEGER; (* Line join style *) 109 pnDash: INTEGER; (* Line dash style *) 110 pnOffset: INTEGER; (* Dash sequence offset *) 111 pnLevel: INTEGER; (* Pen visibility level *) 112 txFont: adsFont; (* Pointer to current font record *) 113 txFace: INTEGER; (* Text facing flags *) 114 txMode: INTEGER; (* Text mode (rasterOp) *) 115 txUnder: INTEGER; (* Text underline position *) 116 txScore: INTEGER; (* Text underline scoring *) 117 txPath: INTEGER; (* Text path *) 118 txAlign: point; (* Text alignment *) 119 txAngle: INTEGER; (* Text angle (stroked) *) 120 txSize: point; (* Text size (stroked) *) 121 txSlant: INTEGER; (* Text slant (stroked) *) 122 txExtra: INTEGER; (* Text justify bits *) 123 txSpace: INTEGER; (* Space justify bits *) 124 mkType: INTEGER; (* Marker type index *) 125 mkSize: point; (* Marker size *) 126 mkAngle: INTEGER; (* Marker angle *) 127 spare: ARRAY [0..24] OF INTEGER; (* (spares) *) ***** ^ not supported yet ***** ^ not supported yet 128 END; ***** ^ not supported yet 129 130 adsPort = POINTER TO metaPort; ***** ^ not supported yet 131 132 pusharea = RECORD (* PUSHGRAFIX/POPGRAFIX savearea *) 133 saveArea: ARRAY [0..155] OF BYTE; ***** ^ not supported yet ***** ^ undeclared identifier 134 END; ***** ^ not supported yet 135 136 (*T MW_Ver4 * 137 grafMap = bitmap; 138 grafMapp = bitmap; 139 portMap = portBMap; 140 grafPort = metaPort; 141 pixBytes = rowBytes; 142 portFlags = portFlgs; 143 rowMap = map; 144 E MW_Ver4 *) 145 146 END GrPorts. ***** ^ not supported yet 32 errors