JX Application Framework
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
JPSPrinterBase Class Referenceabstract

#include <JPSPrinterBase.h>

Inheritance diagram for JPSPrinterBase:
[legend]

Public Member Functions

 JPSPrinterBase (JFontManager *fontManager)
 
virtual ~JPSPrinterBase ()
 
void SetCreator (const JString &str)
 
void SetTitle (const JString &str)
 
bool PSOpenDocument ()
 
void PSCloseDocument ()
 
void PSCancelDocument ()
 
bool PSDocumentIsOpen () const
 
const JStringGetOutputFileName () const
 
void SetOutputFileName (const JString &name)
 
bool PSWillPrintBlackWhite () const
 
void PSPrintBlackWhite (const bool doIt)
 
void PSSetClipRect (const JRect &r)
 
void PSSetDashList (const JArray< JSize > &dashList, const JSize dashOffset=0)
 
void PSString (const JFont &font, const JCoordinate ascent, const JCoordinate aligndx, const JCoordinate aligndy, const JFloat angle, const JCoordinate left, const JCoordinate top, const JString &str)
 
void PSLine (const JCoordinate x1, const JCoordinate y1, const JCoordinate x2, const JCoordinate y2, const JColorID color, const JSize lineWidth, const bool drawDashedLines)
 
void PSRect (const JCoordinate x, const JCoordinate y, const JCoordinate w, const JCoordinate h, const JColorID color, const JSize lineWidth, const bool drawDashedLines, const bool fill)
 
void PSArc (const JCoordinate x, const JCoordinate y, const JCoordinate w, const JCoordinate h, const JFloat startAngle, const JFloat deltaAngle, const JColorID color, const JSize lineWidth, const bool drawDashedLines, const bool fill)
 
void PSPolygon (const JCoordinate left, const JCoordinate top, const JPolygon &poly, const JColorID color, const JSize lineWidth, const bool drawDashedLines, const bool fill)
 
void PSColorImage (const JImage &image, const JRect &srcRect, const JRect &destRect)
 

Static Public Attributes

static const JCoordinate kPixelsPerInch = 72
 

Protected Member Functions

std::ostream & GetOutputStream ()
 
void PSSaveGraphicsState ()
 
void PSRestoreGraphicsState ()
 
JPoint ConvertToPS (const JCoordinate x, const JCoordinate y) const
 
JPoint ConvertToPS (const JPoint &pt) const
 
virtual const JPointPSGetOrigin () const =0
 
virtual void PSResetCoordinates ()=0
 
virtual JCoordinate PSGetPrintableHeight () const =0
 
virtual bool PSShouldPrintCurrentPage () const =0
 
virtual void PSPrintVersionComment (std::ostream &output)=0
 
virtual void PSPrintHeaderComments (std::ostream &output)=0
 
virtual void PSPrintSetupComments (std::ostream &output)=0
 
void PSConvertToRGB (const JColorID color, JSize *red, JSize *green, JSize *blue) const
 

Detailed Description

This class implements the functions required to draw to a PostScript file.
This class is required because JEPSPrinter cannot inherit from JPagePrinter.

To generate postscript output beyond what is provided by this class,
create a derived class.  Inside each customized function, call
GetOutputStream() to get the output file and then write directly to it.
You *must* our functions whenever possible, because otherwise, you will
destroy our buffered values, and the results will be unpredictable.

Derived classes must implement the following functions:

    PSGetOrigin
        Return the current JPainter origin.

    PSResetCoordinates
        Set the origin and page size.

    PSGetPrintableHeight
        Return the height of the printable area.  This is used to
        transform screen coordinates into PS coordinates.

    PSShouldPrintCurrentPage
        Return false if the drawing commands should do nothing.

    PSPrintVersionComment
        Print the first line in the PostScript file.

    PSPrintHeaderComments
        Print any required header comments.

    PSPrintSetupComments
        Print any required setup comments.

Constructor & Destructor Documentation

◆ JPSPrinterBase()

JPSPrinterBase::JPSPrinterBase ( JFontManager fontManager)

Derived classes must call PSResetCoordinates().

◆ ~JPSPrinterBase()

JPSPrinterBase::~JPSPrinterBase ( )
virtual

Member Function Documentation

◆ ConvertToPS() [1/2]

JPoint JPSPrinterBase::ConvertToPS ( const JCoordinate  x,
const JCoordinate  y 
) const
inlineprotected

◆ ConvertToPS() [2/2]

JPoint JPSPrinterBase::ConvertToPS ( const JPoint pt) const
inlineprotected

◆ GetOutputFileName()

const JString & JPSPrinterBase::GetOutputFileName ( ) const
inline

◆ GetOutputStream()

std::ostream & JPSPrinterBase::GetOutputStream ( )
protected

◆ PSArc()

void JPSPrinterBase::PSArc ( const JCoordinate  x,
const JCoordinate  y,
const JCoordinate  w,
const JCoordinate  h,
const JFloat  startAngle,
const JFloat  deltaAngle,
const JColorID  color,
const JSize  lineWidth,
const bool  drawDashedLines,
const bool  fill 
)

◆ PSCancelDocument()

void JPSPrinterBase::PSCancelDocument ( )

◆ PSCloseDocument()

void JPSPrinterBase::PSCloseDocument ( )

◆ PSColorImage()

void JPSPrinterBase::PSColorImage ( const JImage image,
const JRect srcRect,
const JRect destRect 
)

◆ PSConvertToRGB()

void JPSPrinterBase::PSConvertToRGB ( const JColorID  color,
JSize red,
JSize green,
JSize blue 
) const
protected

Convert JColorID (16-bit RGB) to 8-bit RGB Postscript color.

◆ PSDocumentIsOpen()

bool JPSPrinterBase::PSDocumentIsOpen ( ) const
inline

◆ PSGetOrigin()

virtual const JPoint & JPSPrinterBase::PSGetOrigin ( ) const
protectedpure virtual

Implemented in JEPSPrinter, and JPSPrinter.

◆ PSGetPrintableHeight()

virtual JCoordinate JPSPrinterBase::PSGetPrintableHeight ( ) const
protectedpure virtual

Implemented in JEPSPrinter, and JPSPrinter.

◆ PSLine()

void JPSPrinterBase::PSLine ( const JCoordinate  x1,
const JCoordinate  y1,
const JCoordinate  x2,
const JCoordinate  y2,
const JColorID  color,
const JSize  lineWidth,
const bool  drawDashedLines 
)

◆ PSOpenDocument()

bool JPSPrinterBase::PSOpenDocument ( )

◆ PSPolygon()

void JPSPrinterBase::PSPolygon ( const JCoordinate  left,
const JCoordinate  top,
const JPolygon poly,
const JColorID  color,
const JSize  lineWidth,
const bool  drawDashedLines,
const bool  fill 
)

◆ PSPrintBlackWhite()

void JPSPrinterBase::PSPrintBlackWhite ( const bool  doIt)
inline

◆ PSPrintHeaderComments()

virtual void JPSPrinterBase::PSPrintHeaderComments ( std::ostream &  output)
protectedpure virtual

Implemented in JEPSPrinter, and JPSPrinter.

◆ PSPrintSetupComments()

virtual void JPSPrinterBase::PSPrintSetupComments ( std::ostream &  output)
protectedpure virtual

Implemented in JEPSPrinter, and JPSPrinter.

◆ PSPrintVersionComment()

virtual void JPSPrinterBase::PSPrintVersionComment ( std::ostream &  output)
protectedpure virtual

Implemented in JEPSPrinter, and JPSPrinter.

◆ PSRect()

void JPSPrinterBase::PSRect ( const JCoordinate  x,
const JCoordinate  y,
const JCoordinate  w,
const JCoordinate  h,
const JColorID  color,
const JSize  lineWidth,
const bool  drawDashedLines,
const bool  fill 
)

◆ PSResetCoordinates()

virtual void JPSPrinterBase::PSResetCoordinates ( )
protectedpure virtual

Implemented in JEPSPrinter, and JPSPrinter.

◆ PSRestoreGraphicsState()

void JPSPrinterBase::PSRestoreGraphicsState ( )
protected

Restore the original graphics state. This balances PSSaveGraphicsState().

◆ PSSaveGraphicsState()

void JPSPrinterBase::PSSaveGraphicsState ( )
protected

Save the current graphics state. This is mainly needed for adjusting the clipping.

◆ PSSetClipRect()

void JPSPrinterBase::PSSetClipRect ( const JRect r)

This can be called even if a document is not open.

◆ PSSetDashList()

void JPSPrinterBase::PSSetDashList ( const JArray< JSize > &  dashList,
const JSize  dashOffset = 0 
)

This can be called even if a document is not open.

◆ PSShouldPrintCurrentPage()

virtual bool JPSPrinterBase::PSShouldPrintCurrentPage ( ) const
protectedpure virtual

Implemented in JEPSPrinter, and JPSPrinter.

◆ PSString()

void JPSPrinterBase::PSString ( const JFont font,
const JCoordinate  ascent,
const JCoordinate  aligndx,
const JCoordinate  aligndy,
const JFloat  angle,
const JCoordinate  left,
const JCoordinate  top,
const JString str 
)

◆ PSWillPrintBlackWhite()

bool JPSPrinterBase::PSWillPrintBlackWhite ( ) const
inline

◆ SetCreator()

void JPSPrinterBase::SetCreator ( const JString str)
inline

◆ SetOutputFileName()

void JPSPrinterBase::SetOutputFileName ( const JString name)
inline

◆ SetTitle()

void JPSPrinterBase::SetTitle ( const JString str)
inline

Member Data Documentation

◆ kPixelsPerInch

const JCoordinate JPSPrinterBase::kPixelsPerInch = 72
static

The documentation for this class was generated from the following files: