/*
 * Created on Jun 25, 2003
 *
 * To change this generated comment go to 
 * Window>Preferences>Java>Code Generation>Code Template
 */
package jdraw.figures;

import java.awt.*;

import jdraw.framework.*;

/**
 * @author Christoph
 */
public class LogDecorator extends Decorator {
	
	public LogDecorator(Figure f) {
		component = f;
	}

	/* (non-Javadoc)
	 * @see java.lang.Object#clone()
	 */
	public Object clone() {
		System.out.println("clone");
		return super.clone();
	}

	/* (non-Javadoc)
	 * @see jdraw.framework.Figure#contains(int, int)
	 */
	public boolean contains(int x, int y) {
		boolean result = component.contains(x, y);
		System.out.println("contains("+x+", "+y+") ->" + result);
		return result;
	}

	/* (non-Javadoc)
	 * @see jdraw.framework.Figure#draw(java.awt.Graphics)
	 */
	public void draw(Graphics g) {
		System.out.println("draw");
		component.draw(g);
	}

	/* (non-Javadoc)
	 * @see jdraw.framework.Figure#getBounds()
	 */
	public java.awt.Rectangle getBounds() {
		java.awt.Rectangle bounds = component.getBounds();
		System.out.println("getBounds -> "+ bounds);
		return bounds;
	}

	/* (non-Javadoc)
	 * @see jdraw.framework.Figure#getCenter()
	 */
	public Point getCenter() {
		Point center = component.getCenter();
		System.out.println("getCenter" + center);
		return center;
	}

	/* (non-Javadoc)
	 * @see jdraw.framework.Figure#getHandles()
	 */
	public java.util.List getHandles() {
		System.out.println("getHandles");
		return component.getHandles();
	}

	/* (non-Javadoc)
	 * @see jdraw.framework.Figure#isEmpty()
	 */
	public boolean isEmpty() {
		boolean empty = component.isEmpty();
		System.out.println("isEmpty -> " + empty);
		return empty;
	}

	/* (non-Javadoc)
	 * @see jdraw.framework.Figure#move(int, int)
	 */
	public void move(int dx, int dy) {
		System.out.println("move("+dx+", "+dy+")");
		super.move(dx, dy);
	}

	/* (non-Javadoc)
	 * @see jdraw.framework.Figure#setBounds(java.awt.Point, java.awt.Point)
	 */
	public void setBounds(Point origin, Point corner) {
		System.out.println("setBounds(" + origin + ", "+ corner + ")");
		super.setBounds(origin, corner);
	}

	/* (non-Javadoc)
	 * @see jdraw.framework.Figure#addFigureListener(jdraw.framework.FigureListener)
	 */
	public void addFigureListener(FigureListener listener) {
		System.out.println("addFigureListener");
		super.addFigureListener(listener);
	}

	/* (non-Javadoc)
	 * @see jdraw.framework.Figure#removeFigureListener(jdraw.framework.FigureListener)
	 */
	public void removeFigureListener(FigureListener listener) {
		System.out.println("removeFigureListener");
		super.removeFigureListener(listener);
	}

}
