equal
deleted
inserted
replaced
41 import java.awt.Image; |
41 import java.awt.Image; |
42 import java.awt.Paint; |
42 import java.awt.Paint; |
43 import java.awt.Polygon; |
43 import java.awt.Polygon; |
44 import java.awt.Shape; |
44 import java.awt.Shape; |
45 |
45 |
|
46 import java.awt.geom.Path2D; |
46 import java.text.AttributedCharacterIterator; |
47 import java.text.AttributedCharacterIterator; |
47 |
48 |
48 import java.awt.font.FontRenderContext; |
49 import java.awt.font.FontRenderContext; |
49 import java.awt.font.GlyphVector; |
50 import java.awt.font.GlyphVector; |
50 import java.awt.font.TextAttribute; |
51 import java.awt.font.TextAttribute; |
455 * @see java.awt.Graphics#drawPolygon(int[], int[], int) |
456 * @see java.awt.Graphics#drawPolygon(int[], int[], int) |
456 * @since 1.1 |
457 * @since 1.1 |
457 */ |
458 */ |
458 public void drawPolyline(int xPoints[], int yPoints[], |
459 public void drawPolyline(int xPoints[], int yPoints[], |
459 int nPoints) { |
460 int nPoints) { |
460 float fromX; |
461 |
461 float fromY; |
462 if (nPoints == 2) { |
462 float toX; |
463 draw(new Line2D.Float(xPoints[0], yPoints[0], |
463 float toY; |
464 xPoints[1], yPoints[1])); |
464 |
465 } else if (nPoints > 2) { |
465 if (nPoints > 0) { |
466 Path2D path = new Path2D.Float(Path2D.WIND_EVEN_ODD, nPoints); |
466 fromX = xPoints[0]; |
467 path.moveTo(xPoints[0], yPoints[0]); |
467 fromY = yPoints[0]; |
|
468 for(int i = 1; i < nPoints; i++) { |
468 for(int i = 1; i < nPoints; i++) { |
469 toX = xPoints[i]; |
469 path.lineTo(xPoints[i], yPoints[i]); |
470 toY = yPoints[i]; |
|
471 draw(new Line2D.Float(fromX, fromY, toX, toY)); |
|
472 fromX = toX; |
|
473 fromY = toY; |
|
474 } |
470 } |
475 } |
471 draw(path); |
476 |
472 } |
477 } |
473 } |
478 |
474 |
479 |
475 |
480 /** |
476 /** |
481 * Draws a closed polygon defined by |
477 * Draws a closed polygon defined by |