GRPORTS.LST 11 KB

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