home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1998 January / PCO0198.ISO / browser / net_linx / java40.jar / sun / awt / motif / MComponentPeer.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-11-03  |  6.9 KB  |  378 lines

  1. package sun.awt.motif;
  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. import sun.awt.ObjectPeer;
  19. import sun.awt.ScreenUpdater;
  20. import sun.awt.UpdateClient;
  21.  
  22. public abstract class MComponentPeer extends ObjectPeer implements ComponentPeer, UpdateClient {
  23.    Component target;
  24.    int pData;
  25.  
  26.    abstract void create(MComponentPeer var1);
  27.  
  28.    void create(MComponentPeer var1, Object var2) {
  29.       this.create(var1);
  30.    }
  31.  
  32.    native void disposeEvent(Event var1);
  33.  
  34.    native void pInitialize();
  35.  
  36.    native void pShow();
  37.  
  38.    native void pHide();
  39.  
  40.    native void pEnable();
  41.  
  42.    native void pDisable();
  43.  
  44.    native void pReshape(int var1, int var2, int var3, int var4);
  45.  
  46.    native void pAddRepaint(int var1, int var2, int var3, int var4);
  47.  
  48.    native void pTriggerRepaint();
  49.  
  50.    native void pDispose();
  51.  
  52.    void initialize() {
  53.       if (this.target.isVisible()) {
  54.          this.show();
  55.       } else {
  56.          this.hide();
  57.       }
  58.  
  59.       Color var1;
  60.       if ((var1 = this.target.getForeground()) != null) {
  61.          this.setForeground(var1);
  62.       }
  63.  
  64.       if ((var1 = this.target.getBackground()) != null) {
  65.          this.setBackground(var1);
  66.       }
  67.  
  68.       Font var2;
  69.       if ((var2 = this.target.getFont()) != null) {
  70.          this.setFont(var2);
  71.       }
  72.  
  73.       if (!this.target.isEnabled()) {
  74.          this.disable();
  75.       }
  76.  
  77.       Rectangle var3 = this.target.bounds();
  78.       this.reshape(var3.x, var3.y, var3.width, var3.height);
  79.       this.pInitialize();
  80.    }
  81.  
  82.    MComponentPeer(Component var1, Object var2) {
  83.       this.target = var1;
  84.       Container var3 = var1.getParent();
  85.       this.create((MComponentPeer)(var3 != null ? ((Component)var3).getPeer() : null), var2);
  86.       this.initialize();
  87.    }
  88.  
  89.    MComponentPeer(Component var1) {
  90.       this.target = var1;
  91.       Container var2 = var1.getParent();
  92.       this.create((MComponentPeer)(var2 != null ? ((Component)var2).getPeer() : null));
  93.       this.initialize();
  94.    }
  95.  
  96.    public native void setForeground(Color var1);
  97.  
  98.    public native void setBackground(Color var1);
  99.  
  100.    public native void setFont(Font var1);
  101.  
  102.    public ColorModel getColorModel() {
  103.       return MToolkit.getStaticColorModel();
  104.    }
  105.  
  106.    public void show() {
  107.       this.pShow();
  108.    }
  109.  
  110.    public void hide() {
  111.       this.pHide();
  112.    }
  113.  
  114.    public void enable() {
  115.       this.pEnable();
  116.    }
  117.  
  118.    public void disable() {
  119.       this.pDisable();
  120.    }
  121.  
  122.    public int updatePriority() {
  123.       return 5;
  124.    }
  125.  
  126.    public void updateClient(Object var1) {
  127.       this.pTriggerRepaint();
  128.    }
  129.  
  130.    public void repaint(long var1, int var3, int var4, int var5, int var6) {
  131.       this.pAddRepaint(var3, var4, var5, var6);
  132.       SecurityManager.enablePrivilege("UniversalThreadAccess");
  133.       ScreenUpdater.updater.notify(this, var1);
  134.    }
  135.  
  136.    public void paint(Graphics var1) {
  137.       var1.setColor(this.target.getForeground());
  138.       var1.setFont(this.target.getFont());
  139.       this.target.paint(var1);
  140.    }
  141.  
  142.    public void update(Graphics var1) {
  143.       var1.setColor(this.target.getForeground());
  144.       var1.setFont(this.target.getFont());
  145.       this.target.update(var1);
  146.    }
  147.  
  148.    public void print(Graphics var1) {
  149.       Dimension var2 = this.target.size();
  150.       var1.setColor(this.target.getForeground());
  151.       var1.setFont(this.target.getFont());
  152.       var1.drawRect(0, 0, var2.width - 1, var2.height - 1);
  153.       this.target.print(var1);
  154.    }
  155.  
  156.    public void reshape(int var1, int var2, int var3, int var4) {
  157.       this.pReshape(var1, var2, var3, var4);
  158.    }
  159.  
  160.    public native boolean handleEvent(Event var1);
  161.  
  162.    public Dimension minimumSize() {
  163.       return this.target.size();
  164.    }
  165.  
  166.    public Dimension preferredSize() {
  167.       return this.minimumSize();
  168.    }
  169.  
  170.    public Toolkit getToolkit() {
  171.       return Toolkit.getDefaultToolkit();
  172.    }
  173.  
  174.    public Graphics getGraphics() {
  175.       X11Graphics var1 = new X11Graphics(this);
  176.       ((Graphics)var1).setColor(this.target.getForeground());
  177.       ((Graphics)var1).setFont(this.target.getFont());
  178.       return var1;
  179.    }
  180.  
  181.    public Image createImage(ImageProducer var1) {
  182.       return new X11Image(var1);
  183.    }
  184.  
  185.    public Image createImage(int var1, int var2) {
  186.       return new X11OffScreenImage(this.target, var1, var2);
  187.    }
  188.  
  189.    public boolean prepareImage(Image var1, int var2, int var3, ImageObserver var4) {
  190.       return MToolkit.prepareScrImage(var1, var2, var3, var4);
  191.    }
  192.  
  193.    public int checkImage(Image var1, int var2, int var3, ImageObserver var4) {
  194.       return MToolkit.checkScrImage(var1, var2, var3, var4);
  195.    }
  196.  
  197.    public FontMetrics getFontMetrics(Font var1) {
  198.       return X11FontMetrics.getFontMetrics(var1);
  199.    }
  200.  
  201.    public void dispose() {
  202.       if (super.applet != null) {
  203.          super.applet.removeEvents(this);
  204.       }
  205.  
  206.       this.pDispose();
  207.    }
  208.  
  209.    public native void requestFocus();
  210.  
  211.    public native void nextFocus();
  212.  
  213.    protected void gotFocus() {
  214.       if (super.applet != null) {
  215.          XEvent var1 = new XEvent(new Event(this.target, 1004, (Object)null), this);
  216.          super.applet.sendEvent(var1);
  217.       } else {
  218.          this.target.postEvent(new Event(this.target, 1004, (Object)null));
  219.       }
  220.    }
  221.  
  222.    protected void lostFocus() {
  223.       if (super.applet != null) {
  224.          XEvent var1 = new XEvent(new Event(this.target, 1005, (Object)null), this);
  225.          super.applet.sendEvent(var1);
  226.       } else {
  227.          this.target.postEvent(new Event(this.target, 1005, (Object)null));
  228.       }
  229.    }
  230.  
  231.    protected void handleActionKey(long var1, int var3, int var4, int var5, int var6, int var7) {
  232.       Event var8 = this.setData(var3, new Event(this.target, var1, 403, var4, var5, var6, var7, (Object)null));
  233.       if (super.applet != null) {
  234.          XEvent var9 = new XEvent(var8, this);
  235.          super.applet.sendEvent(var9);
  236.       } else {
  237.          this.target.postEvent(var8);
  238.          this.disposeEvent(var8);
  239.       }
  240.    }
  241.  
  242.    protected void handleActionKeyRelease(long var1, int var3, int var4, int var5, int var6, int var7) {
  243.       Event var8 = this.setData(var3, new Event(this.target, var1, 404, var4, var5, var6, var7, (Object)null));
  244.       if (super.applet != null) {
  245.          XEvent var9 = new XEvent(var8, this);
  246.          super.applet.sendEvent(var9);
  247.       } else {
  248.          this.target.postEvent(var8);
  249.          this.disposeEvent(var8);
  250.       }
  251.    }
  252.  
  253.    protected void handleKeyPress(long var1, int var3, int var4, int var5, int var6, int var7) {
  254.       Event var8 = this.setData(var3, new Event(this.target, var1, 401, var4, var5, var6, var7, (Object)null));
  255.       if (super.applet != null) {
  256.          XEvent var9 = new XEvent(var8, this);
  257.          super.applet.sendEvent(var9);
  258.       } else {
  259.          this.target.postEvent(var8);
  260.          this.disposeEvent(var8);
  261.       }
  262.    }
  263.  
  264.    protected void handleKeyRelease(long var1, int var3, int var4, int var5, int var6, int var7) {
  265.       Event var8 = this.setData(var3, new Event(this.target, var1, 402, var4, var5, var6, var7, (Object)null));
  266.       if (super.applet != null) {
  267.          XEvent var9 = new XEvent(var8, this);
  268.          super.applet.sendEvent(var9);
  269.       } else {
  270.          this.target.postEvent(var8);
  271.          this.disposeEvent(var8);
  272.       }
  273.    }
  274.  
  275.    protected void handleMouseEnter(long var1, int var3, int var4) {
  276.       if (super.applet != null) {
  277.          XEvent var5 = new XEvent(new Event(this.target, var1, 504, var3, var4, 0, 0, (Object)null), this);
  278.          super.applet.sendEvent(var5);
  279.       } else {
  280.          this.target.postEvent(new Event(this.target, var1, 504, var3, var4, 0, 0, (Object)null));
  281.       }
  282.    }
  283.  
  284.    protected void handleMouseExit(long var1, int var3, int var4) {
  285.       if (super.applet != null) {
  286.          XEvent var5 = new XEvent(new Event(this.target, var1, 505, var3, var4, 0, 0, (Object)null), this);
  287.          super.applet.sendEvent(var5);
  288.       } else {
  289.          this.target.postEvent(new Event(this.target, var1, 505, var3, var4, 0, 0, (Object)null));
  290.       }
  291.    }
  292.  
  293.    protected void handleMouseDown(long var1, int var3, int var4, int var5, int var6, int var7, int var8, int var9) {
  294.       Event var10 = this.setData(var3, new Event(this.target, var1, 501, var4, var5, 0, var9, (Object)null));
  295.       var10.clickCount = var8;
  296.       if (super.applet != null) {
  297.          XEvent var11 = new XEvent(var10, this);
  298.          super.applet.sendEvent(var11);
  299.       } else {
  300.          this.target.postEvent(var10);
  301.       }
  302.    }
  303.  
  304.    protected void handleMouseUp(long var1, int var3, int var4, int var5, int var6, int var7, int var8) {
  305.       Event var9 = this.setData(var3, new Event(this.target, var1, 502, var4, var5, 0, var8, (Object)null));
  306.       if (super.applet != null) {
  307.          XEvent var10 = new XEvent(var9, this);
  308.          super.applet.sendEvent(var10);
  309.       } else {
  310.          this.target.postEvent(var9);
  311.       }
  312.    }
  313.  
  314.    protected void handleMouseMoved(long var1, int var3, int var4, int var5, int var6, int var7, int var8) {
  315.       Event var9 = this.setData(var3, new Event(this.target, var1, 503, var4, var5, 0, var8, (Object)null));
  316.       if (super.applet != null) {
  317.          XEvent var10 = new XEvent(var9, this);
  318.          super.applet.sendEvent(var10);
  319.       } else {
  320.          this.target.postEvent(var9);
  321.       }
  322.    }
  323.  
  324.    protected void handleMouseDrag(long var1, int var3, int var4, int var5, int var6, int var7, int var8) {
  325.       Event var9 = this.setData(var3, new Event(this.target, var1, 506, var4, var5, 0, var8, (Object)null));
  326.       if (super.applet != null) {
  327.          XEvent var10 = new XEvent(var9, this);
  328.          super.applet.sendEvent(var10);
  329.       } else {
  330.          this.target.postEvent(var9);
  331.       }
  332.    }
  333.  
  334.    native Event setData(int var1, Event var2);
  335.  
  336.    void handleExpose(int var1, int var2, int var3, int var4) {
  337.       if (super.applet != null) {
  338.          Rectangle var10 = new Rectangle(var1, var2, var3, var4);
  339.          Event var6 = new Event(this.target, 202, var10);
  340.          XEvent var7 = new XEvent(var6, this);
  341.          super.applet.sendEvent(var7);
  342.       } else {
  343.          Graphics var5 = this.getGraphics();
  344.  
  345.          try {
  346.             var5.clipRect(var1, var2, var3, var4);
  347.             this.paint(var5);
  348.          } finally {
  349.             var5.dispose();
  350.          }
  351.  
  352.       }
  353.    }
  354.  
  355.    void handleRepaint(int var1, int var2, int var3, int var4) {
  356.       if (super.applet != null) {
  357.          Rectangle var10 = new Rectangle(var1, var2, var3, var4);
  358.          Event var6 = new Event(this.target, 206, var10);
  359.          XEvent var7 = new XEvent(var6, this);
  360.          super.applet.sendEvent(var7);
  361.       } else {
  362.          Graphics var5 = this.getGraphics();
  363.  
  364.          try {
  365.             var5.clipRect(var1, var2, var3, var4);
  366.             this.update(var5);
  367.          } finally {
  368.             var5.dispose();
  369.          }
  370.  
  371.       }
  372.    }
  373.  
  374.    public String toString() {
  375.       return this.getClass().getName() + "[" + this.target + "]";
  376.    }
  377. }
  378.