public void transform(AffineTransform at){
  clip[2]=clip[0];
  clip[3]=clip[7];
  clip[4]=clip[6];
  clip[5]=clip[1];
  at.transform(clip,0,clip,0,4);
  double xmin=clip[0], ymin=clip[1];
  double xmax=clip[6], ymax=clip[7];
  for (int i=0; i < 7; i+=2) {
    if (clip[i] < xmin)     xmin=clip[i];
    if (clip[i] > xmax)     xmax=clip[i];
    if (clip[i + 1] < ymin)     ymin=clip[i + 1];
    if (clip[i + 1] > ymax)     ymax=clip[i + 1];
  }
  clip[0]=xmin;
  clip[1]=ymin;
  clip[6]=xmax;
  clip[7]=ymax;
}

public void transform ( AffineTransform at ) { clip [ 2 ] = clip [ 0 ] ; clip [ 3 ] = clip [ 7 ] ; clip [ 4 ] = clip [ 6 ] ; clip [ 5 ] = clip [ 1 ] ; at . transform ( clip , 0 , clip , 0 , 4 ) ; double xmin = clip [ 0 ] , ymin = clip [ 1 ] ; double xmax = clip [ 6 ] , ymax = clip [ 7 ] ; for ( int i = 0 ; i < 7 ; i += 2 ) { if ( clip [ i ] < xmin ) xmin = clip [ i ] ; if ( clip [ i ] > xmax ) xmax = clip [ i ] ; if ( clip [ i + 1 ] < ymin ) ymin = clip [ i + 1 ] ; if ( clip [ i + 1 ] > ymax ) ymax = clip [ i + 1 ] ; } clip [ 0 ] = xmin ; clip [ 1 ] = ymin ; clip [ 6 ] = xmax ; clip [ 7 ] = ymax ; }
transform the clip contents . a new clip region will be created which is the bounding box of the transformed region .
