//------------------------------------------------------------------------------ // Copyright (c) 2005, 2006 IBM Corporation and others. // All rights reserved. This program and the accompanying materials // are made available under the terms of the Eclipse Public License v1.0 // which accompanies this distribution, and is available at // http://www.eclipse.org/legal/epl-v10.html // // Contributors: // IBM Corporation - initial implementation //------------------------------------------------------------------------------ package org.eclipse.epf.authoring.gef.figures; import org.eclipse.draw2d.Graphics; import org.eclipse.draw2d.Shape; import org.eclipse.draw2d.geometry.PointList; import org.eclipse.draw2d.geometry.Rectangle; /** * A figure for diamond shape. * @author Phong Nguyen Le * @since 1.0 */ public class Diamond extends Shape { private PointList diamond = new PointList(4); /** * @see Shape#fillShape(Graphics) */ protected void fillShape(Graphics g) { g.fillPolygon(diamond); } /** * @see Shape#outlineShape(Graphics) */ protected void outlineShape(Graphics g) { g.drawPolygon(diamond); } /** * @see org.eclipse.draw2d.Figure#validate() */ public void validate() { Rectangle r = getBounds().getCopy(); r.crop(getInsets()); r.resize(-1, -1); diamond.removeAllPoints(); diamond.addPoint(r.getTop()); diamond.addPoint(r.getRight()); diamond.addPoint(r.getBottom()); diamond.addPoint(r.getLeft()); } /** * @see org.eclipse.draw2d.Polyline#primTranslate(int, int) */ public void primTranslate(int x, int y) { super.primTranslate(x, y); diamond.translate(x, y); } public PointList getPoints() { return diamond; } }