package chapter10;

/**
 * Title:        Chapter 10, "Getting Started with Graphics Programming"
 * Description:
 * Copyright:    Copyright (c) 2000
 * Company:      Armstrong Atlantic State University
 * @author Y. Daniel Liang
 * @version 1.0
 */

// TestArcs.java: Demonstrate drawing arcs
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.Color;
import java.awt.Graphics;

public class TestArcs extends JFrame
{
  /**Default constructor*/
  public TestArcs()
  {
    setTitle("Show Arcs");
    getContentPane().add(new ArcsPanel());
  }

  /**Main method*/
  public static void main(String[] args)
  {
    TestArcs frame = new TestArcs();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(250, 300);
    frame.setVisible(true);
  }
}

// The class for drawing arcs on a panel
class ArcsPanel extends JPanel
{
  // Draw four blazes of a fan
  public void paintComponent(Graphics g)
  {
    super.paintComponent(g);

    int xCenter = getWidth()/2;
    int yCenter = getHeight()/2;
    int radius =
      (int)(Math.min(getWidth(), getHeight())*0.4);

    int x = xCenter - radius;
    int y = yCenter - radius;

    g.fillArc(x, y, 2*radius, 2*radius, 0, 30);
    g.fillArc(x, y, 2*radius, 2*radius, 90, 30);
    g.fillArc(x, y, 2*radius, 2*radius, 180, 30);
    g.fillArc(x, y, 2*radius, 2*radius, 270, 30);
  }
}