home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 March / pcp161a.iso / handson / files / copyjava.exe / com / sun / java / swing / plaf / metal / BumpBuffer.class (.txt) next >
Encoding:
Java Class File  |  1998-02-26  |  2.2 KB  |  74 lines

  1. package com.sun.java.swing.plaf.metal;
  2.  
  3. import java.awt.Canvas;
  4. import java.awt.Color;
  5. import java.awt.Component;
  6. import java.awt.Dimension;
  7. import java.awt.Frame;
  8. import java.awt.Graphics;
  9. import java.awt.Image;
  10. import java.io.Serializable;
  11.  
  12. class BumpBuffer implements Serializable {
  13.    static Frame frame = new Frame("bufferCreator");
  14.    static Component component = new Canvas();
  15.    static final int IMAGE_SIZE = 100;
  16.    static Dimension imageSize = new Dimension(100, 100);
  17.    transient Image image;
  18.    Color topColor;
  19.    Color shadowColor;
  20.    Color backColor;
  21.  
  22.    public BumpBuffer(Color var1, Color var2, Color var3) {
  23.       frame.add(component, "Center");
  24.       frame.addNotify();
  25.       this.image = component.createImage(100, 100);
  26.       this.topColor = var1;
  27.       this.shadowColor = var2;
  28.       this.backColor = var3;
  29.       this.fillBumpBuffer();
  30.    }
  31.  
  32.    public boolean hasSameColors(Color var1, Color var2, Color var3) {
  33.       return this.topColor.equals(var1) && this.shadowColor.equals(var2) && this.backColor.equals(var3);
  34.    }
  35.  
  36.    public Image getImage() {
  37.       if (this.image == null) {
  38.          this.image = component.createImage(100, 100);
  39.          this.fillBumpBuffer();
  40.       }
  41.  
  42.       return this.image;
  43.    }
  44.  
  45.    public Dimension getImageSize() {
  46.       return imageSize;
  47.    }
  48.  
  49.    protected void fillBumpBuffer() {
  50.       Graphics var1 = this.image.getGraphics();
  51.       var1.setColor(this.backColor);
  52.       var1.fillRect(0, 0, 100, 100);
  53.       int var2 = 0;
  54.       byte var3 = 50;
  55.  
  56.       for(int var4 = 0; var4 < var3; var2 += 2) {
  57.          this.paintColumn(var1, var2, var4 % 2 == 0 ? 0 : 2);
  58.          ++var4;
  59.       }
  60.  
  61.    }
  62.  
  63.    protected void paintColumn(Graphics var1, int var2, int var3) {
  64.       while(var3 <= 99) {
  65.          var1.setColor(this.topColor);
  66.          var1.drawLine(var2, var3, var2, var3);
  67.          var1.setColor(this.shadowColor);
  68.          var1.drawLine(var2 + 1, var3 + 1, var2 + 1, var3 + 1);
  69.          var3 += 4;
  70.       }
  71.  
  72.    }
  73. }
  74.