import java.awt.*;
import java.awt.geom.*;
import ngp.shapes.*;


public class Smiley extends ngp.shapes.Group
{
    public Smiley (Point2D center,
                   Dimension size,
                   Color color)
    {
        super(center);

        // create shapes
        Oval head = new Oval(new Point2D.Double(0, 0), size, color);
        head.setFill(new ngp.fills.Gradient(color, Color.BLUE));
        Oval outline = new Oval(new Point2D.Double(0, 0), size, Color.BLACK);
        outline.setFill(new ngp.fills.None(Color.BLACK));
        Oval ltEye = new Oval(new Point2D.Double(-size.width / 8.0, -size.height / 8.0),
                              new Dimension(size.width / 10, size.height / 5),
                              Color.BLACK);
        ltEye.setFill(new ngp.fills.Image("images/marble.gif"));
        Oval rtEye = new Oval(new Point2D.Double( size.width / 8.0, -size.height / 8.0),
                              new Dimension(size.width / 10, size.height / 5),
                              Color.BLACK);
        rtEye.setFill(new ngp.fills.Image("images/marble.gif"));
        Arc smile = new Arc(new Point2D.Double(0, size.height / 20.0),
                              new Dimension(11 * size.width / 20, 11 * size.height / 20),
                              Color.BLACK, 195, 345);
        //smile.setFill(new ngp.fills.Solid(Color.BLACK));
        
        // group shapes together
        add(head);
        //add(outline);
        add(ltEye);
        add(rtEye);
        add(smile);
    }
}
