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

  1. package com.sun.java.swing.plaf.basic;
  2.  
  3. import com.sun.java.swing.JComponent;
  4. import com.sun.java.swing.SyntheticImage;
  5. import java.awt.AWTEvent;
  6. import java.awt.Adjustable;
  7. import java.awt.Color;
  8. import java.awt.Component;
  9. import java.awt.Dimension;
  10. import java.awt.Graphics;
  11. import java.awt.event.AdjustmentEvent;
  12. import java.awt.event.AdjustmentListener;
  13. import java.awt.event.MouseEvent;
  14.  
  15. class HueLightnessPatch extends ImageComponent implements AdjustmentListener {
  16.    // $FF: renamed from: sx int
  17.    int field_0;
  18.    // $FF: renamed from: sy int
  19.    int field_1;
  20.    private static int cursorWidth = 3;
  21.    SyntheticImage hli;
  22.    ColorPatch target;
  23.    Adjustable hue;
  24.    Adjustable saturation;
  25.    Adjustable brightness;
  26.    int color;
  27.  
  28.    HueLightnessPatch(ColorPatch var1, Adjustable var2, Adjustable var3, Adjustable var4) {
  29.       this.target = var1;
  30.       this.hue = var2;
  31.       this.saturation = var3;
  32.       this.brightness = var4;
  33.       var1.setColor(16711680);
  34.       ((Component)this).enableEvents(48L);
  35.    }
  36.  
  37.    protected void locateImage() {
  38.       if (super.img == null) {
  39.          Dimension var1 = ((Component)this).getSize();
  40.          int var2 = this.color;
  41.          Adjustable var3 = this.hue;
  42.          this.hli = new 1(var2, var3, var1);
  43.          ((ImageComponent)this).setImage(((Component)this).getToolkit().createImage(this.hli));
  44.       }
  45.  
  46.    }
  47.  
  48.    protected void processMouseEvent(MouseEvent var1) {
  49.       switch (((AWTEvent)var1).getID()) {
  50.          case 501:
  51.          case 502:
  52.          case 506:
  53.             int var2 = super.isize.height;
  54.             int var3 = super.isize.width;
  55.             this.brightness.setValue((var2 - var1.getY() - 1) * 100 / (var2 - 1));
  56.             this.saturation.setValue((var3 - var1.getX() - 1) * 100 / (var3 - 1));
  57.          default:
  58.       }
  59.    }
  60.  
  61.    public void setColor(int var1) {
  62.       this.color = var1;
  63.       if (this.hli != null) {
  64.          this.hli.nextFrame(var1);
  65.       }
  66.  
  67.    }
  68.  
  69.    protected void processMouseMotionEvent(MouseEvent var1) {
  70.       this.processMouseEvent(var1);
  71.    }
  72.  
  73.    public void adjustmentValueChanged(AdjustmentEvent var1) {
  74.       int var2 = super.isize.height - 1;
  75.       int var3 = super.isize.width - 1;
  76.       int var4 = var3 - this.saturation.getValue() * var3 / 100;
  77.       int var5 = var2 - this.brightness.getValue() * var2 / 100;
  78.       Graphics var6 = ((JComponent)this).getGraphics();
  79.       if (var6 != null) {
  80.          this.paintCursor(var6, this.field_0, this.field_1);
  81.          this.paintCursor(var6, var4, var5);
  82.          var6.dispose();
  83.       }
  84.  
  85.       this.field_0 = var4;
  86.       this.field_1 = var5;
  87.       this.propogateColor();
  88.    }
  89.  
  90.    void propogateColor() {
  91.       this.target.setColor(Color.HSBtoRGB((float)this.hue.getValue() / 360.0F, (float)this.saturation.getValue() / 100.0F, (float)this.brightness.getValue() / 100.0F));
  92.    }
  93.  
  94.    public void paint(Graphics var1) {
  95.       super.paint(var1);
  96.       this.paintCursor(var1, this.field_0, this.field_1);
  97.    }
  98.  
  99.    private void paintCursor(Graphics var1, int var2, int var3) {
  100.       var1.setColor(Color.white);
  101.       var1.setXORMode(Color.black);
  102.       var1.drawLine(var2 - 3, var3, var2 + 3, var3);
  103.       var1.drawLine(var2, var3 - 3, var2, var3 + 3);
  104.    }
  105.  
  106.    public void update(Graphics var1) {
  107.       this.paint(var1);
  108.    }
  109. }
  110.