GRPORTS.DEF 8.2 KB

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