Revision 20100 branches/v10/libraries/libFMap/src/com/iver/cit/gvsig/fmap/tools/ZoomOutRightButtonListener.java

View differences:

ZoomOutRightButtonListener.java
58 58

  
59 59

  
60 60
/**
61
 * DOCUMENT ME!
61
 * <p>Listener for doing a <i>zoom out</i> operation on the extent of the <code>ViewPort</code> of the associated {@link MapControl MapControl}
62
 *  object, selecting a point of the <code>MapControl</code> by a single click of the third button of the mouse.</p>
63
 * 
64
 * <p>Calculates the new extent <i>r</i> with this equations:
65
 *  <code><br>
66
 *   ViewPort vp = mapControl.getMapContext().getViewPort();<br>
67
 *   Point2D p2 = vp.toMapPoint(event.getPoint());<br>
68
 *   double factor = 1/MapContext.ZOOMOUTFACTOR;<br>
69
 *   Rectangle2D.Double r = new Rectangle2D.Double();<br>
70
 *   double nuevoX = p2.getX() - ((vp.getExtent().getWidth() * factor) / 2.0);<br>
71
 *   double nuevoY = p2.getY() - ((vp.getExtent().getHeight() * factor) / 2.0);<br>
72
 *   r.x = nuevoX;<br>
73
 *   r.y = nuevoY;<br>
74
 *   r.width = vp.getExtent().getWidth() * factor;<br>
75
 *   r.height = vp.getExtent().getHeight() * factor;<br>
76
 *   vp.setExtent(r);
77
 *  </code>
78
 * </p>
79
 * 
80
 * <p>The ultimately extent will be an adaptation from that, calculated by the <code>ViewPort</code>
81
 *  bearing in mind the ratio of the available rectangle.</p>
62 82
 *
83
 * @see MapContext#ZOOMOUTFACTOR
84
 * @see ViewPort#setExtent(Rectangle2D)
85
 * @see ZoomInListenerImpl
86
 * @see ZoomOutListenerImpl
87
 *
63 88
 * @author Vicente Caballero Navarro
64 89
 */
65 90
public class ZoomOutRightButtonListener implements PointListener {
91
	/**
92
	 * The image to display when the cursor is active.
93
	 */	
66 94
	private final Image izoomout = new ImageIcon(MapControl.class.getResource(
67 95
    "images/ZoomOutCursor.gif")).getImage();
96

  
97
	/**
98
	 * The cursor used to work with this tool listener.
99
	 * 
100
	 * @see #getCursor()
101
	 */
68 102
	private Cursor cur = Toolkit.getDefaultToolkit().createCustomCursor(izoomout,
69 103
    new Point(16, 16), "");
70 104

  
105
	/**
106
	 * Reference to the <code>MapControl</code> object that uses.
107
	 */
71 108
	private MapControl mapControl;
72 109

  
73
    /**
74
     * Crea un nuevo ZoomOutListenerImpl.
75
     *
76
     * @param vp DOCUMENT ME!
77
     */
110
	/**
111
	 * <p>Creates a new <code>ZoomOutRightButtonListener</code> object.</p>
112
	 * 
113
	 * @param mapControl the <code>MapControl</code> where will be applied the changes
114
	 */
78 115
    public ZoomOutRightButtonListener(MapControl mapControl) {
79 116
        this.mapControl = mapControl;
80 117
    }
81 118

  
82
    /**
83
     * @see com.iver.cit.gvsig.fmap.tools.Listeners.PointListener#point(com.iver.cit.gvsig.fmap.tools.PointEvent)
119
    /*
120
     * (non-Javadoc)
121
     * @see com.iver.cit.gvsig.fmap.tools.Listeners.PointListener#point(com.iver.cit.gvsig.fmap.tools.Events.PointEvent)
84 122
     */
85 123
    public void point(PointEvent event) {
86 124
    	if (event.getEvent().getButton() == MouseEvent.BUTTON3){
......
106 144
    	mapControl.getMapContext().clearAllCachingImageDrawnLayers();
107 145
    }
108 146

  
109
	/**
147
	/*
148
	 * (non-Javadoc)
110 149
	 * @see com.iver.cit.gvsig.fmap.tools.Listeners.ToolListener#getCursor()
111 150
	 */
112 151
	public Cursor getCursor() {
113 152
		return cur;
114 153
	}
115 154

  
116
	/**
155
	/*
156
	 * (non-Javadoc)
117 157
	 * @see com.iver.cit.gvsig.fmap.tools.Listeners.ToolListener#cancelDrawing()
118 158
	 */
119 159
	public boolean cancelDrawing() {
......
121 161
		return true;
122 162
	}
123 163

  
164
	/*
165
	 * (non-Javadoc)
166
	 * @see com.iver.cit.gvsig.fmap.tools.Listeners.PointListener#pointDoubleClick(com.iver.cit.gvsig.fmap.tools.Events.PointEvent)
167
	 */
124 168
	public void pointDoubleClick(PointEvent event) {
125 169
		// TODO Auto-generated method stub
126 170

  

Also available in: Unified diff