14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package sun.awt.windows;
27
28 import java.awt.Component;
29 import java.awt.Graphics;
30 import java.awt.event.ComponentEvent;
31 import java.awt.event.MouseEvent;
32
33 import sun.awt.LightweightFrame;
34
35 public class WLightweightFramePeer extends WFramePeer {
36
37 public WLightweightFramePeer(LightweightFrame target) {
38 super(target);
39 }
40
41 private LightweightFrame getLwTarget() {
42 return (LightweightFrame)target;
43 }
44
45 @Override
46 public Graphics getGraphics() {
47 return getLwTarget().getGraphics();
48 }
49
50 @Override
51 public void show() {
52 super.show();
53 postEvent(new ComponentEvent((Component)getTarget(), ComponentEvent.COMPONENT_SHOWN));
54 }
55
56 @Override
57 public void hide() {
58 super.hide();
59 postEvent(new ComponentEvent((Component)getTarget(), ComponentEvent.COMPONENT_HIDDEN));
60 }
|
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package sun.awt.windows;
27
28 import java.awt.Component;
29 import java.awt.Graphics;
30 import java.awt.event.ComponentEvent;
31 import java.awt.event.MouseEvent;
32
33 import sun.awt.LightweightFrame;
34 import sun.awt.LightweightFramePeer;
35 import sun.awt.LightweightFramePeerInterface;
36
37 public class WLightweightFramePeer extends WFramePeer implements LightweightFramePeer {
38
39 public WLightweightFramePeer(LightweightFrame target) {
40 super(target);
41 }
42
43 private static WLightweightFramePeer lightweightFramePeerUnderMouse = null;
44
45 @Override
46 public void setLightWeightFrameUnderMouse() {
47 lightweightFramePeerUnderMouse = this;
48 setLWFrameUnderMouse(this);
49 }
50
51 @Override
52 public boolean cleanLightWeightFrameUnderMouse() {
53 if (lightweightFramePeerUnderMouse == this) {
54 lightweightFramePeerUnderMouse = this;
55 setLWFrameUnderMouse(null);
56 return true;
57 }
58 return false;
59 }
60
61 static LightweightFrame getFrameUnderCursor() {
62 return lightweightFramePeerUnderMouse == null ? null : lightweightFramePeerUnderMouse.getLwTarget();
63 }
64
65 private static native void setLWFrameUnderMouse(WLightweightFramePeer lwFrame);
66
67 private LightweightFrame getLwTarget() {
68 return (LightweightFrame)target;
69 }
70
71 @Override
72 public Graphics getGraphics() {
73 return getLwTarget().getGraphics();
74 }
75
76 @Override
77 public void show() {
78 super.show();
79 postEvent(new ComponentEvent((Component)getTarget(), ComponentEvent.COMPONENT_SHOWN));
80 }
81
82 @Override
83 public void hide() {
84 super.hide();
85 postEvent(new ComponentEvent((Component)getTarget(), ComponentEvent.COMPONENT_HIDDEN));
86 }
|