- import declarations
			
 - Integer
CreatePage(Integer iColumns)
			************************************************************
*************** API INTERFACE DFPRINT.DLL ******************
************************************************************
*** Creates a new page and the number of columns provided in
*** iColumns 0= no columns
*** returns pagenumber or PRN_FALSE=Error
***
 - Integer
SetMarginsInch(Integer iLeft Integer iTop Integer iRight Integer iBottom)
			*** Set all margins for a page in Inch
*** Returns PRN_FALSE=Error or PRN_TRUE
***
 - Integer
SetMarginsMm(Integer iLeft Integer iTop Integer iRight Integer iBottom)
			*** Set all margins for a page in CM
*** Returns PRN_FALSE=Error or PRN_TRUE
***
 - Integer
SetFont(String sFontName Integer iFontNameLen)
			*** Sets the font to specified font.
*** Returns PRN_FALSE=Error or PRN_TRUE
***
 - Integer
SetFontSize(Integer iHeight Integer iWidth)
			*** Sets the fontsize to height and width.
*** Returns PRN_FALSE=Error or PRN_TRUE
***
 - Integer
SetFontStyle(DWORD dwStyle)
			*** Sets fontstyle.
*** Returns PRN_FALSE=Error or PRN_TRUE
*** Using any combination of:
*** FONT_?? + RGB_??
***
*** Use FONT_DEFAULT to disable all effects (standard)
***
 - Integer
SetUnderline(Integer iUnderline)
			*** Sets underline.
*** Returns PRN_FALSE=Error or PRN_TRUE
*** TRUE=Underline FALSE=Removes underline
***
 - Integer
SetBold(Integer iBold)
			*** Sets bold.
*** Returns PRN_FALSE=Error or PRN_TRUE
*** TRUE=Bold FALSE=Removes Bold
***
 - Integer
SetItalic(Integer iItalic)
			*** Sets italic.
*** Returns PRN_FALSE=Error or PRN_TRUE
*** TRUE=Italic FALSE=Removes Italic
***
 - Integer
SetStrikeout(Integer iStrikeout)
			*** Sets strikeout.
*** Returns PRN_FALSE=Error or PRN_TRUE
*** TRUE=Strikeout FALSE=Removes Strikeout
***
 - Integer
WriteLineToPage(Integer iPageNr String sText Integer iTextLen Integer iLineFeed Integer iWriteToCol Integer iDecimal)
			*** Writes a line to a pagenumber using active fonts.
*** If you are using columns it will write the text to
*** specified column. 0= Don´t use column.
*** If you send -1 it will be treated as a string.
*** If send a number it will indicate that it´s a number
*** and how many decimals you want.
*** Returns PRN_FALSE=Error or PRN_TRUE
*** TRUE=Linefeed (writeln) FALSE=No linefeed (write)
***
 - Integer
WriteLineToPositionInch(Integer iPageNr String sText Integer iTextLen Integer iLineFeed Integer iCols Integer iDecimal)
			*** Obsolete, replaced by WriteLinetoPositionInchEx
*** Writes a line to a pagenumber using active fonts.
*** at a given position in Inch from left margin
*** If you send -1 it will be treated as a string.
*** If send a number it will indicate that it´s a number
*** and how many decimals you want.
*** Returns PRN_FALSE=Error or PRN_TRUE
*** TRUE=Linefeed (writeln) FALSE=No linefeed (write)
***
 - Integer
WriteLineToPositionInchEx(Integer iPageNr String sT Integer iT Integer iL Integer iC Integer iD Integer iLe)
			*** Same as above expect the maximum length is also passed (iLe). This is now the
*** preferred message and can be used in placef WriteLinetoPostitionMn (if no max
*** length pass-1)
***
 - Integer
WriteLineToPositionMm(Integer iPageNr String sText Integer iTextLen Integer iLineFeed Integer iCols Integer iDecimal)
			*** Obsolete, replaced by WriteLinetoPositionMmEx
*** Writes a line to a pagenumber using active fonts.
*** at a given position in CM from left margin
*** If you send -1 it will be treated as a string.
*** If send a number it will indicate that it´s a number
*** and how many decimals you want.
*** Returns PRN_FALSE=Error or PRN_TRUE
*** TRUE=Linefeed (writeln) FALSE=No linefeed (write)
***
 - Integer
WriteLineToPositionMmEx(Integer iPageNr String sT Integer iT Integer iL Integer iC Integer iD Integer iLe)
			*** Same as above expect the maximum length is also passed (iLe). This is now the
*** preferred message and can be used in placef WriteLinetoPostitionMn (if no max
*** length pass-1)
***
 - Integer
ExecutePrintSetup(Pointer hwnd)
			*** Opens Print Setup.
*** Returns PRN_TRUE
*** HWND is a handle to the parent window
***
 - Integer
ExecutePrintDialog(Pointer hwnd)
			*** Opens Print Dialog.
*** Returns PRN_TRUE=Ok PRN_FALSE=Cancel
*** HWND is a handle to the parent window
***
 - Integer
PreviewDocument(Pointer hwnd)
			*** Shows a preview of your document.
*** Returns PRN_TRUE=Ok PRN_FALSE=Cancel
*** HWND must be the container handle (MAIN)
***
 - Integer
PreviewDocumentEx(Pointer hwnd Integer bPrntDlg)
			 - Integer
PreviewDocumentEx2(Pointer hwnd Integer bPrntDlg Integer bPrntSetup Integer bPrnt)
			 - Integer
PrintDocument(Pointer hwnd)
			*** Prints your document using the settings in print setup.
*** Returns PRN_TRUE=Ok PRN_FALSE=Cancel
*** HWND is a handle to the parent window
***
 - Integer
ClearDocument()
			*** Clear all resurces used by Windows and prepares for
*** a new document. Printer settings remains.
*** Should be called after a print
*** Returns PRN_TRUE=Ok PRN_FALSE=Cancel
***
 - Integer
BeginHeader(Integer iInternalObj Integer iHeaderNr Integer iHeaderType)
			*** Creates a header. The param you send sets the type
*** of header you would like to have.
*** Returns PRN_TRUE=Ok PRN_FALSE=Cancel
***
*** DFPageTop         0
*** DFReportHeader    1
*** DFPageHeader      2
*** DFPageTitle       3
*** DFSubHeader       4
*** DFSubTotal        5
*** DFTotal           6
*** DFPageTotal       7
*** DFPageFooter      8
*** DFReportFooter    9
*** DFPageBottom      10
*** DFPageHeader2     11
***
***
 - Integer
EndHeader()
			*** End´s a header definition. Headers can NOT be nested
***
*** Returns PRN_TRUE=Ok PRN_FALSE=Cancel
***
 - Integer
WriteHeaderToPage(Integer iPageNr Integer iHeaderNr Integer iInternalObj Integer iHeaderType)
			*** Writes a header to current line
***
*** Returns PRN_TRUE=Ok PRN_FALSE=Cancel
***
 - Integer
SetHeaderPlacement(Integer iPlace)
			*** Posision the header to Left,right or center on the page
*** 0=Left, 1=Center, 2=Right
***
*** Returns PRN_FALSE=Error or PRN_TRUE
***
 - Integer
SetHeaderFrameInch(Integer iFrame Dword dwColor Integer iWeight Dword dwFillCol Integer iFill)
			*** Sets frametype of header with color and weight of frame
*** using inch
*** 0=No frame, 1=Margin to margin, 2=frame size
***
*** Returns PRN_FALSE=Error or PRN_TRUE
***
 - Integer
SetHeaderFrameMm(Integer iFrame Dword dwColor Integer iWeight Dword dwFillCol Integer iFill)
			*** Sets frametype of header with color and weight of frame
*** using cm
*** 0=No frame, 1=Margin to margin, 2=frame size
***
*** Returns PRN_FALSE=Error or PRN_TRUE
***
 - Integer
SetHeaderWrap(Integer iOnOff)
			*** Sets the header to be reprinted on page breake done
*** by the DLL. Default is HDR_WRAP
***
*** HDR_NOWRAP = 0
*** HDR_WRAP   = 1
***
*** Returns PRN_FALSE=Error or PRN_TRUE
***
 - Integer
DrawBitmapToPageMm(Integer iPageNr String sName Integer iNameLen Integer iLTopX Integer iLTopY Integer iRBotX Integer iRBotY Integer iUCp)
			*** Writes a bitmap to a pagenumber at a given position in CM
*** from left margin. The pos param. you have to send is upper left
*** and down right
*** Returns PRN_FALSE=Error or PRN_TRUE
***
 - Integer
DrawBitmapToPageInch(Integer iPageNr String sName Integer iNameLen Integer iLTopX Integer iLTopY Integer iRBotX Integer iRBotY Integer iUCp)
			*** Writes a bitmap to a pagenumber at a given position in Inch
*** from left margin. The pos param. you have to send is upper left
*** and down right
*** Returns PRN_FALSE=Error or PRN_TRUE
***
 - Integer
SetExtraLineCheck(Integer iLines)
			*** Check if the header and a given number of lines fits on the page
***
*** Returns PRN_FALSE=Error or PRN_TRUE
***
 - Integer
SetPrintDialogFlags(Integer iFlags)
			*** Sets the pd flags of the printer dialog/setup
***
*** Returns PRN_FALSE=Error or PRN_TRUE
***
 - Integer
SelectPrinter(String sDriver Integer iDriverLen String sDevice Integer iDeviceLen String sPort Integer iPortLen Integer iUpdate)
			*** Selects a printer without accessing the print dialog/setup
***
*** Returns PRN_FALSE=Not a valid printer, or PRN_TRUE=Ok
***
 - Integer
SetFirstPagePaperSource(Integer iFlags)
			*** Sets the paper bin for the first page in a report
*** using valid printer flags.
***
*** Returns PRN_FALSE=Error or PRN_TRUE
***
 - DWORD
RGBToDFPrintColor(Integer iRed Integer iGreen Integer iBlue)
			*** Creates a RGB color value that can be used in WinPrint
*** as a constant. Each color in RGB is a value betwen 0-255.
***
*** Returns a valid constant value for WinPrint
***
 - Integer
SetColor(DWORD dwDFColor)
			*** Sets color in WinPrint using the color value created
*** by RGBToDFPrintColor.
***
*** Returns True or false
***
 - Integer
SetAbsoluteMarginsInch(Integer iTop Integer iBottom Integer iAll)
			*** Report_Header/_Footer are placed at the paper edge as default.
*** With this function you can move the placement of the sections
*** for the first page or all pages.
*** Returns PRN_FALSE=Error or PRN_TRUE
***
 - Integer
SetAbsoluteMarginsMm(Integer iTop Integer iBottom Integer iAll)
			*** Report_Header/_Footer are placed at the paper edge as default.
*** With this function you can move the placement of the sections
*** for the first page or all pages.
*** Returns PRN_FALSE=Error or PRN_TRUE
***
 - Integer
SetAlign(Integer iAlign)
			*** SetAlign can be used to jystify the text to a given position.
*** Returns PRN_FALSE=Error or PRN_TRUE
***
 - Integer
DrawEllipInch(Integer iPNr Integer iLTX Integer iLTY Integer iRBX Integer iRBY Dword dBC Dword dFC Integer iFi Integer iW Integer iUCp Integer iWr)
			*** Writes an ellipse to a pagenumber at a given position in Inch
*** from left margin. The pos param. you have to send upper left
*** and down right. dwBColor is boarder color, dwFillColor is fill color
*** If iFill is true the ellipsen will be filled of it´s false it will
*** be transparent.iW is weight and iWr is wrap.
*** Returns PRN_FALSE=Error or PRN_TRUE
***
 - Integer
DrawEllipMm(Integer iPNr Integer iLTX Integer iLTY Integer iRBX Integer iRBY Dword dBC Dword dFC Integer iFi Integer iW Integer iUCp Integer iWr)
			*** Writes an ellipse to a pagenumber at a given position in CM
*** from left margin. The pos param. you have to send is upper left
*** and down right.dwBColor is boarder color, dwFillColor is fill color
*** If iFill is true the ellipsen will be filled of it´s false it will
*** be transparent.iW is weight and iWr is wrap.
*** Returns PRN_FALSE=Error or PRN_TRUE
***
 - Integer
DrawRectInch(Integer iPNr Integer iLTX Integer iLTY Integer iRBX Integer iRBY Dword dBC Dword dFC Integer iFi Integer iW Integer iUCp Integer iWr)
			*** Writes an rectangle to a pagenumber at a given position in Inch
*** from left margin. The pos param. you have to send is upper left
*** and down right.dwBColor is boarder color, dwFillColor is fill color
*** If iFill is true the ellipsen will be filled of it´s false it will
*** be transparent.iW is weight and iWr is wrap.
*** Returns PRN_FALSE=Error or PRN_TRUE
***
 - Integer
DrawRectMm(Integer iPNr Integer iLTX Integer iLTY Integer iRBX Integer iRBY Dword dBC Dword dFC Integer iFi Integer iW Integer iUCp Integer iWr)
			*** Writes an rectangle to a pagenumber at a given position in CM
*** from left margin. The pos param. you have to send is upper left
*** and down right.dwBColor is boarder color, dwFillColor is fill color
*** If iFill is true the ellipsen will be filled of it´s false it will
*** be transparent.iW is weight and iWr is wrap.
*** Returns PRN_FALSE=Error or PRN_TRUE
***
 - Integer
ConfirmLines(Integer iPageNr Integer iLines)
			*** Check if a certain number of lines fits the page, if not print a
*** new page before printing..
***
*** Returns PRN_FALSE=Error or PRN_TRUE
***
 - Integer
CreateDiagramInch(Integer iType Integer iFx Integer iWidth Integer iHeight Integer iXyAxis)
			*** Creates a diagram of the type DFGR_?? with the effects of the
*** type DFGR_??. Returns a unique number for the diagram.
*** The returned ID is used by the other diagram functions. The
*** size of the diagram is set in Inch.
***
*** Returns Diagram Id or PRN_FALSE=Error
***
 - Integer
CreateDiagramMm(Integer iType Integer iFx Integer iWidth Integer iHeight Integer iXyAxis)
			*** Creates a diagram of the type DFGR_?? with the effects of the
*** type DFGR_??. Returns a unique number for the diagram.
*** The returned ID is used by the other diagram functions. The
*** size of the diagram is set in cm.
***
*** Returns Diagram Id or PRN_FALSE=Error
***
 - Integer
LockDiagram(Integer iDId)
			*** Locks a specified diagram so it can´t take any more entrys.
***
*** Returns PRN_FALSE=Error or PRN_TRUE
***
 - Integer
AddDiagramEntry(Integer iDId String sT Integer iTL String sV Integer iVL Dword dBC Dword dFC Integer iFil Integer iDec integer iVP Integer iExt)
			*** Adds an entry to a specified diagram (ID from CreateDiagram)
*** iDId is the id of the diagram
*** sTxt is a describing text for the value
*** iTxtLen is the len of the DataFlex string
*** iValue is an integer value for the diagram !!!!
*** dwBcolor is the boarder color
*** dwFcolor is the fill color
*** iFill is DFGR_FILL or DFGR_TRAN
*** iDec tells how mwny decimals you want on a value
*** iVP tells if you want no value, value or percent
*** iExt  is DFGR_IN or DFGR_OUT pulls the pie out in circel diagram
***
*** Returns Diagram Id or PRN_FALSE=Error
***
 - Integer
DrawDiagramToPageInch(Integer iPageNr Integer iDId Integer ixPos Integer iyPos Integer iUCp)
			*** Writes the diagram to a page at the current line at a
*** specified position. Using INCH
***
*** Returns PRN_FALSE=Error or PRN_TRUE
***
SF 11/07/97 - Added an extra param.
 - Integer
DrawDiagramToPageMm(Integer iPageNr Integer iDId Integer ixPos Integer iyPos Integer iUCp)
			*** Writes the diagram to a page at the current line at a
*** specified position. Using CM
***
*** Returns PRN_FALSE=Error or PRN_TRUE
***
SF 11/07/97 - Added an extra param.
 - Integer
SetDiagramCaption(Integer iDId String sText Integer iTextLen)
			*** Sets the caption of a diagram with the last used font
***
*** Returns PRN_FALSE=Error or PRN_TRUE
***
 - Integer
SetDiagramXText(Integer iDId String sText Integer iTextLen)
			*** Sets the horizontal caption of a diagram.
***
*** Returns PRN_FALSE=Error or PRN_TRUE
***
 - Integer
SetDiagramYText(Integer iDId String sText Integer iTextLen Integer iVert)
			*** Sets the vertical caption of a diagram.
***
*** Returns PRN_FALSE=Error or PRN_TRUE
***
 - Integer
DrawXYLineInch(Integer iPageNr Integer iFromX Integer iFromY Integer iToX Integer iToY Dword dwColor Integer iWeight Integer iUCp Integer iWrap)
			*** Draws i line to a page. Using XY cords ONLY with color
*** weight and wrap using inch as metrics.
***
*** Returns PRN_FALSE=Error or PRN_TRUE
***
 - Integer
DrawXYLineMm(Integer iPageNr Integer iFromX Integer iFromY Integer iToX Integer iToY Dword dwColor Integer iWeight Integer iUCp Integer iWrap)
			*** Draws i line to a page. Using XY cords ONLY with color
*** weight and wrap using cm as metrics.
***
*** Returns PRN_FALSE=Error or PRN_TRUE
***
 - Integer
DrawLineInch(Integer iPageNr Integer iFromX Integer iFromY Integer iLength Integer iHorVer Dword dwColor Integer iWeight Integer iUCp)
			*** Draws i line to a page. Using XY cords and length with color
*** weight and NO wrap using inch as metrics.
***
*** Returns PRN_FALSE=Error or PRN_TRUE
***
 - Integer
DrawLineMm(Integer iPageNr Integer iFromX Integer iFromY Integer iLength Integer iHorVer Dword dwColor Integer iWeight Integer iUCp)
			*** Draws i line to a page. Using XY cords and length with color
*** weight and NO wrap using cm as metrics.
***
*** Returns PRN_FALSE=Error or PRN_TRUE
***
 - Integer
ClearPrinter()
			*** Clears the printer and all resurces used by Windows,
*** prepares for a new document.
*** Returns PRN_TRUE=Ok PRN_FALSE=Cancel
***
 - Integer
GetCurrentDriver(Pointer pDrvStr)
			*** Retrieves the driver name of the currently selected printer.
*** The param is a pointer to a DF string
***
*** Returns PRN_TRUE=Ok PRN_FALSE=Cancel
***
 - Integer
GetCurrentDevice(Pointer pDevStr)
			*** Retrieves the device name of the currently selected printer.
*** The param is a pointer to a DF string
***
*** Returns PRN_TRUE=Ok PRN_FALSE=Cancel
***
 - Integer
GetCurrentPort(Pointer pPortStr)
			*** Retrieves the output port that the currently selected printer
*** is mapped to.
*** The param is a pointer to a DF string
***
*** Returns PRN_TRUE=Ok PRN_FALSE=Cancel
***
 - Dword
GetPrintDialogFlags()
			*** Retrieves the printer options set in Print Dialog and Print Setup.
*** The return value is a combination of all flags.
***
*** Returns PRN_TRUE=Ok PRN_FALSE=Cancel
***
 - Integer
GetUserDefinedPapersize()
			*** Retrieves the user defined papersize. This function is only valid
*** DF_PAPER_USER flag is set.
***
*** Returns PRN_TRUE=Ok PRN_FALSE=Cancel
***
 - Integer
SetUserDefinedPapersize(Integer iPSize)
			*** Sets the user defined papersize. This function is only valid
*** DF_PAPER_USER flag is set.
***
*** Returns PRN_TRUE=Ok PRN_FALSE=Cancel
***
 - Integer
IsPrintDialogFlag(Dword dwPDFlag)
			*** To check if a specific flag is set or not.
***
*** Returns PRN_TRUE=  if the flag is set
*** Returns PRN_FALSE= If the flag not is set
***
 - Integer
SetSpecificPrintDialogFlag(Dword dwPDFlag)
			*** Allows you to set a single print dialog flag.
***
*** Returns PRN_TRUE=  Ok
*** Returns PRN_FALSE= Error
***
 - Integer
SetNumberOfPrintCopies(Integer iNrOfCopies)
			*** Allows you to set the number of copies to be printed.
***
*** Returns PRN_TRUE=  Ok
*** Returns PRN_FALSE= Error
***
 - DF_Printer : dfBasePanel
*** Our intention was to be able to use escape seq from WinPrint
*** but for some reasons the PASSTHRUE is not working. It will
*** MAYBE be implemented later.
//*** Returns PRN_TRUE=Ok PRN_FALSE=Cancel
//***
External_Function32 WriteEscape "WriteEscape"  DFPRINT.DLL ;
Integer iPageNr;
Integer iEsc;
String  sSeq;
Integer iSeqlen;
Returns Integer
//*** Returns PRN_TRUE=Ok PRN_FALSE=Cancel
//***
External_Function32 QueryWriteEscape "QueryWriteEscape"  DFPRINT.DLL ;
Integer iEsc;
Returns Integer
************************************************************************//
//
$Module type: CLASS                                                    //
$Module name: DF_PRINTER                                               //
$Author     : Janne Wassberg                                           //
Created     : 96-01-30 @ 20.39.19                                      //
//
Description Class for Windows printsystem and DataFlex 3.05 and 4.x    //
//
//
//
$Rev History                                                           //
96-04-23 Ready for version 1.1                                       //
96-01-30 Module header created                                       //
//
************************************************************************//
This will have a handle. //JT
Construct_Object()
			
Destroy_Object()
			
DFZeroCounters()
			- Integer
DFCalcCounters(Integer HeaderNr Integer HeaderType)
			Only for internal use
- Integer
iCounter 
 - Integer
DFCurrentCounters(Integer HeaderNr Integer HeaderType)
			*** Only for internal use
- Integer
iCounter 
 - Integer
DFNewPage(Integer Columns)
			***
- Integer
iRetVal 
 - handle
Report_Window_Handle()
			JT
***Return handle to use for winprint dialog. If main_window
exists, use it. Else, get object's handle
- Integer
hWnd - Integer
Obj 
 - Integer
DFPrintDialog()
			***
- Integer
hwnd - Integer
iRetVal 
 
DFPrintSetup()
			***
- Integer
hwnd - Integer
iRetVal 
DFPreview()
			***
- Integer
hwnd - Integer
iRetVal - Integer
bPrntDlg - Integer
bPrintSetup - Integer
bPrint 
DFPrintDoc()
			***
- Integer
hwnd - Integer
iRetVal 
DFClearDoc()
			***
- Integer
iRetVal 
DFSetFont(String FontName)
			***
- Integer
iRetVal - Integer
iFlen 
DFSetFontSize(Integer Height Integer Width)
			***
- Integer
iRetVal 
DFSetFontStyle(DWORD Style)
			***
- Integer
iRetVal 
DFSetUnderline(Integer Underline)
			***
- Integer
iRetVal 
DFSetBold(Integer Bold)
			***
- Integer
iRetVal 
DFSetItalic(Integer Italic)
			***
- Integer
iRetVal 
DFSetStrikeout(Integer Strikeout)
			***
- Integer
iRetVal 
DFSetMargins(Number Left Number Top Number Right Number Bottom)
			***
- Integer
iRetVal - String
sMetrics 
DFSetLeftMargin(Number Left)
			***
- Integer
iRetVal - String
sMetrics - Number
Top - Number
Right - Number
Bottom 
DFSetRightMargin(Number Right)
			***
- Integer
iRetVal - String
sMetrics - Number
Left - Number
Top - Number
Bottom 
DFSetTopMargin(Number Top)
			***
- Integer
iRetVal - String
sMetrics - Number
Left - Number
Right - Number
Bottom 
DFSetBottomMargin(Number Bottom)
			***
- Integer
iRetVal - String
sMetrics - Number
Left - Number
Top - Number
Right 
DFWriteToPage(Integer Page String sText DWORD iStyle Integer Column Integer Dec)
			***
- Integer
iRetVal - Integer
iTlen 
DFWritelnToPage(Integer Page String sText DWORD iStyle Integer Column Integer Dec)
			***
- Integer
iRetVal - Integer
iTlen 
DFWrite(String sText DWORD iStyle Integer Column Integer Dec)
			***
- Integer
iRetVal - Integer
CurrPage - Integer
iTlen 
DFWriteln(String sText DWORD iStyle Integer Column Integer Dec)
			***
- Integer
iRetVal - Integer
CurrPage - Integer
iTlen 
DFWritePosToPage(Integer Page String sText DWORD iStyle Number Pos Integer Dec Number nLen)
			***
- Integer
iRetVal - Integer
iTlen - String
sMetrics - Integer
iLength 
DFWritelnPosToPage(Integer Page String sText DWORD iStyle Number Pos Integer Dec Number nLen)
			***
- Integer
iRetVal - Integer
iTlen - String
sMetrics - Integer
iLength 
DFWritePos(String sText DWORD iStyle Number Pos Integer Dec Number nLen)
			***
- Integer
iRetVal - Integer
CurrPage - Integer
iTlen - String
sMetrics - Integer
iLength 
DFWritelnPos(String sText DWORD iStyle Number Pos Integer Dec Number nLen)
			***
- Integer
iRetVal - Integer
CurrPage - Integer
iTlen - String
sMetrics - Integer
iLength 
DFSetMetrics(String Metrics)
			***
DFBeginHeaderType(Integer HeaderNr Integer HeaderType)
			***
- Integer
iRetVal - Integer
iObjCount 
DFEndHeaderType()
			***
- Integer
iRetVal 
DFWriteHeaderType(Integer HeaderNr Integer HeaderType)
			***
- Integer
iRetVal - Integer
CurrPage - Integer
iObjCount 
DFWriteHeaderTypeToPage(Integer PageNr Integer HeaderNr Integer HeaderType)
			***
- Integer
iRetVal - Integer
iObjCount 
DFHeaderPosition(Integer Place)
			***
- Integer
iRetVal 
DFHeaderFrameType(Integer Frame Dword dwColor Number nWeight Dword FColor Integer iFill)
			***
- String
sMetrics - Integer
iWeight - Integer
iRetVal 
DFHeaderWrap(Integer OnOff)
			***
- Integer
iRetVal 
DFWriteBMP(String sFileName Number StartX Number StartY Number Height Number Width Integer iUCp)
			***
SF 21/8 - Modified to support GR_USECURRPOS better
- Integer
iRetVal - Integer
CurrPage - Integer
iFlen - String
sMetrics - Integer
LeftTX - Integer
LeftTY - Integer
RightBX - Integer
RightBY - Number
nLeftTX - Number
nLeftTY - Number
nRightBX - Number
nRightBY 
DFWriteBMPToPage(Integer iPage String sFileName Number StartX Number StartY Number Height Number Width Integer iUCp)
			***
SF 21/8 - Modified to support GR_USECURRPOS better
- Integer
iRetVal - Integer
iFlen - String
sMetrics - Integer
LeftTX - Integer
LeftTY - Integer
RightBX - Integer
RightBY - Number
nLeftTX - Number
nLeftTY - Number
nRightBX - Number
nRightBY 
DFHeaderLineCheck(Integer Lines)
			***
- Integer
iRetVal 
DFPrintFlags(Integer Flags)
			***
- Integer
iRetVal 
DFSelectPrinter(String sDriver String sDevice String sPort Integer iUpdate)
			***
- Integer
iRetVal - Integer
iDriverLen - Integer
iDeviceLen - Integer
iPortLen 
DFPrinterBinFirstPage(Integer Flags)
			***
- Integer
iRetVal 
- DWORD
DFGetDFColor(Integer iRed Integer iGreen Integer iBlue)
			***
- Integer
iRetVal 
 
DFSetDFColor(DWORD dwColor)
			***
- Integer
iRetVal 
DFSetTopBottom(Number nTop Number nBottom Integer iAll)
			***
- Integer
iRetVal - String
sMetrics - Integer
iTop - Integer
iBottom 
DFSetJMode(Integer iAlign)
			***
- Integer
iRetVal 
DFWriteEllip(Number StartX Number StartY Number Height Number Width Dword BColor Dword FColor Integer iFill Number nWeight Integer Wrap Integer iUCp)
			***
SF 21/8 - Modified to support GR_USECURRPOS better
- Integer
iRetVal - Integer
CurrPage - String
sMetrics - Integer
LeftTX - Integer
LeftTY - Integer
RightBX - Integer
RightBY - Number
nLeftTX - Number
nLeftTY - Number
nRightBX - Number
nRightBY - Integer
iWeight 
DFWriteEllipToPage(Integer iPage Number StartX Number StartY Number Height Number Width Dword BColor Dword FColor Integer iFill Number nWeight Integer Wrap Integer iUCp)
			***
SF 21/8 - Modified to support GR_USECURRPOS better
- Integer
iRetVal - String
sMetrics - Integer
LeftTX - Integer
LeftTY - Integer
RightBX - Integer
RightBY - Number
nLeftTX - Number
nLeftTY - Number
nRightBX - Number
nRightBY - Integer
iWeight 
DFWriteRect(Number StartX Number StartY Number Height Number Width Dword BColor Dword FColor Integer iFill Number nWeight Integer Wrap Integer iUCp)
			***
SF 21/8 - Modified to support GR_USECURRPOS better
- Integer
iRetVal - Integer
CurrPage - String
sMetrics - Integer
LeftTX - Integer
LeftTY - Integer
RightBX - Integer
RightBY - Number
nLeftTX - Number
nLeftTY - Number
nRightBX - Number
nRightBY - Integer
iWeight 
DFWriteRectToPage(Integer iPage Number StartX Number StartY Number Height Number Width Dword BColor Dword FColor Integer iFill Number nWeight Integer Wrap Integer iUCp)
			***
SF 21/8 - Modified to support GR_USECURRPOS better
- Integer
iRetVal - String
sMetrics - Integer
LeftTX - Integer
LeftTY - Integer
RightBX - Integer
RightBY - Number
nLeftTX - Number
nLeftTY - Number
nRightBX - Number
nRightBY - Integer
iWeight 
DFLineCheck(Integer Lines)
			***
- Integer
CurrPage - Integer
iRetVal 
DFCreateDiagram(Integer iType Integer iFx Number nHeight Number nWidth Integer bXyAxis)
			***
- Integer
iRetVal - String
sMetrics - Integer
iWidth - Integer
iHeight 
DFDiagram_Item(Integer iDiagram String sLabel Number nValue Dword BColor Dword FColor Integer iFill Integer iDec Integer iVP Integer iExt)
			***
- Integer
iRetVal - Integer
iLabelLen - Integer
iValLen - Integer
iCurrColor 
DFLockDiagram(Integer iDiagram)
			***
- Integer
iRetVal 
DFDrawDiagram(Integer iDiagram Number nYPos Number nXPos Integer iUCp)
			***
SF 11/07/97 - Added an extra param.
- Integer
iRetVal - Integer
CurrPage - String
sMetrics - Integer
iXPos - Integer
iYPos 
DFDrawDiagramToPage(Integer iPage Integer iDiagram Number nYPos Number nXPos Integer iUCp)
			***
SF 11/07/97 - Added an extra param.
- Integer
iRetVal - String
sMetrics - Integer
iXPos - Integer
iYPos 
DFDiagramLabel(Integer iDiagram String sLabel)
			***
- Integer
iRetVal - Integer
iLabelLen 
DFDiagramXLabel(Integer iDiagram String sLabel)
			***
- Integer
iRetVal - Integer
iLabelLen 
DFDiagramYLabel(Integer iDiagram String sLabel Integer iVert)
			***
- Integer
iRetVal - Integer
iLabelLen 
DFWriteXYLine(Number StartX Number StartY Number StoppX Number StoppY Dword Color Number nWeight Integer Wrap Integer iUCp)
			***
- Integer
iRetVal - Integer
CurrPage - String
sMetrics - Integer
iStartX - Integer
iStartY - Integer
iStoppX - Integer
iStoppY - Integer
iWeight 
DFWriteLine(Number StartX Number StartY Number Lenght Integer iHorVert Dword Color Number nWeight Integer iUCp)
			***
- Integer
iRetVal - Integer
CurrPage - String
sMetrics - Integer
iStartX - Integer
iStartY - Integer
iLenght - Integer
iWeight 
DFClearPrinter()
			***
- Integer
iRetVal 
- String
DFGetCurrentDriver()
			***
- Integer
iRetVal - String
sDFStr - Integer
pDFStr 
 - String
DFGetCurrentDevice()
			***
- Integer
iRetVal - String
sDFStr - Integer
pDFStr 
 - String
DFGetCurrentPort()
			***
- Integer
iRetVal - String
sDFStr - Integer
pDFStr 
 - Dword
DFGetPrintDialogFlags()
			***
- Integer
dwRetVal 
 - Integer
DFCheckPrintDialogFlag(Dword PDFlag)
			***
*** Returns PRN_TRUE=  if the flag is set     (1)
*** Returns PRN_FALSE= If the flag not is set (0)
***
- Integer
iRetVal 
 
DFSetSpecPrintFlag(Dword PDFlag)
			***
- Integer
iRetVal 
- Number
DFGetUserDefinedLength()
			***
- Integer
iRetVal - Number
nRetVal 
 - Number
DFGetUserDefinedWidth()
			***
- Integer
iRetVal - Number
nRetVal 
 
DFSetUserDefinedPapersize(Number nLength Number nWidth)
			*** To be set in CM
- Integer
iRetVal - Integer
iLength - Integer
iWidth - Integer
iSize 
DFSetNumberOfCopies(Integer iNrOfCopies)
			- Integer
iRetVal 
- Integer
DFGetCurrentDiagram()
			*** Escape will not work, see comment att dll call
//***
Procedure DFWriteEsc Integer EscFunc String EscSeq
Integer iRetVal
Integer CurrPage
integer iEscLen
Get DFCurrent_Page To CurrPage
Get ToAnsi EscSeq To EscSeq
Move (Length(EscSeq)) To iEscLen
Move (WriteEscape(CurrPage,EscFunc,EscSeq,iEscLen)) To iRetVal
If iRetVal Eq PRN_TRUE Begin
End
If iRetVal Eq PRN_FALSE Begin
Error DFERR_WINPRINT DFPrintError958
End
End_Procedure
//***
Procedure DFQueryEsc Integer EscFunc
Integer iRetVal
Move (QueryWriteEscape(EscFunc)) To iRetVal
If iRetVal Eq PRN_TRUE Begin
End
If iRetVal Eq PRN_FALSE Begin
Error DFERR_WINPRINT DFPrintError959
End
End_Procedure
*************************************************************
*** This procedures and functions are used when building  ***
*** complex graphics when you need to change value of the ***
*** current diagram, so you can mix diagrams within each  ***
*** other.                                                ***
*************************************************************
- Integer
iRetVal 
 
DFSetCurrentDiagram(Integer iDiagram)
			
DFSetDiagramList(Integer Item# Integer iDiagram)
			- Integer
DFGetDiagramList(Integer Item#)
			- Integer
iRetVal 
 
DFClearDiagramList()
			- Dword
DFGetCurrentColor()
			- Integer
dwRetVal - Integer
iCurrColor 
 - Dword
DFGetColor(Integer iColor)
			- Integer
dwRetVal 
 
End_Construct_Object()
			*************************************************************
*** This procedures and functions are used when building  ***
*** complex graphics when you need to change value of the ***
*** current diagram, so you can mix diagrams within each  ***
*** other.                                                ***
*************************************************************
 - oWinPrint : DF_PRINTER
************************************************************************//
//
$Module type: OBJECT                                                   //
$Module name: oWinPrint                                                //
$Author     : JW                                                       //
Created     : 96-01-30 @ 18.45.49                                      //
//
Description                                                            //
//
//
$Rev History                                                           //
96-01-30 Ready for version 1.1                                       //
96-01-30 Module header created                                       //
//
************************************************************************//
Integer WinPrintId  // Provide simple access to global object //JT
DFPrint()
			- Integer
iRetVal