package edu.ucsb.cs56.drawings.sswong;
import java.awt.geom.GeneralPath; // combinations of lines and curves
import java.awt.Shape; // general class for shapes

import java.awt.geom.Line2D; 
import java.awt.geom.Rectangle2D;
import java.awt.geom.Ellipse2D;

import edu.ucsb.cs56.drawings.utilities.ShapeTransforms;
import edu.ucsb.cs56.drawings.utilities.GeneralPathWrapper;

/**
   A vector drawing of a house that implements
   the Shape interface, and so can be drawn, as well as
   rotated, scaled, etc.
      
   @author Simon Wong
   @version for CS56, W16, UCSB
   
*/
public class Tree extends GeneralPathWrapper implements Shape
{
    /**
       Constructor
       
       @param x x coord of lower left corner of tree
       @param y y coord of lower left corner of tree
       @param trunk_radius radius of tree leaves
       @param trunk_width width of trunk
       @param trunk_height height of trunk
    */
    public Tree(double x, double y,
		double leaves_radius,
		double trunk_width, double trunk_height,)
    {
	
        // Rather than having to scale at the end, we can just
        // draw things the right way to begin with, using the
        // x, y, width and height.   If you haven't already
        // hard coded a particular drawing, this may be an easier
        // way.
        
	
	
        // Make the trunk
        
        Rectangle2D.Double trunk = 
            new Rectangle2D.Double(x+leaves_radius-(trunk_width/2),
				   y-trunk_height,
				   trunk_width, trunk_height);
	
        // Make the leaves

	Ellipse2D.Double leaves =
	    new Ellipse2D.Double(x, y-(2*leaves_radius)-trunk_height,
				 leaves_radius*2, leaves_radius*2);
        
       // put the whole tree together
	
        GeneralPath wholeTree = this.get();
        wholeTree.append(trunk, false);
        wholeTree.append(leaves, false);
       
    }
}

@@ -1303,16 +1303,165 @@
       %0A%09
+// Make the leaves%0A%0A%09Ellipse2D.Double leaves =%0A%09    new Ellipse2D.Double(x, y-(2*leaves_radius)-trunk_height,%0A%09%09%09%09 leaves_radius*2, leaves_radius*2);
 %0A%09%0A     
@@ -1658,175 +1658,8 @@
 ;%0A%09%0A
-        // Make the leaves%0A%0A%09Ellipse2D.Double leaves =%0A%09    new Ellipse2D.Double(x, y-(2*leaves_radius)-trunk_height,%0A%09%09%09%09 leaves_radius*2, leaves_radius*2);%0A        %0A
     
@@ -1763,21 +1763,22 @@
 .append(
-trunk
+leaves
 , false)
@@ -1796,38 +1796,37 @@
 holeTree.append(
-leaves
+trunk
 , false);%0A      

Update Tree.java