28package com.jogamp.nativewindow.awt;
30import java.awt.Component;
31import java.awt.Container;
32import java.awt.Graphics;
33import java.awt.Graphics2D;
34import java.awt.print.PrinterJob;
36import jogamp.nativewindow.awt.AWTMisc;
93 void setupPrint(
double scaleMatX,
double scaleMatY,
int numSamples,
int tileWidth,
int tileHeight);
124 public static Context setupPrint(
final Container c,
final double scaleMatX,
final double scaleMatY,
final int numSamples,
final int tileWidth,
final int tileHeight) {
125 final Context t =
new Context(c, scaleMatX, scaleMatY, numSamples, tileWidth, tileHeight);
144 private final Container cont;
145 private final double scaleMatX;
146 private final double scaleMatY;
147 private final int numSamples;
148 private final int tileWidth;
149 private final int tileHeight;
152 private final AWTMisc.ComponentAction setupAction =
new AWTMisc.ComponentAction() {
154 public void run(
final Component c) {
155 ((
AWTPrintLifecycle)c).setupPrint(scaleMatX, scaleMatY, numSamples, tileWidth, tileHeight);
157 private final AWTMisc.ComponentAction releaseAction =
new AWTMisc.ComponentAction() {
159 public void run(
final Component c) {
160 ((AWTPrintLifecycle)c).releasePrint();
163 private Context(
final Container c,
final double scaleMatX,
final double scaleMatY,
final int numSamples,
final int tileWidth,
final int tileHeight) {
165 this.scaleMatX = scaleMatX;
166 this.scaleMatY = scaleMatY;
167 this.numSamples = numSamples;
168 this.tileWidth = tileWidth;
169 this.tileHeight = tileHeight;
173 count = AWTMisc.performAction(c, AWTPrintLifecycle.class, setupAction);
Convenient AWTPrintLifecycle context simplifying calling setupPrint(..) and AWTPrintLifecycle#release...
static Context setupPrint(final Container c, final double scaleMatX, final double scaleMatY, final int numSamples, final int tileWidth, final int tileHeight)
Interface describing print lifecycle to support AWT printing, e.g.
void releasePrint()
Shall be called after PrinterJob#print().
void setupPrint(double scaleMatX, double scaleMatY, int numSamples, int tileWidth, int tileHeight)
Shall be called before PrinterJob#print().
static final int DEFAULT_PRINT_TILE_SIZE