com.jogamp.nativewindow.awt
Interface AWTPrintLifecycle

All Known Implementing Classes:
GLCanvas, GLJPanel, NewtCanvasAWT

public interface AWTPrintLifecycle

Interface describing print lifecycle to support AWT printing, e.g. on AWT GLAutoDrawables.

Implementations

Implementing GLAutoDrawable classes based on AWT supporting Component.print(Graphics) shall implement this interface.

Usage

Users attempting to print an AWT Container containing AWTPrintLifecycle elements shall consider decorating the Component.printAll(Graphics) call with
setupPrint(..) and releasePrint() on all AWTPrintLifecycle elements in the Container.
To minimize this burden, a user can use Context.setupPrint(..):

  Container cont;
  double scaleGLMatXY = 72.0/glDPI;
  int numSamples = 0; // leave multisampling as-is
  PrinterJob job;
  ...
    final AWTPrintLifecycle.Context ctx = AWTPrintLifecycle.Context.setupPrint(cont, scaleGLMatXY, scaleGLMatXY, numSamples);
    try {
       AWTEDTExecutor.singleton.invoke(true, new Runnable() {
            public void run() {
                try {
                    job.print();
                } catch (PrinterException ex) {
                    ex.printStackTrace();
                }
           } });
    } finally {
       ctx.releasePrint();
    }

 


Nested Class Summary
static class AWTPrintLifecycle.Context
          Convenient AWTPrintLifecycle context simplifying calling setupPrint(..) and releasePrint() on all AWTPrintLifecycle elements of a Container.
 
Field Summary
static int DEFAULT_PRINT_TILE_SIZE
           
 
Method Summary
 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().
 

Field Detail

DEFAULT_PRINT_TILE_SIZE

static final int DEFAULT_PRINT_TILE_SIZE
See Also:
Constant Field Values
Method Detail

setupPrint

void setupPrint(double scaleMatX,
                double scaleMatY,
                int numSamples,
                int tileWidth,
                int tileHeight)
Shall be called before PrinterJob.print().

See Usage.

Parameters:
scaleMatX - Graphics2D scaling factor, i.e. rendering 1/scaleMatX * width pixels
scaleMatY - Graphics2D scaling factor, i.e. rendering 1/scaleMatY * height pixels
numSamples - multisampling value: < 0 turns off, == 0 leaves as-is, > 0 enables using given num samples
tileWidth - custom tile width for tile renderer, pass -1 for default.
tileHeight - custom tile height for tile renderer, pass -1 for default.

releasePrint

void releasePrint()
Shall be called after PrinterJob.print().

See Usage.



Copyright 2010 JogAmp Community.