home *** CD-ROM | disk | FTP | other *** search
- import java.applet.Applet;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Dimension;
- import java.awt.Graphics;
- import java.awt.Image;
-
- public class ImageUpdater extends Applet {
- Image bigimg;
- Image smallimg;
- int smallx;
- int smally;
- int smallw;
- int smallh;
- boolean sizeknown = false;
- boolean errored = false;
-
- public void init() {
- this.bigimg = ((Applet)this).getImage(((Applet)this).getCodeBase(), "../images/bigimg.gif");
- this.smallimg = ((Applet)this).getImage(((Applet)this).getCodeBase(), "../images/smallimg.gif");
- this.positionImages();
- }
-
- public boolean imageUpdate(Image var1, int var2, int var3, int var4, int var5, int var6) {
- if ((var2 & 64) != 0) {
- this.errored = true;
- }
-
- if ((var2 & 3) != 0) {
- this.positionImages();
- }
-
- boolean var7 = (var2 & 112) != 0;
- ((Component)this).repaint((long)(var7 ? 0 : 100));
- return !var7;
- }
-
- public synchronized void positionImages() {
- Dimension var1 = ((Component)this).size();
- int var2 = this.bigimg.getWidth(this);
- int var3 = this.bigimg.getHeight(this);
- this.smallw = this.smallimg.getWidth(this);
- this.smallh = this.smallimg.getHeight(this);
- if (var2 >= 0 && var3 >= 0 && this.smallw >= 0 && this.smallh >= 0) {
- this.smallw = this.smallw * var1.width / var2;
- this.smallh = this.smallh * var1.height / var3;
- this.smallx = (var1.width - this.smallw) / 2;
- this.smally = (var1.height - this.smallh) / 2;
- this.sizeknown = true;
- }
- }
-
- public synchronized void paint(Graphics var1) {
- Dimension var2 = ((Component)this).size();
- int var3 = var2.width;
- int var4 = var2.height;
- if (this.errored) {
- var1.setColor(Color.red);
- var1.fillRect(0, 0, var3, var4);
- } else {
- var1.drawImage(this.bigimg, 0, 0, var3, var4, this);
- if (this.sizeknown) {
- var1.drawImage(this.smallimg, this.smallx, this.smally, this.smallw, this.smallh, this);
- }
-
- }
- }
- }
-