JX Application Framework
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | List of all members
JXPSPrinter Class Reference

#include <JXPSPrinter.h>

Inheritance diagram for JXPSPrinter:
[legend]

Public Types

enum  Destination {
  kPrintToPrinter = 0 ,
  kPrintToFile = 1
}
 
- Public Types inherited from JPSPrinter
enum  PaperType {
  kUSLetter = 0 ,
  kUSLegal ,
  kUSExecutive ,
  kA4Letter ,
  kB5Letter
}
 
- Public Types inherited from JPagePrinter
enum  ImageOrientation {
  kPortrait = 0 ,
  kLandscape
}
 
- Public Types inherited from JPainter
enum struct  HAlign {
  kLeft ,
  kCenter ,
  kRight
}
 
enum struct  VAlign {
  kTop ,
  kCenter ,
  kBottom
}
 

Public Member Functions

 JXPSPrinter (const JXDisplay *display)
 
 ~JXPSPrinter () override
 
void ReadXPSSetup (std::istream &input)
 
void WriteXPSSetup (std::ostream &output) const
 
bool OpenDocument () override
 
void CloseDocument () override
 
Destination GetDestination () const
 
void SetDestination (const Destination dest, const JString &printCmd, const JString &fileName)
 
const JStringGetPrintCmd () const
 
void SetPrintCmd (const JString &cmd)
 
const JStringGetFileName () const
 
void SetFileName (const JString &name)
 
bool WillCollatePages () const
 
void CollatePages (const bool doIt)
 
bool EditUserPageSetup ()
 
bool ConfirmUserPrintSetup ()
 
- Public Member Functions inherited from JPSPrinter
 JPSPrinter (JFontManager *fontManager)
 
 ~JPSPrinter () override
 
bool WillPrintBlackWhite () const override
 
void ReadPSSetup (std::istream &input)
 
void WritePSSetup (std::ostream &output) const
 
bool NewPage () override
 
void CancelDocument () override
 
PaperType GetPaperType () const
 
void SetPaperType (const PaperType type)
 
JSize GetCopyCount () const
 
void SetCopyCount (const JSize count)
 
JIndex GetFirstPageToPrint () const
 
void SetFirstPageToPrint (const JIndex index)
 
JIndex GetLastPageToPrint () const
 
void SetLastPageToPrint (const JIndex index)
 
bool WillPrintAllPages () const
 
void PrintAllPages ()
 
JCoordinate GetPaperWidth () const
 
JCoordinate GetPaperHeight () const
 
JRect GetPaperRect () const
 
JRect SetClipRect (const JRect &r) override
 
void SetDashList (const JArray< JSize > &dashList, const JSize dashOffset=0) override
 
void StringNoSubstitutions (const JCoordinate left, const JCoordinate top, const JString &str) override
 
void String (const JFloat angle, const JCoordinate left, const JCoordinate top, const JString &str, const JCoordinate width=0, const HAlign hAlign=HAlign::kLeft, const JCoordinate height=0, const VAlign vAlign=VAlign::kTop) override
 
void Point (const JCoordinate x, const JCoordinate y) override
 
void Line (const JCoordinate x1, const JCoordinate y1, const JCoordinate x2, const JCoordinate y2) override
 
void Rect (const JCoordinate x, const JCoordinate y, const JCoordinate w, const JCoordinate h) override
 
void Ellipse (const JCoordinate x, const JCoordinate y, const JCoordinate w, const JCoordinate h) override
 
void Arc (const JCoordinate x, const JCoordinate y, const JCoordinate w, const JCoordinate h, const JFloat startAngle, const JFloat deltaAngle) override
 
void Polygon (const JCoordinate left, const JCoordinate top, const JPolygon &poly) override
 
void Image (const JImage &image, const JRect &srcRect, const JRect &destRect) override
 
void String (const JCoordinate left, const JCoordinate top, const JString &str, const JCoordinate width=0, const HAlign hAlign=HAlign::kLeft, const JCoordinate height=0, const VAlign vAlign=VAlign::kTop)
 
void String (const JPoint &topLeft, const JString &str, const JCoordinate width=0, const HAlign hAlign=HAlign::kLeft, const JCoordinate height=0, const VAlign vAlign=VAlign::kTop)
 
void String (const JRect &rect, const JString &str, const HAlign hAlign=HAlign::kLeft, const VAlign vAlign=VAlign::kTop)
 
virtual void String (const JFloat angle, const JCoordinate left, const JCoordinate top, const JString &str, const JCoordinate width=0, const HAlign hAlign=HAlign::kLeft, const JCoordinate height=0, const VAlign vAlign=VAlign::kTop)=0
 
void String (const JFloat angle, const JPoint &topLeft, const JString &str, const JCoordinate width=0, const HAlign hAlign=HAlign::kLeft, const JCoordinate height=0, const VAlign vAlign=VAlign::kTop)
 
void String (const JFloat angle, const JRect &rect, const JString &str, const HAlign hAlign=HAlign::kLeft, const VAlign vAlign=VAlign::kTop)
 
virtual void Point (const JCoordinate x, const JCoordinate y)=0
 
void Point (const JPoint &pt)
 
virtual void Line (const JCoordinate x1, const JCoordinate y1, const JCoordinate x2, const JCoordinate y2)=0
 
void Line (const JPoint &pt1, const JPoint &pt2)
 
virtual void Rect (const JCoordinate x, const JCoordinate y, const JCoordinate w, const JCoordinate h)=0
 
void Rect (const JPoint &upperLeft, const JCoordinate w, const JCoordinate h)
 
void Rect (const JRect &bounds)
 
virtual void Ellipse (const JCoordinate x, const JCoordinate y, const JCoordinate w, const JCoordinate h)=0
 
void Ellipse (const JPoint &upperLeft, const JCoordinate w, const JCoordinate h)
 
void Ellipse (const JRect &bounds)
 
virtual void Arc (const JCoordinate x, const JCoordinate y, const JCoordinate w, const JCoordinate h, const JFloat startAngle, const JFloat deltaAngle)=0
 
void Arc (const JPoint &upperLeft, const JCoordinate w, const JCoordinate h, const JFloat startAngle, const JFloat deltaAngle)
 
void Arc (const JRect &bounds, const JFloat startAngle, const JFloat deltaAngle)
 
virtual void Polygon (const JCoordinate left, const JCoordinate top, const JPolygon &poly)=0
 
void Polygon (const JPoint &upperLeft, const JPolygon &poly)
 
void Polygon (const JPolygon &poly)
 
void Image (const JImage &image, const JRect &srcRect, const JCoordinate left, const JCoordinate top)
 
void Image (const JImage &image, const JRect &srcRect, const JPoint &topLeft)
 
virtual void Image (const JImage &image, const JRect &srcRect, const JRect &destRect)=0
 
- Public Member Functions inherited from JPagePrinter
 JPagePrinter (JFontManager *fontManager, const JRect &defaultClipRect)
 
 ~JPagePrinter () override
 
ImageOrientation GetOrientation () const
 
void SetOrientation (const ImageOrientation orient)
 
JIndex GetPageIndex () const
 
JCoordinate GetPageWidth () const
 
JCoordinate GetPageHeight () const
 
JRect GetPageRect () const
 
void SetPageSize (const JCoordinate w, const JCoordinate h)
 
void GetPageInfo (JIndex *pageIndex, JCoordinate *w, JCoordinate *h) const
 
void LockHeader (const JCoordinate headerHeight)
 
void LockFooter (const JCoordinate footerHeight)
 
- Public Member Functions inherited from JPainter
 JPainter (JFontManager *fontManager, const JRect &defaultClipRect)
 
virtual ~JPainter ()
 
JFontManagerGetFontManager () const
 
virtual void Reset ()
 
void Reset (const JRect &defClipRect)
 
virtual void ResetAllButClipping ()
 
const JRectGetClipRect () const
 
void ResetClipRect ()
 
const JRectGetDefaultClipRect () const
 
void SetDefaultClipRect (const JRect &r)
 
const JPointGetOrigin () const
 
void SetOrigin (const JCoordinate x, const JCoordinate y)
 
void SetOrigin (const JPoint &pt)
 
void ShiftOrigin (const JCoordinate dx, const JCoordinate dy)
 
void ShiftOrigin (const JPoint &delta)
 
const JPointGetPenLocation () const
 
void SetPenLocation (const JCoordinate x, const JCoordinate y)
 
void SetPenLocation (const JPoint &pt)
 
void ShiftPenLocation (const JCoordinate dx, const JCoordinate dy)
 
void ShiftPenLocation (const JPoint &delta)
 
JColorID GetPenColor () const
 
void SetPenColor (const JColorID color)
 
JSize GetLineWidth () const
 
void SetLineWidth (const JSize width)
 
bool LinesAreDashed () const
 
void DrawDashedLines (const bool on)
 
bool GetDashList (const JArray< JSize > **dashList, JSize *dashOffset) const
 
bool IsFilling () const
 
void SetFilling (const bool on)
 
const JFontGetFont () const
 
void SetFontName (const JString &name)
 
void SetFontSize (const JSize size)
 
void SetFontStyle (const JFontStyle &style)
 
void SetFont (const JFont &f)
 
JSize GetLineHeight (JCoordinate *ascent, JCoordinate *descent) const
 
JSize GetLineHeight () const
 
JSize GetStringWidth (const JString &str) const
 
void String (const JCoordinate left, const JCoordinate top, const JString &str, const JCoordinate width=0, const HAlign hAlign=HAlign::kLeft, const JCoordinate height=0, const VAlign vAlign=VAlign::kTop)
 
void String (const JPoint &topLeft, const JString &str, const JCoordinate width=0, const HAlign hAlign=HAlign::kLeft, const JCoordinate height=0, const VAlign vAlign=VAlign::kTop)
 
void String (const JRect &rect, const JString &str, const HAlign hAlign=HAlign::kLeft, const VAlign vAlign=VAlign::kTop)
 
void String (const JFloat angle, const JPoint &topLeft, const JString &str, const JCoordinate width=0, const HAlign hAlign=HAlign::kLeft, const JCoordinate height=0, const VAlign vAlign=VAlign::kTop)
 
void String (const JFloat angle, const JRect &rect, const JString &str, const HAlign hAlign=HAlign::kLeft, const VAlign vAlign=VAlign::kTop)
 
void Point (const JPoint &pt)
 
void Line (const JPoint &pt1, const JPoint &pt2)
 
void LineTo (const JCoordinate x, const JCoordinate y)
 
void LineTo (const JPoint &pt)
 
void DeltaLine (const JCoordinate dx, const JCoordinate dy)
 
void DeltaLine (const JPoint &delta)
 
void Rect (const JPoint &upperLeft, const JCoordinate w, const JCoordinate h)
 
void Rect (const JRect &bounds)
 
void RectInside (const JRect &bounds)
 
void Ellipse (const JPoint &upperLeft, const JCoordinate w, const JCoordinate h)
 
void Ellipse (const JRect &bounds)
 
void Arc (const JPoint &upperLeft, const JCoordinate w, const JCoordinate h, const JFloat startAngle, const JFloat deltaAngle)
 
void Arc (const JRect &bounds, const JFloat startAngle, const JFloat deltaAngle)
 
void Polygon (const JPoint &upperLeft, const JPolygon &poly)
 
void Polygon (const JPolygon &poly)
 
void Image (const JImage &image, const JRect &srcRect, const JCoordinate left, const JCoordinate top)
 
void Image (const JImage &image, const JRect &srcRect, const JPoint &topLeft)
 
- Public Member Functions inherited from JPrinter
 JPrinter ()
 
 ~JPrinter () override
 
- Public Member Functions inherited from JBroadcaster
 JBroadcaster ()
 
virtual ~JBroadcaster ()
 
JBroadcasteroperator= (const JBroadcaster &source)
 
bool HasSenders () const
 
JSize GetSenderCount () const
 
bool HasRecipients () const
 
JSize GetRecipientCount () const
 
virtual JString ToString () const
 
template<class T >
void ListenTo (const JBroadcaster *sender, const std::function< void(const T &)> &f)
 
- Public Member Functions inherited from JPSPrinterBase
 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)
 

Protected Member Functions

virtual JXPSPageSetupDialogCreatePageSetupDialog (const PaperType paper, const ImageOrientation orient)
 
virtual JXPSPrintSetupDialogCreatePrintSetupDialog (const Destination destination, const JString &printCmd, const JString &fileName, const bool collate, const bool bw)
 
- Protected Member Functions inherited from JPSPrinter
const JPointPSGetOrigin () const override
 
void PSResetCoordinates () override
 
JCoordinate PSGetPrintableHeight () const override
 
bool PSShouldPrintCurrentPage () const override
 
void PSPrintVersionComment (std::ostream &output) override
 
void PSPrintHeaderComments (std::ostream &output) override
 
void PSPrintSetupComments (std::ostream &output) override
 
void ImageOrientationChanged (const ImageOrientation orient) override
 
- Protected Member Functions inherited from JPagePrinter
void SetPageIndex (const JIndex pageIndex)
 
- Protected Member Functions inherited from JPainter
JSize AlignString (JCoordinate *left, JCoordinate *top, const JString &str, const JCoordinate width, const HAlign hAlign, const JCoordinate height, const VAlign vAlign) const
 
- Protected Member Functions inherited from JBroadcaster
 JBroadcaster (const JBroadcaster &source)
 
void ListenTo (const JBroadcaster *sender)
 
void StopListening (const JBroadcaster *sender)
 
void ClearWhenGoingAway (const JBroadcaster *sender, void *pointerToMember)
 
void StopListening (const JBroadcaster *sender, const std::type_info &messageType)
 
template<class T >
void Send (JBroadcaster *recipient, const T &message)
 
template<class T >
void Broadcast (const T &message)
 
virtual void Receive (JBroadcaster *sender, const Message &message)
 
void SendWithFeedback (JBroadcaster *recipient, Message *message)
 
void BroadcastWithFeedback (Message *message)
 
virtual void ReceiveWithFeedback (JBroadcaster *sender, Message *message)
 
virtual void ReceiveGoingAway (JBroadcaster *sender)
 
- Protected Member Functions inherited from JPSPrinterBase
std::ostream & GetOutputStream ()
 
void PSSaveGraphicsState ()
 
void PSRestoreGraphicsState ()
 
JPoint ConvertToPS (const JCoordinate x, const JCoordinate y) const
 
JPoint ConvertToPS (const JPoint &pt) const
 
void PSConvertToRGB (const JColorID color, JSize *red, JSize *green, JSize *blue) const
 

Additional Inherited Members

- Static Public Member Functions inherited from JPSPrinter
static JCoordinate GetPaperWidth (const PaperType type)
 
static JCoordinate GetPaperHeight (const PaperType type)
 
- Static Public Attributes inherited from JPSPrinterBase
static const JCoordinate kPixelsPerInch = 72
 

Detailed Description

This class implements the functions required to draw to a Postscript file.

Member Enumeration Documentation

◆ Destination

Enumerator
kPrintToPrinter 
kPrintToFile 

Constructor & Destructor Documentation

◆ JXPSPrinter()

JXPSPrinter::JXPSPrinter ( const JXDisplay display)

◆ ~JXPSPrinter()

JXPSPrinter::~JXPSPrinter ( )
override

Member Function Documentation

◆ CloseDocument()

void JXPSPrinter::CloseDocument ( )
overridevirtual

Reimplemented from JPSPrinter.

◆ CollatePages()

void JXPSPrinter::CollatePages ( const bool  doIt)
inline

◆ ConfirmUserPrintSetup()

bool JXPSPrinter::ConfirmUserPrintSetup ( )

Displays a dialog with print setup information. Returns true if the user confirms printing.

◆ CreatePageSetupDialog()

JXPSPageSetupDialog * JXPSPrinter::CreatePageSetupDialog ( const PaperType  paper,
const ImageOrientation  orient 
)
protectedvirtual

Derived class can override to create an extended dialog.

◆ CreatePrintSetupDialog()

JXPSPrintSetupDialog * JXPSPrinter::CreatePrintSetupDialog ( const Destination  destination,
const JString printCmd,
const JString fileName,
const bool  collate,
const bool  bw 
)
protectedvirtual

Derived class can override to create an extended dialog.

◆ EditUserPageSetup()

bool JXPSPrinter::EditUserPageSetup ( )

Displays a dialog with print setup information. Returns true if the setup changed.

◆ GetDestination()

JXPSPrinter::Destination JXPSPrinter::GetDestination ( ) const
inline

◆ GetFileName()

const JString & JXPSPrinter::GetFileName ( ) const
inline

◆ GetPrintCmd()

const JString & JXPSPrinter::GetPrintCmd ( ) const
inline

◆ OpenDocument()

bool JXPSPrinter::OpenDocument ( )
overridevirtual

Reimplemented from JPSPrinter.

◆ ReadXPSSetup()

void JXPSPrinter::ReadXPSSetup ( std::istream &  input)

Automatically calls ReadPSSetup().

◆ SetDestination()

void JXPSPrinter::SetDestination ( const Destination  dest,
const JString printCmd,
const JString fileName 
)

cmd and fileName can be empty. They are there to force the caller to consider them.

◆ SetFileName()

void JXPSPrinter::SetFileName ( const JString name)

◆ SetPrintCmd()

void JXPSPrinter::SetPrintCmd ( const JString cmd)

◆ WillCollatePages()

bool JXPSPrinter::WillCollatePages ( ) const
inline

◆ WriteXPSSetup()

void JXPSPrinter::WriteXPSSetup ( std::ostream &  output) const

Automatically calls WritePSSetup().


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