public Shape createCancelIcon(int x,int y,int w,int h){
  final double xMid=x + w / 2.0;
  final double yMid=y + h / 2.0;
  path.reset();
  path.moveTo(xMid,y);
  path.quadTo(x,y,x,yMid);
  path.quadTo(x,y + h,xMid,y + h);
  path.quadTo(x + w,y + h,x + w,yMid);
  path.quadTo(x + w,y,xMid,y);
  path.closePath();
  final double xOffsetL=w / 2.0 - 3;
  final double xOffsetS=w / 2.0 - 4;
  final double yOffsetL=h / 2.0 - 3;
  final double yOffsetS=h / 2.0 - 4;
  final double offsetC=1.5;
  path.moveTo(xMid,yMid - offsetC);
  path.lineTo(xMid + xOffsetS,yMid - yOffsetL);
  path.lineTo(yMid + xOffsetL,yMid - yOffsetS);
  path.lineTo(xMid + offsetC,yMid);
  path.lineTo(xMid + xOffsetL,yMid + yOffsetS);
  path.lineTo(xMid + xOffsetS,yMid + yOffsetL);
  path.lineTo(xMid,yMid + offsetC);
  path.lineTo(xMid - xOffsetS,yMid + yOffsetL);
  path.lineTo(xMid - xOffsetL,yMid + yOffsetS);
  path.lineTo(xMid - offsetC,yMid);
  path.lineTo(xMid - xOffsetL,yMid - yOffsetS);
  path.lineTo(xMid - xOffsetS,yMid - yOffsetL);
  path.closePath();
  return path;
}

public Shape createCancelIcon ( int x , int y , int w , int h ) { final double xMid = x + w / 2.0 ; final double yMid = y + h / 2.0 ; path . reset ( ) ; path . moveTo ( xMid , y ) ; path . quadTo ( x , y , x , yMid ) ; path . quadTo ( x , y + h , xMid , y + h ) ; path . quadTo ( x + w , y + h , x + w , yMid ) ; path . quadTo ( x + w , y , xMid , y ) ; path . closePath ( ) ; final double xOffsetL = w / 2.0 - 3 ; final double xOffsetS = w / 2.0 - 4 ; final double yOffsetL = h / 2.0 - 3 ; final double yOffsetS = h / 2.0 - 4 ; final double offsetC = 1.5 ; path . moveTo ( xMid , yMid - offsetC ) ; path . lineTo ( xMid + xOffsetS , yMid - yOffsetL ) ; path . lineTo ( yMid + xOffsetL , yMid - yOffsetS ) ; path . lineTo ( xMid + offsetC , yMid ) ; path . lineTo ( xMid + xOffsetL , yMid + yOffsetS ) ; path . lineTo ( xMid + xOffsetS , yMid + yOffsetL ) ; path . lineTo ( xMid , yMid + offsetC ) ; path . lineTo ( xMid - xOffsetS , yMid + yOffsetL ) ; path . lineTo ( xMid - xOffsetL , yMid + yOffsetS ) ; path . lineTo ( xMid - offsetC , yMid ) ; path . lineTo ( xMid - xOffsetL , yMid - yOffsetS ) ; path . lineTo ( xMid - xOffsetS , yMid - yOffsetL ) ; path . closePath ( ) ; return path ; }
return a path for a " cancel " icon . this is a circle with a punched out " x " in it .
