home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &… the Search for Life CD 3 / 0_CD-ROM.iso / install / jre1_3 / lib / rt.jar / sun / awt / windows / WPrinterJob.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  6.0 KB  |  316 lines

  1. package sun.awt.windows;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Font;
  5. import java.awt.Graphics2D;
  6. import java.awt.Toolkit;
  7. import java.awt.image.BufferedImage;
  8. import java.awt.print.PageFormat;
  9. import java.awt.print.Pageable;
  10. import java.awt.print.Paper;
  11. import java.awt.print.Printable;
  12. import java.awt.print.PrinterJob;
  13. import java.util.Properties;
  14. import sun.java2d.PeekGraphics;
  15. import sun.java2d.PeekMetrics;
  16. import sun.java2d.RasterPrinterJob;
  17.  
  18. public class WPrinterJob extends RasterPrinterJob {
  19.    protected static final int POLYFILL_ALTERNATE = 1;
  20.    protected static final int POLYFILL_WINDING = 2;
  21.    private static final int MAX_WCOLOR = 255;
  22.    private static final String FORCE_PIPE_PROP = "sun.java2d.print.pipeline";
  23.    private static final String FORCE_RASTER = "raster";
  24.    private static final String FORCE_PDL = "pdl";
  25.    private static final String SHAPE_TEXT_PROP = "sun.java2d.print.shapetext";
  26.    private static boolean forcePDL = false;
  27.    private static boolean forceRaster = false;
  28.    static boolean shapeTextProp = false;
  29.    private boolean driverDoesMultipleCopies = true;
  30.    private boolean driverDoesCollation = true;
  31.    private boolean userRequestedCollation = false;
  32.    private int mPrintDC;
  33.    private int mPrintHDevMode;
  34.    private int mPrintHDevNames;
  35.    private int mPrintPaperSize;
  36.    private int mPrintXRes;
  37.    private int mPrintYRes;
  38.    private int mPrintPhysX;
  39.    private int mPrintPhysY;
  40.    private int mPrintWidth;
  41.    private int mPrintHeight;
  42.    private int mPageWidth;
  43.    private int mPageHeight;
  44.    private Color mLastColor;
  45.    private Color mLastTextColor;
  46.    private Font mLastFont;
  47.    private int mLastRotation;
  48.  
  49.    protected void finalize() {
  50.       this.deleteDC();
  51.    }
  52.  
  53.    public PageFormat pageDialog(PageFormat var1) {
  54.       PageFormat var2 = (PageFormat)var1.clone();
  55.       boolean var3 = this.pageSetup(var2, (Printable)null);
  56.       return var3 ? var2 : var1;
  57.    }
  58.  
  59.    public boolean printDialog() {
  60.       return this.jobSetup(((RasterPrinterJob)this).getPageable(), ((RasterPrinterJob)this).checkAllowedToPrintToFile());
  61.    }
  62.  
  63.    private native void getDefaultPage(PageFormat var1);
  64.  
  65.    public PageFormat defaultPage(PageFormat var1) {
  66.       PageFormat var2 = (PageFormat)var1.clone();
  67.       this.getDefaultPage(var2);
  68.       return var2;
  69.    }
  70.  
  71.    protected native void validatePaper(Paper var1, Paper var2);
  72.  
  73.    protected Graphics2D createPathGraphics(PeekGraphics var1, PrinterJob var2, Printable var3, PageFormat var4, int var5) {
  74.       PeekMetrics var7 = var1.getMetrics();
  75.       WPathGraphics var6;
  76.       if (forcePDL || !forceRaster && !var7.hasNonSolidColors() && !var7.hasCompositing()) {
  77.          BufferedImage var8 = new BufferedImage(8, 8, 1);
  78.          Graphics2D var9 = var8.createGraphics();
  79.          var6 = new WPathGraphics(var9, var2, var3, var4, var5);
  80.       } else {
  81.          var6 = null;
  82.       }
  83.  
  84.       return var6;
  85.    }
  86.  
  87.    protected double getXRes() {
  88.       return (double)this.mPrintXRes;
  89.    }
  90.  
  91.    protected double getYRes() {
  92.       return (double)this.mPrintYRes;
  93.    }
  94.  
  95.    protected double getPhysicalPrintableX(Paper var1) {
  96.       return (double)this.mPrintPhysX;
  97.    }
  98.  
  99.    protected double getPhysicalPrintableY(Paper var1) {
  100.       return (double)this.mPrintPhysY;
  101.    }
  102.  
  103.    protected double getPhysicalPrintableWidth(Paper var1) {
  104.       return (double)this.mPrintWidth;
  105.    }
  106.  
  107.    protected double getPhysicalPrintableHeight(Paper var1) {
  108.       return (double)this.mPrintHeight;
  109.    }
  110.  
  111.    protected double getPhysicalPageWidth(Paper var1) {
  112.       return (double)this.mPageWidth;
  113.    }
  114.  
  115.    protected double getPhysicalPageHeight(Paper var1) {
  116.       return (double)this.mPageHeight;
  117.    }
  118.  
  119.    protected boolean isCollated() {
  120.       return this.userRequestedCollation;
  121.    }
  122.  
  123.    protected int getCollatedCopies() {
  124.       return !this.driverDoesCollation && this.isCollated() ? ((RasterPrinterJob)this).getCopies() : 1;
  125.    }
  126.  
  127.    protected int getNoncollatedCopies() {
  128.       return !this.driverDoesMultipleCopies && !this.isCollated() ? ((RasterPrinterJob)this).getCopies() : 1;
  129.    }
  130.  
  131.    protected int getPrintDC() {
  132.       return this.mPrintDC;
  133.    }
  134.  
  135.    protected void beginPath() {
  136.       this.beginPath(this.mPrintDC);
  137.    }
  138.  
  139.    protected void endPath() {
  140.       this.endPath(this.mPrintDC);
  141.    }
  142.  
  143.    protected void closeFigure() {
  144.       this.closeFigure(this.mPrintDC);
  145.    }
  146.  
  147.    protected void fillPath() {
  148.       this.fillPath(this.mPrintDC);
  149.    }
  150.  
  151.    protected void moveTo(float var1, float var2) {
  152.       this.moveTo(this.mPrintDC, var1, var2);
  153.    }
  154.  
  155.    protected void lineTo(float var1, float var2) {
  156.       this.lineTo(this.mPrintDC, var1, var2);
  157.    }
  158.  
  159.    protected void polyBezierTo(float var1, float var2, float var3, float var4, float var5, float var6) {
  160.       this.polyBezierTo(this.mPrintDC, var1, var2, var3, var4, var5, var6);
  161.    }
  162.  
  163.    protected void setPolyFillMode(int var1) {
  164.       this.setPolyFillMode(this.mPrintDC, var1);
  165.    }
  166.  
  167.    protected void selectSolidBrush(Color var1) {
  168.       if (!var1.equals(this.mLastColor)) {
  169.          this.mLastColor = var1;
  170.          float[] var2 = var1.getColorComponents((float[])null);
  171.          this.selectSolidBrush(this.mPrintDC, (int)(var2[0] * 255.0F), (int)(var2[1] * 255.0F), (int)(var2[2] * 255.0F));
  172.       }
  173.  
  174.    }
  175.  
  176.    protected int getPenX() {
  177.       return this.getPenX(this.mPrintDC);
  178.    }
  179.  
  180.    protected int getPenY() {
  181.       return this.getPenY(this.mPrintDC);
  182.    }
  183.  
  184.    protected void selectClipPath() {
  185.       this.selectClipPath(this.mPrintDC);
  186.    }
  187.  
  188.    protected boolean setFont(Font var1, int var2) {
  189.       boolean var3 = true;
  190.       if (!var1.equals(this.mLastFont) || var2 != this.mLastRotation) {
  191.          int var4 = var1.getStyle();
  192.          var3 = this.setFont(this.mPrintDC, var1.getFontName(), var1.getSize2D(), (var4 & 1) != 0, (var4 & 2) != 0, var2);
  193.          if (var3) {
  194.             this.mLastFont = var1;
  195.             this.mLastRotation = var2;
  196.          }
  197.       }
  198.  
  199.       return var3;
  200.    }
  201.  
  202.    protected void setTextColor(Color var1) {
  203.       if (!var1.equals(this.mLastTextColor)) {
  204.          this.mLastTextColor = var1;
  205.          float[] var2 = var1.getColorComponents((float[])null);
  206.          this.setTextColor(this.mPrintDC, (int)(var2[0] * 255.0F), (int)(var2[1] * 255.0F), (int)(var2[2] * 255.0F));
  207.       }
  208.  
  209.    }
  210.  
  211.    protected void textOut(String var1, float var2, float var3, Font var4) {
  212.       this.textOut(this.mPrintDC, var1, var2, var3, var4);
  213.    }
  214.  
  215.    protected void drawImageIntRGB(int[] var1, float var2, float var3, float var4, float var5, float var6, float var7, float var8, float var9, int var10, int var11) {
  216.       this.drawImageIntRGB(this.mPrintDC, var1, var2, var3, var4, var5, var6, var7, var8, var9, var10, var11);
  217.    }
  218.  
  219.    protected void startPage(PageFormat var1, Printable var2, int var3) {
  220.       this.invalidateCachedState();
  221.       this.deviceStartPage(var1, var2, var3);
  222.    }
  223.  
  224.    protected void endPage(PageFormat var1, Printable var2, int var3) {
  225.       this.deviceEndPage(var1, var2, var3);
  226.    }
  227.  
  228.    private void invalidateCachedState() {
  229.       this.mLastColor = null;
  230.       this.mLastTextColor = null;
  231.       this.mLastFont = null;
  232.    }
  233.  
  234.    public native boolean pageSetup(PageFormat var1, Printable var2);
  235.  
  236.    private native boolean jobSetup(Pageable var1, boolean var2);
  237.  
  238.    protected native void initPrinter();
  239.  
  240.    private native void _startDoc();
  241.  
  242.    protected void startDoc() {
  243.       this._startDoc();
  244.    }
  245.  
  246.    protected native void endDoc();
  247.  
  248.    protected native void abortDoc();
  249.  
  250.    protected native void deleteDC();
  251.  
  252.    protected native void deviceStartPage(PageFormat var1, Printable var2, int var3);
  253.  
  254.    protected native void deviceEndPage(PageFormat var1, Printable var2, int var3);
  255.  
  256.    protected native void printBand(byte[] var1, int var2, int var3, int var4, int var5);
  257.  
  258.    protected native void beginPath(int var1);
  259.  
  260.    protected native void endPath(int var1);
  261.  
  262.    protected native void closeFigure(int var1);
  263.  
  264.    protected native void fillPath(int var1);
  265.  
  266.    protected native void moveTo(int var1, float var2, float var3);
  267.  
  268.    protected native void lineTo(int var1, float var2, float var3);
  269.  
  270.    protected native void polyBezierTo(int var1, float var2, float var3, float var4, float var5, float var6, float var7);
  271.  
  272.    protected native void setPolyFillMode(int var1, int var2);
  273.  
  274.    protected native void selectSolidBrush(int var1, int var2, int var3, int var4);
  275.  
  276.    protected native int getPenX(int var1);
  277.  
  278.    protected native int getPenY(int var1);
  279.  
  280.    protected native void selectClipPath(int var1);
  281.  
  282.    protected native boolean setLogicalFont(Font var1, int var2);
  283.  
  284.    protected native boolean setFont(int var1, String var2, float var3, boolean var4, boolean var5, int var6);
  285.  
  286.    protected native void setTextColor(int var1, int var2, int var3, int var4);
  287.  
  288.    protected native void textOut(int var1, String var2, float var3, float var4, Font var5);
  289.  
  290.    protected native void drawImageIntRGB(int var1, int[] var2, float var3, float var4, float var5, float var6, float var7, float var8, float var9, float var10, int var11, int var12);
  291.  
  292.    static {
  293.       Toolkit.getDefaultToolkit();
  294.       forcePDL = false;
  295.       forceRaster = false;
  296.       shapeTextProp = false;
  297.       Properties var0 = System.getProperties();
  298.       if (var0 != null) {
  299.          String var1 = var0.getProperty("sun.java2d.print.pipeline");
  300.          if (var1 != null) {
  301.             if (var1.equalsIgnoreCase("pdl")) {
  302.                forcePDL = true;
  303.             } else if (var1.equalsIgnoreCase("raster")) {
  304.                forceRaster = true;
  305.             }
  306.          }
  307.  
  308.          String var2 = var0.getProperty("sun.java2d.print.shapetext");
  309.          if (var2 != null) {
  310.             shapeTextProp = true;
  311.          }
  312.       }
  313.  
  314.    }
  315. }
  316.