home *** CD-ROM | disk | FTP | other *** search
- package printplugin;
-
- import java.awt.Graphics;
- import java.awt.print.PageFormat;
- import java.awt.print.Printable;
- import java.awt.print.PrinterException;
- import java.util.ArrayList;
-
- public class Printer implements Printable {
- private Page[] mPages;
-
- public Printer(PageModel[] pageModelArr, PageRenderer pageRenderer) {
- System.out.println("Printer.java: Creating pages for " + pageModelArr.length + " virtual pages");
- ArrayList pages = new ArrayList();
-
- for(int i = 0; i < pageModelArr.length; ++i) {
- Page[] p = pageRenderer.createPages(pageModelArr[i]);
-
- for(int j = 0; j < p.length; ++j) {
- pages.add(p[j]);
- }
- }
-
- this.mPages = new Page[pages.size()];
- pages.toArray(this.mPages);
- }
-
- public int getNumberOfPages() {
- return this.mPages.length;
- }
-
- public int print(Graphics g, PageFormat pageFormat, int pageIndex) throws PrinterException {
- if (pageIndex >= this.mPages.length) {
- return 1;
- } else {
- this.mPages[pageIndex].printPage(g);
- return 0;
- }
- }
- }
-