home *** CD-ROM | disk | FTP | other *** search
/ Dynamic HTML Construction Kit / Dynamic HTML Construction Kit.iso / earthlink / nscomm / java40.jar / sun / awt / macos / MComponentPeer.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-11-03  |  5.3 KB  |  325 lines

  1. package sun.awt.macos;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Dimension;
  7. import java.awt.Event;
  8. import java.awt.Font;
  9. import java.awt.FontMetrics;
  10. import java.awt.Graphics;
  11. import java.awt.Image;
  12. import java.awt.Rectangle;
  13. import java.awt.Toolkit;
  14. import java.awt.image.ColorModel;
  15. import java.awt.image.ImageObserver;
  16. import java.awt.image.ImageProducer;
  17. import java.awt.peer.ComponentPeer;
  18.  
  19. public abstract class MComponentPeer implements ComponentPeer {
  20.    Component target;
  21.    int pData;
  22.    int pInternationalData;
  23.    int mOwnerPane;
  24.    int mFont;
  25.    int mSize;
  26.    int mStyle;
  27.    Color mForeColor;
  28.    Color mBackColor;
  29.    boolean mRecalculateClip;
  30.    boolean mIsContainer;
  31.    boolean mIsButton;
  32.    boolean mIsChoice;
  33.    boolean mIsResizableFrame;
  34.    int mObscuredRgn;
  35.    int mClipRgn;
  36.  
  37.    MComponentPeer(Component var1) {
  38.       this.target = var1;
  39.       Container var2 = var1.getParent();
  40.       this.setup();
  41.       this.create((MComponentPeer)(var2 != null ? ((Component)var2).getPeer() : null));
  42.       this.initialize();
  43.    }
  44.  
  45.    abstract void create(MComponentPeer var1);
  46.  
  47.    void create(MComponentPeer var1, Object var2) {
  48.       this.create(var1);
  49.    }
  50.  
  51.    void setup() {
  52.       this.mForeColor = new Color(0, 0, 0);
  53.       this.mBackColor = new Color(192, 192, 192);
  54.       this.pSetup();
  55.    }
  56.  
  57.    void initialize() {
  58.       Rectangle var1 = this.target.bounds();
  59.       this.reshape(var1.x, var1.y, var1.width, var1.height);
  60.       if (this.target.isVisible()) {
  61.          this.show();
  62.       } else {
  63.          this.hide();
  64.       }
  65.  
  66.       Color var2;
  67.       if ((var2 = this.target.getForeground()) != null) {
  68.          this.setForeground(var2);
  69.       }
  70.  
  71.       if ((var2 = this.target.getBackground()) != null) {
  72.          this.setBackground(var2);
  73.       }
  74.  
  75.       Font var3;
  76.       if ((var3 = this.target.getFont()) != null) {
  77.          this.setFont(var3);
  78.       }
  79.  
  80.    }
  81.  
  82.    public void dispose() {
  83.       this.pDispose();
  84.    }
  85.  
  86.    public ColorModel getColorModel() {
  87.       return MToolkit.getStaticColorModel();
  88.    }
  89.  
  90.    public Toolkit getToolkit() {
  91.       return Toolkit.getDefaultToolkit();
  92.    }
  93.  
  94.    public Graphics getGraphics() {
  95.       MacGraphics var1 = new MacGraphics(this);
  96.       ((Graphics)var1).setColor(this.target.getForeground());
  97.       ((Graphics)var1).setFont(this.target.getFont());
  98.       return var1;
  99.    }
  100.  
  101.    public FontMetrics getFontMetrics(Font var1) {
  102.       return MacFontMetrics.getFontMetrics(var1);
  103.    }
  104.  
  105.    public void show() {
  106.       this.pShow();
  107.    }
  108.  
  109.    public void hide() {
  110.       this.pHide();
  111.    }
  112.  
  113.    public void enable() {
  114.       this.pEnable();
  115.    }
  116.  
  117.    public void disable() {
  118.       this.pDisable();
  119.    }
  120.  
  121.    public void paint(Graphics var1) {
  122.       var1.setColor(this.target.getForeground());
  123.       var1.setFont(this.target.getFont());
  124.       this.target.paint(var1);
  125.    }
  126.  
  127.    public void repaint(long var1, int var3, int var4, int var5, int var6) {
  128.       this.pRepaint(var1, var3, var4, var5, var6);
  129.    }
  130.  
  131.    public void print(Graphics var1) {
  132.       Dimension var2 = this.target.size();
  133.       var1.setColor(this.target.getForeground());
  134.       var1.setFont(this.target.getFont());
  135.       var1.drawRect(0, 0, var2.width - 1, var2.height - 1);
  136.       this.target.print(var1);
  137.    }
  138.  
  139.    public void reshape(int var1, int var2, int var3, int var4) {
  140.       this.pReshape(var1, var2, var3, var4);
  141.    }
  142.  
  143.    public void setForeground(Color var1) {
  144.       this.mForeColor = var1;
  145.    }
  146.  
  147.    public void setBackground(Color var1) {
  148.       this.mBackColor = var1;
  149.    }
  150.  
  151.    public native void setFont(Font var1);
  152.  
  153.    public native boolean handleEvent(Event var1);
  154.  
  155.    public Image createImage(ImageProducer var1) {
  156.       return new MacImage(var1);
  157.    }
  158.  
  159.    public Image createImage(int var1, int var2) {
  160.       return new MacImage(var1, var2);
  161.    }
  162.  
  163.    public boolean prepareImage(Image var1, int var2, int var3, ImageObserver var4) {
  164.       return MToolkit.prepareScrImage(var1, var2, var3, var4);
  165.    }
  166.  
  167.    public int checkImage(Image var1, int var2, int var3, ImageObserver var4) {
  168.       return MToolkit.checkScrImage(var1, var2, var3, var4);
  169.    }
  170.  
  171.    public Dimension minimumSize() {
  172.       return this.target.size();
  173.    }
  174.  
  175.    public Dimension preferredSize() {
  176.       return this.minimumSize();
  177.    }
  178.  
  179.    public native void requestFocus();
  180.  
  181.    public native void nextFocus();
  182.  
  183.    protected void gotFocus() {
  184.       this.target.postEvent(new Event(this.target, 1004, (Object)null));
  185.    }
  186.  
  187.    protected void lostFocus() {
  188.       this.target.postEvent(new Event(this.target, 1005, (Object)null));
  189.    }
  190.  
  191.    private native void pSetup();
  192.  
  193.    private native void pShow();
  194.  
  195.    private native void pHide();
  196.  
  197.    private native void pEnable();
  198.  
  199.    private native void pDisable();
  200.  
  201.    private native void pPrint(Graphics var1);
  202.  
  203.    private native void pReshape(int var1, int var2, int var3, int var4);
  204.  
  205.    private native void pRepaint(long var1, int var3, int var4, int var5, int var6);
  206.  
  207.    private native void pDispose();
  208.  
  209.    public void finalize() {
  210.       this.dispose();
  211.    }
  212.  
  213.    protected void handleWindowClosing() {
  214.       this.target.postEvent(new Event(this.target, 201, (Object)null));
  215.    }
  216.  
  217.    void handleExpose() {
  218.       InterfaceThread.postInterfaceEvent(1, this.target, 0, 0, 0, 0, 0L, 0, 0);
  219.    }
  220.  
  221.    void handleRepaint(int var1, int var2, int var3, int var4) {
  222.       InterfaceThread.postInterfaceEvent(2, this.target, var1, var2, var3, var4, 0L, 0, 0);
  223.    }
  224.  
  225.    private int modifiersToJavaFlags(int var1) {
  226.       int var2 = 0;
  227.       if ((var1 & 256) != 0) {
  228.          var2 |= 4;
  229.       }
  230.  
  231.       if ((var1 & 512) != 0) {
  232.          var2 |= 1;
  233.       }
  234.  
  235.       if ((var1 & 2048) != 0) {
  236.          var2 |= 8;
  237.       }
  238.  
  239.       if ((var1 & 4096) != 0) {
  240.          var2 |= 2;
  241.       }
  242.  
  243.       return var2;
  244.    }
  245.  
  246.    protected void handleKeyEvent(int var1, int var2, int var3, int var4, boolean var5, int var6) {
  247.       long var7 = 0L;
  248.       int var9 = this.modifiersToJavaFlags(var4);
  249.       boolean var10 = true;
  250.       var7 = System.currentTimeMillis();
  251.       switch (var3) {
  252.          case 1:
  253.             var3 = 1000;
  254.             break;
  255.          case 4:
  256.             var3 = 1001;
  257.             break;
  258.          case 11:
  259.             var3 = 1002;
  260.             break;
  261.          case 12:
  262.             var3 = 1003;
  263.             break;
  264.          case 28:
  265.             var3 = 1006;
  266.             break;
  267.          case 29:
  268.             var3 = 1007;
  269.             break;
  270.          case 30:
  271.             var3 = 1004;
  272.             break;
  273.          case 31:
  274.             var3 = 1005;
  275.             break;
  276.          default:
  277.             var10 = false;
  278.       }
  279.  
  280.       if (var10) {
  281.          if (var5) {
  282.             InterfaceThread.postInterfaceEvent(9, this.target, var1, var2, 0, 0, var7, var9, var3, 0, var6);
  283.          } else {
  284.             InterfaceThread.postInterfaceEvent(10, this.target, var1, var2, 0, 0, var7, var9, var3, 0, var6);
  285.          }
  286.       } else if (var5) {
  287.          InterfaceThread.postInterfaceEvent(7, this.target, var1, var2, 0, 0, var7, var9, var3, 0, var6);
  288.       } else {
  289.          InterfaceThread.postInterfaceEvent(8, this.target, var1, var2, 0, 0, var7, var9, var3, 0, var6);
  290.       }
  291.    }
  292.  
  293.    protected void handleMouseChanged(int var1, int var2, int var3, int var4, boolean var5, int var6) {
  294.       long var7 = System.currentTimeMillis();
  295.       int var9 = this.modifiersToJavaFlags(var3);
  296.       if (var5) {
  297.          InterfaceThread.postInterfaceEvent(3, this.target, var1, var2, 0, 0, var7, var9, 0, var4, var6);
  298.       } else {
  299.          InterfaceThread.postInterfaceEvent(4, this.target, var1, var2, 0, 0, var7, var9, 0, var4, var6);
  300.       }
  301.    }
  302.  
  303.    protected void handleMouseMoved(int var1, int var2, int var3, boolean var4) {
  304.       long var5 = System.currentTimeMillis();
  305.       int var7 = this.modifiersToJavaFlags(var3);
  306.       if (var4) {
  307.          InterfaceThread.postInterfaceEvent(6, this.target, var1, var2, 0, 0, var5, var7, 0);
  308.       } else {
  309.          InterfaceThread.postInterfaceEvent(5, this.target, var1, var2, 0, 0, var5, var7, 0);
  310.       }
  311.    }
  312.  
  313.    protected void handleMouseEnter(int var1, int var2, int var3) {
  314.       long var4 = System.currentTimeMillis();
  315.       int var6 = this.modifiersToJavaFlags(var3);
  316.       InterfaceThread.postInterfaceEvent(11, this.target, var1, var2, 0, 0, var4, var6, 0);
  317.    }
  318.  
  319.    protected void handleMouseExit(int var1, int var2, int var3) {
  320.       long var4 = System.currentTimeMillis();
  321.       int var6 = this.modifiersToJavaFlags(var3);
  322.       InterfaceThread.postInterfaceEvent(12, this.target, var1, var2, 0, 0, var4, var6, 0);
  323.    }
  324. }
  325.