roo_e/thirdparty/grx249/addons/print/grxprint.txt
2022-05-16 17:59:47 -05:00

109 lines
3.6 KiB
Text

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.