diff options
Diffstat (limited to 'libjava/java/awt/print')
-rw-r--r-- | libjava/java/awt/print/Book.java | 14 | ||||
-rw-r--r-- | libjava/java/awt/print/Printable.java | 84 | ||||
-rw-r--r-- | libjava/java/awt/print/PrinterJob.java | 451 |
3 files changed, 282 insertions, 267 deletions
diff --git a/libjava/java/awt/print/Book.java b/libjava/java/awt/print/Book.java index 19014bacf6c..9bdd7d6fd34 100644 --- a/libjava/java/awt/print/Book.java +++ b/libjava/java/awt/print/Book.java @@ -93,7 +93,7 @@ getNumberOfPages() * This method returns the <code>PageFormat</code> object for the * specified page. * - * @param page_numbers The number of the page to get information for, where + * @param page_number The number of the page to get information for, where * page numbers start at 0. * * @return The <code>PageFormat</code> object for the specified page. @@ -112,7 +112,7 @@ getPageFormat(int page_number) * This method returns the <code>Printable</code> object for the * specified page. * - * @param page_numbers The number of the page to get information for, where + * @param page_number The number of the page to get information for, where * page numbers start at 0. * * @return The <code>Printable</code> object for the specified page. @@ -155,11 +155,11 @@ append(Printable printable, PageFormat page_format) * @exception NullPointerException If any argument is <code>null</code>. */ public void -append(Printable painter, PageFormat page_format, int num_pages) +append(Printable printable, PageFormat page_format, int num_pages) { for (int i = 0; i < num_pages; i++) { - printables.addElement(painter); + printables.addElement(printable); page_formats.addElement(page_format); } } @@ -175,7 +175,7 @@ append(Printable painter, PageFormat page_format, int num_pages) * @param printable The new <code>Printable</code> for the page. * @param page_format The new <code>PageFormat</code> for the page. * - * @param IndexOutOfBoundsException If the specified page does not exist. + * @throws IndexOutOfBoundsException If the specified page does not exist. */ public void setPage(int page_num, Printable printable, PageFormat page_format) @@ -183,6 +183,4 @@ setPage(int page_num, Printable printable, PageFormat page_format) printables.setElementAt(printable, page_num); page_formats.setElementAt(page_format, page_num); } - -} // class Book - +} diff --git a/libjava/java/awt/print/Printable.java b/libjava/java/awt/print/Printable.java index fecc01a9d37..3e63211ef15 100644 --- a/libjava/java/awt/print/Printable.java +++ b/libjava/java/awt/print/Printable.java @@ -1,5 +1,5 @@ /* Printable.java -- Renders a page to the print device - Copyright (C) 1999 Free Software Foundation, Inc. + Copyright (C) 1999, 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -35,56 +35,46 @@ this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ - package java.awt.print; import java.awt.Graphics; + /** - * This interface provides a mechanism for the actual printing of pages to the - * printer. The object implementing this interface performs the page - * rendering. - * - * @author Aaron M. Renn (arenn@urbanophile.com) - */ + * This interface provides a mechanism for the actual printing of pages to the + * printer. The object implementing this interface performs the page + * rendering. + * + * @author Aaron M. Renn (arenn@urbanophile.com) + */ public interface Printable { - -/* - * Static Variables - */ - -/** - * This value is returned by the <code>print()</code> method to indicate - * that the requested page number does not exist. - */ -int NO_SUCH_PAGE = 0; - -/** - * This value is returned by the <code>print()</code> method to indicate - * that the requested page exists and has been printed. - */ -int PAGE_EXISTS = 1; - -/*************************************************************************/ - -/** - * This method prints the specified page to the specified graphics - * context in the specified format. The pages are numbered starting - * from zero. - * - * @param graphics The graphics context to render the pages on. - * @param format The format in which to print the page. - * @param page_number The page number to print, where numbers start at zero. - * - * @return <code>PAGE_EXISTS</code> if the requested page exists and was - * successfully printed, <code>NO_SUCH_PAGE</code> otherwise. - * - * @exception PrinterException If an error occurs during printing. - */ -int -print(Graphics graphics, PageFormat format, int page_number) - throws PrinterException; - -} // interface Printable - + /** + * This value is returned by the <code>print()</code> method to indicate + * that the requested page exists and has been printed. + */ + int PAGE_EXISTS = 0; + + /** + * This value is returned by the <code>print()</code> method to indicate + * that the requested page number does not exist. + */ + int NO_SUCH_PAGE = 1; + + /** + * This method prints the specified page to the specified graphics + * context in the specified format. The pages are numbered starting + * from zero. + * + * @param graphics The graphics context to render the pages on. + * @param format The format in which to print the page. + * @param page_number The page number to print, where numbers start at zero. + * + * @return <code>PAGE_EXISTS</code> if the requested page exists and was + * successfully printed, <code>NO_SUCH_PAGE</code> otherwise. + * + * @exception PrinterException If an error occurs during printing. + */ + int print(Graphics graphics, PageFormat format, int page_number) + throws PrinterException; +} diff --git a/libjava/java/awt/print/PrinterJob.java b/libjava/java/awt/print/PrinterJob.java index 3ad456788e4..8998aa0ff89 100644 --- a/libjava/java/awt/print/PrinterJob.java +++ b/libjava/java/awt/print/PrinterJob.java @@ -1,5 +1,5 @@ /* PrinterJob.java -- This job is the printer control class - Copyright (C) 1999 Free Software Foundation, Inc. + Copyright (C) 1999, 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,219 +38,246 @@ exception statement from your version. */ package java.awt.print; -/** - * This class controls printing. - * - * @author Aaron M. Renn (arenn@urbanophile.com) - */ -public abstract class PrinterJob -{ - -/* - * Class Methods - */ - -/** - * Creates a new print job. - * - * @return A <code>PrinterJob</code> object for the newly created print job. - */ -public static PrinterJob -getPrinterJob() -{ - // FIXME: Need to fix this to load a default implementation instance. - return(null); -} - -/*************************************************************************/ - -/* - * Constructors - */ +import javax.print.DocFlavor; +import javax.print.PrintService; +import javax.print.PrintServiceLookup; +//import javax.print.StreamPrintServiceFactory; +import javax.print.attribute.PrintRequestAttributeSet; /** - * Initializes a new instance of <code>PrinterJob</code>. - */ -public -PrinterJob() -{ - ; -} - -/*************************************************************************/ - -/* - * Instance Methods + * This class controls printing. + * + * @author Aaron M. Renn (arenn@urbanophile.com) */ - -/** - * Returns the number of copies to be printed. - * - * @return The number of copies to be printed. - */ -public abstract int -getCopies(); - -/*************************************************************************/ - -/** - * Sets the number of copies to be printed. - * - * @param copies The number of copies to be printed. - */ -public abstract void setCopies (int copies); - -/*************************************************************************/ - -/** - * Returns the name of the print job. - * - * @return The name of the print job. - */ -public abstract String -getJobName(); - -/*************************************************************************/ - -/** - * Sets the name of the print job. - * - * @param job_name The name of the print job. - */ -public abstract void setJobName (String job_name); - -/*************************************************************************/ - -/** - * Returns the printing user name. - * - * @return The printing username. - */ -public abstract String -getUserName(); - -/*************************************************************************/ - -/** - * Cancels an in progress print job. - */ -public abstract void -cancel(); - -/*************************************************************************/ - -/** - * Tests whether or not this job has been cancelled. - * - * @param <code>true</code> if this job has been cancelled, <code>false</code> - * otherwise. - */ -public abstract boolean -isCancelled(); - -/*************************************************************************/ - -/** - * Returns an instance of the default page which will have the default - * paper and orientation. - * - * @return A default instance of <code>PageFormat</code>. - */ -public PageFormat -defaultPage() +public abstract class PrinterJob { - return(new PageFormat()); + // The print service associated with this job + private PrintService printer = null; + + /** + * Creates a new print job. + * + * @return A <code>PrinterJob</code> object for the newly created print job. + */ + public static PrinterJob getPrinterJob() + { + // FIXME: Need to fix this to load a default implementation instance. + return null; + } + + /** + * Initializes a new instance of <code>PrinterJob</code>. + */ + public PrinterJob() + { + } + + /** + * Returns the number of copies to be printed. + * + * @return The number of copies to be printed. + */ + public abstract int getCopies(); + + /** + * Sets the number of copies to be printed. + * + * @param copies The number of copies to be printed. + */ + public abstract void setCopies(int copies); + + /** + * Returns the name of the print job. + * + * @return The name of the print job. + */ + public abstract String getJobName(); + + /** + * Sets the name of the print job. + * + * @param job_name The name of the print job. + */ + public abstract void setJobName(String job_name); + + /** + * Returns the printing user name. + * + * @return The printing username. + */ + public abstract String getUserName(); + + /** + * Cancels an in progress print job. + */ + public abstract void cancel(); + + /** + * Tests whether or not this job has been cancelled. + * + * @return <code>true</code> if this job has been cancelled, <code>false</code> + * otherwise. + */ + public abstract boolean isCancelled(); + + /** + * Returns an instance of the default page which will have the default + * paper and orientation. + * + * @return A default instance of <code>PageFormat</code>. + */ + public PageFormat defaultPage() + { + return new PageFormat(); + } + + /** + * Clones the specified <code>PageFormat</code> object then alters the + * clone so that it represents the default page format. + * + * @param page_format The <code>PageFormat</code> to clone. + * + * @return A new default page format. + */ + public abstract PageFormat defaultPage(PageFormat page_format); + + /** + * Displays a dialog box to the user which allows the page format + * attributes to be modified. + * + * @param page_format The <code>PageFormat</code> object to modify. + * + * @return The modified <code>PageFormat</code>. + */ + public abstract PageFormat pageDialog(PageFormat page_format); + + /** + * Prints the pages. + */ + public abstract void print () throws PrinterException; + + /** + * Prints the page with given attributes. + */ + public abstract void print (PrintRequestAttributeSet attributes) + throws PrinterException; + + /** + * Displays a dialog box to the user which allows the print job + * attributes to be modified. + * + * @return <code>false</code> if the user cancels the dialog box, + * <code>true</code> otherwise. + */ + public abstract boolean printDialog(); + + /** + * Displays a dialog box to the user which allows the print job + * attributes to be modified. + * + * @return <code>false</code> if the user cancels the dialog box, + * <code>true</code> otherwise. + */ + public abstract boolean printDialog(PrintRequestAttributeSet attributes); + + /** + * This sets the pages that are to be printed. + * + * @param pageable The pages to be printed, which may not be <code>null</code>. + */ + public abstract void setPageable(Pageable pageable); + + /** + * Sets this specified <code>Printable</code> as the one to use for + * rendering the pages on the print device. + * + * @param printable The <code>Printable</code> for the print job. + */ + public abstract void setPrintable(Printable printable); + + /** + * Sets the <code>Printable</code> and the page format for the pages + * to be printed. + * + * @param printable The <code>Printable</code> for the print job. + * @param page_format The <code>PageFormat</code> for the print job. + */ + public abstract void setPrintable(Printable printable, PageFormat page_format); + + /** + * Makes any alterations to the specified <code>PageFormat</code> + * necessary to make it work with the current printer. The alterations + * are made to a clone of the input object, which is then returned. + * + * @param page_format The <code>PageFormat</code> to validate. + * + * @return The validated <code>PageFormat</code>. + */ + public abstract PageFormat validatePage(PageFormat page_format); + + /** + * Find and return 2D image print services. + * + * This is the same as calling PrintServiceLookup.lookupPrintServices() + * with Pageable service-specified DocFlavor. + * @return Array of PrintService objects, could be empty. + * @since 1.4 + */ + public static PrintService[] lookupPrintServices() + { + return new PrintService[0]; + // FIXME: + // Enable this when javax.print has this implemented. +// return PrintServiceLookup.lookupPrintServices( +// new DocFlavor("application/x-java-jvm-local-objectref", +// "java.awt.print.Pageable"), +// null); + } + + /** + * Find and return 2D image stream print services. + * + * This is the same as calling + * StreamPrintServiceFactory.lookupStreamPrintServices() + * with Pageable service-specified DocFlavor. + * @param mimeType The output format mime type, or null for any type. + * @return Array of stream print services, could be empty. + * @since 1.4 + */ + // FIXME: + // Enable when javax.print has StreamPrintServiceFactory +// public static StreamPrintServiceFactory[] lookupStreamPrintServices(String mimeType) +// { +// return StreamPrintServiceFactory.lookupStreamServiceFactories( +// new DocFlavor("application/x-java-jvm-local-objectref", +// "java.awt.print.Pageable"), +// mimeType); +// } + + /** + * Return the printer for this job. If print services aren't supported by + * the subclass, returns null. + * + * @return The associated PrintService. + * @since 1.4 + */ + public PrintService getPrintService() + { + return null; + } + + /** + * Change the printer for this print job to service. Subclasses that + * support setting the print service override this method. Throws + * PrinterException when the class doesn't support setting the printer, + * the service doesn't support Pageable or Printable interfaces for 2D + * print output. + * @param service The new printer to use. + * @throws PrinterException if service is not valid. + */ + public void setPrintService(PrintService service) + throws PrinterException + { + throw new PrinterException(); + } } - -/*************************************************************************/ - -/** - * Clones the specified <code>PageFormat</code> object then alters the - * clone so that it represents the default page format. - * - * @param page_format The <code>PageFormat</code> to clone. - * - * @return A new default page format. - */ -public abstract PageFormat -defaultPage(PageFormat page_format); - -/*************************************************************************/ - -/** - * Displays a dialog box to the user which allows the page format - * attributes to be modified. - * - * @param page_format The <code>PageFormat</code> object to modify. - * - * @return The modified <code>PageFormat</code>. - */ -public abstract PageFormat -pageDialog(PageFormat page_format); - -/*************************************************************************/ - -/** - * Prints the pages. - */ -public abstract void print () throws PrinterException; - -/** - * Displays a dialog box to the user which allows the print job - * attributes to be modified. - * - * @return <code>false</code> if the user cancels the dialog box, - * <code>true</code> otherwise. - */ -public abstract boolean -printDialog(); - -/*************************************************************************/ - -/** - * This sets the pages that are to be printed. - * - * @param pageable The pages to be printed, which may not be <code>null</code>. - */ -public abstract void -setPageable(Pageable pageable); - -/*************************************************************************/ - -/** - * Sets this specified <code>Printable</code> as the one to use for - * rendering the pages on the print device. - * - * @param printable The <code>Printable</code> for the print job. - */ -public abstract void -setPrintable(Printable printable); - -/*************************************************************************/ - -/** - * Sets the <code>Printable</code> and the page format for the pages - * to be printed. - * - * @param printable The <code>Printable</code> for the print job. - * @param page_format The <code>PageFormat</code> for the print job. - */ -public abstract void -setPrintable(Printable printable, PageFormat page_format); - -/*************************************************************************/ - -/** - * Makes any alterations to the specified <code>PageFormat</code> - * necessary to make it work with the current printer. The alterations - * are made to a clone of the input object, which is then returned. - * - * @param page_format The <code>PageFormat</code> to validate. - * - * @return The validated <code>PageFormat</code>. - */ -public abstract PageFormat -validatePage(PageFormat page); - -} // class PrinterJob - |