home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &… the Search for Life CD 3 / 0_CD-ROM.iso / install / jre1_3 / lib / rt.jar / sun / awt / windows / WFramePeer.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  3.2 KB  |  154 lines

  1. package sun.awt.windows;
  2.  
  3. import java.awt.Component;
  4. import java.awt.Dimension;
  5. import java.awt.Frame;
  6. import java.awt.Graphics;
  7. import java.awt.Image;
  8. import java.awt.MenuBar;
  9. import java.awt.image.BufferedImage;
  10. import java.awt.image.ColorModel;
  11. import java.awt.image.DataBuffer;
  12. import java.awt.image.DataBufferInt;
  13. import java.awt.image.ImageObserver;
  14. import java.awt.image.Raster;
  15. import java.awt.image.WritableRaster;
  16. import java.awt.peer.FramePeer;
  17. import sun.awt.im.InputMethodManager;
  18. import sun.awt.image.ImageRepresentation;
  19. import sun.awt.image.IntegerComponentRaster;
  20.  
  21. class WFramePeer extends WWindowPeer implements FramePeer {
  22.    public native void setState(int var1);
  23.  
  24.    public native int getState();
  25.  
  26.    public void reshape(int var1, int var2, int var3, int var4) {
  27.       ((WWindowPeer)this).reshapeFrame(var1, var2, var3, var4);
  28.    }
  29.  
  30.    public Dimension getMinimumSize() {
  31.       Dimension var1 = new Dimension(WWindowPeer.getSysMinWidth(), WWindowPeer.getSysMinHeight());
  32.       if (((Frame)super.target).getMenuBar() != null) {
  33.          var1.height += getSysMenuHeight();
  34.       }
  35.  
  36.       return var1;
  37.    }
  38.  
  39.    public void setIconImage(Image var1) {
  40.       if (var1 == null) {
  41.          this.setIconImageFromIntRasterData((int[])null, (byte[])null, 0, 0, 0);
  42.       } else {
  43.          int var2 = getSysIconWidth();
  44.          int var3 = getSysIconHeight();
  45.          BufferedImage var4 = new BufferedImage(var2, var3, 2);
  46.          Graphics var5 = var4.getGraphics();
  47.  
  48.          try {
  49.             if (var1 instanceof WImage) {
  50.                ImageRepresentation var6 = ((WImage)var1).getImageRep();
  51.                var6.reconstruct(32);
  52.             }
  53.  
  54.             var5.drawImage(var1, 0, 0, var2, var3, (ImageObserver)null);
  55.          } finally {
  56.             var5.dispose();
  57.          }
  58.  
  59.          WritableRaster var17 = var4.getRaster();
  60.          DataBuffer var7 = ((Raster)var17).getDataBuffer();
  61.          ColorModel var8 = var4.getColorModel();
  62.          byte[] var9 = new byte[var2 * var3 + 0];
  63.          int var11 = 0;
  64.          boolean var12 = false;
  65.          boolean var13 = false;
  66.          var11 = 0;
  67.  
  68.          for(int var19 = 0; var11 < var7.getSize() && var19 < var9.length; ++var19) {
  69.             byte var10 = 0;
  70.  
  71.             for(int var14 = 0; var14 < 8 && var11 < var7.getSize(); ++var14) {
  72.                if (var8.getAlpha(var7.getElem(var11++)) == 0) {
  73.                   var13 = true;
  74.                   var10 = (byte)(var10 | 1);
  75.                } else {
  76.                   var10 &= -2;
  77.                }
  78.  
  79.                if (var14 < 7) {
  80.                   var10 = (byte)(var10 << 1);
  81.                }
  82.             }
  83.  
  84.             var9[var19] = var10;
  85.          }
  86.  
  87.          if (!var13) {
  88.             var9 = null;
  89.          }
  90.  
  91.          int var20 = ((Raster)var17).getWidth();
  92.          if (var17 instanceof IntegerComponentRaster) {
  93.             var20 = ((IntegerComponentRaster)var17).getScanlineStride();
  94.          }
  95.  
  96.          this.setIconImageFromIntRasterData(((DataBufferInt)var7).getData(), var9, var20, ((Raster)var17).getWidth(), ((Raster)var17).getHeight());
  97.       }
  98.  
  99.    }
  100.  
  101.    public void setMenuBar(MenuBar var1) {
  102.       WMenuBarPeer var2 = (WMenuBarPeer)WToolkit.targetToPeer(var1);
  103.       this.setMenuBar0(var2);
  104.       ((WWindowPeer)this).updateInsets(super.insets_);
  105.    }
  106.  
  107.    private native void setMenuBar0(WMenuBarPeer var1);
  108.  
  109.    WFramePeer(Frame var1) {
  110.       super(var1);
  111.       InputMethodManager var2 = InputMethodManager.getInstance();
  112.       String var3 = var2.getTriggerMenuString();
  113.       if (var3 != null) {
  114.          this.pSetIMMOption(var3);
  115.       }
  116.  
  117.    }
  118.  
  119.    native void createAwtFrame(WComponentPeer var1);
  120.  
  121.    void create(WComponentPeer var1) {
  122.       this.createAwtFrame(var1);
  123.    }
  124.  
  125.    void initialize() {
  126.       super.initialize();
  127.       Frame var1 = (Frame)super.target;
  128.       if (var1.getTitle() != null) {
  129.          ((WWindowPeer)this).setTitle(var1.getTitle());
  130.       }
  131.  
  132.       ((WWindowPeer)this).setResizable(var1.isResizable());
  133.       Image var2 = var1.getIconImage();
  134.       if (var2 != null) {
  135.          this.setIconImage(var2);
  136.       }
  137.  
  138.    }
  139.  
  140.    private native void setIconImageFromIntRasterData(int[] var1, byte[] var2, int var3, int var4, int var5);
  141.  
  142.    private static native int getSysIconWidth();
  143.  
  144.    private static native int getSysIconHeight();
  145.  
  146.    private static native int getSysMenuHeight();
  147.  
  148.    native void pSetIMMOption(String var1);
  149.  
  150.    void notifyIMMOptionChange() {
  151.       InputMethodManager.getInstance().notifyChangeRequest((Component)super.target);
  152.    }
  153. }
  154.