81 import javax.print.attribute.Attribute;
82 import javax.print.attribute.standard.Sides;
83 import javax.print.attribute.standard.Chromaticity;
84 import javax.print.attribute.standard.PrintQuality;
85 import javax.print.attribute.standard.PrinterResolution;
86 import javax.print.attribute.standard.SheetCollate;
87 import javax.print.attribute.IntegerSyntax;
88 import javax.print.attribute.standard.Copies;
89 import javax.print.attribute.standard.Destination;
90 import javax.print.attribute.standard.OrientationRequested;
91 import javax.print.attribute.standard.Media;
92 import javax.print.attribute.standard.MediaSizeName;
93 import javax.print.attribute.standard.MediaSize;
94 import javax.print.attribute.standard.MediaTray;
95 import javax.print.attribute.standard.PrinterName;
96 import javax.print.attribute.standard.JobMediaSheetsSupported;
97 import javax.print.attribute.standard.PageRanges;
98 import javax.print.attribute.Size2DSyntax;
99 import javax.print.StreamPrintService;
100
101 import sun.print.RasterPrinterJob;
102 import sun.print.SunAlternateMedia;
103 import sun.print.SunPageSelection;
104 import sun.print.SunMinMaxPage;
105 import sun.print.Win32MediaTray;
106 import sun.print.Win32PrintService;
107 import sun.print.Win32PrintServiceLookup;
108 import sun.print.ServiceDialog;
109 import sun.print.DialogOwner;
110
111 import java.awt.Frame;
112 import java.io.FilePermission;
113
114 import sun.java2d.Disposer;
115 import sun.java2d.DisposerRecord;
116 import sun.java2d.DisposerTarget;
117
118 /**
119 * A class which initiates and executes a Win32 printer job.
120 *
342 */
343 private String mLastFontFamily;
344 private float mLastFontSize;
345 private int mLastFontStyle;
346 private int mLastRotation;
347 private float mLastAwScale;
348
349 // for AwtPrintControl::InitPrintDialog
350 private PrinterJob pjob;
351
352 private java.awt.peer.ComponentPeer dialogOwnerPeer = null;
353
354 /* Static Initializations */
355
356 static {
357 // AWT has to be initialized for the native code to function correctly.
358 Toolkit.getDefaultToolkit();
359
360 initIDs();
361
362 Win32GraphicsEnvironment.registerJREFontsForPrinting();
363 }
364
365 /* Constructors */
366
367 public WPrinterJob()
368 {
369 Disposer.addRecord(disposerReferent,
370 handleRecord = new HandleRecord());
371 initAttributeMembers();
372 }
373
374 /* Implement DisposerTarget. Weak references to an Object can delay
375 * its storage reclaimation marginally.
376 * It won't make the native resources be release any more quickly, but
377 * by pointing the reference held by Disposer at an object which becomes
378 * no longer strongly reachable when this WPrinterJob is no longer
379 * strongly reachable, we allow the WPrinterJob to be freed more promptly
380 * than if it were the referenced object.
381 */
382 private Object disposerReferent = new Object();
|
81 import javax.print.attribute.Attribute;
82 import javax.print.attribute.standard.Sides;
83 import javax.print.attribute.standard.Chromaticity;
84 import javax.print.attribute.standard.PrintQuality;
85 import javax.print.attribute.standard.PrinterResolution;
86 import javax.print.attribute.standard.SheetCollate;
87 import javax.print.attribute.IntegerSyntax;
88 import javax.print.attribute.standard.Copies;
89 import javax.print.attribute.standard.Destination;
90 import javax.print.attribute.standard.OrientationRequested;
91 import javax.print.attribute.standard.Media;
92 import javax.print.attribute.standard.MediaSizeName;
93 import javax.print.attribute.standard.MediaSize;
94 import javax.print.attribute.standard.MediaTray;
95 import javax.print.attribute.standard.PrinterName;
96 import javax.print.attribute.standard.JobMediaSheetsSupported;
97 import javax.print.attribute.standard.PageRanges;
98 import javax.print.attribute.Size2DSyntax;
99 import javax.print.StreamPrintService;
100
101 import sun.awt.Win32FontManager;
102
103 import sun.print.RasterPrinterJob;
104 import sun.print.SunAlternateMedia;
105 import sun.print.SunPageSelection;
106 import sun.print.SunMinMaxPage;
107 import sun.print.Win32MediaTray;
108 import sun.print.Win32PrintService;
109 import sun.print.Win32PrintServiceLookup;
110 import sun.print.ServiceDialog;
111 import sun.print.DialogOwner;
112
113 import java.awt.Frame;
114 import java.io.FilePermission;
115
116 import sun.java2d.Disposer;
117 import sun.java2d.DisposerRecord;
118 import sun.java2d.DisposerTarget;
119
120 /**
121 * A class which initiates and executes a Win32 printer job.
122 *
344 */
345 private String mLastFontFamily;
346 private float mLastFontSize;
347 private int mLastFontStyle;
348 private int mLastRotation;
349 private float mLastAwScale;
350
351 // for AwtPrintControl::InitPrintDialog
352 private PrinterJob pjob;
353
354 private java.awt.peer.ComponentPeer dialogOwnerPeer = null;
355
356 /* Static Initializations */
357
358 static {
359 // AWT has to be initialized for the native code to function correctly.
360 Toolkit.getDefaultToolkit();
361
362 initIDs();
363
364 Win32FontManager.registerJREFontsForPrinting();
365 }
366
367 /* Constructors */
368
369 public WPrinterJob()
370 {
371 Disposer.addRecord(disposerReferent,
372 handleRecord = new HandleRecord());
373 initAttributeMembers();
374 }
375
376 /* Implement DisposerTarget. Weak references to an Object can delay
377 * its storage reclaimation marginally.
378 * It won't make the native resources be release any more quickly, but
379 * by pointing the reference held by Disposer at an object which becomes
380 * no longer strongly reachable when this WPrinterJob is no longer
381 * strongly reachable, we allow the WPrinterJob to be freed more promptly
382 * than if it were the referenced object.
383 */
384 private Object disposerReferent = new Object();
|