/* @(#) ZoomApp.java 1.1 2001/21/11
 * Copyright (c) 2001 Lawrence Rodrigues
 */

import java.io.*;
import java.util.*;
import java.awt.*;
import java.awt.geom.*;
import java.awt.image.*;
import java.awt.print.*;
import javax.media.jai.*;
import javax.swing.*;
import com.sun.media.jai.codec.*;

public class ZoomApp {
   protected RenderedImage renderedImage;
   protected int imageWidth, imageHeight;
    
   public static void  main(String[] args){
      ZoomApp zoom = new ZoomApp();
      if(args.length <1) 
         System.out.println("Enter a valid image file name");
      else zoom.loadAndDisplay(args[0]);
   }
 
   public void loadAndDisplay(String filename){
      RenderedOp renderedOp = JAI.create("fileload", filename);
      PlanarImage renderedImage = renderedOp.createInstance();
      BufferedImage img = renderedImage.getAsBufferedImage();
      imageWidth = renderedImage.getWidth();
      imageHeight = renderedImage.getHeight();
      displayImage(img, imageWidth, imageHeight);
   }

   public static void displayImage(BufferedImage img, int wid, int ht){
       JFrame fr = new JFrame();
       fr.addWindowListener(
          new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent e) {
               System.exit(0);
            }
          }
       );
       ZoomPanel pan = new ZoomPanel();
       pan.setBufferedImage(img);
       ZoomGUI zoomGui = new ZoomGUI(pan);
       pan.setSize(wid,ht);
       fr.getContentPane().add(pan);
       fr.pack();
       fr.setSize(wid,ht);
       fr.show();
   }
}
