/**************************************************************************** ** COPYRIGHT (C): 1997 Cay S. Horstmann. All Rights Reserved. ** PROJECT: Practical OO Development with C++ and Java ** FILE: Polygon.java ** PURPOSE: shape class ** VERSION 1.0 ** PROGRAMMERS: Cay Horstmann (CSH) ** RELEASE DATE: 3-15-97 (CSH) ** UPDATE HISTORY: ****************************************************************************/ package practicaloo; import java.awt.Graphics; import java.io.PrintStream; public class Polygon { public Polygon(int n) { _corners = new Point[n]; } public void set_vertex(int i, Point p) { if(0 <= i && i < _corners.length); _corners[i] = p; } public void move(int dx, int dy) { for(int i = 0; i < _corners.length; i++) _corners[i].move(dx, dy); } public void scale(Point center, double s) { for(int i = 0; i < _corners.length; i++) _corners[i].scale(center, s); } public void plot(Graphics g) { for(int i = 0; i < _corners.length; i++) { int j = (i + 1) % _corners.length; g.drawLine(_corners[i].get_x(), _corners[i].get_y(), _corners[j].get_x(), _corners[j].get_y()); } } public void print(PrintStream p) { p.print(System.out); } public Point vertex(int i) { return _corners[i]; } private Point[] _corners; }