home *** CD-ROM | disk | FTP | other *** search
- package sun.awt.windows;
-
- import java.awt.Component;
- import java.awt.Dimension;
- import java.awt.Frame;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.awt.MenuBar;
- import java.awt.image.BufferedImage;
- import java.awt.image.ColorModel;
- import java.awt.image.DataBuffer;
- import java.awt.image.DataBufferInt;
- import java.awt.image.ImageObserver;
- import java.awt.image.Raster;
- import java.awt.image.WritableRaster;
- import java.awt.peer.FramePeer;
- import sun.awt.im.InputMethodManager;
- import sun.awt.image.ImageRepresentation;
- import sun.awt.image.IntegerComponentRaster;
-
- class WFramePeer extends WWindowPeer implements FramePeer {
- public native void setState(int var1);
-
- public native int getState();
-
- public void reshape(int var1, int var2, int var3, int var4) {
- ((WWindowPeer)this).reshapeFrame(var1, var2, var3, var4);
- }
-
- public Dimension getMinimumSize() {
- Dimension var1 = new Dimension(WWindowPeer.getSysMinWidth(), WWindowPeer.getSysMinHeight());
- if (((Frame)super.target).getMenuBar() != null) {
- var1.height += getSysMenuHeight();
- }
-
- return var1;
- }
-
- public void setIconImage(Image var1) {
- if (var1 == null) {
- this.setIconImageFromIntRasterData((int[])null, (byte[])null, 0, 0, 0);
- } else {
- int var2 = getSysIconWidth();
- int var3 = getSysIconHeight();
- BufferedImage var4 = new BufferedImage(var2, var3, 2);
- Graphics var5 = var4.getGraphics();
-
- try {
- if (var1 instanceof WImage) {
- ImageRepresentation var6 = ((WImage)var1).getImageRep();
- var6.reconstruct(32);
- }
-
- var5.drawImage(var1, 0, 0, var2, var3, (ImageObserver)null);
- } finally {
- var5.dispose();
- }
-
- WritableRaster var17 = var4.getRaster();
- DataBuffer var7 = ((Raster)var17).getDataBuffer();
- ColorModel var8 = var4.getColorModel();
- byte[] var9 = new byte[var2 * var3 + 0];
- int var11 = 0;
- boolean var12 = false;
- boolean var13 = false;
- var11 = 0;
-
- for(int var19 = 0; var11 < var7.getSize() && var19 < var9.length; ++var19) {
- byte var10 = 0;
-
- for(int var14 = 0; var14 < 8 && var11 < var7.getSize(); ++var14) {
- if (var8.getAlpha(var7.getElem(var11++)) == 0) {
- var13 = true;
- var10 = (byte)(var10 | 1);
- } else {
- var10 &= -2;
- }
-
- if (var14 < 7) {
- var10 = (byte)(var10 << 1);
- }
- }
-
- var9[var19] = var10;
- }
-
- if (!var13) {
- var9 = null;
- }
-
- int var20 = ((Raster)var17).getWidth();
- if (var17 instanceof IntegerComponentRaster) {
- var20 = ((IntegerComponentRaster)var17).getScanlineStride();
- }
-
- this.setIconImageFromIntRasterData(((DataBufferInt)var7).getData(), var9, var20, ((Raster)var17).getWidth(), ((Raster)var17).getHeight());
- }
-
- }
-
- public void setMenuBar(MenuBar var1) {
- WMenuBarPeer var2 = (WMenuBarPeer)WToolkit.targetToPeer(var1);
- this.setMenuBar0(var2);
- ((WWindowPeer)this).updateInsets(super.insets_);
- }
-
- private native void setMenuBar0(WMenuBarPeer var1);
-
- WFramePeer(Frame var1) {
- super(var1);
- InputMethodManager var2 = InputMethodManager.getInstance();
- String var3 = var2.getTriggerMenuString();
- if (var3 != null) {
- this.pSetIMMOption(var3);
- }
-
- }
-
- native void createAwtFrame(WComponentPeer var1);
-
- void create(WComponentPeer var1) {
- this.createAwtFrame(var1);
- }
-
- void initialize() {
- super.initialize();
- Frame var1 = (Frame)super.target;
- if (var1.getTitle() != null) {
- ((WWindowPeer)this).setTitle(var1.getTitle());
- }
-
- ((WWindowPeer)this).setResizable(var1.isResizable());
- Image var2 = var1.getIconImage();
- if (var2 != null) {
- this.setIconImage(var2);
- }
-
- }
-
- private native void setIconImageFromIntRasterData(int[] var1, byte[] var2, int var3, int var4, int var5);
-
- private static native int getSysIconWidth();
-
- private static native int getSysIconHeight();
-
- private static native int getSysMenuHeight();
-
- native void pSetIMMOption(String var1);
-
- void notifyIMMOptionChange() {
- InputMethodManager.getInstance().notifyChangeRequest((Component)super.target);
- }
- }
-