Class ZoomAndPanListener
- java.lang.Object
-
- org.insa.graphs.gui.drawing.components.ZoomAndPanListener
-
- All Implemented Interfaces:
java.awt.event.MouseListener
,java.awt.event.MouseMotionListener
,java.awt.event.MouseWheelListener
,java.util.EventListener
public class ZoomAndPanListener extends java.lang.Object implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.MouseWheelListener
-
-
Field Summary
Fields Modifier and Type Field Description private java.awt.geom.AffineTransform
coordTransform
static int
DEFAULT_MAX_ZOOM_LEVEL
static int
DEFAULT_MIN_ZOOM_LEVEL
static double
DEFAULT_ZOOM_MULTIPLICATION_FACTOR
private java.awt.Point
dragEndScreen
private java.awt.Point
dragStartScreen
private int
maxZoomLevel
private int
minZoomLevel
private java.awt.Component
targetComponent
private int
zoomLevel
private double
zoomMultiplicationFactor
-
Constructor Summary
Constructors Constructor Description ZoomAndPanListener(java.awt.Component targetComponent)
ZoomAndPanListener(java.awt.Component targetComponent, int minZoomLevel, int maxZoomLevel, double zoomMultiplicationFactor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.awt.geom.AffineTransform
getCoordTransform()
int
getZoomLevel()
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)
void
mouseReleased(java.awt.event.MouseEvent e)
void
mouseWheelMoved(java.awt.event.MouseWheelEvent e)
private void
moveCamera(java.awt.event.MouseEvent e)
void
setCoordTransform(java.awt.geom.AffineTransform coordTransform)
void
setZoomLevel(int zoomLevel)
private java.awt.geom.Point2D.Float
transformPoint(java.awt.Point p1)
void
translate(double dx, double dy)
private void
zoomCamera(java.awt.event.MouseWheelEvent e)
void
zoomIn()
void
zoomOut()
-
-
-
Field Detail
-
DEFAULT_MIN_ZOOM_LEVEL
public static final int DEFAULT_MIN_ZOOM_LEVEL
- See Also:
- Constant Field Values
-
DEFAULT_MAX_ZOOM_LEVEL
public static final int DEFAULT_MAX_ZOOM_LEVEL
- See Also:
- Constant Field Values
-
DEFAULT_ZOOM_MULTIPLICATION_FACTOR
public static final double DEFAULT_ZOOM_MULTIPLICATION_FACTOR
- See Also:
- Constant Field Values
-
targetComponent
private java.awt.Component targetComponent
-
zoomLevel
private int zoomLevel
-
minZoomLevel
private int minZoomLevel
-
maxZoomLevel
private int maxZoomLevel
-
zoomMultiplicationFactor
private double zoomMultiplicationFactor
-
dragStartScreen
private java.awt.Point dragStartScreen
-
dragEndScreen
private java.awt.Point dragEndScreen
-
coordTransform
private java.awt.geom.AffineTransform coordTransform
-
-
Method Detail
-
translate
public void translate(double dx, double dy)
-
mouseClicked
public void mouseClicked(java.awt.event.MouseEvent e)
- Specified by:
mouseClicked
in interfacejava.awt.event.MouseListener
-
mousePressed
public void mousePressed(java.awt.event.MouseEvent e)
- Specified by:
mousePressed
in interfacejava.awt.event.MouseListener
-
mouseReleased
public void mouseReleased(java.awt.event.MouseEvent e)
- Specified by:
mouseReleased
in interfacejava.awt.event.MouseListener
-
mouseEntered
public void mouseEntered(java.awt.event.MouseEvent e)
- Specified by:
mouseEntered
in interfacejava.awt.event.MouseListener
-
mouseExited
public void mouseExited(java.awt.event.MouseEvent e)
- Specified by:
mouseExited
in interfacejava.awt.event.MouseListener
-
mouseMoved
public void mouseMoved(java.awt.event.MouseEvent e)
- Specified by:
mouseMoved
in interfacejava.awt.event.MouseMotionListener
-
mouseDragged
public void mouseDragged(java.awt.event.MouseEvent e)
- Specified by:
mouseDragged
in interfacejava.awt.event.MouseMotionListener
-
mouseWheelMoved
public void mouseWheelMoved(java.awt.event.MouseWheelEvent e)
- Specified by:
mouseWheelMoved
in interfacejava.awt.event.MouseWheelListener
-
moveCamera
private void moveCamera(java.awt.event.MouseEvent e)
-
zoomCamera
private void zoomCamera(java.awt.event.MouseWheelEvent e)
-
transformPoint
private java.awt.geom.Point2D.Float transformPoint(java.awt.Point p1) throws java.awt.geom.NoninvertibleTransformException
- Throws:
java.awt.geom.NoninvertibleTransformException
-
getZoomLevel
public int getZoomLevel()
-
setZoomLevel
public void setZoomLevel(int zoomLevel)
-
zoomIn
public void zoomIn()
-
zoomOut
public void zoomOut()
-
getCoordTransform
public java.awt.geom.AffineTransform getCoordTransform()
-
setCoordTransform
public void setCoordTransform(java.awt.geom.AffineTransform coordTransform)
-
-