package com.akjava.gwt.three.client.java.ui; import java.util.List; import com.akjava.gwt.three.client.gwt.math.XYObject; import com.akjava.gwt.three.client.js.core.Object3D; public class MovingXYControler extends AbstractMovingXYControler{ private Object3D target; private MovingEndListener listener; public Object3D getTarget() { return target; } public void setTarget(Object3D target) { this.target = target; } public MovingEndListener getListener() { return listener; } public void setListener(MovingEndListener listener) { this.listener = listener; } public MovingXYControler(List<XYObject> points,int duration,Object3D target){ super(points,duration); this.target=target; } @Override public void moveEnd() { //move finished XYObject last=points.get(points.size()-1); target.getPosition().setX(last.getX()); target.getPosition().setY(last.getY()); if(listener!=null){ listener.moveFinished(); } } @Override public void moveTo(double x, double y) { target.getPosition().setX(x); target.getPosition().setY(y); } public interface MovingEndListener { public void moveFinished(); } }