PRINTING FROM GRX GRAPHIC LIBRARY Version 0.7 Andris Pavenis e-mail: pavenis@lanet.lv 26 June 1998 This directory contains procedures that allows printing graphics from GRX graphic library. The source of this package is based on sources of printer BGI driver for Borland C and Pascal compilers developed by Ullrich von Bassevitz (see copying.uz). Printing from GRX is tested under MS-DOS with DJGPP and under Linux. There is no plans to allow use it from MS-DOS real mode with Borland C++ as the memory available to program is insufficient to allocate memory area necessary to build image in memory. int GrPrintSetMode (int mode) Initializes GRX with "memory only" driver with necessary image size to print the page. See grxprint.h for available modes. int GrDoPrinting (void) Outputs the image built with GRX functions after call to GrSetPrintMode to printer. In MS-DOS the output is done to file 'prn'. In Linux the output is written through pipe to lpr. int GrPrintToFile (const char * fName) The same as GrDoPrinting but the output is written to requested file. For Linux there is one more option: if filename begins with '|', the remaining part of name is interpretted as command for popen() (it is GrPrintToFile("|lpr") is the equivalent with GrDoPrinting). int GrPrintGetAspectRatio ( unsigned * aspx , unsigned * aspy ) Returns aspect ratio for image on printer. For example unsigned AspX, AspY; double Asp; int MaxX, MaxY; MaxX = GrSizeX (); MaxY = GrSizeY (); GrPrintGetAspectRatio (&AspX,&AspY); Asp = ((double) AspX)/AspY; GrEllipse (MaxX/2-100,MaxY/2,(int) (r*Asp), (int) r, 1); will draw circle (see test.cc) void GrPrintGetDefaultOptions ( struct GrPrintOptionsType * opt ) void GrPrintGetCurrentOptions ( struct GrPrintOptionsType * opt ) void GrPrintSetOptions ( struct GrPrintOptionsType * opt ) Allows to retrieve printing options. Works for LaserJet and DeskJet printers. Does nothing for dot matrix printers. ------------------------ ChangeLog ----------------------------- 98/05/13 H.Schirmer - clean source for better portability / ANSI-C conformance 98/05/10 H.Schirmer - eleminated C++ style comments for better portability 7 May 1998 H.Schirmer - made cpp # start on first column 9 March 1998 Andris Pavenis - Version changed to 0.65 - Changed procedure GrPrintToFile(). Now under Linux the output is written to pipe if the name begins with '|' 3 March 1998 Andris Pavenis - Fixed problem when printing directly to printer (DJGPP version). The opened file was opened in text mode (old bug in libc, it is told to be fixed, but the workaround mentioned for that worked OK so I didn't study it more). - Get rid of most of warnings that appears with -Wall 26 February 1998 Andris Pavenis - Version changed to 0.6 - Many bugfixes. The first tests appeared to be incomplete. Therefore a mirrored image were printed before. FIXED 24 February 1998 Andris Pavenis - Changed names of functions: GrDoPrinting() to GrPrintToFile() - A new function added to print to PRN under MS-DOS and to pipe output to lpr under Linux 18 February 1998 Andris Pavenis - Fixes to allow to work under Linux (still printing to file only) 26 January 1998 Andris Pavenis - Initial version. Only some preliminary tests were done so this version still were very buggy.