109 lines
3.6 KiB
Text
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.
|
|
|