| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- (******************************************************************************)
- (* GRPORTS.DEF - MetaWINDOW 'Port' and 'Bitmap' Definitions *)
- (* *)
- (* Transcribed form GPORTS.H by Metagraphics Software Corporation *)
- (* *)
- (* PSW 06/28/91 08:30am *)
- (******************************************************************************)
- (*# module(implementation=>off, init_code=>off) *)
- DEFINITION MODULE GrPorts;
- (*
- * Graphix
- * Release 3.7
- * (c) Copyright 1986-1992 PMI
- * Green Bay, Wisconsin
- * (414) 468-6040
- * All rights reserved
- *
- *)
- (******************************************************************************)
- (* WARNING - USE ONLY WITH LARGE MEMORY MODEL CONFIGURATIONS *)
- (* If you use "metaPort" or "bitmap" data structures within your program, you *)
- (* must operate with either a "data" or "large" memory model configuration. *)
- (* The pointer variables used within these structures must be 32 bit (4 byte, *)
- (* far) pointers. The "small" and "program" memory models use only 16 bit (2 *)
- (* byte, near) pointers and will not allocate these data structures properly. *)
- (******************************************************************************)
- FROM GrFonts IMPORT adsFont;
- FROM GrConst IMPORT rect, point;
- CONST
- (*** Bitmap Device Type (devType) Definitions ***)
- devSTD = 0; (* Standard memory mapped bitmap *)
- devEGA = 1; (* IBM EGA/VGA display bitmap *)
- devND1 = 40H; (* NDI Genesis-1024 bitmap *)
- devND2 = 41H; (* NDI Genesis-1280 bitmap *)
- devHP1 = 42H; (* Hewlett Packard1 *)
- devEMS = 80H; (* EMS expanded memory bitmap *)
- devWYS = 81H; (* Wyse 1280x800 display bitmap *)
- devSIG = 82H; (* Sigma Design Color-400 bitmap *)
- devLASVU = 83H; (* Sigma Design LaserView *)
- devVISTA = 84H; (* Cornerstone VISTA 1600 *)
- devREV512 = 85H; (* Number Nine Revolution 512x484 *)
- devDUALPG = 86H; (* Cornerstone DualPage System *)
- devTSENG = 87H; (* Tseng Labs chip set *)
- devDUALGRAY = 88H; (* Cornerstone, extended *)
- TYPE
- Proc = PROCEDURE (): INTEGER;
- adsMem = POINTER TO BYTE;
- devProc = RECORD (* Device Procedure List Structure *)
- procSign: ARRAY[0..7] OF CHAR; (* devProc signature "devProc" *)
- procMeta: ARRAY[0..5] OF Proc; (* optimization pointers *)
- procDev: ARRAY[0..255] OF Proc;(* device procedure pointers *)
- END;
- map = RECORD (* "rowTable" Raster Line Pointers *)
- rowTable: ARRAY [0..1280] OF adsMem; (* Table of row pointers *)
- END;
- rowTblPtr = POINTER TO map;
- bitmap = RECORD (* "bitmap" Data Structure *)
- devClass: INTEGER; (* Device class *)
- devType: INTEGER; (* Device type *)
- devProcs: POINTER TO devProc; (* Ptr to device procedure list *)
- rowBytes: INTEGER; (* Bytes per scan line *)
- pixWidth: INTEGER; (* Pixels horizontal *)
- pixHeight: INTEGER; (* Pixels vertical *)
- pixResX: INTEGER; (* Pixels per inch horzontally *)
- pixResY: INTEGER; (* Pixels per inch vertically *)
- pixBits: INTEGER; (* Color bits per pixel *)
- pixPlanes: INTEGER; (* Color planes per pixel *)
- mapTable: ARRAY [0..23] OF rowTblPtr; (* Pointers to rowTable(s) *)
- mapActive: INTEGER; (* Active logical page *)
- mapPages: INTEGER; (* Number of mapList entries,1-4 *)
- mapList: ARRAY [0..3] OF INTEGER; (* List of logical pages loaded *)
- mapRsvd: ARRAY [0..5] OF INTEGER; (* (reserved for future use) *)
- mapSegment: INTEGER; (* Map segment *)
- mapHandle: INTEGER; (* Map handle *)
- mapManager: Proc; (* Pointer to paging manager *)
- END;
- adsBMap = POINTER TO bitmap;
- metaPort = RECORD (* "metaPort" Data Structure *)
- portBMap: adsBMap; (* Pointer to "bitmap" record *)
- portRect: rect; (* 'Local' coordinate port bounds *)
- portOrgn: point; (* 'Global' origin of portRect *)
- portVirt: rect; (* 'Virtual' port bounds *)
- portFlgs: INTEGER; (* Port Flags *)
- portClip: rect; (* 'Local' clipping rectangle *)
- portRgn: POINTER TO INTEGER; (* (reserved) *)
- bkPat: INTEGER; (* Background pattern index *)
- bkColor: LONGINT; (* Background color *)
- pnColor: LONGINT; (* Pen color *)
- pnLoc: point; (* Pen location *)
- pnSize: point; (* Pen size *)
- pnMode: INTEGER; (* Pen mode (rasterOp) *)
- pnPat: INTEGER; (* Pen pattern index *)
- pnCap: INTEGER; (* Pen end-cap style *)
- pnJoin: INTEGER; (* Line join style *)
- pnDash: INTEGER; (* Line dash style *)
- pnOffset: INTEGER; (* Dash sequence offset *)
- pnLevel: INTEGER; (* Pen visibility level *)
- txFont: adsFont; (* Pointer to current font record *)
- txFace: INTEGER; (* Text facing flags *)
- txMode: INTEGER; (* Text mode (rasterOp) *)
- txUnder: INTEGER; (* Text underline position *)
- txScore: INTEGER; (* Text underline scoring *)
- txPath: INTEGER; (* Text path *)
- txAlign: point; (* Text alignment *)
- txAngle: INTEGER; (* Text angle (stroked) *)
- txSize: point; (* Text size (stroked) *)
- txSlant: INTEGER; (* Text slant (stroked) *)
- txExtra: INTEGER; (* Text justify bits *)
- txSpace: INTEGER; (* Space justify bits *)
- mkType: INTEGER; (* Marker type index *)
- mkSize: point; (* Marker size *)
- mkAngle: INTEGER; (* Marker angle *)
- spare: ARRAY [0..24] OF INTEGER; (* (spares) *)
- END;
- adsPort = POINTER TO metaPort;
- pusharea = RECORD (* PUSHGRAFIX/POPGRAFIX savearea *)
- saveArea: ARRAY [0..155] OF BYTE;
- END;
- (*T MW_Ver4 *
- grafMap = bitmap;
- grafMapp = bitmap;
- portMap = portBMap;
- grafPort = metaPort;
- pixBytes = rowBytes;
- portFlags = portFlgs;
- rowMap = map;
- E MW_Ver4 *)
- END GrPorts.
|