org.icepdf.ri.common.tools
Class CommonToolHandler

java.lang.Object
  extended by org.icepdf.ri.common.tools.CommonToolHandler
Direct Known Subclasses:
InkAnnotationHandler, SelectionBoxHandler, TextAnnotationHandler

public class CommonToolHandler
extends java.lang.Object

Common logic to all annotation handlers.

Since:
5.0

Field Summary
protected  DocumentViewController documentViewController
           
protected  DocumentViewModel documentViewModel
           
protected  AbstractPageViewComponent pageViewComponent
           
 
Constructor Summary
CommonToolHandler(DocumentViewController documentViewController, AbstractPageViewComponent pageViewComponent, DocumentViewModel documentViewModel)
          Create a new common tool handler.
 
Method Summary
protected  java.awt.geom.Point2D.Float convertMouseToPageSpace(java.awt.Point mousePoint, java.awt.geom.AffineTransform pageTransform)
          Convert the mouse coordinates to the space specified by the pageTransform matrix.
protected  java.awt.geom.Rectangle2D convertRectangleToPageSpace(java.awt.Rectangle mouseRect, java.awt.geom.AffineTransform pageTransform)
          Converts the rectangle to the space specified by the page transform.
protected  java.awt.Shape convertToPageSpace(AbstractPageViewComponent pageViewComponent, java.awt.Shape shape)
           
protected  java.awt.Shape convertToPageSpace(java.awt.Shape shape)
          Convert the shapes that make up the annotation to page space so that they will scale correctly at different zooms.
protected  java.awt.geom.AffineTransform getPageTransform()
           
protected  java.awt.geom.AffineTransform getPageTransform(AbstractPageViewComponent pageViewComponent)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

pageViewComponent

protected AbstractPageViewComponent pageViewComponent

documentViewController

protected DocumentViewController documentViewController

documentViewModel

protected DocumentViewModel documentViewModel
Constructor Detail

CommonToolHandler

public CommonToolHandler(DocumentViewController documentViewController,
                         AbstractPageViewComponent pageViewComponent,
                         DocumentViewModel documentViewModel)
Create a new common tool handler. The tool handle can operate on a view or at the page level. If the handler only operates at the view level then pageViewComponent can be set to null;

Parameters:
documentViewController - parent view controller
pageViewComponent - page view component tool acts on, can be null for view tool handlers.
documentViewModel - parent document model
Method Detail

getPageTransform

protected java.awt.geom.AffineTransform getPageTransform()

getPageTransform

protected java.awt.geom.AffineTransform getPageTransform(AbstractPageViewComponent pageViewComponent)

convertToPageSpace

protected java.awt.Shape convertToPageSpace(java.awt.Shape shape)
Convert the shapes that make up the annotation to page space so that they will scale correctly at different zooms.

Returns:
transformed bBox.

convertToPageSpace

protected java.awt.Shape convertToPageSpace(AbstractPageViewComponent pageViewComponent,
                                            java.awt.Shape shape)

convertMouseToPageSpace

protected java.awt.geom.Point2D.Float convertMouseToPageSpace(java.awt.Point mousePoint,
                                                              java.awt.geom.AffineTransform pageTransform)
Convert the mouse coordinates to the space specified by the pageTransform matrix. This is a utility method for converting the mouse coordinates to page space so that it can be used in a contains calculation for text selection.

Parameters:
mousePoint - point to convert space of
pageTransform - transform
Returns:
page space mouse coordinates.

convertRectangleToPageSpace

protected java.awt.geom.Rectangle2D convertRectangleToPageSpace(java.awt.Rectangle mouseRect,
                                                                java.awt.geom.AffineTransform pageTransform)
Converts the rectangle to the space specified by the page transform. This is a utility method for converting a selection rectangle to page space so that an intersection can be calculated to determine a selected state.

Parameters:
mouseRect - rectangle to convert space of
pageTransform - page transform
Returns:
converted rectangle.