protected void drawTriangle(int x,int y,int w,int h,Color fillColor,Paint fillPaint,Color penColor,boolean shadow,String direction){
  Polygon triangle=new Polygon();
  if (direction.equals(mxConstants.DIRECTION_NORTH)) {
    triangle.addPoint(x,y + h);
    triangle.addPoint(x + w / 2,y);
    triangle.addPoint(x + w,y + h);
  }
 else   if (direction.equals(mxConstants.DIRECTION_SOUTH)) {
    triangle.addPoint(x,y);
    triangle.addPoint(x + w / 2,y + h);
    triangle.addPoint(x + w,y);
  }
 else   if (direction.equals(mxConstants.DIRECTION_WEST)) {
    triangle.addPoint(x + w,y);
    triangle.addPoint(x,y + h / 2);
    triangle.addPoint(x + w,y + h);
  }
 else {
    triangle.addPoint(x,y);
    triangle.addPoint(x + w,y + h / 2);
    triangle.addPoint(x,y + h);
  }
  drawPolygon(triangle,fillColor,fillPaint,penColor,shadow);
}

protected void drawTriangle ( int x , int y , int w , int h , Color fillColor , Paint fillPaint , Color penColor , boolean shadow , String direction ) { Polygon triangle = new Polygon ( ) ; if ( direction . equals ( mxConstants . DIRECTION_NORTH ) ) { triangle . addPoint ( x , y + h ) ; triangle . addPoint ( x + w / 2 , y ) ; triangle . addPoint ( x + w , y + h ) ; } else if ( direction . equals ( mxConstants . DIRECTION_SOUTH ) ) { triangle . addPoint ( x , y ) ; triangle . addPoint ( x + w / 2 , y + h ) ; triangle . addPoint ( x + w , y ) ; } else if ( direction . equals ( mxConstants . DIRECTION_WEST ) ) { triangle . addPoint ( x + w , y ) ; triangle . addPoint ( x , y + h / 2 ) ; triangle . addPoint ( x + w , y + h ) ; } else { triangle . addPoint ( x , y ) ; triangle . addPoint ( x + w , y + h / 2 ) ; triangle . addPoint ( x , y + h ) ; } drawPolygon ( triangle , fillColor , fillPaint , penColor , shadow ) ; }
draws a triangle shape for the given parameters .
