public synchronized void animatePanToAbs(Point2D p,long duration){
  m_tmpPoint.setLocation(0,0);
  m_itransform.transform(m_tmpPoint,m_tmpPoint);
  double x=p.getX();
  x=(Double.isNaN(x) ? 0 : x);
  double y=p.getY();
  y=(Double.isNaN(y) ? 0 : y);
  double w=getWidth() / (2 * m_transform.getScaleX());
  double h=getHeight() / (2 * m_transform.getScaleY());
  double dx=w - x + m_tmpPoint.getX();
  double dy=h - y + m_tmpPoint.getY();
  animatePanAbs(dx,dy,duration);
}

public synchronized void animatePanToAbs ( Point2D p , long duration ) { m_tmpPoint . setLocation ( 0 , 0 ) ; m_itransform . transform ( m_tmpPoint , m_tmpPoint ) ; double x = p . getX ( ) ; x = ( Double . isNaN ( x ) ? 0 : x ) ; double y = p . getY ( ) ; y = ( Double . isNaN ( y ) ? 0 : y ) ; double w = getWidth ( ) / ( 2 * m_transform . getScaleX ( ) ) ; double h = getHeight ( ) / ( 2 * m_transform . getScaleY ( ) ) ; double dx = w - x + m_tmpPoint . getX ( ) ; double dy = h - y + m_tmpPoint . getY ( ) ; animatePanAbs ( dx , dy , duration ) ; }
animate a pan to the specified location in absolute ( item - space ) co - ordinates using the provided duration .
