home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 25 / CDROM25.iso / Share / prog / VJ11 / VJTRIAL.EXE / IE30Java.exe / classd.exe / sun / awt / win32 / MComponentPeer.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-01-27  |  6.2 KB  |  347 lines

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