home *** CD-ROM | disk | FTP | other *** search
- package sun.awt.windows;
-
- import java.awt.Color;
- import java.awt.Font;
- import java.awt.Graphics2D;
- import java.awt.Toolkit;
- import java.awt.image.BufferedImage;
- import java.awt.print.PageFormat;
- import java.awt.print.Pageable;
- import java.awt.print.Paper;
- import java.awt.print.Printable;
- import java.awt.print.PrinterJob;
- import java.util.Properties;
- import sun.java2d.PeekGraphics;
- import sun.java2d.PeekMetrics;
- import sun.java2d.RasterPrinterJob;
-
- public class WPrinterJob extends RasterPrinterJob {
- protected static final int POLYFILL_ALTERNATE = 1;
- protected static final int POLYFILL_WINDING = 2;
- private static final int MAX_WCOLOR = 255;
- private static final String FORCE_PIPE_PROP = "sun.java2d.print.pipeline";
- private static final String FORCE_RASTER = "raster";
- private static final String FORCE_PDL = "pdl";
- private static final String SHAPE_TEXT_PROP = "sun.java2d.print.shapetext";
- private static boolean forcePDL = false;
- private static boolean forceRaster = false;
- static boolean shapeTextProp = false;
- private boolean driverDoesMultipleCopies = true;
- private boolean driverDoesCollation = true;
- private boolean userRequestedCollation = false;
- private int mPrintDC;
- private int mPrintHDevMode;
- private int mPrintHDevNames;
- private int mPrintPaperSize;
- private int mPrintXRes;
- private int mPrintYRes;
- private int mPrintPhysX;
- private int mPrintPhysY;
- private int mPrintWidth;
- private int mPrintHeight;
- private int mPageWidth;
- private int mPageHeight;
- private Color mLastColor;
- private Color mLastTextColor;
- private Font mLastFont;
- private int mLastRotation;
-
- protected void finalize() {
- this.deleteDC();
- }
-
- public PageFormat pageDialog(PageFormat var1) {
- PageFormat var2 = (PageFormat)var1.clone();
- boolean var3 = this.pageSetup(var2, (Printable)null);
- return var3 ? var2 : var1;
- }
-
- public boolean printDialog() {
- return this.jobSetup(((RasterPrinterJob)this).getPageable(), ((RasterPrinterJob)this).checkAllowedToPrintToFile());
- }
-
- private native void getDefaultPage(PageFormat var1);
-
- public PageFormat defaultPage(PageFormat var1) {
- PageFormat var2 = (PageFormat)var1.clone();
- this.getDefaultPage(var2);
- return var2;
- }
-
- protected native void validatePaper(Paper var1, Paper var2);
-
- protected Graphics2D createPathGraphics(PeekGraphics var1, PrinterJob var2, Printable var3, PageFormat var4, int var5) {
- PeekMetrics var7 = var1.getMetrics();
- WPathGraphics var6;
- if (forcePDL || !forceRaster && !var7.hasNonSolidColors() && !var7.hasCompositing()) {
- BufferedImage var8 = new BufferedImage(8, 8, 1);
- Graphics2D var9 = var8.createGraphics();
- var6 = new WPathGraphics(var9, var2, var3, var4, var5);
- } else {
- var6 = null;
- }
-
- return var6;
- }
-
- protected double getXRes() {
- return (double)this.mPrintXRes;
- }
-
- protected double getYRes() {
- return (double)this.mPrintYRes;
- }
-
- protected double getPhysicalPrintableX(Paper var1) {
- return (double)this.mPrintPhysX;
- }
-
- protected double getPhysicalPrintableY(Paper var1) {
- return (double)this.mPrintPhysY;
- }
-
- protected double getPhysicalPrintableWidth(Paper var1) {
- return (double)this.mPrintWidth;
- }
-
- protected double getPhysicalPrintableHeight(Paper var1) {
- return (double)this.mPrintHeight;
- }
-
- protected double getPhysicalPageWidth(Paper var1) {
- return (double)this.mPageWidth;
- }
-
- protected double getPhysicalPageHeight(Paper var1) {
- return (double)this.mPageHeight;
- }
-
- protected boolean isCollated() {
- return this.userRequestedCollation;
- }
-
- protected int getCollatedCopies() {
- return !this.driverDoesCollation && this.isCollated() ? ((RasterPrinterJob)this).getCopies() : 1;
- }
-
- protected int getNoncollatedCopies() {
- return !this.driverDoesMultipleCopies && !this.isCollated() ? ((RasterPrinterJob)this).getCopies() : 1;
- }
-
- protected int getPrintDC() {
- return this.mPrintDC;
- }
-
- protected void beginPath() {
- this.beginPath(this.mPrintDC);
- }
-
- protected void endPath() {
- this.endPath(this.mPrintDC);
- }
-
- protected void closeFigure() {
- this.closeFigure(this.mPrintDC);
- }
-
- protected void fillPath() {
- this.fillPath(this.mPrintDC);
- }
-
- protected void moveTo(float var1, float var2) {
- this.moveTo(this.mPrintDC, var1, var2);
- }
-
- protected void lineTo(float var1, float var2) {
- this.lineTo(this.mPrintDC, var1, var2);
- }
-
- protected void polyBezierTo(float var1, float var2, float var3, float var4, float var5, float var6) {
- this.polyBezierTo(this.mPrintDC, var1, var2, var3, var4, var5, var6);
- }
-
- protected void setPolyFillMode(int var1) {
- this.setPolyFillMode(this.mPrintDC, var1);
- }
-
- protected void selectSolidBrush(Color var1) {
- if (!var1.equals(this.mLastColor)) {
- this.mLastColor = var1;
- float[] var2 = var1.getColorComponents((float[])null);
- this.selectSolidBrush(this.mPrintDC, (int)(var2[0] * 255.0F), (int)(var2[1] * 255.0F), (int)(var2[2] * 255.0F));
- }
-
- }
-
- protected int getPenX() {
- return this.getPenX(this.mPrintDC);
- }
-
- protected int getPenY() {
- return this.getPenY(this.mPrintDC);
- }
-
- protected void selectClipPath() {
- this.selectClipPath(this.mPrintDC);
- }
-
- protected boolean setFont(Font var1, int var2) {
- boolean var3 = true;
- if (!var1.equals(this.mLastFont) || var2 != this.mLastRotation) {
- int var4 = var1.getStyle();
- var3 = this.setFont(this.mPrintDC, var1.getFontName(), var1.getSize2D(), (var4 & 1) != 0, (var4 & 2) != 0, var2);
- if (var3) {
- this.mLastFont = var1;
- this.mLastRotation = var2;
- }
- }
-
- return var3;
- }
-
- protected void setTextColor(Color var1) {
- if (!var1.equals(this.mLastTextColor)) {
- this.mLastTextColor = var1;
- float[] var2 = var1.getColorComponents((float[])null);
- this.setTextColor(this.mPrintDC, (int)(var2[0] * 255.0F), (int)(var2[1] * 255.0F), (int)(var2[2] * 255.0F));
- }
-
- }
-
- protected void textOut(String var1, float var2, float var3, Font var4) {
- this.textOut(this.mPrintDC, var1, var2, var3, var4);
- }
-
- 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) {
- this.drawImageIntRGB(this.mPrintDC, var1, var2, var3, var4, var5, var6, var7, var8, var9, var10, var11);
- }
-
- protected void startPage(PageFormat var1, Printable var2, int var3) {
- this.invalidateCachedState();
- this.deviceStartPage(var1, var2, var3);
- }
-
- protected void endPage(PageFormat var1, Printable var2, int var3) {
- this.deviceEndPage(var1, var2, var3);
- }
-
- private void invalidateCachedState() {
- this.mLastColor = null;
- this.mLastTextColor = null;
- this.mLastFont = null;
- }
-
- public native boolean pageSetup(PageFormat var1, Printable var2);
-
- private native boolean jobSetup(Pageable var1, boolean var2);
-
- protected native void initPrinter();
-
- private native void _startDoc();
-
- protected void startDoc() {
- this._startDoc();
- }
-
- protected native void endDoc();
-
- protected native void abortDoc();
-
- protected native void deleteDC();
-
- protected native void deviceStartPage(PageFormat var1, Printable var2, int var3);
-
- protected native void deviceEndPage(PageFormat var1, Printable var2, int var3);
-
- protected native void printBand(byte[] var1, int var2, int var3, int var4, int var5);
-
- protected native void beginPath(int var1);
-
- protected native void endPath(int var1);
-
- protected native void closeFigure(int var1);
-
- protected native void fillPath(int var1);
-
- protected native void moveTo(int var1, float var2, float var3);
-
- protected native void lineTo(int var1, float var2, float var3);
-
- protected native void polyBezierTo(int var1, float var2, float var3, float var4, float var5, float var6, float var7);
-
- protected native void setPolyFillMode(int var1, int var2);
-
- protected native void selectSolidBrush(int var1, int var2, int var3, int var4);
-
- protected native int getPenX(int var1);
-
- protected native int getPenY(int var1);
-
- protected native void selectClipPath(int var1);
-
- protected native boolean setLogicalFont(Font var1, int var2);
-
- protected native boolean setFont(int var1, String var2, float var3, boolean var4, boolean var5, int var6);
-
- protected native void setTextColor(int var1, int var2, int var3, int var4);
-
- protected native void textOut(int var1, String var2, float var3, float var4, Font var5);
-
- 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);
-
- static {
- Toolkit.getDefaultToolkit();
- forcePDL = false;
- forceRaster = false;
- shapeTextProp = false;
- Properties var0 = System.getProperties();
- if (var0 != null) {
- String var1 = var0.getProperty("sun.java2d.print.pipeline");
- if (var1 != null) {
- if (var1.equalsIgnoreCase("pdl")) {
- forcePDL = true;
- } else if (var1.equalsIgnoreCase("raster")) {
- forceRaster = true;
- }
- }
-
- String var2 = var0.getProperty("sun.java2d.print.shapetext");
- if (var2 != null) {
- shapeTextProp = true;
- }
- }
-
- }
- }
-