*****************************************************************
*								*
*	Function Definitions for QPRINT.DLL			*
*								*
*****************************************************************

-----------------------------------------------------------------
	InitPrinter(ByVal hWnd As Long) As Long

	Called at the beginning of a print job where hWnd equals 
	the window handle of the calling applications topmost window.

-----------------------------------------------------------------	
	PageLayoutSetup(ByVal nTop As Long, 
			ByVal nRight As Long, 
			ByVal nBottom As Long,
			ByVal nLeft As Long) As Long

	Called to set the Margins for all subsequent pages.
	Called after InitializePrinter.	

-----------------------------------------------------------------	

	FinishedPrinting() As Long

	Called at the end of the print job to do general
	clean up and release the printer.

-----------------------------------------------------------------

	BeginParagraph(	ByVal strFontName As String, 
			ByVal nFontSize As Long, 
			ByVal nStyle As Long) As Long

	Called before  sending paragraph text, strFontName
	is the name of the font to be used, nFontSize is the size
	of the font in Points, and nStyle is print attributes to 
	be used. The different possible values of nStyle are
	defined in qprint.bas for Basic users and declare.h
	for C and C++ users.

-----------------------------------------------------------------

	PrintParagraphText(ByVal strText As String) As Long

	Used to send text into a paragraph, this may be called
	multiple times to add more and more text into the 
	paragraph.  strText is the text to be printed.

-----------------------------------------------------------------

	EndParagraph() As Long

	Called at the end of printing a paragraph to do general
	cleanup.

-----------------------------------------------------------------

	PrintHeadLineText(ByVal strHeadLine As String, 
			Byval strFontName As String, 
			ByVal nFontSize As Long, 
			ByVal nStyle As Long) As Long

	This is a one stop shopping approach to printing text, the
	text in strHeadLine is printed using the font strFontName,
	in size nFontSize defined in points, with the style of
	nStyle. See BeginParagraph above.

-----------------------------------------------------------------

	SetParagraphSpacing(ByVal nSpacing As Long) As Boolean

	Used to set the spacing between paragraphs, nSpacing is
	defined in points.  The default is 18pts (1/4").

-----------------------------------------------------------------

	EjectPage() As Long

	Unconditionally ejects the page from the printer.  All
	text already on the page is printed.  The cursor
	position is placed on the upper left hand corner of the
	new page.

-----------------------------------------------------------------

	DLLVersion() As Long

	Returns the version of the QPRINT.DLL, the major version
	number is in the low byte of the integer and the minor
	version number is in the high byte of the integer.

-----------------------------------------------------------------

	SetupColumns(	ByVal Columns As Long, 
			ByVal nC1 As Long, 
			ByVal strFontName As String, 
			ByVal nFontSize As Long, 
			ByVal nStyle As Long) As Long

	This sets up how columns will be printed, Columns is
	the number of columns to be printed, nC1 is an array
	of column widths in one hundredths of an inch 
	(100 = 1") units.  Maximum number of columns is eight.
	strFontName is the name of the font the columns will
	print in, nFontSize is the size of the font in Points
	and nStyle is the style they will be printed in. See
	BeginParagraph above.

-----------------------------------------------------------------

	PrintColumnText(ByVal strText As String) As Long

	Used to send text into the columns.  The text for each
	cell will be delimited by a tab character [chr$(9)].

	For example: "C1\tC2\tC3\tC4" would print

	C1	C2	C3	c4

-----------------------------------------------------------------

	EndColumnPrinting() As Long

	Used at the end of printing columns to do general 
	cleanup.

-----------------------------------------------------------------

	PrintColumnHeaders(	ByVal strHeader As String, 
				ByVal Columns As Long, 
				ByVal nC1 As Long,
				ByVal strFontName As String, 
				ByVal nFontSize As Long, 
				ByVal nStyle As Long) As Long

	This is the one stop shopping approach again, the text in
	strHeader is printed in columns, defined by the number
	of columns (Columns), with the widths in an array nC1 in
	hundreths of an inch (100 = 1"), with the font strFontName,
	with the size nFontSize in Points, and the style of nStyle,
	see BeginParagraph above.

-----------------------------------------------------------------
	MoveDown( ByVal nY As Long) As Boolean

	Moves the current cursor position down in the vertical 
	direction.  The value is in hundredths of an inch.

-----------------------------------------------------------------

	DrawLine( ByVal nX1 As Long, 
		  ByVal nY1 As Long,
		  ByVal nX2 As Long,
		  ByVal nY2 As Long) As Boolean

	Draws a line from position (nX1, nY1) to (nX2, nY2).
	The coordinate system is in TWIPS.

-----------------------------------------------------------------
	DrawRectangle( 	ByVal nX1 As Long,
			ByVal nY1 As Long,
			ByVal nX2 As Long,
			ByVal nY2 As Long) As Boolean

	Draws a Rectangle with the upper left hand corner at
	(nX1, nY2) and the lower right hand corner at
	(nX2, nY2).  The coordinate system is in TWIPS.

-----------------------------------------------------------------
	DrawRoundRectangle( ByVal nX1 As Long, 
			  ByVal nY1 As Long,
			  ByVal nX2 As Long,
			  ByVal nY2 As Long,
			  ByVal nX3 As Long,
			  ByVal nY3 As Long) As Boolean

	Draws a Rectangle with rounded corners, the upper left
	hand corner is at (nX1, nY1) and the lower left hand
	corner is at (nX2, nY2).  The rounded corners have an
	elliptical shape determined by the height and width in
	(nX3, nY3).  The coordinate system is in TWIPS.

-----------------------------------------------------------------
	DrawEllipse(	ByVal nX1 As Long,
			ByVal nY1 As Long,
			ByVal nX2 As Long,
			ByVal nY2 As Long) As Boolean

	Draws an ellipse that fits within the bounding rectangle
	defined by the upper left hand corner (nX1, nY1) and the
	lower right hand corner (nX2, nY2).  The coordinate 
	system is in TWIPS.	
