Model Railroad System  2.2.1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
FCFSupport::PostScriptPrinterDevice Class Reference

Derived class for printing on Postscript printers. More...

#include <PostScriptPrinter.h>

Inheritance diagram for FCFSupport::PostScriptPrinterDevice:
FCFSupport::PrinterDevice

Public Member Functions

 PostScriptPrinterDevice (const string filename="", const string title_="", PageSize pageSize=Letter, char **outmessage=NULL)
 Constructor. More...
 
virtual bool OpenPrinter (const string filename, PageSize pageSize=Letter, char **outmessage=NULL)
 Member function to open the printer. More...
 
virtual bool ClosePrinter (char **outmessage)
 Close the printer. More...
 
virtual bool SetTypeSpacing (TypeSpacing spacing)
 Set the the spacing. More...
 
virtual bool SetTypeWeight (TypeWeight weight)
 Set the type weight. More...
 
virtual bool SetTypeSlant (TypeSlant slant)
 Set the type slant. More...
 
virtual bool NewPage (const string heading="")
 Perform a page feed and print a heading. More...
 
virtual bool PutLine (const string line="")
 Print out a string and follow it with a new line sequence. More...
 
virtual bool Put (const string text)
 Print a string of text. More...
 
virtual bool Tab (int column)
 Tab over to the specified column. More...
 
virtual ~PostScriptPrinterDevice ()
 Destructor. More...
 
- Public Member Functions inherited from FCFSupport::PrinterDevice
 PrinterDevice (const string filename="", const string title="", PageSize pageSize_=Letter, char **outmessage=NULL)
 Constructor. More...
 
bool IsOpenP () const
 Is the printer open? More...
 
PageSize PrinterPageSize () const
 Return the page size. More...
 
virtual bool Put (int number)
 Print an integer. More...
 
virtual bool Put (double number)
 Print a double. More...
 
virtual ~PrinterDevice ()
 Destructor. More...
 

Private Member Functions

bool PutPageHeader ()
 Function to put the page header. More...
 
const string PSQuote (const string s) const
 Function to PostScript quote a string. More...
 

Private Attributes

ofstream printerStream
 Output stream. More...
 
string title
 The document title. More...
 
int pages
 The page count. More...
 
int lines
 The line count. More...
 
int maxLines
 The maximum number of lines per page. More...
 
bool partline
 Partial line flag. More...
 
bool needPageHeader
 Flag to let us know if we need a page header,. More...
 

Additional Inherited Members

- Public Types inherited from FCFSupport::PrinterDevice
enum  PageSize { Letter, A4 }
 Page size selection, for those printers that support different page sizes. More...
 
enum  TypeSpacing { One, Half, Double }
 Horizontal type spacing. More...
 
enum  TypeWeight { Normal, Bold }
 Type weight. More...
 
enum  TypeSlant { Roman, Italic }
 Type slant. More...
 
- Protected Attributes inherited from FCFSupport::PrinterDevice
bool isOpenP
 Is open flag. More...
 
PageSize pageSize
 Document page size. More...
 

Detailed Description

Derived class for printing on Postscript printers.

Uses a standard 12pt Courier family of fonts and simulates an impact printer.

Author
Robert Heller <heller@deepsoft.com>

Constructor & Destructor Documentation

◆ PostScriptPrinterDevice()

FCFSupport::PostScriptPrinterDevice::PostScriptPrinterDevice ( const string  filename = "",
const string  title_ = "",
PageSize  pageSize = Letter,
char **  outmessage = NULL 
)

Constructor.

Create a new printer device instance from a set of parameters, all of which have default values, so this also doubles as the default base constructor.

Parameters
filenameOutput filename.
titleAn internal document title string.
pageSizeThe page size to use.
outmessagePointer to a pointer to receive any error messages for any errors that might occur. This parameter is hidden from the Tcl interface.

◆ ~PostScriptPrinterDevice()

virtual FCFSupport::PostScriptPrinterDevice::~PostScriptPrinterDevice ( )
virtual

Destructor.

Close the printer.

Member Function Documentation

◆ ClosePrinter()

virtual bool FCFSupport::PostScriptPrinterDevice::ClosePrinter ( char **  outmessage)
virtual

Close the printer.

Parameters
outmessagePointer to a pointer to receive any error messages for any errors that might occur. This parameter is hidden from the Tcl interface.

Reimplemented from FCFSupport::PrinterDevice.

◆ NewPage()

virtual bool FCFSupport::PostScriptPrinterDevice::NewPage ( const string  heading = "")
virtual

Perform a page feed and print a heading.

Parameters
headingThe heading string.

Reimplemented from FCFSupport::PrinterDevice.

◆ OpenPrinter()

virtual bool FCFSupport::PostScriptPrinterDevice::OpenPrinter ( const string  filename,
PageSize  pageSize = Letter,
char **  outmessage = NULL 
)
virtual

Member function to open the printer.

Parameters
filenameOutput filename.
pageSizeThe page size to use.
outmessagePointer to a pointer to receive any error messages for any errors that might occur. This parameter is hidden from the Tcl interface.

Reimplemented from FCFSupport::PrinterDevice.

◆ PSQuote()

const string FCFSupport::PostScriptPrinterDevice::PSQuote ( const string  s) const
private

Function to PostScript quote a string.

Parameters
sThe string to quote.

◆ Put()

virtual bool FCFSupport::PostScriptPrinterDevice::Put ( const string  text)
virtual

Print a string of text.

Don't include a newline.

Parameters
textThe string to print.

Reimplemented from FCFSupport::PrinterDevice.

◆ PutLine()

virtual bool FCFSupport::PostScriptPrinterDevice::PutLine ( const string  line = "")
virtual

Print out a string and follow it with a new line sequence.

Parameters
lineThe line to print.

Reimplemented from FCFSupport::PrinterDevice.

◆ PutPageHeader()

bool FCFSupport::PostScriptPrinterDevice::PutPageHeader ( )
private

Function to put the page header.

◆ SetTypeSlant()

virtual bool FCFSupport::PostScriptPrinterDevice::SetTypeSlant ( TypeSlant  slant)
virtual

Set the type slant.

Parameters
slantThe new type slant.

Reimplemented from FCFSupport::PrinterDevice.

◆ SetTypeSpacing()

virtual bool FCFSupport::PostScriptPrinterDevice::SetTypeSpacing ( TypeSpacing  spacing)
virtual

Set the the spacing.

Parameters
spacingThe new type spacing.

Reimplemented from FCFSupport::PrinterDevice.

◆ SetTypeWeight()

virtual bool FCFSupport::PostScriptPrinterDevice::SetTypeWeight ( TypeWeight  weight)
virtual

Set the type weight.

Parameters
weightThe new type weight.

Reimplemented from FCFSupport::PrinterDevice.

◆ Tab()

virtual bool FCFSupport::PostScriptPrinterDevice::Tab ( int  column)
virtual

Tab over to the specified column.

Parameters
columnThe desired tab column.

Reimplemented from FCFSupport::PrinterDevice.

Member Data Documentation

◆ lines

int FCFSupport::PostScriptPrinterDevice::lines
private

The line count.

◆ maxLines

int FCFSupport::PostScriptPrinterDevice::maxLines
private

The maximum number of lines per page.

◆ needPageHeader

bool FCFSupport::PostScriptPrinterDevice::needPageHeader
private

Flag to let us know if we need a page header,.

◆ pages

int FCFSupport::PostScriptPrinterDevice::pages
private

The page count.

◆ partline

bool FCFSupport::PostScriptPrinterDevice::partline
private

Partial line flag.

◆ printerStream

ofstream FCFSupport::PostScriptPrinterDevice::printerStream
private

Output stream.

◆ title

string FCFSupport::PostScriptPrinterDevice::title
private

The document title.