package visual.dynamic.described;


import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;

import app.*;
import visual.*;
import visual.dynamic.described.BuzzyOnMars;
import visual.dynamic.described.Stage;
import visual.statik.sampled.*;


/**
 * An example that uses multiple views
 *
 * @author  Prof. David Bernstein, James Madison University
 * @version 1.0
 *
 */
public class   DiptychApp
       extends AbstractMultimediaApp
{
    /**
     * The entry point
     */
    public void init()
    {
       BuzzyOnMars                    buzzy;
       Content                        mars;
       ContentFactory                 factory;
       JFrame                         window2;       
       JPanel                         contentPane;
       Stage                          stage;
       VisualizationRenderer          renderer1, renderer2;       
       VisualizationView              view1, view2;       
       

       // The Stage for Buzzy
       stage = new Stage(50);
       stage.setBackground(Color.white);
       stage.setRestartTime(7000);
       view1 = stage.getView();
       view1.setRenderer(new PartialVisualizationRenderer(
                                view1.getRenderer(),
                                0.0, 0.0));
       view1.setBounds(0,0,320,480);       

       renderer2 = new PartialVisualizationRenderer(
                       new PlainVisualizationRenderer(), 320.0, 0.0);
       view2 = new VisualizationView(stage, renderer2);
       view2.setBounds(0,0,320,480);       
       stage.addView(view2);

       factory = new ContentFactory();       
       
       mars = factory.createContent("/visual/dynamic/described/mars.gif");
       stage.add(mars);


       // Buzzy
       buzzy = new BuzzyOnMars();
       stage.add(buzzy);




       // The content pane for the main window
       contentPane = (JPanel)rootPaneContainer.getContentPane();
       contentPane.add(view1);


       // The content pane for the other window
       window2 = new JFrame();
       window2.setSize(320,480);       
       contentPane = (JPanel)window2.getContentPane();
       contentPane.add(view2);
       window2.setVisible(true);
       

       stage.start();
    }


}
