home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1999 April / DPPCPRO0499.ISO / April / Netobjs / Install.exe / data1.cab / Components / AdBanner / ColumnTransition.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-12-16  |  1.8 KB  |  56 lines

  1. import java.awt.image.MemoryImageSource;
  2.  
  3. public class ColumnTransition extends BannerTransition {
  4.    static final int WIDTH_INCREMENT = 3;
  5.    static final int MAX_COLUMN_WIDTH = 24;
  6.    int lastMaxColumnsWidth;
  7.    int lastColumnsStart;
  8.    int columnWidth = 3;
  9.  
  10.    public ColumnTransition() {
  11.       super.numOfFrames = 7;
  12.    }
  13.  
  14.    public void finishInit() {
  15.       super.delay = 200;
  16.       this.lastMaxColumnsWidth = super.imageWidth % 24;
  17.       this.lastColumnsStart = super.imageWidth - this.lastMaxColumnsWidth;
  18.       System.arraycopy(super.owner.banners[super.owner.currentBanner].imagePixels, 0, super.workPixels, 0, super.pixelsPerImage);
  19.  
  20.       for(int var1 = 0; var1 < super.numOfFrames; ++var1) {
  21.          try {
  22.             Thread.sleep(100L);
  23.          } catch (InterruptedException var3) {
  24.          }
  25.  
  26.          this.NextFrame();
  27.  
  28.          try {
  29.             Thread.sleep(150L);
  30.          } catch (InterruptedException var2) {
  31.          }
  32.  
  33.          super.frames[var1] = super.owner.createImage(new MemoryImageSource(super.imageWidth, super.imageHeight, super.workPixels, 0, super.imageWidth));
  34.          super.owner.prepareImage(super.frames[var1], super.owner);
  35.          this.columnWidth += 3;
  36.       }
  37.  
  38.       super.workPixels = null;
  39.    }
  40.  
  41.    void NextFrame() {
  42.       int var1 = 24 - this.columnWidth;
  43.  
  44.       for(int var2 = super.pixelsPerImage - super.imageWidth; var2 >= 0; var2 -= super.imageWidth) {
  45.          for(int var3 = 0; var3 < this.lastColumnsStart; var3 += 24) {
  46.             System.arraycopy(super.owner.banners[super.owner.nextBanner].imagePixels, var3 + var2, super.workPixels, var1 + var3 + var2, this.columnWidth);
  47.          }
  48.  
  49.          if (var1 <= this.lastMaxColumnsWidth) {
  50.             System.arraycopy(super.owner.banners[super.owner.nextBanner].imagePixels, this.lastColumnsStart + var2, super.workPixels, this.lastColumnsStart + var1 + var2 - 1, this.lastMaxColumnsWidth - var1 + 1);
  51.          }
  52.       }
  53.  
  54.    }
  55. }
  56.