import java.awt.*;


public class ArbreGraph extends Arbre implements FormeGeometrique {
	
	public ArbreGraph(int x, int y, int l, int h) {
		super(x, y, l, h);
		// TODO Auto-generated constructor stub
	}

	@Override
	public void dessiner(Graphics g) {
		// TODO Auto-generated method stub
		g.setColor(new Color(110,110,50));
		g.fillRect(x+(l/2)-(l/8), y+l-(l/8), l/4, h-l);
		g.setColor(new Color(0,200,0));
		g.fillOval(x,y,l,l);
		for(int i=0;i<fruits.length;i++) fruits[i].dessiner(g);
	}

	@Override
	public void dragX(int diffx) {
		// TODO Auto-generated method stub
		x += diffx;
		for(int i=0;i<fruits.length;i++) fruits[i].dragX(diffx);
	}

	@Override
	public void dragY(int diffy) {
		// TODO Auto-generated method stub
		y += diffy;
		for(int i=0;i<fruits.length;i++) fruits[i].dragY(diffy);
	}

	@Override
	public boolean inside(int px, int py) {
		// TODO Auto-generated method stub
		return (Math.sqrt(((x+l/2)-px)*((x+l/2)-px)+((y+l/2)-py)*((y+l/2)-py))<=l/2) || ((px-(x+(l/2)-(l/8))>=0) && (px-(x+(l/2)-(l/8))<=l/4) && (py-(y+l-(l/8))>=0) && (py-(y+l-(l/8))<=(h-l)));
	}

	@Override
	public boolean leavesX(int diffx, int sx) {
		// TODO Auto-generated method stub
		return ((x+diffx<0) || (x+diffx+l>sx));
	}

	@Override
	public boolean leavesY(int diffy, int sy) {
		// TODO Auto-generated method stub
		return ((y+diffy<0) || (y+diffy+h>sy));
	}

}
