ij.plugin.filter
Class Printer

java.lang.Object
  extended by ij.plugin.filter.Printer
All Implemented Interfaces:
PlugInFilter, java.awt.print.Pageable, java.awt.print.Printable

public class Printer
extends java.lang.Object
implements PlugInFilter, java.awt.print.Printable, java.awt.print.Pageable

This plugin implements the File/Page Setup and File/Print commands.


Field Summary
 
Fields inherited from interface ij.plugin.filter.PlugInFilter
CONVERT_TO_FLOAT, DOES_16, DOES_32, DOES_8C, DOES_8G, DOES_ALL, DOES_RGB, DOES_STACKS, DONE, FINAL_PROCESSING, KEEP_THRESHOLD, NO_CHANGES, NO_IMAGE_REQUIRED, NO_UNDO, PARALLELIZE_IMAGES, PARALLELIZE_STACKS, ROI_REQUIRED, SNAPSHOT, STACK_REQUIRED, SUPPORTS_MASKING
 
Fields inherited from interface java.awt.print.Printable
NO_SUCH_PAGE, PAGE_EXISTS
 
Fields inherited from interface java.awt.print.Pageable
UNKNOWN_NUMBER_OF_PAGES
 
Constructor Summary
Printer()
           
 
Method Summary
 int getNumberOfPages()
          Return the number of pages.
 java.awt.print.PageFormat getPageFormat(int pagenum)
          Return the PageFormat object for the specified page.
 java.awt.print.Printable getPrintable(int pagenum)
          This Pageable method returns the Printable object for the specified page.
 int print(java.awt.Graphics g, java.awt.print.PageFormat pf, int pageIndex)
           
 void run(ImageProcessor ip)
          Filters use this method to process the image.
 int setup(java.lang.String arg, ImagePlus imp)
          This method is called once when the filter is loaded.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Printer

public Printer()
Method Detail

getNumberOfPages

public int getNumberOfPages()
Return the number of pages. This is a Pageable method.

Specified by:
getNumberOfPages in interface java.awt.print.Pageable

getPrintable

public java.awt.print.Printable getPrintable(int pagenum)
This Pageable method returns the Printable object for the specified page. Since this class implements both Pageable and Printable, it just returns this.

Specified by:
getPrintable in interface java.awt.print.Pageable

getPageFormat

public java.awt.print.PageFormat getPageFormat(int pagenum)
Return the PageFormat object for the specified page. This is a Pageable method. This implementation uses the computed length of the page in the returned PageFormat object. The PrinterJob will use this as a clipping region, which will prevent extraneous parts of the document from being drawn in the top and bottom margins.

Specified by:
getPageFormat in interface java.awt.print.Pageable

setup

public int setup(java.lang.String arg,
                 ImagePlus imp)
Description copied from interface: PlugInFilter
This method is called once when the filter is loaded. 'arg', which may be blank, is the argument specified for this plugin in IJ_Props.txt or in the plugins.config file of a jar archive containing the plugin. 'imp' is the currently active image. This method should return a flag word that specifies the filters capabilities.

For Plugin-filters specifying the FINAL_PROCESSING flag, the setup method will be called again, this time with arg = "final" after all other processing is done.

Specified by:
setup in interface PlugInFilter

run

public void run(ImageProcessor ip)
Description copied from interface: PlugInFilter
Filters use this method to process the image. If the SUPPORTS_STACKS flag was set, it is called for each slice in a stack. With CONVERT_TO_FLOAT, the filter is called with the image data converted to a FloatProcessor (3 times per image for RGB images). ImageJ will lock the image before calling this method and unlock it when the filter is finished. For PlugInFilters specifying the NO_IMAGE_REQUIRED flag and not the DONE flag, run(ip) is called once with the argument null.

Specified by:
run in interface PlugInFilter

print

public int print(java.awt.Graphics g,
                 java.awt.print.PageFormat pf,
                 int pageIndex)
Specified by:
print in interface java.awt.print.Printable