import java.applet.*;
import java.awt.*;

public class Zoom extends Applet
{
        Image buffer, myimage;
        int x, y, oldy, width, height;
        Scrollbar scroller;
        float scalingfactor;

        public void init()
        {

                x = y = oldy = width = height = 0;
                String ImageName = getParameter("image");
                System.out.println(ImageName);
                myimage = getImage(getCodeBase(), ImageName);
                scalingfactor = (float) 1.0;
                repaint();


        }

        public void paint(Graphics g)
        {

                x = this.size().width / 2;
                y = this.size().height / 2;
                width = myimage.getWidth(this);
                height = myimage.getHeight(this);

                width *= scalingfactor;
                height *= scalingfactor;

                x -= width / 2;
                y -= height /2;
                g.drawImage(myimage, x, y, width, height, this);
        }

        public boolean handleEvent (Event e)
        {
                switch (e.id)
                {
                        case (Event.MOUSE_DOWN):
                                oldy = e.y;
                                return super.handleEvent(e);
                        case (Event.MOUSE_DRAG):
                                if (oldy > e.y)
                                        scalingfactor += (float) .1;
                                else scalingfactor -= (float) .1;
                                if (scalingfactor > (float) 5.0)
                                        scalingfactor = (float)5.0;
                                if (scalingfactor < (float) .1)
                                        scalingfactor = (float).1;
                                oldy = e.y;
                                repaint();
                                return super.handleEvent(e);

                        default:
                                return super.handleEvent(e);

                                        
                                

                }
        }


}
