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));
|
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 import sun.swing.JLightweightFrame;
37
38 public class WLightweightFramePeer extends WFramePeer implements LightweightFramePeer {
39
40 public WLightweightFramePeer(LightweightFrame target) {
41 super(target);
42 }
43
44 private static WLightweightFramePeer lightweightFramePeerUnderMouse = null;
45
46 @Override
47 public void setLightweightFrameUnderMouse() {
48 lightweightFramePeerUnderMouse = this;
49 setLWFrameUnderMouse(this);
50 }
51
52 @Override
53 public boolean cleanLightweightFrameUnderMouse() {
54 if (lightweightFramePeerUnderMouse == this) {
55 lightweightFramePeerUnderMouse = null;
56 setLWFrameUnderMouse(null);
57 return true;
58 }
59 return false;
60 }
61
62 static JLightweightFrame getFrameUnderCursor() {
63 if (lightweightFramePeerUnderMouse == null) {
64 return null;
65 } else {
66 return (JLightweightFrame)lightweightFramePeerUnderMouse.getLwTarget();
67 }
68 }
69
70 private static native void setLWFrameUnderMouse(WLightweightFramePeer lwFrame);
71
72 private LightweightFrame getLwTarget() {
73 return (LightweightFrame)target;
74 }
75
76 @Override
77 public Graphics getGraphics() {
78 return getLwTarget().getGraphics();
79 }
80
81 @Override
82 public void show() {
83 super.show();
84 postEvent(new ComponentEvent((Component)getTarget(), ComponentEvent.COMPONENT_SHOWN));
85 }
86
87 @Override
88 public void hide() {
89 super.hide();
90 postEvent(new ComponentEvent((Component)getTarget(), ComponentEvent.COMPONENT_HIDDEN));
|