blob: b55a6ad4514394f3b3ff61a2582c858703321e76 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2003, 2010 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 API and implementation
*******************************************************************************/
package org.eclipse.gef.internal.ui.rulers;
import org.eclipse.draw2d.ColorConstants;
import org.eclipse.draw2d.Graphics;
import org.eclipse.draw2d.geometry.PointList;
import org.eclipse.draw2d.geometry.Rectangle;
/**
* @author Pratik Shah
*/
public class GuidePlaceHolder extends GuideFigure {
public GuidePlaceHolder(boolean isHorizontal) {
super(isHorizontal);
setBackgroundColor(ColorConstants.lightGray());
}
protected void paintFigure(Graphics graphics) {
PointList list = new PointList();
if (isHorizontal()) {
Rectangle clientArea = getClientArea();
clientArea.x = clientArea.getTopRight().x - 7;
clientArea.y++;
list.addPoint(clientArea.x, clientArea.y);
list.addPoint(clientArea.x + 3, clientArea.y);
list.addPoint(clientArea.x + 6, clientArea.y + 3);
list.addPoint(clientArea.x + 3, clientArea.y + 6);
list.addPoint(clientArea.x, clientArea.y + 6);
graphics.fillPolygon(list);
graphics.drawPolygon(list);
graphics.setForegroundColor(ColorConstants.buttonLightest());
graphics.drawLine(clientArea.x - 1, clientArea.y, clientArea.x - 1,
clientArea.y + 6);
graphics.drawLine(clientArea.x, clientArea.y - 1, clientArea.x + 3,
clientArea.y - 1);
graphics.drawLine(clientArea.x, clientArea.y + 7, clientArea.x + 3,
clientArea.y + 7);
} else {
Rectangle clientArea = getClientArea();
clientArea.y = clientArea.getBottomLeft().y - 7;
clientArea.x++;
list.addPoint(clientArea.x, clientArea.y);
list.addPoint(clientArea.x + 6, clientArea.y);
list.addPoint(clientArea.x + 6, clientArea.y + 3);
list.addPoint(clientArea.x + 3, clientArea.y + 6);
list.addPoint(clientArea.x, clientArea.y + 3);
graphics.fillPolygon(list);
graphics.drawPolygon(list);
graphics.setForegroundColor(ColorConstants.buttonLightest());
graphics.drawLine(clientArea.x, clientArea.y - 1, clientArea.x + 6,
clientArea.y - 1);
graphics.drawLine(clientArea.x - 1, clientArea.y, clientArea.x - 1,
clientArea.y + 3);
graphics.drawLine(clientArea.x + 7, clientArea.y, clientArea.x + 7,
clientArea.y + 3);
}
}
}