home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 15 / CDACTUAL15.iso / cdactual / program / basic / PGL.ZIP / PGLPS.ZIP / PGL.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1992-01-20  |  10.4 KB  |  302 lines

  1. {  PGL Unit                         }
  2. {  Copyright (c) 1991 AnSoft, Inc.  }
  3. {  Turbo Pascal Interface to PGL    }
  4. {  Turbo Pascal 4.0/5.0/5.5/6.0     }
  5.  
  6. unit PGL;
  7. {$O+,F+}
  8.  
  9. interface
  10.  
  11. {  Constant Data Declarations }
  12. const
  13. {    Page Orientation  constants }
  14.  pgPORTRAIT  =0;
  15.  pgLANDSCAPE =1;
  16.  
  17. {    Page Size  constants }
  18.  pgHALFPAGE  =0;
  19.  pgFULLPAGE  =1;
  20.  pgSMALLPAGE =2;
  21.  
  22. {    Device Type  constants}
  23.  pgDOTMATRIX =0;
  24.  pgLASERJET  =1;
  25.  pgPCX       =2;
  26.  pgEPS       =3;
  27.  
  28. {    Printer ON/OFF definition constants}
  29.   pgOFF =0;
  30.   pgON  =1;
  31.  
  32. {    Line style definition constants}
  33.   pgLSOLID     = 0;
  34.   pgLHUGEDASH  = 1;
  35.   pgLBIGDASH   = 2;
  36.   pgLMEDDASH   = 3;
  37.   pgLSMALLDASH = 4;
  38.   pgLWIDEDOT   = 5;
  39.   pgLCLOSEDOT  = 6;
  40.   pgLDASHDOT   = 7;
  41.   pgLCENTER    = 8;
  42.         
  43. {    Fill Style Definition constants}
  44.   pgFEMPTY      =0;
  45.   pgFSOLID      =1;
  46.   pgFLINE       =2;
  47.   pgFLTSLASH    =3;
  48.   pgFSLASH      =4;
  49.   pgFBKSLASH    =5;
  50.   pgFLTBKSLASH  =6;
  51.   pgFHATCH      =7;
  52.   pgFXHATCH     =8;
  53.   pgFINTERLEAVE =9;
  54.   pgFWIDEDOT    =10;
  55.   pgFCLOSEDOT   =11;
  56.  
  57. {       Fill Mode Definition constants }
  58.   pgTRANS       =0;
  59.   pgOPAQ        =1;
  60.  
  61. {    Text Justification  constants}
  62.  pgLEFT         =0;
  63.  pgCENTER    =1;
  64.  pgRIGHT        =2;
  65.  pgBOTTOM    =0;
  66.  pgTOP          =2;
  67.  
  68. {    Font Style constants}
  69.  pgSMALL    =0;
  70.  pgSIMPLEX  =1;
  71.  pgDUPLEX   =2;
  72.  pgTRIPLEX  =3;
  73.  pgGOTHIC   =4;
  74.  pgSCRIPT   =5;
  75.  pgSDUPLEX  =6;
  76.                 
  77. {    Fill Flag constants}
  78.  pgOUTLINE =1;
  79.  pgFILL    =2;
  80.  pgOFILL   =3;       
  81.  
  82. { Function/Procedure Declarations }
  83. procedure    _pgCreateFile;
  84. procedure    _pgCloseFile;
  85. procedure    _pgWriteFile;
  86. procedure    _pgTellFile;
  87. procedure    _pgSeekFile;
  88. procedure    _pgReadFile;
  89. procedure    _pgOpenFile;
  90. procedure    _pgRawFile;
  91. procedure    _pgiimull;
  92. procedure    _pglidivi;
  93.  
  94. { Printer Driver Device Info }
  95. function  pgLoadDevInfo  ( name : string ) : integer ;
  96.  
  97. { Functions to Set Printer Driver Params }
  98. procedure pgSetPageMargins  ( left, top, right, bot : integer );
  99. procedure pgSetPageForm     ( form : integer );
  100. procedure pgSetPageSize     ( size : integer);
  101.  
  102. { Functions To Get Info About Current Driver }
  103. function  pgGetDevModes     : integer ;
  104. function  pgGetDevColors    ( res : integer ) : integer;
  105. function  pgGetDevMaxX      ( res : integer ) : integer;
  106. function  pgGetDevMaxY      ( res : integer ) : integer;
  107. function  pgGetDevResX      ( res :integer):integer;
  108. function  pgGetDevResY      ( res :integer):integer;
  109. function  pgGetDevType      :integer;  
  110. function  pgGetDevHeight    :integer;
  111. function  pgGetDevWidth     :integer;
  112. function  pgGetDevPlanes    ( res : integer):integer;
  113. function  pgGetDevOffsetX   :integer;
  114. function  pgGetDevOffsetY   :integer;
  115.  
  116. { Functions to Save Bitmaps }
  117. procedure pgBMInit          ( x, y, width, height, bpp, rle : integer );
  118. procedure pgBMData          ( row : integer; var data );
  119. procedure pgBMEnd           ;
  120.  
  121. { PGL System Functions  }
  122. procedure pgInitDrw         ( fname: string; width, height : integer; var err : integer );
  123. procedure pgOpenDrw         ( fname: string; var err: integer );  
  124. procedure pgClearDrw        ( var err : integer );
  125. procedure pgEndDrw          ;
  126. procedure pgNewPage         ;
  127. function  pgGetStatus       :integer;
  128.  
  129. { PGL Graphics Functions  }
  130. procedure pgMoveTo          ( x, y :integer );
  131. procedure pgMoveRel         ( x, y :integer );
  132. procedure pgLineTo          ( x, y :integer );
  133. procedure pgLineRel         ( x, y :integer );
  134. procedure pgLine            ( x1, y1, x2, y2 :integer );
  135. procedure pgSetPixel        ( x, y, color : integer );
  136. procedure pgArc             ( x, y, rad, sa, ea :integer);
  137. procedure pgEllArc          ( x, y, radx, rady, sa, ea :integer);
  138. procedure pgPie             ( x,y,rad,sa,ea,fillflag : integer );
  139. procedure pgSector          ( x,y,radx,rady,sa,ea,fillflag : integer );
  140. procedure pgRectangle       ( x1,y1,x2,y2, fillflag : integer );
  141. procedure pgCircle          ( x,y,rad,fillflag : integer );
  142. procedure pgEllipse         ( x,y,radx,rady,fillflag : integer );
  143. procedure pgPolygon         ( var polydata; numpoints,fillflag : integer );
  144. procedure pgPolyLine        ( var polydata; numpoints : integer );
  145. procedure pgDrawText        ( str : string );
  146. procedure pgDrawTextXY      ( x,y : integer; str : string );
  147. procedure pgClearViewPort   ;
  148.  
  149. { PGL Functions to Set Graphics Parameters }
  150. procedure pgSetColor        ( color:integer );
  151. procedure pgSetPalette      ( index, color:integer );
  152. procedure pgSetRgbPalette   ( index, red, green, blue:integer );
  153. procedure pgSetDefaults     ;
  154. procedure pgSetFillMode     ( mode :integer);
  155. procedure pgSetFillStyle    ( style, color :integer);
  156. procedure pgSetFillPattern  ( var style; color:integer );
  157. procedure pgSetLineStyle    ( style,thick:integer );
  158. procedure pgSetLineWeight   ( weight:integer );
  159. procedure pgSetLinePattern  ( pat,thick :integer );
  160. procedure pgSetTextBolding  ( thick :integer );
  161. procedure pgSetCharSpacing  ( space :integer );
  162. procedure pgSetTextScaling  ( multx,divx,multy,divy :integer );
  163. procedure pgSetTextJustify  ( horiz,vert :integer );
  164. procedure pgSetTextOrient   ( ox,oy :integer );
  165. procedure pgSetTextStyle    ( fontno :integer );
  166. procedure pgSetClipArea     ( cx1,cy1,cx2,cy2 :integer );
  167. procedure pgSetClipping     ( flag :integer );
  168. procedure pgSetPrn          ( flag :integer );
  169. procedure pgSetViewPort     ( x1,y1,x2,y2 :integer );
  170.  
  171. { PGL Functions to Get Graphics Parameters }
  172. function  pgGetColor        :integer;
  173. function  pgGetFillMode     :integer;
  174. procedure pgGetFillPattern  ( var style;  var color:integer );
  175. procedure pgGetFillStyle    ( var style,color :integer );
  176. procedure pgGetLinePattern  ( var pat,thick   :integer );
  177. function  pgGetLineWeight   :integer ;
  178. function  pgGetMaxX         :integer ;
  179. function  pgGetMaxY         :integer ;
  180. function  pgGetTextBolding  :integer ;
  181. function  pgGetCharSpacing  :integer ;
  182. procedure pgGetTextScaling  ( var multx,divx,multy,divy:integer );
  183. procedure pgGetTextJustify  ( var horiz,vert:integer );
  184. procedure pgGetTextOrient   ( var ox, oy:integer );
  185. function  pgGetTextStyle    :integer ;
  186. procedure pgGetClipArea     ( var cx1,cy1,cx2,cy2:integer );
  187. function  pgGetClipping     :integer;
  188. function  pgGetPrn          :integer;
  189. function  pgGetTextHeight   :integer;
  190. function  pgGetX            :integer;
  191. function  pgGetY            :integer;
  192. function  pgGetAbsX         :integer;
  193. function  pgGetAbsY         :integer;
  194. function  pgGetTextLength   ( str : string ):integer;
  195. procedure pgGetViewPort     ( var x1,y1,x2,y2 :integer );
  196. implementation
  197.  
  198. {$L PGL_TP.OBJ  }  { link in pgl object module }
  199.  
  200. function  pgLoadDevInfo     ;external;
  201. procedure pgSetPageMargins  ;external;
  202. procedure pgSetPageForm     ;external;
  203. procedure pgSetPageSize     ;external;
  204. function  pgGetDevModes     ;external;
  205. function  pgGetDevColors    ;external;
  206. function  pgGetDevMaxX      ;external;
  207. function  pgGetDevMaxY      ;external;
  208. function  pgGetDevResX      ;external;
  209. function  pgGetDevResY      ;external;
  210. function  pgGetDevType      ;external;
  211. function  pgGetDevHeight    ;external;
  212. function  pgGetDevWidth     ;external;
  213. function  pgGetDevPlanes    ;external;
  214. function  pgGetDevOffsetX   ;external;
  215. function  pgGetDevOffsetY   ;external;
  216. procedure pgBMInit          ;external;
  217. procedure pgBMData          ;external;
  218. procedure pgBMEnd           ;external;
  219. procedure pgInitDrw         ;external;
  220. procedure pgOpenDrw         ;external;
  221. procedure pgClearDrw        ;external;
  222. procedure pgEndDrw          ;external;
  223. procedure pgNewPage         ;external;
  224. function  pgGetStatus       ;external;
  225. procedure pgMoveTo          ;external;
  226. procedure pgMoveRel         ;external;
  227. procedure pgLineTo          ;external;
  228. procedure pgLineRel         ;external;
  229. procedure pgLine            ;external;
  230. procedure pgSetPixel        ;external;
  231. procedure pgArc             ;external;
  232. procedure pgEllArc          ;external;
  233. procedure pgPie             ;external;
  234. procedure pgSector          ;external;
  235. procedure pgRectangle       ;external;
  236. procedure pgCircle          ;external;
  237. procedure pgEllipse         ;external;
  238. procedure pgPolygon         ;external;
  239. procedure pgPolyLine        ;external;
  240. procedure pgDrawText        ;external;
  241. procedure pgDrawTextXY      ;external;
  242. procedure pgClearViewPort   ;external;
  243. procedure pgSetColor        ;external;
  244. procedure pgSetPalette      ;external;
  245. procedure pgSetRgbPalette   ;external;
  246. procedure pgSetDefaults     ;external;
  247. procedure pgSetFillMode     ;external;
  248. procedure pgSetFillStyle    ;external;
  249. procedure pgSetFillPattern  ;external;
  250. procedure pgSetLineStyle    ;external;
  251. procedure pgSetLineWeight   ;external;
  252. procedure pgSetLinePattern  ;external;
  253. procedure pgSetTextBolding  ;external;
  254. procedure pgSetCharSpacing  ;external;
  255. procedure pgSetTextScaling  ;external;
  256. procedure pgSetTextJustify  ;external;
  257. procedure pgSetTextOrient   ;external;
  258. procedure pgSetTextStyle    ;external;
  259. procedure pgSetClipArea     ;external;
  260. procedure pgSetClipping     ;external;
  261. procedure pgSetPrn          ;external;
  262. procedure pgSetViewPort     ;external;
  263. function  pgGetColor        ;external;
  264. function  pgGetFillMode     ;external;
  265. procedure pgGetFillPattern  ;external;
  266. procedure pgGetFillStyle    ;external;
  267. procedure pgGetLineStyle    ;external;
  268. function  pgGetLineWeight   ;external;
  269. procedure pgGetLinePattern  ;external;
  270. function  pgGetMaxX         ;external;
  271. function  pgGetMaxY         ;external;
  272. function  pgGetTextBolding  ;external;
  273. function  pgGetCharSpacing  ;external;
  274. procedure pgGetTextScaling  ;external;
  275. procedure pgGetTextJustify  ;external;
  276. procedure pgGetTextOrient   ;external;
  277. function  pgGetTextStyle    ;external;
  278. procedure pgGetClipArea     ;external;
  279. function  pgGetClipping     ;external;
  280. function  pgGetPrn          ;external;
  281. function  pgGetTextHeight   ;external;
  282. function  pgGetX            ;external;
  283. function  pgGetY            ;external;
  284. function  pgGetAbsX         ;external;
  285. function  pgGetAbsY         ;external;
  286. function  pgGetTextLength   ;external;
  287. procedure pgGetViewPort     ;external;
  288.  
  289. {$L PGLIO.OBJ  }  { link in pgl I/O object module }
  290. procedure    _pgCreateFile ;external;
  291. procedure    _pgCloseFile  ;external;
  292. procedure    _pgWriteFile  ;external;
  293. procedure    _pgTellFile   ;external;
  294. procedure    _pgSeekFile   ;external;
  295. procedure    _pgReadFile   ;external;
  296. procedure    _pgOpenFile   ;external;
  297. procedure    _pgRawFile    ;external;
  298. procedure    _pgiimull     ;external;
  299. procedure    _pglidivi     ;external;
  300.    
  301. end.
  302.