/*
 * Created on Apr 27, 2003
 *
 * To change this generated comment go to 
 * Window>Preferences>Java>Code Generation>Code Template
 */
package jdraw.std;

import java.awt.Cursor;
import java.awt.Graphics;
import java.awt.Rectangle;
import java.awt.Color;
import java.awt.event.MouseEvent;

import jdraw.framework.DrawView;
import jdraw.framework.Figure;
import jdraw.framework.Handle;

/**
 * @author Christoph
 */
public class CenterMarker implements Handle {
	private final static int WIDTH = 3;
	private final static int HEIGHT = 3;
	private final Figure owner;

	/**
	 * 
	 */
	public CenterMarker(Figure owner) {
		this.owner = owner;
	}

	/* (non-Javadoc)
	 * @see jdraw.framework.Handle#getOwner()
	 */
	public Figure getOwner() {
		return owner;
	}

	/* (non-Javadoc)
	 * @see jdraw.framework.Handle#getBounds()
	 */
	public Rectangle getBounds() {
		Rectangle r = owner.getBounds();
		return new Rectangle((int)r.getCenterX()-WIDTH/2, (int)r.getCenterY()-HEIGHT/2, WIDTH, HEIGHT);
	}

	/* (non-Javadoc)
	 * @see jdraw.framework.Handle#draw(java.awt.Graphics)
	 */
	public void draw(Graphics g) {
		Rectangle r = getBounds();
		Color tmp = g.getColor();
		g.setColor(Color.BLUE);
		g.drawLine(r.x, r.y, r.x+r.width, r.y+r.height);
		g.drawLine(r.x, r.y+r.height, r.x+r.width, r.y);
		g.setColor(tmp);
	}

	/* (non-Javadoc)
	 * @see jdraw.framework.Handle#getCursor()
	 */
	public Cursor getCursor() {
		return Cursor.getDefaultCursor();
	}

	/* (non-Javadoc)
	 * @see jdraw.framework.Handle#contains(int, int)
	 */
	public boolean contains(int x, int y) {
		return false;
	}

	/* (non-Javadoc)
	 * @see jdraw.framework.Handle#startInteraction(int, int, java.awt.event.MouseEvent, jdraw.framework.DrawView)
	 */
	public void startInteraction(int x, int y, MouseEvent e, DrawView v) {
	}

	/* (non-Javadoc)
	 * @see jdraw.framework.Handle#dragInteraction(int, int, java.awt.event.MouseEvent, jdraw.framework.DrawView)
	 */
	public void dragInteraction(int x, int y, MouseEvent e, DrawView v) {
	}

	/* (non-Javadoc)
	 * @see jdraw.framework.Handle#stopInteraction(int, int, java.awt.event.MouseEvent, jdraw.framework.DrawView)
	 */
	public void stopInteraction(int x, int y, MouseEvent e, DrawView v) {
	}

}
