## Class Gview

    java.lang.Object
      |
      +--java.awt.Component
            |
            +--java.awt.Container
                  |
                  +--java.awt.Window
                        |
                        +--java.awt.Frame
                              |
                              +--javax.swing.JFrame
                                    |
                                    +--Gview

All Implemented Interfaces:
  javax.accessibility.Accessible, java.util.EventListener, GpickleObserver, java.awt.image.ImageObserver, java.awt.event.KeyListener, java.awt.MenuContainer, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants

Direct Known Subclasses:
  Nav

public class Gview
extends javax.swing.JFrame
implements java.awt.event.KeyListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, GpickleObserver

Simple Viewer for PCL and PXL files. Use: Keyboard: PageUp and PageDown move between pages of a document. 'q' quits Usage: java Gview ../frs96.pxl

Version:
  $Revision: 1552 $
Author:
  Henry Stiles, Stefan Kemper
See Also:
  Serialized Form

Inner classes inherited from class javax.swing.JFrame
`javax.swing.JFrame.AccessibleJFrame`

Inner classes inherited from class java.awt.Frame
`java.awt.Frame.AccessibleAWTFrame`

Inner classes inherited from class java.awt.Window
`java.awt.Window.AccessibleAWTWindow`

Inner classes inherited from class java.awt.Container
`java.awt.Container.AccessibleAWTContainer`

Inner classes inherited from class java.awt.Component
`java.awt.Component.AccessibleAWTComponent`

Field Summary
`protected java.awt.image.BufferedImage` `currentPage`
`protected static boolean` `debug` enables printfs
`protected double` `desiredRes`
`protected boolean` `drag`
`protected boolean` `enableRTL` enable RTL mode in menu try with low startingRes = 25
`protected int` `lastX` used to drag translations in realtime
`protected int` `lastY`
`protected int` `newX` used to drag translations in realtime
`protected int` `newY`
`protected double` `origH`
`protected double` `origRes`
`protected double` `origW`
`protected double` `origX`
`protected double` `origY`
`protected int` `pageNumber`
`protected GpickleThread` `pickle`
`protected double` `startingRes` starting resolution 75dpi scales nicely to 300,600,1200 100dpi gives a bigger starting window.
`protected int` `totalPageCount`
`protected int` `tx`
`protected int` `ty`
`protected double` `zoomWindowRatio` derived classes like: Nav will be 1/zoomWindowRatio in size startingRes = 100; zoomWindowRation = 2; Nav window res is 50.

Fields inherited from class javax.swing.JFrame
`accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled`

Fields inherited from class java.awt.Frame
`CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR`

Fields inherited from class java.awt.Component
`BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

Fields inherited from interface javax.swing.WindowConstants
`DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE`

Fields inherited from interface java.awt.image.ImageObserver
`ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

Constructor Summary
`Gview()` constructor

Method Summary
`void` `imageIsReady(java.awt.image.BufferedImage newImage)` callback from PickleObserver occurs when Image is complete.
`void` `keyPressed(java.awt.event.KeyEvent e)` Page Up and Page Down Keys Increment and Decrement the current page respectively.
`void` `keyReleased(java.awt.event.KeyEvent e)` Unused required by KeyListener
`void` `keyTyped(java.awt.event.KeyEvent e)` Unused required by KeyListener
`static void` `main(java.lang.String[] args)` main program
`void` `mouseClicked(java.awt.event.MouseEvent e)`
`void` `mouseDragged(java.awt.event.MouseEvent e)`
`void` `mouseEntered(java.awt.event.MouseEvent e)`
`void` `mouseExited(java.awt.event.MouseEvent e)`
`void` `mouseMoved(java.awt.event.MouseEvent e)`
`void` `mousePressed(java.awt.event.MouseEvent e)` starts drag translation, or popup menu
`void` `mouseReleased(java.awt.event.MouseEvent e)` ends drag translation
`void` `nextPage()`
`void` `paint(java.awt.Graphics g)` paint frame contents
`void` `prevPage()`
`protected void` `runJob(java.lang.String[] args, double resolution, boolean getPageCount)` Sets the job, opening/reopening the window based on resolution.
`void` `runMain(java.lang.String[] args)` defaults settings for runJob, override for different defaults.
`void` `setPage(int _pageNumber)`
`protected void` `setPageCount(int pageCount)` setting page count so that multiple views can share the same page count result
`protected void` `translate(int x, int y)`
`protected void` `translateTo(double x1, double y1)`
`static java.lang.String` `usage()` usage:
`protected void` `zoomIn(int x, int y)` Increase resolution by factor of 2
`protected void` `zoomOut(int x, int y)` decrease resolution by factor of 2
`protected void` `zoomToRes(float res)` Set zoom resolution to asked for resolution at 0,0

Methods inherited from class javax.swing.JFrame
`addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isRootPaneCheckingEnabled, paramString, processKeyEvent, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update`

Methods inherited from class java.awt.Frame
`addNotify, finalize, getCursorType, getFrames, getIconImage, getMenuBar, getState, getTitle, isResizable, remove, removeNotify, setCursor, setIconImage, setMenuBar, setResizable, setState, setTitle`

Methods inherited from class java.awt.Window
`addWindowListener, applyResourceBundle, applyResourceBundle, dispose, getFocusOwner, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getOwnedWindows, getOwner, getToolkit, getWarningString, hide, isShowing, pack, postEvent, processEvent, removeWindowListener, setCursor, show, toBack, toFront`

Methods inherited from class java.awt.Container

`add, add, add, add, add, addContainerListener, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setFont, validate, validateTree`

Methods inherited from class java.awt.Component

`action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputMethodRequests, getLocation, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isFocusTraversable, isLightweight, isOpaque, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseMotionEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus`

Methods inherited from class java.lang.Object
`clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface java.awt.MenuContainer
`getFont, postEvent`

Field Detail

### debug

    protected static final boolean debug

  enables printfs

### startingRes

    protected double startingRes

  starting resolution 75dpi scales nicely to 300,600,1200 100dpi gives a bigger starting window. 50 or even 25 may be needed for a very large plot on a small memory machine.

### zoomWindowRatio

    protected double zoomWindowRatio

  derived classes like: Nav will be 1/zoomWindowRatio in size startingRes = 100; zoomWindowRation = 2; Nav window res is 50.

### enableRTL

    protected boolean enableRTL

  enable RTL mode in menu try with low startingRes = 25

### pageNumber

    protected int pageNumber

### totalPageCount

    protected int totalPageCount

### currentPage

    protected java.awt.image.BufferedImage currentPage

### pickle

    protected GpickleThread pickle

### desiredRes

    protected double desiredRes

### origRes

    protected double origRes

### origH

    protected double origH

### origW

    protected double origW

### origX

    protected double origX

### origY

    protected double origY

### tx

    protected int tx

### ty

    protected int ty

### drag

    protected boolean drag

### lastX

    protected int lastX

  used to drag translations in realtime

### lastY

    protected int lastY

### newX

    protected int newX

  used to drag translations in realtime

### newY

    protected int newY

Constructor Detail

### Gview

    public Gview()

  constructor

Method Detail

### keyPressed

    public void keyPressed(java.awt.event.KeyEvent e)

  Page Up and Page Down Keys Increment and Decrement the current page respectively. Currently does't prevent keys strokes while a page is being generated, this give poor feedback when a key is pressed repeatedly while a long job runs.
  Specified by:
    `keyPressed` in interface `java.awt.event.KeyListener`

### keyTyped

    public void keyTyped(java.awt.event.KeyEvent e)

  Unused required by KeyListener
  Specified by:
    `keyTyped` in interface `java.awt.event.KeyListener`

### keyReleased

    public void keyReleased(java.awt.event.KeyEvent e)

  Unused required by KeyListener
  Specified by:
    `keyReleased` in interface `java.awt.event.KeyListener`

### mouseDragged

    public void mouseDragged(java.awt.event.MouseEvent e)

  Specified by:
    `mouseDragged` in interface `java.awt.event.MouseMotionListener`

### mouseMoved

    public void mouseMoved(java.awt.event.MouseEvent e)

  Specified by:
    `mouseMoved` in interface `java.awt.event.MouseMotionListener`

### paint

    public void paint(java.awt.Graphics g)

  paint frame contents
  Overrides:
    `paint` in class `java.awt.Container`

### imageIsReady

    public void imageIsReady(java.awt.image.BufferedImage newImage)

  callback from PickleObserver occurs when Image is complete.
  Specified by:
    `imageIsReady` in interface `GpickleObserver`

### mousePressed

    public void mousePressed(java.awt.event.MouseEvent e)

  starts drag translation, or popup menu
  Specified by:
    `mousePressed` in interface `java.awt.event.MouseListener`

### mouseReleased

    public void mouseReleased(java.awt.event.MouseEvent e)

  ends drag translation
  Specified by:
    `mouseReleased` in interface `java.awt.event.MouseListener`

### mouseClicked

    public void mouseClicked(java.awt.event.MouseEvent e)

  Specified by:
    `mouseClicked` in interface `java.awt.event.MouseListener`

### mouseEntered

    public void mouseEntered(java.awt.event.MouseEvent e)

  Specified by:
    `mouseEntered` in interface `java.awt.event.MouseListener`

### mouseExited

    public void mouseExited(java.awt.event.MouseEvent e)

  Specified by:
    `mouseExited` in interface `java.awt.event.MouseListener`

### setPage

    public void setPage(int _pageNumber)

### nextPage

    public void nextPage()

### prevPage

    public void prevPage()

### translate

    protected void translate(int x,
                             int y)

### translateTo

    protected void translateTo(double x1,
                               double y1)

### zoomIn

    protected void zoomIn(int x,
                          int y)

  Increase resolution by factor of 2

### zoomOut

    protected void zoomOut(int x,
                           int y)

  decrease resolution by factor of 2

### zoomToRes

    protected void zoomToRes(float res)

  Set zoom resolution to asked for resolution at 0,0

### main

    public static void main(java.lang.String[] args)

  main program

### usage

    public static java.lang.String usage()

  usage:

### runMain

    public void runMain(java.lang.String[] args)

  defaults settings for runJob, override for different defaults.

### setPageCount

    protected void setPageCount(int pageCount)

  setting page count so that multiple views can share the same page count result

### runJob

    protected void runJob(java.lang.String[] args,
                          double resolution,
                          boolean getPageCount)

  Sets the job, opening/reopening the window based on resolution.
  Parameters:
    `getPageCount` - determines if the page count should be computed.