Package chunmap.app.tools.navigate

Source Code of chunmap.app.tools.navigate.ZoomTool

/**
* Copyright (c) 2009-2011, chunquedong(YangJiandong)
*
* This file is part of ChunMap project
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE(Version >=3)
*
* History:
*     2010-05-05  Jed Young  Creation
*/
package chunmap.app.tools.navigate;

import java.awt.AWTEvent;
import java.awt.event.MouseWheelEvent;

import chunmap.app.bench.AbstractTool;
import chunmap.app.bench.EventType;
import chunmap.app.command.ZoomCommand;
/**
* @author chunquedong
*
*/
public class ZoomTool extends AbstractTool {

  @Override
  public boolean actionEvent(AWTEvent event, EventType type) {

    if (event instanceof MouseWheelEvent) {
      MouseWheelEvent e = (MouseWheelEvent) event;

      if (MouseWheelEvent.MOUSE_WHEEL != e.getID())
        return true;

      mouseWheelMoved(e);
    }
   
    return true;
  }


  public void mouseWheelMoved(MouseWheelEvent e) {
//    Point p = new Coordinate2D(e.getX(), e.getY());
//
//    double s = -e.getWheelRotation() / 3d + 1;
//    ZoomCommand cmd=new ZoomCommand(map,s,p);
//    map.executeCommand(cmd);
//    Log.log(Logger.Debug, "zoom finish");
//    map.refreshMap();
    double x = map.getView().x2World(e.getX());
        double y = map.getView().y2World(e.getY());

        if (e.getWheelRotation()== 0) return;

        double s = (e.getWheelRotation() < 0) ? 2 : 0.5;

        ZoomCommand cmd = new ZoomCommand(map, s, x, y);
        map.executeCommand(cmd);
        map.refreshMap();
  }
}
TOP

Related Classes of chunmap.app.tools.navigate.ZoomTool

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.