home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / VCafe / WDESAMPL.BIN / DrawPanel.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-03-20  |  2.3 KB  |  129 lines

  1. import java.awt.Color;
  2. import java.awt.Component;
  3. import java.awt.Event;
  4. import java.awt.Graphics;
  5. import java.awt.Panel;
  6. import java.awt.Rectangle;
  7. import java.util.Vector;
  8.  
  9. class DrawPanel extends Panel {
  10.    public static final int LINES = 0;
  11.    public static final int POINTS = 1;
  12.    int mode;
  13.    Vector lines = new Vector();
  14.    Vector colors = new Vector();
  15.    // $FF: renamed from: x1 int
  16.    int field_0;
  17.    // $FF: renamed from: y1 int
  18.    int field_1;
  19.    // $FF: renamed from: x2 int
  20.    int field_2;
  21.    // $FF: renamed from: y2 int
  22.    int field_3;
  23.    // $FF: renamed from: xl int
  24.    int field_4;
  25.    // $FF: renamed from: yl int
  26.    int field_5;
  27.  
  28.    public DrawPanel() {
  29.       ((Component)this).setBackground(Color.white);
  30.    }
  31.  
  32.    public void setDrawMode(int var1) {
  33.       switch (var1) {
  34.          case 0:
  35.          case 1:
  36.             this.mode = var1;
  37.             return;
  38.          default:
  39.             throw new IllegalArgumentException();
  40.       }
  41.    }
  42.  
  43.    public boolean handleEvent(Event var1) {
  44.       switch (var1.id) {
  45.          case 201:
  46.             System.exit(0);
  47.             return true;
  48.          case 501:
  49.             switch (this.mode) {
  50.                case 0:
  51.                   this.field_0 = var1.x;
  52.                   this.field_1 = var1.y;
  53.                   this.field_2 = -1;
  54.                   break;
  55.                case 1:
  56.                default:
  57.                   this.colors.addElement(((Component)this).getForeground());
  58.                   this.lines.addElement(new Rectangle(var1.x, var1.y, -1, -1));
  59.                   this.field_0 = var1.x;
  60.                   this.field_1 = var1.y;
  61.                   ((Component)this).repaint();
  62.             }
  63.  
  64.             return true;
  65.          case 502:
  66.             switch (this.mode) {
  67.                case 0:
  68.                   this.colors.addElement(((Component)this).getForeground());
  69.                   this.lines.addElement(new Rectangle(this.field_0, this.field_1, var1.x, var1.y));
  70.                   this.field_2 = this.field_4 = -1;
  71.                case 1:
  72.                default:
  73.                   ((Component)this).repaint();
  74.                   return true;
  75.             }
  76.          case 506:
  77.             switch (this.mode) {
  78.                case 0:
  79.                   this.field_4 = this.field_2;
  80.                   this.field_5 = this.field_3;
  81.                   this.field_2 = var1.x;
  82.                   this.field_3 = var1.y;
  83.                   break;
  84.                case 1:
  85.                default:
  86.                   this.colors.addElement(((Component)this).getForeground());
  87.                   this.lines.addElement(new Rectangle(this.field_0, this.field_1, var1.x, var1.y));
  88.                   this.field_0 = var1.x;
  89.                   this.field_1 = var1.y;
  90.             }
  91.  
  92.             ((Component)this).repaint();
  93.             return true;
  94.          default:
  95.             return false;
  96.       }
  97.    }
  98.  
  99.    public void paint(Graphics var1) {
  100.       int var2 = this.lines.size();
  101.       var1.setColor(((Component)this).getForeground());
  102.       var1.setPaintMode();
  103.  
  104.       for(int var3 = 0; var3 < var2; ++var3) {
  105.          Rectangle var4 = (Rectangle)this.lines.elementAt(var3);
  106.          var1.setColor((Color)this.colors.elementAt(var3));
  107.          if (var4.width != -1) {
  108.             var1.drawLine(var4.x, var4.y, var4.width, var4.height);
  109.          } else {
  110.             var1.drawLine(var4.x, var4.y, var4.x, var4.y);
  111.          }
  112.       }
  113.  
  114.       if (this.mode == 0) {
  115.          var1.setXORMode(((Component)this).getBackground());
  116.          if (this.field_4 != -1) {
  117.             var1.drawLine(this.field_0, this.field_1, this.field_4, this.field_5);
  118.          }
  119.  
  120.          var1.setColor(((Component)this).getForeground());
  121.          var1.setPaintMode();
  122.          if (this.field_2 != -1) {
  123.             var1.drawLine(this.field_0, this.field_1, this.field_2, this.field_3);
  124.          }
  125.       }
  126.  
  127.    }
  128. }
  129.