org.eclipse.draw2d

## Class PrintOperation

- java.lang.Object
- - org.eclipse.draw2d.PrintOperation

Direct Known Subclasses:
  PrintFigureOperation

    public abstract class PrintOperation
    extends java.lang.Object

Implementation of draw2d's printing capabilities.

### Constructor Summary

Constructors
Constructor and Description
`PrintOperation()` Creates a new PrintOperation
`PrintOperation(Printer p)` Creates a new PrintOperation on Printer p

### Method Summary

Methods
`protected void` `cleanup()` Disposes the PrinterGraphics and GC objects associated with this PrintOperation.
`protected PrinterGraphics` `getFreshPrinterGraphics()` Returns a new PrinterGraphics setup for the Printer associated with this PrintOperation.
`Printer` `getPrinter()` Returns the printer.
`Rectangle` `getPrintRegion()` Returns a Rectangle that represents the region that can be printed to.
`protected void` `preparePrintSource()` This method contains all operations performed to sourceFigure prior to being printed.
`protected abstract void` `printPages()` This method is responsible for printing pages.
`protected void` `restorePrintSource()` This method contains all operations performed to sourceFigure after being printed.
`void` `run(java.lang.String jobName)` Sets the print job into motion.
`void` `setPrinter(Printer printer)` Sets the printer.
`void` `setPrintMargin(Insets margin)` Sets the page margin in pels (logical pixels) to the passed Insets.(72 pels == 1 inch)
`protected void` `setupGraphicsForPage(PrinterGraphics pg)` Manipulates the PrinterGraphics to position it to paint in the desired region of the page.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### PrintOperation

    public PrintOperation()

Creates a new PrintOperation

#### PrintOperation

    public PrintOperation(Printer p)

Creates a new PrintOperation on Printer p

Parameters:
  `p` - The printer to print on

### Method Detail

#### cleanup

    protected void cleanup()

Disposes the PrinterGraphics and GC objects associated with this PrintOperation.

#### getFreshPrinterGraphics

    protected PrinterGraphics getFreshPrinterGraphics()

Returns a new PrinterGraphics setup for the Printer associated with this PrintOperation.

Returns:
  PrinterGraphics The new PrinterGraphics

#### getPrinter

    public Printer getPrinter()

Returns the printer.

Returns:
  Printer

#### getPrintRegion

    public Rectangle getPrintRegion()

Returns a Rectangle that represents the region that can be printed to. The x, y, height, and width values are using the printers coordinates.

Returns:
  the print region

#### preparePrintSource

    protected void preparePrintSource()

This method contains all operations performed to sourceFigure prior to being printed.

#### printPages

    protected abstract void printPages()

This method is responsible for printing pages. (A page is printed by calling Printer.startPage(), followed by painting to the PrinterGraphics object, and then calling Printer.endPage()).

#### restorePrintSource

    protected void restorePrintSource()

This method contains all operations performed to sourceFigure after being printed.

#### run

    public void run(java.lang.String jobName)

Sets the print job into motion.

Parameters:
  `jobName` - A String representing the name of the print job

#### setPrinter

    public void setPrinter(Printer printer)

Sets the printer.

Parameters:
  `printer` - The printer to set

#### setPrintMargin

    public void setPrintMargin(Insets margin)

Sets the page margin in pels (logical pixels) to the passed Insets.(72 pels == 1 inch)

Parameters:
  `margin` - The margin to set on the page

#### setupGraphicsForPage

    protected void setupGraphicsForPage(PrinterGraphics pg)

Manipulates the PrinterGraphics to position it to paint in the desired region of the page. (Default is the top left corner of the page).

Parameters:
  `pg` - The PrinterGraphics to setup