Class BigPrint

  • All Implemented Interfaces:
    Print

    public final class BigPrint
    extends java.lang.Object
    implements Print
    A wrapper for prints whose minimum size is too large to fit on one page. The target's content is divided across multiple pages like a spreadsheet. Pages are printed in order left-to-right, then top-to-bottom.

    Note that this print lays out content under the assumption that every page will have the same pixel width and height. If a BigPrint is wrapped in a print that violates this expectation, it is likely that the output will skip and/or repeat certain portions of the target's content. Some examples of this behavior:

    • BorderPrint changes the available page height of the target, depending on whether the top and bottom borders are open or closed.
    • ColumnPrint often changes the width from column to column, if the total width is not evenly divisible by the number of columns.
    Author:
    Matthew Hall
    • Constructor Summary

      Constructors 
      Constructor Description
      BigPrint​(Print target)
      Constructs a BigPrint.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object obj)  
      Print getTarget()
      Returns the wrapped print which is being split across pages.
      int hashCode()  
      PrintIterator iterator​(org.eclipse.swt.graphics.Device device, org.eclipse.swt.graphics.GC gc)
      Returns a PrintIterator for laying out the contents of this Print.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • BigPrint

        public BigPrint​(Print target)
        Constructs a BigPrint.
        Parameters:
        target -
    • Method Detail

      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • getTarget

        public Print getTarget()
        Returns the wrapped print which is being split across pages.
        Returns:
        the wrapped print which is being split across pages.
      • iterator

        public PrintIterator iterator​(org.eclipse.swt.graphics.Device device,
                                      org.eclipse.swt.graphics.GC gc)
        Description copied from interface: Print
        Returns a PrintIterator for laying out the contents of this Print. The iterator uses a snapshot of the print at the time this method is invoked, so subsequent changes to the Print will not affect the output of the iterator.
        Specified by:
        iterator in interface Print
        Parameters:
        device - the graphics device this Print will be drawn onto.
        gc - the graphics context to be used for calculating layout and drawing the Print's contents.
        Returns:
        a PrintIterator for laying out the contents of this Print.