src/windows/classes/sun/awt/windows/WLightweightFramePeer.java

Print this page

        

*** 29,45 **** import java.awt.Graphics; import java.awt.event.ComponentEvent; import java.awt.event.MouseEvent; import sun.awt.LightweightFrame; ! public class WLightweightFramePeer extends WFramePeer { public WLightweightFramePeer(LightweightFrame target) { super(target); } private LightweightFrame getLwTarget() { return (LightweightFrame)target; } @Override --- 29,76 ---- import java.awt.Graphics; import java.awt.event.ComponentEvent; import java.awt.event.MouseEvent; import sun.awt.LightweightFrame; + import sun.awt.LightweightFramePeer; + import sun.awt.LightweightFramePeerInterface; + import sun.swing.JLightweightFrame; ! public class WLightweightFramePeer extends WFramePeer implements LightweightFramePeer { public WLightweightFramePeer(LightweightFrame target) { super(target); } + private static WLightweightFramePeer lightweightFramePeerUnderMouse = null; + + @Override + public void setLightweightFrameUnderMouse() { + lightweightFramePeerUnderMouse = this; + setLWFrameUnderMouse(this); + } + + @Override + public boolean cleanLightweightFrameUnderMouse() { + if (lightweightFramePeerUnderMouse == this) { + lightweightFramePeerUnderMouse = null; + setLWFrameUnderMouse(null); + return true; + } + return false; + } + + static JLightweightFrame getFrameUnderCursor() { + if (lightweightFramePeerUnderMouse == null) { + return null; + } else { + return (JLightweightFrame)lightweightFramePeerUnderMouse.getLwTarget(); + } + } + + private static native void setLWFrameUnderMouse(WLightweightFramePeer lwFrame); + private LightweightFrame getLwTarget() { return (LightweightFrame)target; } @Override