home *** CD-ROM | disk | FTP | other *** search
Java Source | 1999-04-04 | 1.9 KB | 69 lines |
- /*
- * @(#)Mirror.java 1.0 1999/04/03
- *
- * Copyright (c) 1999, David Griffiths. All Rights Reserved.
- *
- * This software is the proprietary information of David Griffiths.
- * This source code may not be published or redistributed without the
- * express permission of the author.
- *
- * THE AUTHOR MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY
- * OF THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
- * PURPOSE, OR NON-INFRINGEMENT. THE AUTHOR SHALL NOT BE LIABLE FOR ANY DAMAGES
- * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
- * THIS SOFTWARE OR ITS DERIVATIVES.
- *
- */
-
- import java.awt.Graphics;
- import java.awt.Image;
- import java.awt.Color;
- import java.lang.Math;
- import java.awt.*;
-
- public class Mirror extends java.applet.Applet {
- Image origImg, backImg;
- int w1, h1;
-
- public void init() {
- loadImage ();
- }
-
- public void loadImage () {
- MediaTracker tracker = new MediaTracker(this);
- String nextImage = getParameter ("image");
- origImg = getImage (getDocumentBase(), nextImage);
-
- tracker.addImage(origImg, 0);
-
- try {
- tracker.waitForID(0);
- }
- catch(InterruptedException e) {}
-
- w1 = origImg.getWidth (this);
- h1 = origImg.getHeight (this);
- backImg = createImage(w1 + 1, h1);
- Graphics backG = backImg.getGraphics();
- backG.drawImage(origImg, 0, 0, this);
- for (int i = 0; i < (w1 >> 1); i++) {
- backG.copyArea(i, 0, 1, h1, w1 - i, 0);
- backG.copyArea(w1 - i, 0, 1, h1, (i << 1) - w1, 0);
- backG.copyArea(w1, 0, 1, h1, - i, 0);
- }
- repaint();
- }
-
- public void update (Graphics g) {
- paint (g);
- }
-
- public void paint (Graphics g) {
- if (origImg != null)
- g.drawImage (origImg, 0, 0, this);
- if (backImg != null)
- g.drawImage (backImg, w1, 0, this);
- }
- }
-