home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 139 / dpcs0999.iso / Web / CFserver / data1.cab / Java / CFJava.cab / CFJavaRuntime.cab / netscape / application / BezelBorder.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-10-01  |  7.8 KB  |  377 lines

  1. package netscape.application;
  2.  
  3. import netscape.util.ClassInfo;
  4. import netscape.util.CodingException;
  5. import netscape.util.Decoder;
  6. import netscape.util.Encoder;
  7. import netscape.util.InconsistencyException;
  8.  
  9. public class BezelBorder extends Border {
  10.    public static final int RAISED = 0;
  11.    public static final int LOWERED = 1;
  12.    public static final int GROOVED = 2;
  13.    public static final int RAISED_BUTTON = 3;
  14.    public static final int LOWERED_BUTTON = 4;
  15.    static final int RAISED_SCROLL_BUTTON = 5;
  16.    static final int LOWERED_SCROLL_BUTTON = 6;
  17.    private static Border raisedBezel;
  18.    private static Border loweredBezel;
  19.    private static Border groovedBezel;
  20.    private static Border raisedButtonBezel;
  21.    private static Border loweredButtonBezel;
  22.    private static Border raisedScrollButtonBezel;
  23.    private static Border loweredScrollButtonBezel;
  24.    private int bezelType;
  25.    private Color baseColor;
  26.    private Color lighterColor;
  27.    private Color darkerColor;
  28.    static final String bezelTypeField = "bezelType";
  29.    static final String baseColorField = "baseColor";
  30.    static final String lighterColorField = "lighterColor";
  31.    static final String darkerColorField = "darkerColor";
  32.    private static Class bezelBorderClass;
  33.    static final Color gray218 = new Color(218, 218, 218);
  34.    static final Color gray165 = new Color(165, 165, 165);
  35.    static final Color gray143 = new Color(143, 143, 143);
  36.  
  37.    public static Border raisedBezel() {
  38.       if (raisedBezel == null) {
  39.          raisedBezel = new BezelBorder(0, Color.lightGray, Color.white, Color.gray);
  40.       }
  41.  
  42.       return raisedBezel;
  43.    }
  44.  
  45.    public static Border loweredBezel() {
  46.       if (loweredBezel == null) {
  47.          loweredBezel = new BezelBorder(1, Color.lightGray, Color.white, Color.gray);
  48.       }
  49.  
  50.       return loweredBezel;
  51.    }
  52.  
  53.    public static Border groovedBezel() {
  54.       if (groovedBezel == null) {
  55.          groovedBezel = new BezelBorder(2, Color.lightGray, Color.white, Color.gray);
  56.       }
  57.  
  58.       return groovedBezel;
  59.    }
  60.  
  61.    public static Border raisedButtonBezel() {
  62.       if (raisedButtonBezel == null) {
  63.          raisedButtonBezel = new BezelBorder(3, Color.lightGray, Color.white, Color.gray);
  64.       }
  65.  
  66.       return raisedButtonBezel;
  67.    }
  68.  
  69.    public static Border loweredButtonBezel() {
  70.       if (loweredButtonBezel == null) {
  71.          loweredButtonBezel = new BezelBorder(4, Color.lightGray, Color.white, Color.gray);
  72.       }
  73.  
  74.       return loweredButtonBezel;
  75.    }
  76.  
  77.    static Border raisedScrollButtonBezel() {
  78.       if (raisedScrollButtonBezel == null) {
  79.          raisedScrollButtonBezel = new BezelBorder(5);
  80.       }
  81.  
  82.       return raisedScrollButtonBezel;
  83.    }
  84.  
  85.    static Border loweredScrollButtonBezel() {
  86.       if (loweredScrollButtonBezel == null) {
  87.          loweredScrollButtonBezel = new BezelBorder(6);
  88.       }
  89.  
  90.       return loweredScrollButtonBezel;
  91.    }
  92.  
  93.    public BezelBorder() {
  94.    }
  95.  
  96.    public BezelBorder(int var1) {
  97.       this(var1, Color.lightGray, Color.white, Color.gray);
  98.    }
  99.  
  100.    public BezelBorder(int var1, Color var2) {
  101.       this();
  102.       this.bezelType = var1;
  103.       this.baseColor = var2;
  104.       this.lighterColor = var2.lighterColor();
  105.       this.darkerColor = var2.darkerColor();
  106.    }
  107.  
  108.    public BezelBorder(int var1, Color var2, Color var3, Color var4) {
  109.       this();
  110.       this.bezelType = var1;
  111.       this.baseColor = var2;
  112.       this.lighterColor = var3;
  113.       this.darkerColor = var4;
  114.    }
  115.  
  116.    public int leftMargin() {
  117.       if (this.bezelType == 4) {
  118.          return 3;
  119.       } else {
  120.          return this.bezelType != 5 && this.bezelType != 6 ? 2 : 1;
  121.       }
  122.    }
  123.  
  124.    public int rightMargin() {
  125.       if (this.bezelType == 3) {
  126.          return 3;
  127.       } else {
  128.          return this.bezelType != 5 && this.bezelType != 6 ? 2 : 1;
  129.       }
  130.    }
  131.  
  132.    public int topMargin() {
  133.       if (this.bezelType == 4) {
  134.          return 3;
  135.       } else {
  136.          return this.bezelType != 5 && this.bezelType != 6 ? 2 : 1;
  137.       }
  138.    }
  139.  
  140.    public int bottomMargin() {
  141.       if (this.bezelType == 3) {
  142.          return 3;
  143.       } else {
  144.          return this.bezelType != 5 && this.bezelType != 6 ? 2 : 1;
  145.       }
  146.    }
  147.  
  148.    public int type() {
  149.       return this.bezelType;
  150.    }
  151.  
  152.    public void drawInRect(Graphics var1, int var2, int var3, int var4, int var5) {
  153.       switch (this.bezelType) {
  154.          case 0:
  155.             drawBezel(var1, var2, var3, var4, var5, this.baseColor, this.lighterColor, this.darkerColor, Color.darkGray, true);
  156.             return;
  157.          case 1:
  158.             drawBezel(var1, var2, var3, var4, var5, this.baseColor, this.lighterColor, this.darkerColor, Color.darkGray, false);
  159.             return;
  160.          case 2:
  161.             drawGroovedBezel(var1, var2, var3, var4, var5, this.lighterColor, this.darkerColor);
  162.             return;
  163.          case 3:
  164.             drawRaisedButtonBezel(var1, var2, var3, var4, var5);
  165.             return;
  166.          case 4:
  167.             drawLoweredButtonBezel(var1, var2, var3, var4, var5);
  168.             return;
  169.          case 5:
  170.             drawRaisedScrollButtonBezel(var1, var2, var3, var4, var5);
  171.             return;
  172.          case 6:
  173.             drawLoweredScrollButtonBezel(var1, var2, var3, var4, var5);
  174.             return;
  175.          default:
  176.             throw new InconsistencyException("Invalid bezelType: " + this.bezelType);
  177.       }
  178.    }
  179.  
  180.    private static Class bezelBorderClass() {
  181.       if (bezelBorderClass == null) {
  182.          bezelBorderClass = loweredBezel().getClass();
  183.       }
  184.  
  185.       return bezelBorderClass;
  186.    }
  187.  
  188.    public void describeClassInfo(ClassInfo var1) {
  189.       super.describeClassInfo(var1);
  190.       var1.addClass("netscape.application.BezelBorder", 1);
  191.       var1.addField("bezelType", (byte)8);
  192.       var1.addField("baseColor", (byte)18);
  193.       var1.addField("lighterColor", (byte)18);
  194.       var1.addField("darkerColor", (byte)18);
  195.    }
  196.  
  197.    public void encode(Encoder var1) throws CodingException {
  198.       super.encode(var1);
  199.       var1.encodeInt("bezelType", this.bezelType);
  200.       var1.encodeObject("baseColor", this.baseColor);
  201.       var1.encodeObject("lighterColor", this.lighterColor);
  202.       var1.encodeObject("darkerColor", this.darkerColor);
  203.    }
  204.  
  205.    public void decode(Decoder var1) throws CodingException {
  206.       super.decode(var1);
  207.       this.bezelType = var1.decodeInt("bezelType");
  208.       this.baseColor = (Color)var1.decodeObject("baseColor");
  209.       this.lighterColor = (Color)var1.decodeObject("lighterColor");
  210.       this.darkerColor = (Color)var1.decodeObject("darkerColor");
  211.       if (this.getClass() == bezelBorderClass()) {
  212.          if (this.baseColor == Color.lightGray && this.lighterColor == Color.white && this.darkerColor == Color.gray) {
  213.             switch (this.bezelType) {
  214.                case 0:
  215.                   var1.replaceObject(raisedBezel());
  216.                   return;
  217.                case 1:
  218.                   var1.replaceObject(loweredBezel());
  219.                   return;
  220.                case 2:
  221.                   var1.replaceObject(groovedBezel());
  222.                   return;
  223.                case 3:
  224.                   var1.replaceObject(raisedButtonBezel());
  225.                   return;
  226.                case 4:
  227.                   var1.replaceObject(loweredButtonBezel());
  228.                   return;
  229.                case 5:
  230.                   var1.replaceObject(raisedScrollButtonBezel());
  231.                   return;
  232.                case 6:
  233.                   var1.replaceObject(loweredScrollButtonBezel());
  234.                   return;
  235.             }
  236.          }
  237.  
  238.       }
  239.    }
  240.  
  241.    public void finishDecoding() throws CodingException {
  242.       super.finishDecoding();
  243.    }
  244.  
  245.    public static void drawBezel(Graphics var0, int var1, int var2, int var3, int var4, Color var5, Color var6, Color var7, Color var8, boolean var9) {
  246.       if (var3 != 0 && var4 != 0) {
  247.          Color var10;
  248.          Color var11;
  249.          Color var12;
  250.          Color var13;
  251.          if (var9) {
  252.             var10 = var5;
  253.             var11 = var8;
  254.             var12 = var6;
  255.             var13 = var7;
  256.          } else {
  257.             var10 = var7;
  258.             var11 = var6;
  259.             var12 = var8;
  260.             var13 = var5;
  261.          }
  262.  
  263.          var0.setColor(var10);
  264.          var0.fillRect(var1, var2, var3 - 1, 1);
  265.          var0.fillRect(var1, var2 + 1, 1, var4 - 1);
  266.          var0.setColor(var11);
  267.          var0.fillRect(var1, var2 + var4 - 1, var3, 1);
  268.          var0.fillRect(var1 + var3 - 1, var2, 1, var4);
  269.          ++var1;
  270.          ++var2;
  271.          var3 -= 2;
  272.          var4 -= 2;
  273.          var0.setColor(var12);
  274.          var0.fillRect(var1, var2, var3 - 1, 1);
  275.          var0.fillRect(var1, var2 + 1, 1, var4 - 1);
  276.          var0.setColor(var13);
  277.          var0.fillRect(var1, var2 + var4 - 1, var3, 1);
  278.          var0.fillRect(var1 + var3 - 1, var2, 1, var4);
  279.       }
  280.    }
  281.  
  282.    public static void drawGroovedBezel(Graphics var0, int var1, int var2, int var3, int var4, Color var5, Color var6) {
  283.       if (var3 != 0 && var4 != 0) {
  284.          var0.setColor(var5);
  285.          var0.drawRect(var1 + 1, var2 + 1, var3 - 1, var4 - 1);
  286.          var0.drawPoint(var1 + var3 - 1, var2);
  287.          var0.drawPoint(var1, var2 + var4 - 1);
  288.          var0.setColor(var6);
  289.          var0.drawRect(var1, var2, var3 - 1, var4 - 1);
  290.       }
  291.    }
  292.  
  293.    public static void drawRaisedButtonBezel(Graphics var0, int var1, int var2, int var3, int var4) {
  294.       int var5 = var1 + var3;
  295.       int var6 = var2 + var4;
  296.       var0.setColor(Color.white);
  297.       var0.drawPoint(var1 + 1, var2 + 1);
  298.       var0.setColor(Color.gray231);
  299.       var0.drawLine(var1, var2, var1, var6 - 4);
  300.       var0.drawLine(var1 + 1, var2, var5 - 3, var2);
  301.       var0.setColor(Color.lightGray);
  302.       var0.drawLine(var1, var6 - 3, var1, var6 - 2);
  303.       var0.drawLine(var1 + 1, var2 + 2, var1 + 1, var6 - 3);
  304.       var0.drawLine(var1 + 2, var2 + 1, var5 - 3, var2 + 1);
  305.       var0.drawLine(var1 + 2, var6 - 3, var5 - 4, var6 - 3);
  306.       var0.drawLine(var5 - 3, var2 + 2, var5 - 3, var6 - 4);
  307.       var0.drawPoint(var5 - 2, var2);
  308.       var0.setColor(Color.gray153);
  309.       var0.drawLine(var1 + 1, var6 - 2, var5 - 3, var6 - 2);
  310.       var0.drawLine(var5 - 2, var2 + 1, var5 - 2, var6 - 3);
  311.       var0.drawPoint(var5 - 3, var6 - 3);
  312.       var0.drawPoint(var5 - 1, var2);
  313.       var0.drawPoint(var1, var6 - 1);
  314.       var0.setColor(Color.gray102);
  315.       var0.drawLine(var1 + 1, var6 - 1, var5 - 1, var6 - 1);
  316.       var0.drawLine(var5 - 1, var2 + 1, var5 - 1, var6 - 2);
  317.       var0.drawPoint(var5 - 2, var6 - 2);
  318.    }
  319.  
  320.    public static void drawLoweredButtonBezel(Graphics var0, int var1, int var2, int var3, int var4) {
  321.       int var5 = var1 + var3;
  322.       int var6 = var2 + var4;
  323.       var0.setColor(Color.white);
  324.       var0.drawPoint(var5 - 2, var6 - 2);
  325.       var0.setColor(Color.gray231);
  326.       var0.drawLine(var1 + 2, var6 - 1, var5 - 1, var6 - 1);
  327.       var0.drawLine(var5 - 1, var2 + 3, var5 - 1, var6 - 2);
  328.       var0.setColor(Color.lightGray);
  329.       var0.drawLine(var1 + 2, var2 + 3, var1 + 2, var6 - 3);
  330.       var0.drawLine(var1 + 3, var2 + 2, var5 - 2, var2 + 2);
  331.       var0.drawLine(var5 - 2, var2 + 3, var5 - 2, var6 - 3);
  332.       var0.drawLine(var1 + 2, var6 - 2, var5 - 3, var6 - 2);
  333.       var0.drawLine(var5 - 1, var2 + 1, var5 - 1, var2 + 2);
  334.       var0.drawPoint(var1 + 1, var6 - 1);
  335.       var0.setColor(Color.gray153);
  336.       var0.drawLine(var1 + 1, var2 + 2, var1 + 1, var6 - 2);
  337.       var0.drawLine(var1 + 2, var2 + 1, var5 - 2, var2 + 1);
  338.       var0.drawPoint(var1, var6 - 1);
  339.       var0.drawPoint(var5 - 1, var2);
  340.       var0.drawPoint(var1 + 2, var2 + 2);
  341.       var0.setColor(Color.gray102);
  342.       var0.drawLine(var1, var2, var1, var6 - 2);
  343.       var0.drawLine(var1 + 1, var2, var5 - 2, var2);
  344.       var0.drawPoint(var1 + 1, var2 + 1);
  345.    }
  346.  
  347.    static void drawRaisedScrollButtonBezel(Graphics var0, int var1, int var2, int var3, int var4) {
  348.       int var5 = var1 + var3;
  349.       int var6 = var2 + var4;
  350.       var0.setColor(Color.white);
  351.       var0.drawLine(var1, var2 + 1, var1, var6 - 3);
  352.       var0.drawLine(var1 + 1, var2, var5 - 3, var2);
  353.       var0.setColor(Color.gray231);
  354.       var0.drawPoint(var1, var2);
  355.       var0.drawPoint(var1, var6 - 2);
  356.       var0.drawPoint(var5 - 2, var2);
  357.       var0.setColor(Color.gray153);
  358.       var0.drawPoint(var5 - 1, var2);
  359.       var0.drawPoint(var5 - 1, var6 - 1);
  360.       var0.drawPoint(var1, var6 - 1);
  361.       var0.setColor(Color.gray102);
  362.       var0.drawLine(var5 - 1, var2 + 1, var5 - 1, var6 - 2);
  363.       var0.drawLine(var1 + 1, var6 - 1, var5 - 2, var6 - 1);
  364.    }
  365.  
  366.    static void drawLoweredScrollButtonBezel(Graphics var0, int var1, int var2, int var3, int var4) {
  367.       int var5 = var1 + var3;
  368.       int var6 = var2 + var4;
  369.       var0.setColor(Color.gray153);
  370.       var0.drawLine(var1, var6 - 1, var5 - 1, var6 - 1);
  371.       var0.drawLine(var5 - 1, var2, var5 - 1, var6 - 2);
  372.       var0.setColor(Color.lightGray);
  373.       var0.drawLine(var1, var2, var5 - 2, var2);
  374.       var0.drawLine(var1, var2 + 1, var1, var6 - 2);
  375.    }
  376. }
  377.