1.1 --- a/make/sun/awt/Depend.mak Tue Apr 14 00:05:07 2009 -0700
1.2 +++ b/make/sun/awt/Depend.mak Tue Apr 14 04:21:02 2009 -0700
1.3 @@ -71,6 +71,7 @@
1.4 $(STUBDIR)/Ole2.h \
1.5 $(STUBDIR)/Zmouse.h \
1.6 $(STUBDIR)/cderr.h \
1.7 + $(STUBDIR)/commctrl.h \
1.8 $(STUBDIR)/commdlg.h \
1.9 $(STUBDIR)/direct.h \
1.10 $(STUBDIR)/d3dcom.h \
2.1 --- a/make/sun/awt/FILES_c_windows.gmk Tue Apr 14 00:05:07 2009 -0700
2.2 +++ b/make/sun/awt/FILES_c_windows.gmk Tue Apr 14 04:21:02 2009 -0700
2.3 @@ -1,5 +1,5 @@
2.4 #
2.5 -# Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved.
2.6 +# Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
2.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
2.8 #
2.9 # This code is free software; you can redistribute it and/or modify it
2.10 @@ -104,7 +104,8 @@
2.11 OGLVertexCache.c \
2.12 WGLGraphicsConfig.c \
2.13 WGLSurfaceData.c \
2.14 - AccelGlyphCache.c
2.15 + AccelGlyphCache.c \
2.16 + rect.c
2.17
2.18 FILES_cpp = \
2.19 CmdIDList.cpp \
2.20 @@ -199,5 +200,6 @@
2.21 ShellFolder2.cpp \
2.22 ThemeReader.cpp \
2.23 ComCtl32Util.cpp \
2.24 + DllUtil.cpp \
2.25 initIDs.cpp \
2.26 MouseInfo.cpp
3.1 --- a/make/sun/awt/FILES_export_unix.gmk Tue Apr 14 00:05:07 2009 -0700
3.2 +++ b/make/sun/awt/FILES_export_unix.gmk Tue Apr 14 04:21:02 2009 -0700
3.3 @@ -1,5 +1,5 @@
3.4 #
3.5 -# Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
3.6 +# Copyright 2000-2009 Sun Microsystems, Inc. All Rights Reserved.
3.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
3.8 #
3.9 # This code is free software; you can redistribute it and/or modify it
3.10 @@ -107,7 +107,8 @@
3.11 sun/java2d/x11/X11Renderer.java \
3.12 sun/java2d/x11/X11SurfaceData.java \
3.13 com/sun/java/swing/plaf/gtk/GTKEngine.java \
3.14 - com/sun/java/swing/plaf/gtk/GTKStyle.java
3.15 + com/sun/java/swing/plaf/gtk/GTKStyle.java \
3.16 + sun/awt/ExtendedKeyCodes.java
3.17
3.18
3.19 FILES_export2 = \
4.1 --- a/make/sun/awt/FILES_export_windows.gmk Tue Apr 14 00:05:07 2009 -0700
4.2 +++ b/make/sun/awt/FILES_export_windows.gmk Tue Apr 14 04:21:02 2009 -0700
4.3 @@ -1,5 +1,5 @@
4.4 #
4.5 -# Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
4.6 +# Copyright 2000-2009 Sun Microsystems, Inc. All Rights Reserved.
4.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4.8 #
4.9 # This code is free software; you can redistribute it and/or modify it
4.10 @@ -154,7 +154,7 @@
4.11 sun/awt/datatransfer/DataTransferer.java \
4.12 sun/awt/datatransfer/SunClipboard.java \
4.13 sun/awt/dnd/SunDragSourceContextPeer.java \
4.14 - sun/awt/windows/WToolkitThreadBlockedHandler.java
4.15 + sun/awt/windows/WToolkitThreadBlockedHandler.java
4.16
4.17 FILES_export3 = \
4.18 java/awt/CheckboxMenuItem.java \
4.19 @@ -214,6 +214,7 @@
4.20 sun/awt/windows/WBufferStrategy.java \
4.21 sun/awt/windows/WTrayIconPeer.java \
4.22 sun/awt/image/ImagingLib.java \
4.23 + sun/awt/ExtendedKeyCodes.java \
4.24 sun/java2d/pipe/hw/AccelSurface.java \
4.25 sun/java2d/pipe/hw/AccelDeviceEventNotifier.java \
4.26 sun/java2d/pipe/hw/ContextCapabilities.java \
5.1 --- a/make/sun/awt/Makefile Tue Apr 14 00:05:07 2009 -0700
5.2 +++ b/make/sun/awt/Makefile Tue Apr 14 04:21:02 2009 -0700
5.3 @@ -1,5 +1,5 @@
5.4 #
5.5 -# Copyright 1995-2008 Sun Microsystems, Inc. All Rights Reserved.
5.6 +# Copyright 1995-2009 Sun Microsystems, Inc. All Rights Reserved.
5.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5.8 #
5.9 # This code is free software; you can redistribute it and/or modify it
5.10 @@ -219,6 +219,7 @@
5.11 vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/shell
5.12 vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/medialib
5.13 vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/debug
5.14 +vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/utility
5.15 vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../java2d
5.16 vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../java2d/loops
5.17 vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../java2d/pipe
6.1 --- a/make/sun/awt/README Tue Apr 14 00:05:07 2009 -0700
6.2 +++ b/make/sun/awt/README Tue Apr 14 04:21:02 2009 -0700
6.3 @@ -6,11 +6,9 @@
6.4
6.5 Included in this project is a generated file, make.depend, which lists
6.6 all interdependencies of the source files. This file is generated *on
6.7 -Solaris* with the following commands:
6.8 +Solaris or Linux* with the following command:
6.9
6.10 - % sccs edit make.depend
6.11 % gnumake -f Depend.mak
6.12 - % sccs delget make.depend
6.13
6.14 This step only needs to be run when new files are added to the project,
6.15 or include statements are changed.
7.1 --- a/make/sun/awt/make.depend Tue Apr 14 00:05:07 2009 -0700
7.2 +++ b/make/sun/awt/make.depend Tue Apr 14 04:21:02 2009 -0700
7.3 @@ -1,4 +1,4 @@
7.4 -$(OBJDIR)/AccelGlyphCache.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/font/AccelGlyphCache.h ../../../src/share/native/sun/font/fontscalerdefs.h ../../../src/share/native/sun/font/sunfontids.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
7.5 +$(OBJDIR)/AccelGlyphCache.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/font/AccelGlyphCache.h ../../../src/share/native/sun/font/fontscalerdefs.h ../../../src/share/native/sun/font/sunfontids.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
7.6
7.7 $(OBJDIR)/AlphaMacros.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.8
7.9 @@ -14,143 +14,143 @@
7.10
7.11 $(OBJDIR)/AnyShort.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyShort.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.12
7.13 -$(OBJDIR)/awt_AWTEvent.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_AWTEvent.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.14 +$(OBJDIR)/awt_AWTEvent.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_AWTEvent.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.15
7.16 -$(OBJDIR)/awt_BitmapUtil.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_BitmapUtil.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.17 +$(OBJDIR)/awt_BitmapUtil.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_BitmapUtil.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.18
7.19 -$(OBJDIR)/awt_Brush.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.20 +$(OBJDIR)/awt_Brush.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.21
7.22 -$(OBJDIR)/awt_Button.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Button.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WButtonPeer.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Button.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_KeyboardFocusManager.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.23 +$(OBJDIR)/awt_Button.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Button.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WButtonPeer.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Button.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.24
7.25 -$(OBJDIR)/awt_Canvas.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_KeyboardFocusManager.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsConfig.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.26 +$(OBJDIR)/awt_Canvas.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsConfig.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.27
7.28 -$(OBJDIR)/awt_Checkbox.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Checkbox.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WCheckboxPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Checkbox.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_KeyboardFocusManager.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.29 +$(OBJDIR)/awt_Checkbox.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Checkbox.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WCheckboxPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Checkbox.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.30
7.31 -$(OBJDIR)/awt_Choice.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Choice.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_InputEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Toolkit.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WChoicePeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Choice.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Container.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dimension.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_KeyboardFocusManager.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.32 +$(OBJDIR)/awt_Choice.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Choice.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_InputEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Toolkit.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WChoicePeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Choice.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Container.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dimension.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.33
7.34 -$(OBJDIR)/awt_Clipboard.obj:: $(CLASSHDRDIR)/sun_awt_windows_WClipboard.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Clipboard.h ../../../src/windows/native/sun/windows/awt_DataTransferer.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.35 +$(OBJDIR)/awt_Clipboard.obj:: $(CLASSHDRDIR)/sun_awt_windows_WClipboard.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Clipboard.h ../../../src/windows/native/sun/windows/awt_DataTransferer.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.36
7.37 -$(OBJDIR)/awt_Color.obj:: $(CLASSHDRDIR)/sun_awt_windows_WColor.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_Color.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.38 +$(OBJDIR)/awt_Color.obj:: $(CLASSHDRDIR)/sun_awt_windows_WColor.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Color.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.39
7.40 -$(OBJDIR)/awt_Component.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Color.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_InputEvent.h $(CLASSHDRDIR)/java_awt_event_InputMethodEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_MouseWheelEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_Insets.h $(CLASSHDRDIR)/java_awt_KeyboardFocusManager.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Toolkit.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WInputMethod.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WPanelPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/jawt.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_AWTEvent.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Cursor.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dimension.h ../../../src/windows/native/sun/windows/awt_DnDDT.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_InputEvent.h ../../../src/windows/native/sun/windows/awt_InputTextInfor.h ../../../src/windows/native/sun/windows/awt_Insets.h ../../../src/windows/native/sun/windows/awt_KeyboardFocusManager.h ../../../src/windows/native/sun/windows/awt_KeyEvent.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awt_MouseEvent.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.41 +$(OBJDIR)/awt_Component.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Color.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_InputEvent.h $(CLASSHDRDIR)/java_awt_event_InputMethodEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_MouseWheelEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_Insets.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Toolkit.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WInputMethod.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WPanelPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jawt.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_AWTEvent.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Cursor.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dimension.h ../../../src/windows/native/sun/windows/awt_DnDDT.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_InputEvent.h ../../../src/windows/native/sun/windows/awt_InputTextInfor.h ../../../src/windows/native/sun/windows/awt_Insets.h ../../../src/windows/native/sun/windows/awt_KeyEvent.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awt_MouseEvent.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.42
7.43 -$(OBJDIR)/awt_Container.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_Container.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.44 +$(OBJDIR)/awt_Container.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Container.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.45
7.46 -$(OBJDIR)/awt_Cursor.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Cursor.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WCustomCursor.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WGlobalCursorManager.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Container.h ../../../src/windows/native/sun/windows/awt_Cursor.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_IconCursor.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.47 +$(OBJDIR)/awt_Cursor.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Cursor.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WCustomCursor.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WGlobalCursorManager.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Container.h ../../../src/windows/native/sun/windows/awt_Cursor.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_IconCursor.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.48
7.49 -$(OBJDIR)/awt_DataTransferer.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_FileDialog.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_TextComponent.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_datatransfer_DataTransferer.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDataTransferer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFileDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WTextComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/common/locale_str.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_DataTransferer.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_DnDDT.h ../../../src/windows/native/sun/windows/awt_FileDialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_PrintDialog.h ../../../src/windows/native/sun/windows/awt_TextComponent.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.50 +$(OBJDIR)/awt_DataTransferer.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_TextComponent.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_datatransfer_DataTransferer.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDataTransferer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WTextComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/common/locale_str.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_DataTransferer.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_DnDDT.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_TextComponent.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.51
7.52 -$(OBJDIR)/awt_Debug.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.53 +$(OBJDIR)/awt_Debug.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.54
7.55 -$(OBJDIR)/awt_Desktop.obj:: ../../../src/share/javavm/export/jni.h ../../../src/windows/javavm/export/jni_md.h
7.56 +$(OBJDIR)/awt_Desktop.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.57
7.58 -$(OBJDIR)/awt_DesktopProperties.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_FileDialog.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDesktopProperties.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFileDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_DesktopProperties.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_FileDialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_PrintDialog.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.59 +$(OBJDIR)/awt_DesktopProperties.obj:: $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_windows_WDesktopProperties.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_DesktopProperties.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.60
7.61 -$(OBJDIR)/awt_Dialog.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.62 +$(OBJDIR)/awt_Dialog.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.63
7.64 -$(OBJDIR)/awt_Dimension.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dimension.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.65 +$(OBJDIR)/awt_Dimension.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dimension.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.66
7.67 -$(OBJDIR)/awt_DnDDS.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_dnd_DnDConstants.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_InputEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_dnd_SunDragSourceContextPeer.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDragSourceContextPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Cursor.h ../../../src/windows/native/sun/windows/awt_DataTransferer.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_DnDDS.h ../../../src/windows/native/sun/windows/awt_DnDDT.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.68 +$(OBJDIR)/awt_DnDDS.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_dnd_DnDConstants.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_InputEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_dnd_SunDragSourceContextPeer.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDragSourceContextPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Cursor.h ../../../src/windows/native/sun/windows/awt_DataTransferer.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_DnDDS.h ../../../src/windows/native/sun/windows/awt_DnDDT.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.69
7.70 -$(OBJDIR)/awt_DnDDT.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_dnd_DnDConstants.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_FileDialog.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDropTargetContextPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFileDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Container.h ../../../src/windows/native/sun/windows/awt_DataTransferer.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_DnDDS.h ../../../src/windows/native/sun/windows/awt_DnDDT.h ../../../src/windows/native/sun/windows/awt_FileDialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_PrintDialog.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.71 +$(OBJDIR)/awt_DnDDT.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_dnd_DnDConstants.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDropTargetContextPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Container.h ../../../src/windows/native/sun/windows/awt_DataTransferer.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_DnDDS.h ../../../src/windows/native/sun/windows/awt_DnDDT.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.72
7.73 -$(OBJDIR)/awt_DrawingSurface.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/jawt.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jawt_md.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/java2d/windows/WindowsFlags.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_DrawingSurface.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.74 +$(OBJDIR)/awt_DrawingSurface.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jawt.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jawt_md.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_DrawingSurface.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.75
7.76 -$(OBJDIR)/awt_Event.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Event.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.77 +$(OBJDIR)/awt_Event.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Event.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.78
7.79 -$(OBJDIR)/awt_FileDialog.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_FileDialog.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFileDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_FileDialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_PrintDialog.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.80 +$(OBJDIR)/awt_FileDialog.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_FileDialog.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFileDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_FileDialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.81
7.82 -$(OBJDIR)/awt_Font.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDefaultFontCharset.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFontPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/Disposer.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.83 +$(OBJDIR)/awt_Font.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDefaultFontCharset.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFontPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/Disposer.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.84
7.85 -$(OBJDIR)/awt_Frame.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/java_lang_Integer.h $(CLASSHDRDIR)/sun_awt_EmbeddedFrame.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WEmbeddedFrame.h $(CLASSHDRDIR)/sun_awt_windows_WEmbeddedFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_IconCursor.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.86 +$(OBJDIR)/awt_Frame.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/java_lang_Integer.h $(CLASSHDRDIR)/sun_awt_EmbeddedFrame.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WEmbeddedFrame.h $(CLASSHDRDIR)/sun_awt_windows_WEmbeddedFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_IconCursor.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.87
7.88 -$(OBJDIR)/awt_GDIObject.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.89 +$(OBJDIR)/awt_GDIObject.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.90
7.91 -$(OBJDIR)/awt_IconCursor.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_IconCursor.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.92 +$(OBJDIR)/awt_IconCursor.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_IconCursor.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.93
7.94 $(OBJDIR)/awt_ImageRep.obj:: $(CLASSHDRDIR)/sun_awt_image_ImageRepresentation.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/image/awt_parseImage.h ../../../src/share/native/sun/awt/image/imageInitIDs.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/jlong_md.h
7.95
7.96 $(OBJDIR)/awt_ImagingLib.obj:: $(CLASSHDRDIR)/java_awt_color_ColorSpace.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_image_BufferedImage.h $(CLASSHDRDIR)/java_awt_image_ConvolveOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_awt_image_ImagingLib.h $(CLASSHDRDIR)/sun_awt_image_IntegerComponentRaster.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/image/awt_parseImage.h ../../../src/share/native/sun/awt/image/imageInitIDs.h ../../../src/share/native/sun/awt/medialib/awt_ImagingLib.h ../../../src/share/native/sun/awt/medialib/mlib_image_get.h ../../../src/share/native/sun/awt/medialib/mlib_image_types.h ../../../src/share/native/sun/awt/medialib/mlib_status.h ../../../src/share/native/sun/awt/medialib/mlib_types.h ../../../src/share/native/sun/awt/medialib/safe_alloc.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/awt_Mlib.h
7.97
7.98 -$(OBJDIR)/awt_InputEvent.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_InputEvent.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.99 +$(OBJDIR)/awt_InputEvent.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_InputEvent.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.100
7.101 -$(OBJDIR)/awt_InputMethod.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_InputMethodEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WInputMethod.h $(CLASSHDRDIR)/sun_awt_windows_WInputMethodDescriptor.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/common/locale_str.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_AWTEvent.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.102 +$(OBJDIR)/awt_InputMethod.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_InputMethodEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WInputMethodDescriptor.h $(CLASSHDRDIR)/sun_awt_windows_WInputMethod.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/common/locale_str.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_AWTEvent.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.103
7.104 -$(OBJDIR)/awt_InputTextInfor.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_InputTextInfor.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.105 +$(OBJDIR)/awt_InputTextInfor.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_InputTextInfor.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.106
7.107 -$(OBJDIR)/awt_Insets.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Insets.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.108 +$(OBJDIR)/awt_Insets.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_Insets.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.109
7.110 -$(OBJDIR)/awt_KeyboardFocusManager.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_KeyboardFocusManager.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_KeyboardFocusManager.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.111 +$(OBJDIR)/awt_KeyboardFocusManager.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_KeyboardFocusManager.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.112
7.113 -$(OBJDIR)/awt_KeyEvent.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_KeyEvent.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.114 +$(OBJDIR)/awt_KeyEvent.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_KeyEvent.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.115
7.116 -$(OBJDIR)/awt_Label.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Label.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WLabelPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Label.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.117 +$(OBJDIR)/awt_Label.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Label.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WLabelPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_Label.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.118
7.119 -$(OBJDIR)/awt_List.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_List.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WListPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dimension.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_KeyboardFocusManager.h ../../../src/windows/native/sun/windows/awt_List.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.120 +$(OBJDIR)/awt_List.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_List.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WListPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dimension.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_List.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.121
7.122 -$(OBJDIR)/awt_Menu.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.123 +$(OBJDIR)/awt_MenuBar.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.124
7.125 -$(OBJDIR)/awt_MenuBar.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.126 +$(OBJDIR)/awt_MenuItem.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_CheckboxMenuItem.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_InputEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Toolkit.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCheckboxMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_DesktopProperties.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.127
7.128 -$(OBJDIR)/awt_MenuItem.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_CheckboxMenuItem.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_InputEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Toolkit.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCheckboxMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_DesktopProperties.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.129 +$(OBJDIR)/awt_Menu.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.130
7.131 $(OBJDIR)/awt_Mlib.obj:: $(CLASSHDRDIR)/java_awt_image_BufferedImage.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/medialib/awt_ImagingLib.h ../../../src/share/native/sun/awt/medialib/mlib_image_get.h ../../../src/share/native/sun/awt/medialib/mlib_image_types.h ../../../src/share/native/sun/awt/medialib/mlib_status.h ../../../src/share/native/sun/awt/medialib/mlib_types.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Mlib.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.132
7.133 -$(OBJDIR)/awt_MouseEvent.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_MouseEvent.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.134 +$(OBJDIR)/awt_MouseEvent.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_MouseEvent.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.135
7.136 -$(OBJDIR)/awt_new.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_new.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.137 +$(OBJDIR)/awt_new.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_new.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.138
7.139 -$(OBJDIR)/awt_Object.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.140 +$(OBJDIR)/awt_Object.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.141
7.142 -$(OBJDIR)/awt_Palette.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_CustomPaletteDef.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/img_util_md.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.143 +$(OBJDIR)/awt_Palette.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_CustomPaletteDef.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/img_util_md.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.144
7.145 -$(OBJDIR)/awt_Panel.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Panel.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.146 +$(OBJDIR)/awt_Panel.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Panel.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.147
7.148 $(OBJDIR)/awt_parseImage.obj:: $(CLASSHDRDIR)/java_awt_color_ColorSpace.h $(CLASSHDRDIR)/java_awt_image_BufferedImage.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_awt_image_ImagingLib.h $(CLASSHDRDIR)/sun_awt_image_IntegerComponentRaster.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/image/awt_parseImage.h ../../../src/share/native/sun/awt/image/imageInitIDs.h ../../../src/share/native/sun/awt/medialib/awt_ImagingLib.h ../../../src/share/native/sun/awt/medialib/mlib_image_get.h ../../../src/share/native/sun/awt/medialib/mlib_image_types.h ../../../src/share/native/sun/awt/medialib/mlib_status.h ../../../src/share/native/sun/awt/medialib/mlib_types.h ../../../src/share/native/sun/awt/medialib/safe_alloc.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/awt_Mlib.h
7.149
7.150 -$(OBJDIR)/awt_Pen.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.151 +$(OBJDIR)/awt_Pen.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.152
7.153 -$(OBJDIR)/awt_PopupMenu.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_PopupMenu.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WPopupMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Event.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_PopupMenu.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.154 +$(OBJDIR)/awt_PopupMenu.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_PopupMenu.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WPopupMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Event.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_PopupMenu.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.155
7.156 -$(OBJDIR)/awt_PrintControl.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_PrintControl.h ../../../src/windows/native/sun/windows/awt_PrintDialog.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.157 +$(OBJDIR)/awt_PrintControl.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_PrintControl.h ../../../src/windows/native/sun/windows/awt_PrintDialog.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.158
7.159 -$(OBJDIR)/awt_PrintDialog.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_FileDialog.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFileDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WPrintDialog.h $(CLASSHDRDIR)/sun_awt_windows_WPrintDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_FileDialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_PrintControl.h ../../../src/windows/native/sun/windows/awt_PrintDialog.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.160 +$(OBJDIR)/awt_PrintDialog.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WPrintDialog.h $(CLASSHDRDIR)/sun_awt_windows_WPrintDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_PrintControl.h ../../../src/windows/native/sun/windows/awt_PrintDialog.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.161
7.162 -$(OBJDIR)/awt_PrintJob.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_FileDialog.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFileDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WPrinterJob.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_FileDialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_PrintControl.h ../../../src/windows/native/sun/windows/awt_PrintDialog.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.163 +$(OBJDIR)/awt_PrintJob.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WPrinterJob.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_PrintControl.h ../../../src/windows/native/sun/windows/awt_PrintDialog.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.164
7.165 -$(OBJDIR)/awt_Rectangle.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Rectangle.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.166 +$(OBJDIR)/awt_Rectangle.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_Rectangle.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.167
7.168 -$(OBJDIR)/awt_Robot.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_InputEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WRobotPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Robot.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.169 +$(OBJDIR)/awt_Robot.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_InputEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WRobotPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Robot.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.170
7.171 -$(OBJDIR)/awt_Scrollbar.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Scrollbar.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WScrollbarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_KeyboardFocusManager.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Scrollbar.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.172 +$(OBJDIR)/awt_Scrollbar.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Scrollbar.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WScrollbarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Scrollbar.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.173
7.174 -$(OBJDIR)/awt_ScrollPane.obj:: $(CLASSHDRDIR)/java_awt_Adjustable.h $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_AdjustmentEvent.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Insets.h $(CLASSHDRDIR)/java_awt_Scrollbar.h $(CLASSHDRDIR)/java_awt_ScrollPane.h $(CLASSHDRDIR)/java_awt_ScrollPaneAdjustable.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WScrollbarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WScrollPanePeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Container.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Insets.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Panel.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Scrollbar.h ../../../src/windows/native/sun/windows/awt_ScrollPane.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.175 +$(OBJDIR)/awt_ScrollPane.obj:: $(CLASSHDRDIR)/java_awt_Adjustable.h $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_AdjustmentEvent.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Insets.h $(CLASSHDRDIR)/java_awt_Scrollbar.h $(CLASSHDRDIR)/java_awt_ScrollPaneAdjustable.h $(CLASSHDRDIR)/java_awt_ScrollPane.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WScrollbarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WScrollPanePeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Container.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_Insets.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Panel.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Scrollbar.h ../../../src/windows/native/sun/windows/awt_ScrollPane.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.176
7.177 -$(OBJDIR)/awt_TextArea.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_FileDialog.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_TextArea.h $(CLASSHDRDIR)/java_awt_TextComponent.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFileDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WTextAreaPeer.h $(CLASSHDRDIR)/sun_awt_windows_WTextComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_FileDialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_KeyboardFocusManager.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_PrintDialog.h ../../../src/windows/native/sun/windows/awt_TextArea.h ../../../src/windows/native/sun/windows/awt_TextComponent.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.178 +$(OBJDIR)/awt_TextArea.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_TextArea.h $(CLASSHDRDIR)/java_awt_TextComponent.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WTextAreaPeer.h $(CLASSHDRDIR)/sun_awt_windows_WTextComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_TextArea.h ../../../src/windows/native/sun/windows/awt_TextComponent.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.179
7.180 -$(OBJDIR)/awt_TextComponent.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_TextComponent.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WTextComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_KeyboardFocusManager.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_TextComponent.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.181 +$(OBJDIR)/awt_TextComponent.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_TextComponent.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WTextComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_TextComponent.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.182
7.183 -$(OBJDIR)/awt_TextField.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_FileDialog.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_TextComponent.h $(CLASSHDRDIR)/java_awt_TextField.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFileDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WTextComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WTextFieldPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_FileDialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_KeyboardFocusManager.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_PrintDialog.h ../../../src/windows/native/sun/windows/awt_TextComponent.h ../../../src/windows/native/sun/windows/awt_TextField.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.184 +$(OBJDIR)/awt_TextField.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_TextComponent.h $(CLASSHDRDIR)/java_awt_TextField.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WTextComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WTextFieldPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_TextComponent.h ../../../src/windows/native/sun/windows/awt_TextField.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.185
7.186 -$(OBJDIR)/awt_Toolkit.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_InputMethodEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_FileDialog.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_List.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_ComponentPeer.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_PopupMenu.h $(CLASSHDRDIR)/java_awt_Toolkit.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFileDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WListPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WPopupMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/jawt.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jawt_md.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DPipelineManager.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_AWTEvent.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Clipboard.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Cursor.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_DesktopProperties.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_DnDDS.h ../../../src/windows/native/sun/windows/awt_DnDDT.h ../../../src/windows/native/sun/windows/awt_DrawingSurface.h ../../../src/windows/native/sun/windows/awt_FileDialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_InputEvent.h ../../../src/windows/native/sun/windows/awt_KeyEvent.h ../../../src/windows/native/sun/windows/awt_List.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awt_new.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_PopupMenu.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/CmdIDList.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.187 +$(OBJDIR)/awt_Toolkit.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_InputMethodEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_FileDialog.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_List.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_ComponentPeer.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_PopupMenu.h $(CLASSHDRDIR)/java_awt_Toolkit.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFileDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WListPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WPopupMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jawt.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jawt_md.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DPipelineManager.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_AWTEvent.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Clipboard.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Cursor.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_DesktopProperties.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_DnDDS.h ../../../src/windows/native/sun/windows/awt_DnDDT.h ../../../src/windows/native/sun/windows/awt_DrawingSurface.h ../../../src/windows/native/sun/windows/awt_FileDialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_InputEvent.h ../../../src/windows/native/sun/windows/awt_KeyEvent.h ../../../src/windows/native/sun/windows/awt_List.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_new.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_PopupMenu.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/CmdIDList.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/DllUtil.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.188
7.189 -$(OBJDIR)/awt_TrayIcon.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_ActionEvent.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_InputEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_TrayIcon.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WTrayIconPeer.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_AWTEvent.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_TrayIcon.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.190 +$(OBJDIR)/awt_TrayIcon.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_ActionEvent.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_InputEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_TrayIcon.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WTrayIconPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_AWTEvent.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_TrayIcon.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.191
7.192 -$(OBJDIR)/awt_Win32GraphicsConfig.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_image_DataBuffer.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_Win32GraphicsConfig.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsConfig.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.193 +$(OBJDIR)/awt_Win32GraphicsConfig.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_image_DataBuffer.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_Win32GraphicsConfig.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsConfig.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.194
7.195 -$(OBJDIR)/awt_Win32GraphicsDevice.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_color_ColorSpace.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_FileDialog.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_image_DataBuffer.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_Win32GraphicsDevice.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFileDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/awt/image/dither.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_FileDialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_PrintDialog.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/img_util_md.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.196 +$(OBJDIR)/awt_Win32GraphicsDevice.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_color_ColorSpace.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_image_DataBuffer.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_Win32GraphicsDevice.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/awt/image/dither.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/img_util_md.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.197
7.198 -$(OBJDIR)/awt_Win32GraphicsEnv.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_Win32GraphicsEnvironment.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/java2d/windows/WindowsFlags.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.199 +$(OBJDIR)/awt_Win32GraphicsEnv.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_Win32GraphicsEnvironment.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/java2d/windows/WindowsFlags.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/DllUtil.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.200
7.201 -$(OBJDIR)/awt_Window.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Container.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_ComponentEvent.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_FileDialog.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_Insets.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFileDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_BitmapUtil.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Container.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_FileDialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_IconCursor.h ../../../src/windows/native/sun/windows/awt_Insets.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Panel.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_PrintDialog.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.202 +$(OBJDIR)/awt_Window.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Container.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_ComponentEvent.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_Insets.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_BitmapUtil.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Container.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_IconCursor.h ../../../src/windows/native/sun/windows/awt_Insets.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Panel.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.203 +
7.204 +$(OBJDIR)/BlitBg.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_BlitBg.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.205
7.206 $(OBJDIR)/Blit.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_Blit.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.207
7.208 -$(OBJDIR)/BlitBg.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_BlitBg.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.209 +$(OBJDIR)/BufferedMaskBlit.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedMaskBlit.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedOpCodes.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntBgr.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.210
7.211 -$(OBJDIR)/BufferedMaskBlit.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedMaskBlit.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedOpCodes.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntBgr.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.212 -
7.213 -$(OBJDIR)/BufferedRenderPipe.obj:: $(CLASSHDRDIR)/sun_java2d_pipe_BufferedOpCodes.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedRenderPipe.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
7.214 +$(OBJDIR)/BufferedRenderPipe.obj:: $(CLASSHDRDIR)/sun_java2d_pipe_BufferedOpCodes.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedRenderPipe.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
7.215
7.216 $(OBJDIR)/BufImgSurfaceData.obj:: $(CLASSHDRDIR)/sun_awt_image_BufImgSurfaceData.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/image/BufImgSurfaceData.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/img_util_md.h
7.217
7.218 @@ -160,62 +160,64 @@
7.219
7.220 $(OBJDIR)/ByteBinary4Bit.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyByteBinary.h ../../../src/share/native/sun/java2d/loops/ByteBinary4Bit.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.221
7.222 -$(OBJDIR)/ByteGray.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyByte.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/Index12Gray.h ../../../src/share/native/sun/java2d/loops/Index8Gray.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.223 +$(OBJDIR)/ByteGray.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyByte.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/Index12Gray.h ../../../src/share/native/sun/java2d/loops/Index8Gray.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.224
7.225 -$(OBJDIR)/ByteIndexed.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyByte.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/Index12Gray.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.226 +$(OBJDIR)/ByteIndexed.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyByte.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/Index12Gray.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.227
7.228 -$(OBJDIR)/CmdIDList.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/CmdIDList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.229 +$(OBJDIR)/CmdIDList.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/CmdIDList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.230
7.231 -$(OBJDIR)/ComCtl32Util.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.232 +$(OBJDIR)/ComCtl32Util.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.233
7.234 -$(OBJDIR)/D3DBlitLoops.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DBlitLoops.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntBgr.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/Ushort555Rgb.h ../../../src/share/native/sun/java2d/loops/Ushort565Rgb.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DBlitLoops.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.235 +$(OBJDIR)/D3DBlitLoops.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DBlitLoops.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntBgr.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/Ushort555Rgb.h ../../../src/share/native/sun/java2d/loops/Ushort565Rgb.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DBlitLoops.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.236
7.237 -$(OBJDIR)/D3DBufImgOps.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DBufImgOps.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.238 +$(OBJDIR)/D3DBufImgOps.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DBufImgOps.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.239
7.240 -$(OBJDIR)/D3DContext.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedTextPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/sun/font/AccelGlyphCache.h ../../../src/share/native/sun/font/fontscalerdefs.h ../../../src/share/native/sun/font/sunfontids.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DBufImgOps.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DGlyphCache.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPaints.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DPipelineManager.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DShaders.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DTextRenderer.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.241 +$(OBJDIR)/D3DContext.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedTextPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/font/AccelGlyphCache.h ../../../src/share/native/sun/font/fontscalerdefs.h ../../../src/share/native/sun/font/sunfontids.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DBufImgOps.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DGlyphCache.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPaints.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DPipelineManager.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DShaders.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DTextRenderer.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.242
7.243 -$(OBJDIR)/D3DGlyphCache.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedTextPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/sun/font/AccelGlyphCache.h ../../../src/share/native/sun/font/fontscalerdefs.h ../../../src/share/native/sun/font/sunfontids.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DGlyphCache.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DTextRenderer.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.244 +$(OBJDIR)/D3DGlyphCache.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedTextPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/font/AccelGlyphCache.h ../../../src/share/native/sun/font/fontscalerdefs.h ../../../src/share/native/sun/font/sunfontids.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DGlyphCache.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DTextRenderer.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.245
7.246 -$(OBJDIR)/D3DGraphicsDevice.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DGraphicsDevice.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DGraphicsDevice.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DPipelineManager.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.247 +$(OBJDIR)/D3DGraphicsDevice.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DGraphicsDevice.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DGraphicsDevice.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DPipelineManager.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.248
7.249 -$(OBJDIR)/D3DMaskBlit.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskBlit.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.250 +$(OBJDIR)/D3DMaskBlit.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskBlit.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.251
7.252 -$(OBJDIR)/D3DMaskCache.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.253 +$(OBJDIR)/D3DMaskCache.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.254
7.255 -$(OBJDIR)/D3DMaskFill.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DMaskFill.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskFill.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.256 +$(OBJDIR)/D3DMaskFill.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DMaskFill.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskFill.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.257
7.258 -$(OBJDIR)/D3DPaints.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPaints.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.259 +$(OBJDIR)/D3DPaints.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPaints.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.260
7.261 -$(OBJDIR)/D3DPipelineManager.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DBadHardware.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DPipelineManager.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/windows/WindowsFlags.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.262 +$(OBJDIR)/D3DPipelineManager.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DBadHardware.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DPipelineManager.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/windows/WindowsFlags.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.263
7.264 -$(OBJDIR)/D3DRenderer.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DRenderer.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedRenderPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderer.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.265 +$(OBJDIR)/D3DRenderer.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DRenderer.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedRenderPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderer.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.266
7.267 -$(OBJDIR)/D3DRenderQueue.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DBlitLoops.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedOpCodes.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedRenderPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedTextPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/font/AccelGlyphCache.h ../../../src/share/native/sun/font/fontscalerdefs.h ../../../src/share/native/sun/font/sunfontids.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DBlitLoops.h ../../../src/windows/native/sun/java2d/d3d/D3DBufImgOps.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskBlit.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskFill.h ../../../src/windows/native/sun/java2d/d3d/D3DPaints.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DPipelineManager.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderer.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DTextRenderer.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.268 +$(OBJDIR)/D3DRenderQueue.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DBlitLoops.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedOpCodes.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedRenderPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedTextPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/font/AccelGlyphCache.h ../../../src/share/native/sun/font/fontscalerdefs.h ../../../src/share/native/sun/font/sunfontids.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DBlitLoops.h ../../../src/windows/native/sun/java2d/d3d/D3DBufImgOps.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskBlit.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskFill.h ../../../src/windows/native/sun/java2d/d3d/D3DPaints.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DPipelineManager.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderer.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DTextRenderer.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.269
7.270 -$(OBJDIR)/D3DResourceManager.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedTextPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/font/AccelGlyphCache.h ../../../src/share/native/sun/font/fontscalerdefs.h ../../../src/share/native/sun/font/sunfontids.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPaints.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DTextRenderer.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.271 +$(OBJDIR)/D3DResourceManager.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedTextPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/font/AccelGlyphCache.h ../../../src/share/native/sun/font/fontscalerdefs.h ../../../src/share/native/sun/font/sunfontids.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPaints.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DTextRenderer.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.272
7.273 -$(OBJDIR)/D3DSurfaceData.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DPipelineManager.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_BitmapUtil.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.274 +$(OBJDIR)/D3DSurfaceData.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DPipelineManager.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_BitmapUtil.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.275
7.276 -$(OBJDIR)/D3DTextRenderer.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DTextRenderer.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedTextPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/sun/font/AccelGlyphCache.h ../../../src/share/native/sun/font/fontscalerdefs.h ../../../src/share/native/sun/font/sunfontids.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DGlyphCache.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DTextRenderer.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.277 +$(OBJDIR)/D3DTextRenderer.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DTextRenderer.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedTextPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/font/AccelGlyphCache.h ../../../src/share/native/sun/font/fontscalerdefs.h ../../../src/share/native/sun/font/sunfontids.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DGlyphCache.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DTextRenderer.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.278
7.279 -$(OBJDIR)/D3DVertexCacher.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPaints.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.280 +$(OBJDIR)/D3DVertexCacher.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPaints.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.281
7.282 -$(OBJDIR)/DataBufferNative.obj:: $(CLASSHDRDIR)/sun_awt_image_DataBufferNative.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
7.283 +$(OBJDIR)/DataBufferNative.obj:: $(CLASSHDRDIR)/sun_awt_image_DataBufferNative.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
7.284
7.285 -$(OBJDIR)/debug_assert.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
7.286 +$(OBJDIR)/debug_assert.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
7.287
7.288 -$(OBJDIR)/debug_mem.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
7.289 +$(OBJDIR)/debug_mem.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
7.290
7.291 -$(OBJDIR)/debug_trace.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
7.292 +$(OBJDIR)/debug_trace.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
7.293
7.294 -$(OBJDIR)/debug_util.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
7.295 +$(OBJDIR)/debug_util.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
7.296
7.297 -$(OBJDIR)/Devices.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DPipelineManager.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.298 +$(OBJDIR)/Devices.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DPipelineManager.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.299
7.300 $(OBJDIR)/Disposer.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/Disposer.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/jlong_md.h
7.301
7.302 $(OBJDIR)/dither.obj:: ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/awt/image/dither.h ../../../src/windows/native/sun/windows/colordata.h
7.303
7.304 +$(OBJDIR)/DllUtil.obj:: ../../../src/windows/native/sun/windows/DllUtil.h
7.305 +
7.306 $(OBJDIR)/DrawLine.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_DrawLine.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.307
7.308 $(OBJDIR)/DrawPath.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_DrawPath.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/DrawPath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/ProcessPath.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.309 @@ -230,27 +232,27 @@
7.310
7.311 $(OBJDIR)/FillSpans.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_FillSpans.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.312
7.313 -$(OBJDIR)/FourByteAbgr.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/Any4Byte.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/FourByteAbgr.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.314 +$(OBJDIR)/FourByteAbgr.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/Any4Byte.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/FourByteAbgr.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.315
7.316 -$(OBJDIR)/FourByteAbgrPre.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/Any4Byte.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/FourByteAbgrPre.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.317 +$(OBJDIR)/FourByteAbgrPre.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/Any4Byte.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/FourByteAbgrPre.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.318
7.319 -$(OBJDIR)/GDIBlitLoops.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_java2d_windows_GDIBlitLoops.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.320 +$(OBJDIR)/GDIBlitLoops.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_java2d_windows_GDIBlitLoops.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.321
7.322 -$(OBJDIR)/GDIHashtable.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_FileDialog.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFileDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_FileDialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_PrintDialog.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.323 +$(OBJDIR)/GDIHashtable.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.324
7.325 -$(OBJDIR)/GDIRenderer.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_geom_PathIterator.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_java2d_windows_GDIRenderer.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.326 +$(OBJDIR)/GDIRenderer.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_geom_PathIterator.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_java2d_windows_GDIRenderer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.327
7.328 -$(OBJDIR)/GDIWindowSurfaceData.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_java2d_windows_GDIWindowSurfaceData.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/Disposer.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/java2d/windows/WindowsFlags.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.329 +$(OBJDIR)/GDIWindowSurfaceData.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_java2d_windows_GDIWindowSurfaceData.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/Disposer.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/java2d/windows/WindowsFlags.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.330
7.331 $(OBJDIR)/gifdecoder.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/jlong_md.h
7.332
7.333 $(OBJDIR)/GraphicsPrimitiveMgr.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_GraphicsPrimitiveMgr.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.334
7.335 -$(OBJDIR)/Hashtable.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.336 +$(OBJDIR)/Hashtable.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.337
7.338 $(OBJDIR)/imageInitIDs.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/image/imageInitIDs.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/jlong_md.h
7.339
7.340 -$(OBJDIR)/img_colors.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
7.341 +$(OBJDIR)/img_colors.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
7.342
7.343 $(OBJDIR)/img_globals.obj:: $(CLASSHDRDIR)/java_awt_image_DirectColorModel.h $(CLASSHDRDIR)/java_awt_image_IndexColorModel.h $(CLASSHDRDIR)/java_awt_Transparency.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/windows/javavm/export/jni_md.h
7.344
7.345 @@ -260,49 +262,49 @@
7.346
7.347 $(OBJDIR)/initIDs.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/jlong_md.h
7.348
7.349 -$(OBJDIR)/IntArgb.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyInt.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/Index12Gray.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.350 +$(OBJDIR)/IntArgbBm.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyInt.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.351
7.352 -$(OBJDIR)/IntArgbBm.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyInt.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.353 +$(OBJDIR)/IntArgb.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyInt.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/Index12Gray.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.354
7.355 $(OBJDIR)/IntArgbPre.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyInt.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.356
7.357 -$(OBJDIR)/IntBgr.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyInt.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/Index12Gray.h ../../../src/share/native/sun/java2d/loops/Index8Gray.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntBgr.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.358 +$(OBJDIR)/IntBgr.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyInt.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/Index12Gray.h ../../../src/share/native/sun/java2d/loops/Index8Gray.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntBgr.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.359
7.360 -$(OBJDIR)/IntRgb.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyInt.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/Index12Gray.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.361 +$(OBJDIR)/IntRgb.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyInt.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/Index12Gray.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.362
7.363 -$(OBJDIR)/IntRgbx.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyInt.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/IntRgbx.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.364 +$(OBJDIR)/IntRgbx.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyInt.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/IntRgbx.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.365
7.366 $(OBJDIR)/MaskBlit.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_MaskBlit.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.367
7.368 $(OBJDIR)/MaskFill.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_MaskFill.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.369
7.370 -$(OBJDIR)/MouseInfo.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.371 +$(OBJDIR)/MouseInfo.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.372
7.373 -$(OBJDIR)/ObjectList.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.374 +$(OBJDIR)/ObjectList.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.375
7.376 -$(OBJDIR)/OGLBlitLoops.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLBlitLoops.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/OGLBlitLoops.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
7.377 +$(OBJDIR)/OGLBlitLoops.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLBlitLoops.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLBlitLoops.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
7.378
7.379 -$(OBJDIR)/OGLBufImgOps.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/OGLBufImgOps.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
7.380 +$(OBJDIR)/OGLBufImgOps.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLBufImgOps.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
7.381
7.382 -$(OBJDIR)/OGLContext.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
7.383 +$(OBJDIR)/OGLContext.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
7.384
7.385 -$(OBJDIR)/OGLFuncs.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
7.386 +$(OBJDIR)/OGLFuncs.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
7.387
7.388 -$(OBJDIR)/OGLMaskBlit.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLMaskBlit.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
7.389 +$(OBJDIR)/OGLMaskBlit.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLMaskBlit.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
7.390
7.391 -$(OBJDIR)/OGLMaskFill.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLMaskFill.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLMaskFill.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/opengl/OGLVertexCache.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
7.392 +$(OBJDIR)/OGLMaskFill.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLMaskFill.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLMaskFill.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/opengl/OGLVertexCache.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
7.393
7.394 -$(OBJDIR)/OGLPaints.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedPaints.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLPaints.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
7.395 +$(OBJDIR)/OGLPaints.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedPaints.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLPaints.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
7.396
7.397 -$(OBJDIR)/OGLRenderer.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLRenderer.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedRenderPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLRenderer.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
7.398 +$(OBJDIR)/OGLRenderer.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLRenderer.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedRenderPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLRenderer.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
7.399
7.400 -$(OBJDIR)/OGLRenderQueue.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLBlitLoops.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedOpCodes.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedRenderPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedTextPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/OGLBlitLoops.h ../../../src/share/native/sun/java2d/opengl/OGLBufImgOps.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLMaskBlit.h ../../../src/share/native/sun/java2d/opengl/OGLMaskFill.h ../../../src/share/native/sun/java2d/opengl/OGLPaints.h ../../../src/share/native/sun/java2d/opengl/OGLRenderer.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/opengl/OGLTextRenderer.h ../../../src/share/native/sun/java2d/opengl/OGLVertexCache.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
7.401 +$(OBJDIR)/OGLRenderQueue.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLBlitLoops.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedOpCodes.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedRenderPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedTextPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLBlitLoops.h ../../../src/share/native/sun/java2d/opengl/OGLBufImgOps.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLMaskBlit.h ../../../src/share/native/sun/java2d/opengl/OGLMaskFill.h ../../../src/share/native/sun/java2d/opengl/OGLPaints.h ../../../src/share/native/sun/java2d/opengl/OGLRenderer.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/opengl/OGLTextRenderer.h ../../../src/share/native/sun/java2d/opengl/OGLVertexCache.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
7.402
7.403 -$(OBJDIR)/OGLSurfaceData.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
7.404 +$(OBJDIR)/OGLSurfaceData.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
7.405
7.406 -$(OBJDIR)/OGLTextRenderer.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLTextRenderer.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedTextPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/font/AccelGlyphCache.h ../../../src/share/native/sun/font/fontscalerdefs.h ../../../src/share/native/sun/font/sunfontids.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/opengl/OGLTextRenderer.h ../../../src/share/native/sun/java2d/opengl/OGLVertexCache.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
7.407 +$(OBJDIR)/OGLTextRenderer.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLTextRenderer.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedTextPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/font/AccelGlyphCache.h ../../../src/share/native/sun/font/fontscalerdefs.h ../../../src/share/native/sun/font/sunfontids.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/opengl/OGLTextRenderer.h ../../../src/share/native/sun/java2d/opengl/OGLVertexCache.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
7.408
7.409 -$(OBJDIR)/OGLVertexCache.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLPaints.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/opengl/OGLVertexCache.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
7.410 +$(OBJDIR)/OGLVertexCache.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLPaints.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/opengl/OGLVertexCache.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
7.411
7.412 $(OBJDIR)/ProcessPath.obj:: $(CLASSHDRDIR)/java_awt_geom_PathIterator.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/loops/ProcessPath.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.413
7.414 @@ -314,36 +316,36 @@
7.415
7.416 $(OBJDIR)/ShapeSpanIterator.obj:: $(CLASSHDRDIR)/java_awt_geom_PathIterator.h $(CLASSHDRDIR)/sun_java2d_pipe_ShapeSpanIterator.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/pipe/PathConsumer2D.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.417
7.418 -$(OBJDIR)/ShellFolder2.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.419 +$(OBJDIR)/ShellFolder2.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.420
7.421 $(OBJDIR)/SpanClipRenderer.obj:: $(CLASSHDRDIR)/sun_java2d_pipe_RegionIterator.h $(CLASSHDRDIR)/sun_java2d_pipe_SpanClipRenderer.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/jlong_md.h
7.422
7.423 $(OBJDIR)/SurfaceData.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/Disposer.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/jlong_md.h
7.424
7.425 -$(OBJDIR)/ThemeReader.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_ThemeReader.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.426 +$(OBJDIR)/ThemeReader.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_ThemeReader.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.427
7.428 -$(OBJDIR)/ThreeByteBgr.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/Any3Byte.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.429 +$(OBJDIR)/ThreeByteBgr.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/Any3Byte.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.430
7.431 -$(OBJDIR)/Trace.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
7.432 +$(OBJDIR)/Trace.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
7.433
7.434 $(OBJDIR)/TransformHelper.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_loops_TransformHelper.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.435
7.436 -$(OBJDIR)/Ushort4444Argb.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyShort.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/Ushort4444Argb.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.437 +$(OBJDIR)/Ushort4444Argb.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyShort.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/Ushort4444Argb.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.438
7.439 -$(OBJDIR)/Ushort555Rgb.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyShort.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/Ushort555Rgb.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.440 +$(OBJDIR)/Ushort555Rgb.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyShort.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/Ushort555Rgb.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.441
7.442 -$(OBJDIR)/Ushort555Rgbx.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyShort.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/Ushort555Rgbx.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.443 +$(OBJDIR)/Ushort555Rgbx.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyShort.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/Ushort555Rgbx.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.444
7.445 -$(OBJDIR)/Ushort565Rgb.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyShort.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/Ushort4444Argb.h ../../../src/share/native/sun/java2d/loops/Ushort565Rgb.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.446 +$(OBJDIR)/Ushort565Rgb.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyShort.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/Ushort4444Argb.h ../../../src/share/native/sun/java2d/loops/Ushort565Rgb.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.447
7.448 -$(OBJDIR)/UshortGray.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyShort.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.449 +$(OBJDIR)/UshortGray.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyShort.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.450
7.451 -$(OBJDIR)/UshortIndexed.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyByte.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/Index12Gray.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/loops/UshortIndexed.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.452 +$(OBJDIR)/UshortIndexed.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyByte.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/Index12Gray.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/loops/UshortIndexed.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
7.453
7.454 -$(OBJDIR)/WGLGraphicsConfig.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_opengl_WGLGraphicsConfig.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h ../../../src/windows/native/sun/java2d/opengl/WGLGraphicsConfig.h ../../../src/windows/native/sun/java2d/opengl/WGLSurfaceData.h
7.455 +$(OBJDIR)/WGLGraphicsConfig.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_opengl_WGLGraphicsConfig.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h ../../../src/windows/native/sun/java2d/opengl/WGLGraphicsConfig.h ../../../src/windows/native/sun/java2d/opengl/WGLSurfaceData.h
7.456
7.457 -$(OBJDIR)/WGLSurfaceData.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_opengl_WGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h ../../../src/windows/native/sun/java2d/opengl/WGLGraphicsConfig.h ../../../src/windows/native/sun/java2d/opengl/WGLSurfaceData.h
7.458 +$(OBJDIR)/WGLSurfaceData.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_opengl_WGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h ../../../src/windows/native/sun/java2d/opengl/WGLGraphicsConfig.h ../../../src/windows/native/sun/java2d/opengl/WGLSurfaceData.h
7.459
7.460 -$(OBJDIR)/WindowsFlags.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/WindowsFlags.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.461 +$(OBJDIR)/WindowsFlags.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/WindowsFlags.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.462
7.463 -$(OBJDIR)/WPrinterJob.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_FileDialog.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFileDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_FileDialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_PrintControl.h ../../../src/windows/native/sun/windows/awt_PrintDialog.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
7.464 +$(OBJDIR)/WPrinterJob.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_PrintControl.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/stdhdrs.h
8.1 --- a/make/sun/awt/mapfile-mawt-vers Tue Apr 14 00:05:07 2009 -0700
8.2 +++ b/make/sun/awt/mapfile-mawt-vers Tue Apr 14 04:21:02 2009 -0700
8.3 @@ -291,6 +291,7 @@
8.4 Java_sun_awt_X11GraphicsConfig_createBackBuffer;
8.5 Java_sun_awt_X11GraphicsConfig_destroyBackBuffer;
8.6 Java_sun_awt_X11GraphicsConfig_swapBuffers;
8.7 + Java_sun_awt_X11GraphicsConfig_isTranslucencyCapable;
8.8 Java_sun_awt_X11GraphicsDevice_isDBESupported;
8.9 Java_sun_awt_X11GraphicsDevice_getDisplay;
8.10 Java_sun_awt_X11GraphicsDevice_getDoubleBufferVisuals;
9.1 --- a/make/sun/awt/mapfile-vers-linux Tue Apr 14 00:05:07 2009 -0700
9.2 +++ b/make/sun/awt/mapfile-vers-linux Tue Apr 14 04:21:02 2009 -0700
9.3 @@ -407,6 +407,7 @@
9.4 Java_sun_awt_X11GraphicsConfig_getNumColors;
9.5 Java_sun_awt_X11GraphicsConfig_getXResolution;
9.6 Java_sun_awt_X11GraphicsConfig_getYResolution;
9.7 + Java_sun_awt_X11GraphicsConfig_isTranslucencyCapable;
9.8 Java_sun_awt_X11GraphicsDevice_isDBESupported;
9.9 Java_sun_awt_X11GraphicsDevice_getDisplay;
9.10 Java_sun_awt_X11GraphicsDevice_getDoubleBufferVisuals;
10.1 --- a/make/sun/xawt/FILES_c_unix.gmk Tue Apr 14 00:05:07 2009 -0700
10.2 +++ b/make/sun/xawt/FILES_c_unix.gmk Tue Apr 14 04:21:02 2009 -0700
10.3 @@ -78,4 +78,5 @@
10.4 awt_Plugin.c \
10.5 gtk2_interface.c \
10.6 swing_GTKEngine.c \
10.7 - swing_GTKStyle.c
10.8 + swing_GTKStyle.c \
10.9 + rect.c
11.1 --- a/make/sun/xawt/Makefile Tue Apr 14 00:05:07 2009 -0700
11.2 +++ b/make/sun/xawt/Makefile Tue Apr 14 04:21:02 2009 -0700
11.3 @@ -79,6 +79,7 @@
11.4 vpath %.c $(SHARE_SRC)/native/sun/java2d/loops
11.5 vpath %.c $(SHARE_SRC)/native/sun/java2d/pipe
11.6 vpath %.c $(SHARE_SRC)/native/sun/awt/medialib
11.7 +vpath %.c $(SHARE_SRC)/native/sun/awt/utility
11.8 vpath %.cpp $(SHARE_SRC)/native/sun/image
11.9 vpath %.c $(SHARE_SRC)/native/sun/font
11.10 vpath %.c $(PLATFORM_SRC)/native/sun/awt/robot_child
11.11 @@ -274,6 +275,23 @@
11.12 $(ICONS_PATH_PREFIX)/classes/sun/awt/X11/java-icon32.png \
11.13 $(ICONS_PATH_PREFIX)/classes/sun/awt/X11/java-icon48.png
11.14
11.15 +
11.16 +ICONPATH=$(PLATFORM_SRC)/classes/sun/awt/X11
11.17 +
11.18 +ICONS += \
11.19 + $(ICONPATH)/security-icon-bw16.png \
11.20 + $(ICONPATH)/security-icon-interim16.png \
11.21 + $(ICONPATH)/security-icon-yellow16.png \
11.22 + $(ICONPATH)/security-icon-bw24.png \
11.23 + $(ICONPATH)/security-icon-interim24.png \
11.24 + $(ICONPATH)/security-icon-yellow24.png \
11.25 + $(ICONPATH)/security-icon-bw32.png \
11.26 + $(ICONPATH)/security-icon-interim32.png \
11.27 + $(ICONPATH)/security-icon-yellow32.png \
11.28 + $(ICONPATH)/security-icon-bw48.png \
11.29 + $(ICONPATH)/security-icon-interim48.png \
11.30 + $(ICONPATH)/security-icon-yellow48.png
11.31 +
11.32 TEMPDIR_CLASSES = $(TEMPDIR)/classes
11.33
11.34 $(TEMPDIR_CLASSES)/sun/awt/X11/ToBin.class: ToBin.java
12.1 --- a/make/sun/xawt/mapfile-vers Tue Apr 14 00:05:07 2009 -0700
12.2 +++ b/make/sun/xawt/mapfile-vers Tue Apr 14 04:21:02 2009 -0700
12.3 @@ -1,5 +1,5 @@
12.4 #
12.5 -# Copyright 2002-2008 Sun Microsystems, Inc. All Rights Reserved.
12.6 +# Copyright 2002-2009 Sun Microsystems, Inc. All Rights Reserved.
12.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
12.8 #
12.9 # This code is free software; you can redistribute it and/or modify it
12.10 @@ -93,6 +93,9 @@
12.11 Java_sun_awt_X11_XlibWrapper_XGetWMHints;
12.12 Java_sun_awt_X11_XlibWrapper_XShapeQueryExtension;
12.13 Java_sun_awt_X11_XlibWrapper_SetRectangularShape;
12.14 + Java_sun_awt_X11_XlibWrapper_SetBitmapShape;
12.15 + Java_sun_awt_X11_XlibWrapper_XConfigureWindow;
12.16 + Java_sun_awt_X11_XlibWrapper_SetZOrder;
12.17 Java_sun_awt_X11_XToolkit_initIDs;
12.18 Java_sun_awt_X11_XWindow_getNativeColor;
12.19 Java_sun_awt_X11_XWindow_getWMInsets;
12.20 @@ -217,6 +220,7 @@
12.21 Java_sun_awt_X11GraphicsConfig_createBackBuffer;
12.22 Java_sun_awt_X11GraphicsConfig_destroyBackBuffer;
12.23 Java_sun_awt_X11GraphicsConfig_swapBuffers;
12.24 + Java_sun_awt_X11GraphicsConfig_isTranslucencyCapable;
12.25 Java_java_awt_Insets_initIDs;
12.26 Java_java_awt_KeyboardFocusManager_initIDs;
12.27 Java_java_awt_Font_initIDs;
12.28 @@ -289,16 +293,26 @@
12.29 Java_sun_awt_X11_XlibWrapper_XGetIconSizes;
12.30 Java_sun_awt_X11_XlibWrapper_XKeycodeToKeysym;
12.31 Java_sun_awt_X11_XlibWrapper_XKeysymToKeycode;
12.32 - Java_sun_awt_X11_XlibWrapper_XQueryKeymap;
12.33 + Java_sun_awt_X11_XlibWrapper_XQueryKeymap;
12.34 + Java_sun_awt_X11_XlibWrapper_XkbGetEffectiveGroup;
12.35 + Java_sun_awt_X11_XlibWrapper_XkbSelectEvents;
12.36 + Java_sun_awt_X11_XlibWrapper_XkbSelectEventDetails;
12.37 + Java_sun_awt_X11_XlibWrapper_XkbKeycodeToKeysym;
12.38 + Java_sun_awt_X11_XlibWrapper_XkbLibraryVersion;
12.39 + Java_sun_awt_X11_XlibWrapper_XkbQueryExtension;
12.40 + Java_sun_awt_X11_XlibWrapper_XkbGetMap;
12.41 + Java_sun_awt_X11_XlibWrapper_XkbGetUpdatedMap;
12.42 + Java_sun_awt_X11_XlibWrapper_XkbFreeKeyboard;
12.43 + Java_sun_awt_X11_XlibWrapper_XkbTranslateKeyCode;
12.44 Java_sun_awt_X11_XlibWrapper_XGetModifierMapping;
12.45 - Java_sun_awt_X11_XlibWrapper_XFreeModifiermap;
12.46 + Java_sun_awt_X11_XlibWrapper_XFreeModifiermap;
12.47 Java_sun_awt_X11_XlibWrapper_XChangeActivePointerGrab;
12.48 Java_sun_awt_X11_XlibWrapper_XNextSecondaryLoopEvent;
12.49 Java_sun_awt_X11_XlibWrapper_ExitSecondaryLoop;
12.50 Java_sun_awt_X11_XlibWrapper_XTextPropertyToStringList;
12.51 Java_sun_awt_X11_XlibWrapper_XGrabServer;
12.52 Java_sun_awt_X11_XlibWrapper_XUngrabServer;
12.53 - Java_sun_awt_X11_XlibWrapper_XPutBackEvent;
12.54 + Java_sun_awt_X11_XlibWrapper_XPutBackEvent;
12.55 Java_sun_awt_X11_XlibWrapper_XConvertCase;
12.56 Java_sun_awt_X11_XlibWrapper_XSynchronize;
12.57 Java_java_awt_FileDialog_initIDs;
13.1 --- a/src/share/classes/com/sun/awt/AWTUtilities.java Tue Apr 14 00:05:07 2009 -0700
13.2 +++ b/src/share/classes/com/sun/awt/AWTUtilities.java Tue Apr 14 04:21:02 2009 -0700
13.3 @@ -1,5 +1,5 @@
13.4 /*
13.5 - * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
13.6 + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved.
13.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
13.8 *
13.9 * This code is free software; you can redistribute it and/or modify it
13.10 @@ -26,17 +26,37 @@
13.11 package com.sun.awt;
13.12
13.13 import java.awt.*;
13.14 +
13.15 import sun.awt.AWTAccessor;
13.16 -
13.17 +import sun.awt.SunToolkit;
13.18
13.19 /**
13.20 * A collection of utility methods for AWT.
13.21 *
13.22 * The functionality provided by the static methods of the class includes:
13.23 * <ul>
13.24 + * <li>Setting shapes on top-level windows
13.25 + * <li>Setting a constant alpha value for each pixel of a top-level window
13.26 + * <li>Making a window non-opaque, after that it paints only explicitly
13.27 + * painted pixels on the screen, with arbitrary alpha values for every pixel.
13.28 * <li>Setting a 'mixing-cutout' shape for a component.
13.29 * </ul>
13.30 * <p>
13.31 + * A "top-level window" is an instance of the {@code Window} class (or its
13.32 + * descendant, such as {@code JFrame}).
13.33 + * <p>
13.34 + * Some of the mentioned features may not be supported by the native platform.
13.35 + * To determine whether a particular feature is supported, the user must use
13.36 + * the {@code isTranslucencySupported()} method of the class passing a desired
13.37 + * translucency kind (a member of the {@code Translucency} enum) as an
13.38 + * argument.
13.39 + * <p>
13.40 + * The per-pixel alpha feature also requires the user to create her/his
13.41 + * windows using a translucency-capable graphics configuration.
13.42 + * The {@code isTranslucencyCapable()} method must
13.43 + * be used to verify whether any given GraphicsConfiguration supports
13.44 + * the trasnlcency effects.
13.45 + * <p>
13.46 * <b>WARNING</b>: This class is an implementation detail and only meant
13.47 * for limited use outside of the core platform. This API may change
13.48 * drastically between update release, and it may even be
13.49 @@ -50,6 +70,344 @@
13.50 private AWTUtilities() {
13.51 }
13.52
13.53 + /** Kinds of translucency supported by the underlying system.
13.54 + * @see #isTranslucencySupported
13.55 + */
13.56 + public static enum Translucency {
13.57 + /**
13.58 + * Represents support in the underlying system for windows each pixel
13.59 + * of which is guaranteed to be either completely opaque, with
13.60 + * an alpha value of 1.0, or completely transparent, with an alpha
13.61 + * value of 0.0.
13.62 + */
13.63 + PERPIXEL_TRANSPARENT,
13.64 +
13.65 + /**
13.66 + * Represents support in the underlying system for windows all of
13.67 + * the pixels of which have the same alpha value between or including
13.68 + * 0.0 and 1.0.
13.69 + */
13.70 + TRANSLUCENT,
13.71 +
13.72 + /**
13.73 + * Represents support in the underlying system for windows that
13.74 + * contain or might contain pixels with arbitrary alpha values
13.75 + * between and including 0.0 and 1.0.
13.76 + */
13.77 + PERPIXEL_TRANSLUCENT;
13.78 + }
13.79 +
13.80 +
13.81 + /**
13.82 + * Returns whether the given level of translucency is supported by
13.83 + * the underlying system.
13.84 + *
13.85 + * Note that this method may sometimes return the value
13.86 + * indicating that the particular level is supported, but
13.87 + * the native windowing system may still not support the
13.88 + * given level of translucency (due to the bugs in
13.89 + * the windowing system).
13.90 + *
13.91 + * @param translucencyKind a kind of translucency support
13.92 + * (either PERPIXEL_TRANSPARENT,
13.93 + * TRANSLUCENT, or PERPIXEL_TRANSLUCENT)
13.94 + * @return whether the given translucency kind is supported
13.95 + */
13.96 + public static boolean isTranslucencySupported(Translucency translucencyKind) {
13.97 + switch (translucencyKind) {
13.98 + case PERPIXEL_TRANSPARENT:
13.99 + return isWindowShapingSupported();
13.100 + case TRANSLUCENT:
13.101 + return isWindowOpacitySupported();
13.102 + case PERPIXEL_TRANSLUCENT:
13.103 + return isWindowTranslucencySupported();
13.104 + }
13.105 + return false;
13.106 + }
13.107 +
13.108 +
13.109 + /**
13.110 + * Returns whether the windowing system supports changing the opacity
13.111 + * value of top-level windows.
13.112 + * Note that this method may sometimes return true, but the native
13.113 + * windowing system may still not support the concept of
13.114 + * translucency (due to the bugs in the windowing system).
13.115 + */
13.116 + private static boolean isWindowOpacitySupported() {
13.117 + Toolkit curToolkit = Toolkit.getDefaultToolkit();
13.118 + if (!(curToolkit instanceof SunToolkit)) {
13.119 + return false;
13.120 + }
13.121 + return ((SunToolkit)curToolkit).isWindowOpacitySupported();
13.122 + }
13.123 +
13.124 + /**
13.125 + * Set the opacity of the window. The opacity is at the range [0..1].
13.126 + * Note that setting the opacity level of 0 may or may not disable
13.127 + * the mouse event handling on this window. This is
13.128 + * a platform-dependent behavior.
13.129 + *
13.130 + * In order for this method to enable the translucency effect,
13.131 + * the isTranslucencySupported() method should indicate that the
13.132 + * TRANSLUCENT level of translucency is supported.
13.133 + *
13.134 + * <p>Also note that the window must not be in the full-screen mode
13.135 + * when setting the opacity value < 1.0f. Otherwise
13.136 + * the IllegalArgumentException is thrown.
13.137 + *
13.138 + * @param window the window to set the opacity level to
13.139 + * @param opacity the opacity level to set to the window
13.140 + * @throws NullPointerException if the window argument is null
13.141 + * @throws IllegalArgumentException if the opacity is out of
13.142 + * the range [0..1]
13.143 + * @throws IllegalArgumentException if the window is in full screen mode,
13.144 + * and the opacity is less than 1.0f
13.145 + * @throws UnsupportedOperationException if the TRANSLUCENT translucency
13.146 + * kind is not supported
13.147 + */
13.148 + public static void setWindowOpacity(Window window, float opacity) {
13.149 + if (window == null) {
13.150 + throw new NullPointerException(
13.151 + "The window argument should not be null.");
13.152 + }
13.153 +
13.154 + AWTAccessor.getWindowAccessor().setOpacity(window, opacity);
13.155 + }
13.156 +
13.157 + /**
13.158 + * Get the opacity of the window. If the opacity has not
13.159 + * yet being set, this method returns 1.0.
13.160 + *
13.161 + * @param window the window to get the opacity level from
13.162 + * @throws NullPointerException if the window argument is null
13.163 + */
13.164 + public static float getWindowOpacity(Window window) {
13.165 + if (window == null) {
13.166 + throw new NullPointerException(
13.167 + "The window argument should not be null.");
13.168 + }
13.169 +
13.170 + return AWTAccessor.getWindowAccessor().getOpacity(window);
13.171 + }
13.172 +
13.173 + /**
13.174 + * Returns whether the windowing system supports changing the shape
13.175 + * of top-level windows.
13.176 + * Note that this method may sometimes return true, but the native
13.177 + * windowing system may still not support the concept of
13.178 + * shaping (due to the bugs in the windowing system).
13.179 + */
13.180 + public static boolean isWindowShapingSupported() {
13.181 + Toolkit curToolkit = Toolkit.getDefaultToolkit();
13.182 + if (!(curToolkit instanceof SunToolkit)) {
13.183 + return false;
13.184 + }
13.185 + return ((SunToolkit)curToolkit).isWindowShapingSupported();
13.186 + }
13.187 +
13.188 + /**
13.189 + * Returns an object that implements the Shape interface and represents
13.190 + * the shape previously set with the call to the setWindowShape() method.
13.191 + * If no shape has been set yet, or the shape has been reset to null,
13.192 + * this method returns null.
13.193 + *
13.194 + * @param window the window to get the shape from
13.195 + * @return the current shape of the window
13.196 + * @throws NullPointerException if the window argument is null
13.197 + */
13.198 + public static Shape getWindowShape(Window window) {
13.199 + if (window == null) {
13.200 + throw new NullPointerException(
13.201 + "The window argument should not be null.");
13.202 + }
13.203 + return AWTAccessor.getWindowAccessor().getShape(window);
13.204 + }
13.205 +
13.206 + /**
13.207 + * Sets a shape for the given window.
13.208 + * If the shape argument is null, this methods restores
13.209 + * the default shape making the window rectangular.
13.210 + * <p>Note that in order to set a shape, the window must be undecorated.
13.211 + * If the window is decorated, this method ignores the {@code shape}
13.212 + * argument and resets the shape to null.
13.213 + * <p>Also note that the window must not be in the full-screen mode
13.214 + * when setting a non-null shape. Otherwise the IllegalArgumentException
13.215 + * is thrown.
13.216 + * <p>Depending on the platform, the method may return without
13.217 + * effecting the shape of the window if the window has a non-null warning
13.218 + * string ({@link Window#getWarningString()}). In this case the passed
13.219 + * shape object is ignored.
13.220 + *
13.221 + * @param window the window to set the shape to
13.222 + * @param shape the shape to set to the window
13.223 + * @throws NullPointerException if the window argument is null
13.224 + * @throws IllegalArgumentException if the window is in full screen mode,
13.225 + * and the shape is not null
13.226 + * @throws UnsupportedOperationException if the PERPIXEL_TRANSPARENT
13.227 + * translucency kind is not supported
13.228 + */
13.229 + public static void setWindowShape(Window window, Shape shape) {
13.230 + if (window == null) {
13.231 + throw new NullPointerException(
13.232 + "The window argument should not be null.");
13.233 + }
13.234 + AWTAccessor.getWindowAccessor().setShape(window, shape);
13.235 + }
13.236 +
13.237 + private static boolean isWindowTranslucencySupported() {
13.238 + /*
13.239 + * Per-pixel alpha is supported if all the conditions are TRUE:
13.240 + * 1. The toolkit is a sort of SunToolkit
13.241 + * 2. The toolkit supports translucency in general
13.242 + * (isWindowTranslucencySupported())
13.243 + * 3. There's at least one translucency-capable
13.244 + * GraphicsConfiguration
13.245 + */
13.246 +
13.247 + Toolkit curToolkit = Toolkit.getDefaultToolkit();
13.248 + if (!(curToolkit instanceof SunToolkit)) {
13.249 + return false;
13.250 + }
13.251 +
13.252 + if (!((SunToolkit)curToolkit).isWindowTranslucencySupported()) {
13.253 + return false;
13.254 + }
13.255 +
13.256 + GraphicsEnvironment env =
13.257 + GraphicsEnvironment.getLocalGraphicsEnvironment();
13.258 +
13.259 + // If the default GC supports translucency return true.
13.260 + // It is important to optimize the verification this way,
13.261 + // see CR 6661196 for more details.
13.262 + if (isTranslucencyCapable(env.getDefaultScreenDevice()
13.263 + .getDefaultConfiguration()))
13.264 + {
13.265 + return true;
13.266 + }
13.267 +
13.268 + // ... otherwise iterate through all the GCs.
13.269 + GraphicsDevice[] devices = env.getScreenDevices();
13.270 +
13.271 + for (int i = 0; i < devices.length; i++) {
13.272 + GraphicsConfiguration[] configs = devices[i].getConfigurations();
13.273 + for (int j = 0; j < configs.length; j++) {
13.274 + if (isTranslucencyCapable(configs[j])) {
13.275 + return true;
13.276 + }
13.277 + }
13.278 + }
13.279 +
13.280 + return false;
13.281 + }
13.282 +
13.283 + /**
13.284 + * Enables the per-pixel alpha support for the given window.
13.285 + * Once the window becomes non-opaque (the isOpaque is set to false),
13.286 + * the drawing sub-system is starting to respect the alpha value of each
13.287 + * separate pixel. If a pixel gets painted with alpha color component
13.288 + * equal to zero, it becomes visually transparent, if the alpha of the
13.289 + * pixel is equal to 255, the pixel is fully opaque. Interim values
13.290 + * of the alpha color component make the pixel semi-transparent (i.e.
13.291 + * translucent).
13.292 + * <p>Note that in order for the window to support the per-pixel alpha
13.293 + * mode, the window must be created using the GraphicsConfiguration
13.294 + * for which the {@link #isTranslucencyCapable}
13.295 + * method returns true.
13.296 + * <p>Also note that some native systems enable the per-pixel translucency
13.297 + * mode for any window created using the translucency-compatible
13.298 + * graphics configuration. However, it is highly recommended to always
13.299 + * invoke the setWindowOpaque() method for these windows, at least for
13.300 + * the sake of cross-platform compatibility reasons.
13.301 + * <p>Also note that the window must not be in the full-screen mode
13.302 + * when making it non-opaque. Otherwise the IllegalArgumentException
13.303 + * is thrown.
13.304 + * <p>If the window is a {@code Frame} or a {@code Dialog}, the window must
13.305 + * be undecorated prior to enabling the per-pixel translucency effect (see
13.306 + * {@link Frame#setUndecorated()} and/or {@link Dialog#setUndecorated()}).
13.307 + * If the window becomes decorated through a subsequent call to the
13.308 + * corresponding {@code setUndecorated()} method, the per-pixel
13.309 + * translucency effect will be disabled and the opaque property reset to
13.310 + * {@code true}.
13.311 + * <p>Depending on the platform, the method may return without
13.312 + * effecting the opaque property of the window if the window has a non-null
13.313 + * warning string ({@link Window#getWarningString()}). In this case
13.314 + * the passed 'isOpaque' value is ignored.
13.315 + *
13.316 + * @param window the window to set the shape to
13.317 + * @param isOpaque whether the window must be opaque (true),
13.318 + * or translucent (false)
13.319 + * @throws NullPointerException if the window argument is null
13.320 + * @throws IllegalArgumentException if the window uses
13.321 + * a GraphicsConfiguration for which the
13.322 + * {@code isTranslucencyCapable()}
13.323 + * method returns false
13.324 + * @throws IllegalArgumentException if the window is in full screen mode,
13.325 + * and the isOpaque is false
13.326 + * @throws IllegalArgumentException if the window is decorated and the
13.327 + * isOpaque argument is {@code false}.
13.328 + * @throws UnsupportedOperationException if the PERPIXEL_TRANSLUCENT
13.329 + * translucency kind is not supported
13.330 + */
13.331 + public static void setWindowOpaque(Window window, boolean isOpaque) {
13.332 + if (window == null) {
13.333 + throw new NullPointerException(
13.334 + "The window argument should not be null.");
13.335 + }
13.336 + if (!isOpaque && !isTranslucencySupported(Translucency.PERPIXEL_TRANSLUCENT)) {
13.337 + throw new UnsupportedOperationException(
13.338 + "The PERPIXEL_TRANSLUCENT translucency kind is not supported");
13.339 + }
13.340 + AWTAccessor.getWindowAccessor().setOpaque(window, isOpaque);
13.341 + }
13.342 +
13.343 + /**
13.344 + * Returns whether the window is opaque or translucent.
13.345 + *
13.346 + * @param window the window to set the shape to
13.347 + * @return whether the window is currently opaque (true)
13.348 + * or translucent (false)
13.349 + * @throws NullPointerException if the window argument is null
13.350 + */
13.351 + public static boolean isWindowOpaque(Window window) {
13.352 + if (window == null) {
13.353 + throw new NullPointerException(
13.354 + "The window argument should not be null.");
13.355 + }
13.356 +
13.357 + return AWTAccessor.getWindowAccessor().isOpaque(window);
13.358 + }
13.359 +
13.360 + /**
13.361 + * Verifies whether a given GraphicsConfiguration supports
13.362 + * the PERPIXEL_TRANSLUCENT kind of translucency.
13.363 + * All windows that are intended to be used with the {@link #setWindowOpaque}
13.364 + * method must be created using a GraphicsConfiguration for which this method
13.365 + * returns true.
13.366 + * <p>Note that some native systems enable the per-pixel translucency
13.367 + * mode for any window created using a translucency-capable
13.368 + * graphics configuration. However, it is highly recommended to always
13.369 + * invoke the setWindowOpaque() method for these windows, at least
13.370 + * for the sake of cross-platform compatibility reasons.
13.371 + *
13.372 + * @param gc GraphicsConfiguration
13.373 + * @throws NullPointerException if the gc argument is null
13.374 + * @return whether the given GraphicsConfiguration supports
13.375 + * the translucency effects.
13.376 + */
13.377 + public static boolean isTranslucencyCapable(GraphicsConfiguration gc) {
13.378 + if (gc == null) {
13.379 + throw new NullPointerException("The gc argument should not be null");
13.380 + }
13.381 + /*
13.382 + return gc.isTranslucencyCapable();
13.383 + */
13.384 + Toolkit curToolkit = Toolkit.getDefaultToolkit();
13.385 + if (!(curToolkit instanceof SunToolkit)) {
13.386 + return false;
13.387 + }
13.388 + return ((SunToolkit)curToolkit).isTranslucencyCapable(gc);
13.389 + }
13.390 +
13.391 /**
13.392 * Sets a 'mixing-cutout' shape for the given component.
13.393 *
14.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
14.2 +++ b/src/share/classes/com/sun/awt/SecurityWarning.java Tue Apr 14 04:21:02 2009 -0700
14.3 @@ -0,0 +1,169 @@
14.4 +/*
14.5 + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved.
14.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
14.7 + *
14.8 + * This code is free software; you can redistribute it and/or modify it
14.9 + * under the terms of the GNU General Public License version 2 only, as
14.10 + * published by the Free Software Foundation. Sun designates this
14.11 + * particular file as subject to the "Classpath" exception as provided
14.12 + * by Sun in the LICENSE file that accompanied this code.
14.13 + *
14.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
14.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14.16 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14.17 + * version 2 for more details (a copy is included in the LICENSE file that
14.18 + * accompanied this code).
14.19 + *
14.20 + * You should have received a copy of the GNU General Public License version
14.21 + * 2 along with this work; if not, write to the Free Software Foundation,
14.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
14.23 + *
14.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
14.25 + * CA 95054 USA or visit www.sun.com if you need additional information or
14.26 + * have any questions.
14.27 + */
14.28 +
14.29 +package com.sun.awt;
14.30 +
14.31 +import java.awt.*;
14.32 +import java.awt.geom.*;
14.33 +
14.34 +import sun.awt.AWTAccessor;
14.35 +
14.36 +
14.37 +/**
14.38 + * Security Warning control interface.
14.39 + *
14.40 + * This class provides a couple of methods that help a developer relocate
14.41 + * the AWT security warning to an appropriate position relative to the current
14.42 + * window size. A "top-level window" is an instance of the {@code Window}
14.43 + * class (or its descendant, such as {@code JFrame}). The security warning
14.44 + * is applied to all windows created by an untrusted code. All such windows
14.45 + * have a non-null "warning string" (see {@link Window#getWarningString()}).
14.46 + * <p>
14.47 + * <b>WARNING</b>: This class is an implementation detail and only meant
14.48 + * for limited use outside of the core platform. This API may change
14.49 + * drastically between update release, and it may even be
14.50 + * removed or be moved to some other packages or classes.
14.51 + */
14.52 +public final class SecurityWarning {
14.53 +
14.54 + /**
14.55 + * The SecurityWarning class should not be instantiated
14.56 + */
14.57 + private SecurityWarning() {
14.58 + }
14.59 +
14.60 + /**
14.61 + * Gets the size of the security warning.
14.62 + *
14.63 + * The returned value is not valid until the peer has been created. Before
14.64 + * invoking this method a developer must call the {@link Window#pack()},
14.65 + * {@link Window#setVisible()}, or some other method that creates the peer.
14.66 + *
14.67 + * @param window the window to get the security warning size for
14.68 + *
14.69 + * @throws NullPointerException if the window argument is null
14.70 + * @throws IllegalArgumentException if the window is trusted (i.e.
14.71 + * the {@code getWarningString()} returns null)
14.72 + */
14.73 + public static Dimension getSize(Window window) {
14.74 + if (window == null) {
14.75 + throw new NullPointerException(
14.76 + "The window argument should not be null.");
14.77 + }
14.78 + if (window.getWarningString() == null) {
14.79 + throw new IllegalArgumentException(
14.80 + "The window must have a non-null warning string.");
14.81 + }
14.82 + // We don't check for a non-null peer since it may be destroyed
14.83 + // after assigning a valid value to the security warning size.
14.84 +
14.85 + return AWTAccessor.getWindowAccessor().getSecurityWarningSize(window);
14.86 + }
14.87 +
14.88 + /**
14.89 + * Sets the position of the security warning.
14.90 + * <p>
14.91 + * The {@code alignmentX} and {@code alignmentY} arguments specify the
14.92 + * origin of the coordinate system used to calculate the position of the
14.93 + * security warning. The values must be in the range [0.0f...1.0f]. The
14.94 + * {@code 0.0f} value represents the left (top) edge of the rectangular
14.95 + * bounds of the window. The {@code 1.0f} value represents the right
14.96 + * (bottom) edge of the bounds. Whenever the size of the window changes,
14.97 + * the origin of the coordinate system gets relocated accordingly. For
14.98 + * convenience a developer may use the {@code Component.*_ALIGNMENT}
14.99 + * constants to pass predefined values for these arguments.
14.100 + * <p>
14.101 + * The {@code point} argument specifies the location of the security
14.102 + * warning in the coordinate system described above. If both {@code x} and
14.103 + * {@code y} coordinates of the point are equal to zero, the warning will
14.104 + * be located right in the origin of the coordinate system. On the other
14.105 + * hand, if both {@code alignmentX} and {@code alignmentY} are equal to
14.106 + * zero (i.e. the origin of the coordinate system is placed at the top-left
14.107 + * corner of the window), then the {@code point} argument represents the
14.108 + * absolute location of the security warning relative to the location of
14.109 + * the window. The "absolute" in this case means that the position of the
14.110 + * security warning is not effected by resizing of the window.
14.111 + * <p>
14.112 + * Note that the security warning managment code guarantees that:
14.113 + * <ul>
14.114 + * <li>The security warning cannot be located farther than two pixels from
14.115 + * the rectangular bounds of the window (see {@link Window#getBounds}), and
14.116 + * <li>The security warning is always visible on the screen.
14.117 + * </ul>
14.118 + * If either of the conditions is violated, the calculated position of the
14.119 + * security warning is adjusted by the system to meet both these
14.120 + * conditions.
14.121 + * <p>
14.122 + * The default position of the security warning is in the upper-right
14.123 + * corner of the window, two pixels to the right from the right edge. This
14.124 + * corresponds to the following arguments passed to this method:
14.125 + * <ul>
14.126 + * <li>{@code alignmentX = Component.RIGHT_ALIGNMENT}
14.127 + * <li>{@code alignmentY = Component.TOP_ALIGNMENT}
14.128 + * <li>{@code point = (2, 0)}
14.129 + * </ul>
14.130 + *
14.131 + * @param window the window to set the position of the security warning for
14.132 + * @param alignmentX the horizontal origin of the coordinate system
14.133 + * @param alignmentY the vertical origin of the coordinate system
14.134 + * @param point the position of the security warning in the specified
14.135 + * coordinate system
14.136 + *
14.137 + * @throws NullPointerException if the window argument is null
14.138 + * @throws NullPointerException if the point argument is null
14.139 + * @throws IllegalArgumentException if the window is trusted (i.e.
14.140 + * the {@code getWarningString()} returns null
14.141 + * @throws IllegalArgumentException if the alignmentX or alignmentY
14.142 + * arguments are not within the range [0.0f ... 1.0f]
14.143 + */
14.144 + public static void setPosition(Window window, Point2D point,
14.145 + float alignmentX, float alignmentY)
14.146 + {
14.147 + if (window == null) {
14.148 + throw new NullPointerException(
14.149 + "The window argument should not be null.");
14.150 + }
14.151 + if (window.getWarningString() == null) {
14.152 + throw new IllegalArgumentException(
14.153 + "The window must have a non-null warning string.");
14.154 + }
14.155 + if (point == null) {
14.156 + throw new NullPointerException(
14.157 + "The point argument must not be null");
14.158 + }
14.159 + if (alignmentX < 0.0f || alignmentX > 1.0f) {
14.160 + throw new IllegalArgumentException(
14.161 + "alignmentX must be in the range [0.0f ... 1.0f].");
14.162 + }
14.163 + if (alignmentY < 0.0f || alignmentY > 1.0f) {
14.164 + throw new IllegalArgumentException(
14.165 + "alignmentY must be in the range [0.0f ... 1.0f].");
14.166 + }
14.167 +
14.168 + AWTAccessor.getWindowAccessor().setSecurityWarningPosition(window,
14.169 + point, alignmentX, alignmentY);
14.170 + }
14.171 +}
14.172 +
15.1 --- a/src/share/classes/java/awt/AWTKeyStroke.java Tue Apr 14 00:05:07 2009 -0700
15.2 +++ b/src/share/classes/java/awt/AWTKeyStroke.java Tue Apr 14 04:21:02 2009 -0700
15.3 @@ -1,5 +1,5 @@
15.4 /*
15.5 - * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
15.6 + * Copyright 2000-2009 Sun Microsystems, Inc. All Rights Reserved.
15.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
15.8 *
15.9 * This code is free software; you can redistribute it and/or modify it
15.10 @@ -329,6 +329,9 @@
15.11 * <li><code>java.awt.event.KeyEvent.VK_TAB</code>
15.12 * <li><code>java.awt.event.KeyEvent.VK_SPACE</code>
15.13 * </ul>
15.14 + * Alternatively, the key code may be obtained by calling
15.15 + * <code>java.awt.event.KeyEvent.getExtendedKeyCodeForChar</code>.
15.16 + *
15.17 * The modifiers consist of any combination of:<ul>
15.18 * <li>java.awt.event.InputEvent.SHIFT_DOWN_MASK
15.19 * <li>java.awt.event.InputEvent.CTRL_DOWN_MASK
16.1 --- a/src/share/classes/java/awt/Canvas.java Tue Apr 14 00:05:07 2009 -0700
16.2 +++ b/src/share/classes/java/awt/Canvas.java Tue Apr 14 04:21:02 2009 -0700
16.3 @@ -25,6 +25,7 @@
16.4 package java.awt;
16.5
16.6 import java.awt.image.BufferStrategy;
16.7 +import java.awt.peer.CanvasPeer;
16.8 import javax.accessibility.*;
16.9
16.10 /**
16.11 @@ -65,7 +66,17 @@
16.12 */
16.13 public Canvas(GraphicsConfiguration config) {
16.14 this();
16.15 - graphicsConfig = config;
16.16 + setGraphicsConfiguration(config);
16.17 + }
16.18 +
16.19 + @Override
16.20 + void setGraphicsConfiguration(GraphicsConfiguration gc) {
16.21 + CanvasPeer peer = (CanvasPeer)getPeer();
16.22 + if (peer != null) {
16.23 + gc = peer.getAppropriateGraphicsConfiguration(gc);
16.24 + }
16.25 +
16.26 + super.setGraphicsConfiguration(gc);
16.27 }
16.28
16.29 /**
17.1 --- a/src/share/classes/java/awt/Component.java Tue Apr 14 00:05:07 2009 -0700
17.2 +++ b/src/share/classes/java/awt/Component.java Tue Apr 14 04:21:02 2009 -0700
17.3 @@ -1,5 +1,5 @@
17.4 /*
17.5 - * Copyright 1995-2008 Sun Microsystems, Inc. All Rights Reserved.
17.6 + * Copyright 1995-2009 Sun Microsystems, Inc. All Rights Reserved.
17.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
17.8 *
17.9 * This code is free software; you can redistribute it and/or modify it
17.10 @@ -300,7 +300,7 @@
17.11 * @see GraphicsConfiguration
17.12 * @see #getGraphicsConfiguration
17.13 */
17.14 - transient GraphicsConfiguration graphicsConfig = null;
17.15 + private transient GraphicsConfiguration graphicsConfig = null;
17.16
17.17 /**
17.18 * A reference to a <code>BufferStrategy</code> object
17.19 @@ -799,8 +799,24 @@
17.20 }
17.21 }
17.22
17.23 + // Whether this Component has had the background erase flag
17.24 + // specified via SunToolkit.disableBackgroundErase(). This is
17.25 + // needed in order to make this function work on X11 platforms,
17.26 + // where currently there is no chance to interpose on the creation
17.27 + // of the peer and therefore the call to XSetBackground.
17.28 + transient boolean backgroundEraseDisabled;
17.29 +
17.30 static {
17.31 AWTAccessor.setComponentAccessor(new AWTAccessor.ComponentAccessor() {
17.32 + public void setBackgroundEraseDisabled(Component comp, boolean disabled) {
17.33 + comp.backgroundEraseDisabled = disabled;
17.34 + }
17.35 + public boolean getBackgroundEraseDisabled(Component comp) {
17.36 + return comp.backgroundEraseDisabled;
17.37 + }
17.38 + public Rectangle getBounds(Component comp) {
17.39 + return new Rectangle(comp.x, comp.y, comp.width, comp.height);
17.40 + }
17.41 public void setMixingCutoutShape(Component comp, Shape shape) {
17.42 Region region = shape == null ? null :
17.43 Region.getInstance(shape, null);
17.44 @@ -829,6 +845,22 @@
17.45 }
17.46 }
17.47 }
17.48 +
17.49 + public void setGraphicsConfiguration(Component comp,
17.50 + GraphicsConfiguration gc)
17.51 + {
17.52 + comp.setGraphicsConfiguration(gc);
17.53 + }
17.54 + public boolean requestFocus(Component comp, CausedFocusEvent.Cause cause) {
17.55 + return comp.requestFocus(cause);
17.56 + }
17.57 + public boolean canBeFocusOwner(Component comp) {
17.58 + return comp.canBeFocusOwner();
17.59 + }
17.60 +
17.61 + public boolean isVisible_NoClientCode(Component comp) {
17.62 + return comp.isVisible_NoClientCode();
17.63 + }
17.64 });
17.65 }
17.66
17.67 @@ -996,50 +1028,21 @@
17.68 */
17.69 public GraphicsConfiguration getGraphicsConfiguration() {
17.70 synchronized(getTreeLock()) {
17.71 - if (graphicsConfig != null) {
17.72 - return graphicsConfig;
17.73 - } else if (getParent() != null) {
17.74 - return getParent().getGraphicsConfiguration();
17.75 - } else {
17.76 - return null;
17.77 - }
17.78 + return getGraphicsConfiguration_NoClientCode();
17.79 }
17.80 }
17.81
17.82 final GraphicsConfiguration getGraphicsConfiguration_NoClientCode() {
17.83 - GraphicsConfiguration graphicsConfig = this.graphicsConfig;
17.84 - Container parent = this.parent;
17.85 - if (graphicsConfig != null) {
17.86 - return graphicsConfig;
17.87 - } else if (parent != null) {
17.88 - return parent.getGraphicsConfiguration_NoClientCode();
17.89 - } else {
17.90 - return null;
17.91 - }
17.92 - }
17.93 -
17.94 - /**
17.95 - * Resets this <code>Component</code>'s
17.96 - * <code>GraphicsConfiguration</code> back to a default
17.97 - * value. For most componenets, this is <code>null</code>.
17.98 - * Called from the Toolkit thread, so NO CLIENT CODE.
17.99 - */
17.100 - void resetGC() {
17.101 + return graphicsConfig;
17.102 + }
17.103 +
17.104 + void setGraphicsConfiguration(GraphicsConfiguration gc) {
17.105 synchronized(getTreeLock()) {
17.106 - graphicsConfig = null;
17.107 - }
17.108 - }
17.109 -
17.110 - /*
17.111 - * Not called on Component, but needed for Canvas and Window
17.112 - */
17.113 - void setGCFromPeer() {
17.114 - synchronized(getTreeLock()) {
17.115 - if (peer != null) { // can't imagine how this will be false,
17.116 - // but just in case
17.117 - graphicsConfig = peer.getGraphicsConfiguration();
17.118 - } else {
17.119 - graphicsConfig = null;
17.120 + graphicsConfig = gc;
17.121 +
17.122 + ComponentPeer peer = getPeer();
17.123 + if (peer != null) {
17.124 + peer.updateGraphicsData(gc);
17.125 }
17.126 }
17.127 }
17.128 @@ -6663,23 +6666,7 @@
17.129
17.130
17.131 // Update stacking order
17.132 - if (parent != null && parent.peer != null) {
17.133 - ContainerPeer parentContPeer = (ContainerPeer) parent.peer;
17.134 - // if our parent is lightweight and we are not
17.135 - // we should call restack on nearest heavyweight
17.136 - // container.
17.137 - if (parentContPeer instanceof LightweightPeer
17.138 - && ! (peer instanceof LightweightPeer))
17.139 - {
17.140 - Container hwParent = getNativeContainer();
17.141 - if (hwParent != null && hwParent.peer != null) {
17.142 - parentContPeer = (ContainerPeer) hwParent.peer;
17.143 - }
17.144 - }
17.145 - if (parentContPeer.isRestackSupported()) {
17.146 - parentContPeer.restack();
17.147 - }
17.148 - }
17.149 + peer.setZOrder(getHWPeerAboveMe());
17.150
17.151 if (!isAddNotifyComplete) {
17.152 mixOnShowing();
17.153 @@ -7170,8 +7157,8 @@
17.154 requestFocusHelper(false, true);
17.155 }
17.156
17.157 - void requestFocus(CausedFocusEvent.Cause cause) {
17.158 - requestFocusHelper(false, true, cause);
17.159 + boolean requestFocus(CausedFocusEvent.Cause cause) {
17.160 + return requestFocusHelper(false, true, cause);
17.161 }
17.162
17.163 /**
17.164 @@ -7456,7 +7443,7 @@
17.165 // sometimes most recent focus owner may be null, but focus owner is not
17.166 // e.g. we reset most recent focus owner if user removes focus owner
17.167 focusOwner = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner();
17.168 - if (focusOwner != null && getContainingWindow(focusOwner) != window) {
17.169 + if (focusOwner != null && focusOwner.getContainingWindow() != window) {
17.170 focusOwner = null;
17.171 }
17.172 }
17.173 @@ -8689,30 +8676,8 @@
17.174 * null, if component is not a part of window hierarchy
17.175 */
17.176 Window getContainingWindow() {
17.177 - return getContainingWindow(this);
17.178 - }
17.179 - /**
17.180 - * Returns the <code>Window</code> ancestor of the component <code>comp</code>.
17.181 - * @return Window ancestor of the component or component by itself if it is Window;
17.182 - * null, if component is not a part of window hierarchy
17.183 - */
17.184 - static Window getContainingWindow(Component comp) {
17.185 - while (comp != null && !(comp instanceof Window)) {
17.186 - comp = comp.getParent();
17.187 - }
17.188 -
17.189 - return (Window)comp;
17.190 - }
17.191 -
17.192 -
17.193 -
17.194 -
17.195 -
17.196 -
17.197 -
17.198 -
17.199 -
17.200 -
17.201 + return SunToolkit.getContainingWindow(this);
17.202 + }
17.203
17.204 /**
17.205 * Initialize JNI field and method IDs
17.206 @@ -9575,6 +9540,27 @@
17.207 return nextAbove < 0 ? -1 : nextAbove;
17.208 }
17.209
17.210 + final ComponentPeer getHWPeerAboveMe() {
17.211 + checkTreeLock();
17.212 +
17.213 + Container cont = getContainer();
17.214 + int indexAbove = getSiblingIndexAbove();
17.215 +
17.216 + while (cont != null) {
17.217 + for (int i = indexAbove; i > -1; i--) {
17.218 + Component comp = cont.getComponent(i);
17.219 + if (comp != null && comp.isDisplayable() && !comp.isLightweight()) {
17.220 + return comp.getPeer();
17.221 + }
17.222 + }
17.223 +
17.224 + indexAbove = cont.getSiblingIndexAbove();
17.225 + cont = cont.getContainer();
17.226 + }
17.227 +
17.228 + return null;
17.229 + }
17.230 +
17.231 final int getSiblingIndexBelow() {
17.232 checkTreeLock();
17.233 Container parent = getContainer();
17.234 @@ -9827,4 +9813,29 @@
17.235 }
17.236
17.237 // ****************** END OF MIXING CODE ********************************
17.238 +
17.239 + private static boolean doesClassImplement(Class cls, String interfaceName) {
17.240 + if (cls == null) return false;
17.241 +
17.242 + for (Class c : cls.getInterfaces()) {
17.243 + if (c.getName().equals(interfaceName)) {
17.244 + return true;
17.245 + }
17.246 + }
17.247 + return doesClassImplement(cls.getSuperclass(), interfaceName);
17.248 + }
17.249 +
17.250 + /**
17.251 + * Checks that the given object implements the given interface.
17.252 + * @param obj Object to be checked
17.253 + * @param interfaceName The name of the interface. Must be fully-qualified interface name.
17.254 + * @return true, if this object implements the given interface,
17.255 + * false, otherwise, or if obj or interfaceName is null
17.256 + */
17.257 + static boolean doesImplement(Object obj, String interfaceName) {
17.258 + if (obj == null) return false;
17.259 + if (interfaceName == null) return false;
17.260 +
17.261 + return doesClassImplement(obj.getClass(), interfaceName);
17.262 + }
17.263 }
18.1 --- a/src/share/classes/java/awt/Container.java Tue Apr 14 00:05:07 2009 -0700
18.2 +++ b/src/share/classes/java/awt/Container.java Tue Apr 14 04:21:02 2009 -0700
18.3 @@ -1,5 +1,5 @@
18.4 /*
18.5 - * Copyright 1995-2008 Sun Microsystems, Inc. All Rights Reserved.
18.6 + * Copyright 1995-2009 Sun Microsystems, Inc. All Rights Reserved.
18.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
18.8 *
18.9 * This code is free software; you can redistribute it and/or modify it
18.10 @@ -167,6 +167,9 @@
18.11 transient int listeningBoundsChildren;
18.12 transient int descendantsCount;
18.13
18.14 + /* Non-opaque window support -- see Window.setLayersOpaque */
18.15 + transient Color preserveBackgroundColor = null;
18.16 +
18.17 /**
18.18 * JDK 1.1 serialVersionUID
18.19 */
18.20 @@ -267,9 +270,13 @@
18.21
18.22 /**
18.23 * Gets the number of components in this panel.
18.24 + * <p>
18.25 + * Note: This method should be called under AWT tree lock.
18.26 + *
18.27 * @return the number of components in this panel.
18.28 * @see #getComponent
18.29 * @since JDK1.1
18.30 + * @see Component#getTreeLock()
18.31 */
18.32 public int getComponentCount() {
18.33 return countComponents();
18.34 @@ -281,43 +288,65 @@
18.35 */
18.36 @Deprecated
18.37 public int countComponents() {
18.38 - synchronized (getTreeLock()) {
18.39 - return component.size();
18.40 - }
18.41 + // This method is not synchronized under AWT tree lock.
18.42 + // Instead, the calling code is responsible for the
18.43 + // synchronization. See 6784816 for details.
18.44 + return component.size();
18.45 }
18.46
18.47 /**
18.48 * Gets the nth component in this container.
18.49 + * <p>
18.50 + * Note: This method should be called under AWT tree lock.
18.51 + *
18.52 * @param n the index of the component to get.
18.53 * @return the n<sup>th</sup> component in this container.
18.54 * @exception ArrayIndexOutOfBoundsException
18.55 * if the n<sup>th</sup> value does not exist.
18.56 + * @see Component#getTreeLock()
18.57 */
18.58 public Component getComponent(int n) {
18.59 - synchronized (getTreeLock()) {
18.60 - if ((n < 0) || (n >= component.size())) {
18.61 - throw new ArrayIndexOutOfBoundsException("No such child: " + n);
18.62 - }
18.63 + // This method is not synchronized under AWT tree lock.
18.64 + // Instead, the calling code is responsible for the
18.65 + // synchronization. See 6784816 for details.
18.66 + try {
18.67 return component.get(n);
18.68 + } catch (IndexOutOfBoundsException z) {
18.69 + throw new ArrayIndexOutOfBoundsException("No such child: " + n);
18.70 }
18.71 }
18.72
18.73 /**
18.74 * Gets all the components in this container.
18.75 + * <p>
18.76 + * Note: This method should be called under AWT tree lock.
18.77 + *
18.78 * @return an array of all the components in this container.
18.79 + * @see Component#getTreeLock()
18.80 */
18.81 public Component[] getComponents() {
18.82 + // This method is not synchronized under AWT tree lock.
18.83 + // Instead, the calling code is responsible for the
18.84 + // synchronization. See 6784816 for details.
18.85 return getComponents_NoClientCode();
18.86 }
18.87 +
18.88 // NOTE: This method may be called by privileged threads.
18.89 // This functionality is implemented in a package-private method
18.90 // to insure that it cannot be overridden by client subclasses.
18.91 // DO NOT INVOKE CLIENT CODE ON THIS THREAD!
18.92 final Component[] getComponents_NoClientCode() {
18.93 + return component.toArray(EMPTY_ARRAY);
18.94 + }
18.95 +
18.96 + /*
18.97 + * Wrapper for getComponents() method with a proper synchronization.
18.98 + */
18.99 + Component[] getComponentsSync() {
18.100 synchronized (getTreeLock()) {
18.101 - return component.toArray(EMPTY_ARRAY);
18.102 + return getComponents();
18.103 }
18.104 - } // getComponents_NoClientCode()
18.105 + }
18.106
18.107 /**
18.108 * Determines the insets of this container, which indicate the size
18.109 @@ -503,6 +532,9 @@
18.110 adjustDescendants(-(comp.countHierarchyMembers()));
18.111
18.112 comp.parent = null;
18.113 + if (needRemoveNotify) {
18.114 + comp.setGraphicsConfiguration(null);
18.115 + }
18.116 component.remove(index);
18.117
18.118 invalidateIfValid();
18.119 @@ -643,10 +675,7 @@
18.120 // each HW descendant independently.
18.121 return !comp.peer.isReparentSupported();
18.122 } else {
18.123 - // if container didn't change we still might need to recreate component's window as
18.124 - // changes to zorder should be reflected in native window stacking order and it might
18.125 - // not be supported by the platform. This is important only for heavyweight child
18.126 - return !((ContainerPeer)(newNativeContainer.peer)).isRestackSupported();
18.127 + return false;
18.128 }
18.129 }
18.130
18.131 @@ -786,6 +815,7 @@
18.132 component.add(index, comp);
18.133 }
18.134 comp.parent = this;
18.135 + comp.setGraphicsConfiguration(getGraphicsConfiguration());
18.136
18.137 adjustListeningChildren(AWTEvent.HIERARCHY_EVENT_MASK,
18.138 comp.numListening(AWTEvent.HIERARCHY_EVENT_MASK));
18.139 @@ -802,11 +832,6 @@
18.140 if (peer != null) {
18.141 if (comp.peer == null) { // Remove notify was called or it didn't have peer - create new one
18.142 comp.addNotify();
18.143 - // New created peer creates component on top of the stacking order
18.144 - Container newNativeContainer = getHeavyweightContainer();
18.145 - if (((ContainerPeer)newNativeContainer.getPeer()).isRestackSupported()) {
18.146 - ((ContainerPeer)newNativeContainer.getPeer()).restack();
18.147 - }
18.148 } else { // Both container and child have peers, it means child peer should be reparented.
18.149 // In both cases we need to reparent native widgets.
18.150 Container newNativeContainer = getHeavyweightContainer();
18.151 @@ -815,13 +840,8 @@
18.152 // Native container changed - need to reparent native widgets
18.153 newNativeContainer.reparentChild(comp);
18.154 }
18.155 - // If component still has a peer and it is either container or heavyweight
18.156 - // and restack is supported we have to restack native windows since order might have changed
18.157 - if ((!comp.isLightweight() || (comp instanceof Container))
18.158 - && ((ContainerPeer)newNativeContainer.getPeer()).isRestackSupported())
18.159 - {
18.160 - ((ContainerPeer)newNativeContainer.getPeer()).restack();
18.161 - }
18.162 + comp.peer.setZOrder(comp.getHWPeerAboveMe());
18.163 +
18.164 if (!comp.isLightweight() && isLightweight()) {
18.165 // If component is heavyweight and one of the containers is lightweight
18.166 // the location of the component should be fixed.
18.167 @@ -1034,9 +1054,9 @@
18.168 }
18.169 checkAddToSelf(comp);
18.170 checkNotAWindow(comp);
18.171 - if (thisGC != null) {
18.172 - comp.checkGD(thisGC.getDevice().getIDstring());
18.173 - }
18.174 + if (thisGC != null) {
18.175 + comp.checkGD(thisGC.getDevice().getIDstring());
18.176 + }
18.177
18.178 /* Reparent the component and tidy up the tree's state. */
18.179 if (comp.parent != null) {
18.180 @@ -1053,6 +1073,7 @@
18.181 component.add(index, comp);
18.182 }
18.183 comp.parent = this;
18.184 + comp.setGraphicsConfiguration(thisGC);
18.185
18.186 adjustListeningChildren(AWTEvent.HIERARCHY_EVENT_MASK,
18.187 comp.numListening(AWTEvent.HIERARCHY_EVENT_MASK));
18.188 @@ -1091,6 +1112,19 @@
18.189 }
18.190 }
18.191
18.192 + @Override
18.193 + void setGraphicsConfiguration(GraphicsConfiguration gc) {
18.194 + synchronized (getTreeLock()) {
18.195 + super.setGraphicsConfiguration(gc);
18.196 +
18.197 + for (Component comp : component) {
18.198 + if (comp != null) {
18.199 + comp.setGraphicsConfiguration(gc);
18.200 + }
18.201 + }
18.202 + }
18.203 + }
18.204 +
18.205 /**
18.206 * Checks that all Components that this Container contains are on
18.207 * the same GraphicsDevice as this Container. If not, throws an
18.208 @@ -1148,6 +1182,7 @@
18.209
18.210 comp.parent = null;
18.211 component.remove(index);
18.212 + comp.setGraphicsConfiguration(null);
18.213
18.214 invalidateIfValid();
18.215 if (containerListener != null ||
18.216 @@ -1224,6 +1259,7 @@
18.217 layoutMgr.removeLayoutComponent(comp);
18.218 }
18.219 comp.parent = null;
18.220 + comp.setGraphicsConfiguration(null);
18.221 if (containerListener != null ||
18.222 (eventMask & AWTEvent.CONTAINER_EVENT_MASK) != 0 ||
18.223 Toolkit.enabledOnToolkit(AWTEvent.CONTAINER_EVENT_MASK)) {
18.224 @@ -1339,7 +1375,7 @@
18.225 }
18.226
18.227 private int getListenersCount(int id, boolean enabledOnToolkit) {
18.228 - assert Thread.holdsLock(getTreeLock());
18.229 + checkTreeLock();
18.230 if (enabledOnToolkit) {
18.231 return descendantsCount;
18.232 }
18.233 @@ -1357,7 +1393,7 @@
18.234 final int createHierarchyEvents(int id, Component changed,
18.235 Container changedParent, long changeFlags, boolean enabledOnToolkit)
18.236 {
18.237 - assert Thread.holdsLock(getTreeLock());
18.238 + checkTreeLock();
18.239 int listeners = getListenersCount(id, enabledOnToolkit);
18.240
18.241 for (int count = listeners, i = 0; count > 0; i++) {
18.242 @@ -1372,7 +1408,7 @@
18.243 final void createChildHierarchyEvents(int id, long changeFlags,
18.244 boolean enabledOnToolkit)
18.245 {
18.246 - assert Thread.holdsLock(getTreeLock());
18.247 + checkTreeLock();
18.248 if (component.isEmpty()) {
18.249 return;
18.250 }
18.251 @@ -1507,6 +1543,7 @@
18.252 * @see #validate
18.253 */
18.254 protected void validateTree() {
18.255 + checkTreeLock();
18.256 if (!isValid()) {
18.257 if (peer instanceof ContainerPeer) {
18.258 ((ContainerPeer)peer).beginLayout();
18.259 @@ -1783,7 +1820,7 @@
18.260 // super.paint(); -- Don't bother, since it's a NOP.
18.261
18.262 GraphicsCallback.PaintCallback.getInstance().
18.263 - runComponents(component.toArray(EMPTY_ARRAY), g, GraphicsCallback.LIGHTWEIGHTS);
18.264 + runComponents(getComponentsSync(), g, GraphicsCallback.LIGHTWEIGHTS);
18.265 }
18.266 }
18.267
18.268 @@ -1838,7 +1875,7 @@
18.269 }
18.270
18.271 GraphicsCallback.PrintCallback.getInstance().
18.272 - runComponents(component.toArray(EMPTY_ARRAY), g, GraphicsCallback.LIGHTWEIGHTS);
18.273 + runComponents(getComponentsSync(), g, GraphicsCallback.LIGHTWEIGHTS);
18.274 }
18.275 }
18.276
18.277 @@ -1851,7 +1888,7 @@
18.278 public void paintComponents(Graphics g) {
18.279 if (isShowing()) {
18.280 GraphicsCallback.PaintAllCallback.getInstance().
18.281 - runComponents(component.toArray(EMPTY_ARRAY), g, GraphicsCallback.TWO_PASSES);
18.282 + runComponents(getComponentsSync(), g, GraphicsCallback.TWO_PASSES);
18.283 }
18.284 }
18.285
18.286 @@ -1873,8 +1910,8 @@
18.287 void paintHeavyweightComponents(Graphics g) {
18.288 if (isShowing()) {
18.289 GraphicsCallback.PaintHeavyweightComponentsCallback.getInstance().
18.290 - runComponents(component.toArray(EMPTY_ARRAY), g, GraphicsCallback.LIGHTWEIGHTS |
18.291 - GraphicsCallback.HEAVYWEIGHTS);
18.292 + runComponents(getComponentsSync(), g,
18.293 + GraphicsCallback.LIGHTWEIGHTS | GraphicsCallback.HEAVYWEIGHTS);
18.294 }
18.295 }
18.296
18.297 @@ -1887,7 +1924,7 @@
18.298 public void printComponents(Graphics g) {
18.299 if (isShowing()) {
18.300 GraphicsCallback.PrintAllCallback.getInstance().
18.301 - runComponents(component.toArray(EMPTY_ARRAY), g, GraphicsCallback.TWO_PASSES);
18.302 + runComponents(getComponentsSync(), g, GraphicsCallback.TWO_PASSES);
18.303 }
18.304 }
18.305
18.306 @@ -1909,8 +1946,8 @@
18.307 void printHeavyweightComponents(Graphics g) {
18.308 if (isShowing()) {
18.309 GraphicsCallback.PrintHeavyweightComponentsCallback.getInstance().
18.310 - runComponents(component.toArray(EMPTY_ARRAY), g, GraphicsCallback.LIGHTWEIGHTS |
18.311 - GraphicsCallback.HEAVYWEIGHTS);
18.312 + runComponents(getComponentsSync(), g,
18.313 + GraphicsCallback.LIGHTWEIGHTS | GraphicsCallback.HEAVYWEIGHTS);
18.314 }
18.315 }
18.316
18.317 @@ -2460,9 +2497,7 @@
18.318 * @since 1.2
18.319 */
18.320 public Component findComponentAt(int x, int y) {
18.321 - synchronized (getTreeLock()) {
18.322 - return findComponentAt(x, y, true);
18.323 - }
18.324 + return findComponentAt(x, y, true);
18.325 }
18.326
18.327 /**
18.328 @@ -2475,58 +2510,60 @@
18.329 * The addition of this feature is temporary, pending the
18.330 * adoption of new, public API which exports this feature.
18.331 */
18.332 - final Component findComponentAt(int x, int y, boolean ignoreEnabled)
18.333 - {
18.334 - if (isRecursivelyVisible()){
18.335 - return findComponentAtImpl(x, y, ignoreEnabled);
18.336 + final Component findComponentAt(int x, int y, boolean ignoreEnabled) {
18.337 + synchronized (getTreeLock()) {
18.338 + if (isRecursivelyVisible()){
18.339 + return findComponentAtImpl(x, y, ignoreEnabled);
18.340 + }
18.341 }
18.342 return null;
18.343 }
18.344
18.345 final Component findComponentAtImpl(int x, int y, boolean ignoreEnabled){
18.346 + checkTreeLock();
18.347 +
18.348 if (!(contains(x, y) && visible && (ignoreEnabled || enabled))) {
18.349 return null;
18.350 }
18.351
18.352 // Two passes: see comment in sun.awt.SunGraphicsCallback
18.353 - synchronized (getTreeLock()) {
18.354 - for (int i = 0; i < component.size(); i++) {
18.355 - Component comp = component.get(i);
18.356 - if (comp != null &&
18.357 - !(comp.peer instanceof LightweightPeer)) {
18.358 - if (comp instanceof Container) {
18.359 - comp = ((Container)comp).findComponentAtImpl(x - comp.x,
18.360 - y - comp.y,
18.361 - ignoreEnabled);
18.362 - } else {
18.363 - comp = comp.locate(x - comp.x, y - comp.y);
18.364 - }
18.365 - if (comp != null && comp.visible &&
18.366 - (ignoreEnabled || comp.enabled))
18.367 - {
18.368 - return comp;
18.369 - }
18.370 + for (int i = 0; i < component.size(); i++) {
18.371 + Component comp = component.get(i);
18.372 + if (comp != null &&
18.373 + !(comp.peer instanceof LightweightPeer)) {
18.374 + if (comp instanceof Container) {
18.375 + comp = ((Container)comp).findComponentAtImpl(x - comp.x,
18.376 + y - comp.y,
18.377 + ignoreEnabled);
18.378 + } else {
18.379 + comp = comp.locate(x - comp.x, y - comp.y);
18.380 }
18.381 - }
18.382 - for (int i = 0; i < component.size(); i++) {
18.383 - Component comp = component.get(i);
18.384 - if (comp != null &&
18.385 - comp.peer instanceof LightweightPeer) {
18.386 - if (comp instanceof Container) {
18.387 - comp = ((Container)comp).findComponentAtImpl(x - comp.x,
18.388 - y - comp.y,
18.389 - ignoreEnabled);
18.390 - } else {
18.391 - comp = comp.locate(x - comp.x, y - comp.y);
18.392 - }
18.393 - if (comp != null && comp.visible &&
18.394 - (ignoreEnabled || comp.enabled))
18.395 - {
18.396 - return comp;
18.397 - }
18.398 + if (comp != null && comp.visible &&
18.399 + (ignoreEnabled || comp.enabled))
18.400 + {
18.401 + return comp;
18.402 }
18.403 }
18.404 }
18.405 + for (int i = 0; i < component.size(); i++) {
18.406 + Component comp = component.get(i);
18.407 + if (comp != null &&
18.408 + comp.peer instanceof LightweightPeer) {
18.409 + if (comp instanceof Container) {
18.410 + comp = ((Container)comp).findComponentAtImpl(x - comp.x,
18.411 + y - comp.y,
18.412 + ignoreEnabled);
18.413 + } else {
18.414 + comp = comp.locate(x - comp.x, y - comp.y);
18.415 + }
18.416 + if (comp != null && comp.visible &&
18.417 + (ignoreEnabled || comp.enabled))
18.418 + {
18.419 + return comp;
18.420 + }
18.421 + }
18.422 + }
18.423 +
18.424 return this;
18.425 }
18.426
18.427 @@ -2584,13 +2621,6 @@
18.428 for (int i = 0; i < component.size(); i++) {
18.429 component.get(i).addNotify();
18.430 }
18.431 - // Update stacking order if native platform allows
18.432 - ContainerPeer cpeer = (ContainerPeer)peer;
18.433 - if (cpeer.isRestackSupported()) {
18.434 - cpeer.restack();
18.435 - }
18.436 -
18.437 -
18.438 }
18.439 }
18.440
18.441 @@ -3488,7 +3518,7 @@
18.442 private void writeObject(ObjectOutputStream s) throws IOException {
18.443 ObjectOutputStream.PutField f = s.putFields();
18.444 f.put("ncomponents", component.size());
18.445 - f.put("component", component.toArray(EMPTY_ARRAY));
18.446 + f.put("component", getComponentsSync());
18.447 f.put("layoutMgr", layoutMgr);
18.448 f.put("dispatcher", dispatcher);
18.449 f.put("maxSize", maxSize);
19.1 --- a/src/share/classes/java/awt/DefaultKeyboardFocusManager.java Tue Apr 14 00:05:07 2009 -0700
19.2 +++ b/src/share/classes/java/awt/DefaultKeyboardFocusManager.java Tue Apr 14 04:21:02 2009 -0700
19.3 @@ -479,7 +479,7 @@
19.4 // that a Component outside of the focused Window receives a
19.5 // FOCUS_GAINED event. We synthesize a WINDOW_GAINED_FOCUS
19.6 // event in that case.
19.7 - final Window newFocusedWindow = Component.getContainingWindow(newFocusOwner);
19.8 + final Window newFocusedWindow = SunToolkit.getContainingWindow(newFocusOwner);
19.9 final Window currentFocusedWindow = getGlobalFocusedWindow();
19.10 if (newFocusedWindow != null &&
19.11 newFocusedWindow != currentFocusedWindow)
20.1 --- a/src/share/classes/java/awt/Dialog.java Tue Apr 14 00:05:07 2009 -0700
20.2 +++ b/src/share/classes/java/awt/Dialog.java Tue Apr 14 04:21:02 2009 -0700
20.3 @@ -1226,7 +1226,7 @@
20.4 synchronized (getTreeLock()) {
20.5 if (keepBlockingEDT) {
20.6 keepBlockingEDT = false;
20.7 - PeerEvent wakingEvent = new PeerEvent(this, new WakingRunnable(), PeerEvent.PRIORITY_EVENT);
20.8 + PeerEvent wakingEvent = new PeerEvent(getToolkit(), new WakingRunnable(), PeerEvent.PRIORITY_EVENT);
20.9 AppContext curAppContext = AppContext.getAppContext();
20.10 if (showAppContext != curAppContext) {
20.11 // Wake up event dispatch thread on which the dialog was
21.1 --- a/src/share/classes/java/awt/Frame.java Tue Apr 14 00:05:07 2009 -0700
21.2 +++ b/src/share/classes/java/awt/Frame.java Tue Apr 14 04:21:02 2009 -0700
21.3 @@ -36,6 +36,7 @@
21.4 import java.io.IOException;
21.5 import sun.awt.AppContext;
21.6 import sun.awt.SunToolkit;
21.7 +import sun.awt.AWTAccessor;
21.8 import java.lang.ref.WeakReference;
21.9 import javax.accessibility.*;
21.10
21.11 @@ -738,11 +739,15 @@
21.12 * @since 1.4
21.13 * @see java.awt.Window#addWindowStateListener
21.14 */
21.15 - public synchronized void setExtendedState(int state) {
21.16 + public void setExtendedState(int state) {
21.17 if ( !isFrameStateSupported( state ) ) {
21.18 return;
21.19 }
21.20 - this.state = state;
21.21 + synchronized (getObjectLock()) {
21.22 + this.state = state;
21.23 + }
21.24 + // peer.setState must be called outside of object lock
21.25 + // synchronization block to avoid possible deadlock
21.26 FramePeer peer = (FramePeer)this.peer;
21.27 if (peer != null) {
21.28 peer.setState(state);
21.29 @@ -804,12 +809,27 @@
21.30 * @see #setExtendedState(int)
21.31 * @since 1.4
21.32 */
21.33 - public synchronized int getExtendedState() {
21.34 - FramePeer peer = (FramePeer)this.peer;
21.35 - if (peer != null) {
21.36 - state = peer.getState();
21.37 + public int getExtendedState() {
21.38 + synchronized (getObjectLock()) {
21.39 + return state;
21.40 }
21.41 - return state;
21.42 + }
21.43 +
21.44 + static {
21.45 + AWTAccessor.setFrameAccessor(
21.46 + new AWTAccessor.FrameAccessor() {
21.47 + public void setExtendedState(Frame frame, int state) {
21.48 + synchronized(frame.getObjectLock()) {
21.49 + frame.state = state;
21.50 + }
21.51 + }
21.52 + public int getExtendedState(Frame frame) {
21.53 + synchronized(frame.getObjectLock()) {
21.54 + return frame.state;
21.55 + }
21.56 + }
21.57 + }
21.58 + );
21.59 }
21.60
21.61 /**
21.62 @@ -967,7 +987,7 @@
21.63 if (resizable) {
21.64 str += ",resizable";
21.65 }
21.66 - getExtendedState(); // sync with peer
21.67 + int state = getExtendedState();
21.68 if (state == NORMAL) {
21.69 str += ",normal";
21.70 }
22.1 --- a/src/share/classes/java/awt/GraphicsConfiguration.java Tue Apr 14 00:05:07 2009 -0700
22.2 +++ b/src/share/classes/java/awt/GraphicsConfiguration.java Tue Apr 14 04:21:02 2009 -0700
22.3 @@ -1,5 +1,5 @@
22.4 /*
22.5 - * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved.
22.6 + * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
22.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
22.8 *
22.9 * This code is free software; you can redistribute it and/or modify it
22.10 @@ -434,4 +434,20 @@
22.11 }
22.12 return defaultImageCaps;
22.13 }
22.14 +
22.15 + /**
22.16 + * Returns whether this GraphicsConfiguration supports
22.17 + * the {@link GraphicsDevice.WindowTranslucency#PERPIXEL_TRANSLUCENT
22.18 + * PERPIXEL_TRANSLUCENT} kind of translucency.
22.19 + *
22.20 + * @param gc GraphicsConfiguration
22.21 + * @throws NullPointerException if the gc argument is null
22.22 + * @return whether the given GraphicsConfiguration supports
22.23 + * the translucency effects.
22.24 + * @see Window#setBackground(Color)
22.25 + */
22.26 + /*public */boolean isTranslucencyCapable() {
22.27 + // Overridden in subclasses
22.28 + return false;
22.29 }
22.30 +}
23.1 --- a/src/share/classes/java/awt/GraphicsDevice.java Tue Apr 14 00:05:07 2009 -0700
23.2 +++ b/src/share/classes/java/awt/GraphicsDevice.java Tue Apr 14 04:21:02 2009 -0700
23.3 @@ -1,5 +1,5 @@
23.4 /*
23.5 - * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved.
23.6 + * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
23.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
23.8 *
23.9 * This code is free software; you can redistribute it and/or modify it
23.10 @@ -27,7 +27,10 @@
23.11 package java.awt;
23.12
23.13 import java.awt.image.ColorModel;
23.14 +
23.15 +import sun.awt.AWTAccessor;
23.16 import sun.awt.AppContext;
23.17 +import sun.awt.SunToolkit;
23.18
23.19 /**
23.20 * The <code>GraphicsDevice</code> class describes the graphics devices
23.21 @@ -109,6 +112,31 @@
23.22 */
23.23 public final static int TYPE_IMAGE_BUFFER = 2;
23.24
23.25 + /** Kinds of translucency supported by the underlying system.
23.26 + * @see #isTranslucencySupported
23.27 + */
23.28 + /*public */static enum WindowTranslucency {
23.29 + /**
23.30 + * Represents support in the underlying system for windows each pixel
23.31 + * of which is guaranteed to be either completely opaque, with
23.32 + * an alpha value of 1.0, or completely transparent, with an alpha
23.33 + * value of 0.0.
23.34 + */
23.35 + PERPIXEL_TRANSPARENT,
23.36 + /**
23.37 + * Represents support in the underlying system for windows all of
23.38 + * the pixels of which have the same alpha value between or including
23.39 + * 0.0 and 1.0.
23.40 + */
23.41 + TRANSLUCENT,
23.42 + /**
23.43 + * Represents support in the underlying system for windows that
23.44 + * contain or might contain pixels with arbitrary alpha values
23.45 + * between and including 0.0 and 1.0.
23.46 + */
23.47 + PERPIXEL_TRANSLUCENT;
23.48 + }
23.49 +
23.50 /**
23.51 * Returns the type of this <code>GraphicsDevice</code>.
23.52 * @return the type of this <code>GraphicsDevice</code>, which can
23.53 @@ -235,6 +263,21 @@
23.54 * @since 1.4
23.55 */
23.56 public void setFullScreenWindow(Window w) {
23.57 + if (w != null) {
23.58 + //XXX: The actions should be documented in some non-update release.
23.59 + /*
23.60 + if (w.getShape() != null) {
23.61 + w.setShape(w, null);
23.62 + }
23.63 + if (!w.isOpaque()) {
23.64 + w.setOpaque(false);
23.65 + }
23.66 + if (w.getOpacity() < 1.0f) {
23.67 + w.setOpacity(1.0f);
23.68 + }
23.69 + */
23.70 + }
23.71 +
23.72 if (fullScreenWindow != null && windowedModeBounds != null) {
23.73 // if the window went into fs mode before it was realized it may
23.74 // have (0,0) dimensions
23.75 @@ -424,4 +467,94 @@
23.76 public int getAvailableAcceleratedMemory() {
23.77 return -1;
23.78 }
23.79 +
23.80 + /**
23.81 + * Returns whether the given level of translucency is supported
23.82 + * this graphics device.
23.83 + *
23.84 + * @param translucencyKind a kind of translucency support
23.85 + * @return whether the given translucency kind is supported
23.86 + */
23.87 + /*public */boolean isWindowTranslucencySupported(WindowTranslucency translucencyKind) {
23.88 + switch (translucencyKind) {
23.89 + case PERPIXEL_TRANSPARENT:
23.90 + return isWindowShapingSupported();
23.91 + case TRANSLUCENT:
23.92 + return isWindowOpacitySupported();
23.93 + case PERPIXEL_TRANSLUCENT:
23.94 + return isWindowPerpixelTranslucencySupported();
23.95 + }
23.96 + return false;
23.97 + }
23.98 +
23.99 + /**
23.100 + * Returns whether the windowing system supports changing the shape
23.101 + * of top-level windows.
23.102 + * Note that this method may sometimes return true, but the native
23.103 + * windowing system may still not support the concept of
23.104 + * shaping (due to the bugs in the windowing system).
23.105 + */
23.106 + static boolean isWindowShapingSupported() {
23.107 + Toolkit curToolkit = Toolkit.getDefaultToolkit();
23.108 + if (!(curToolkit instanceof SunToolkit)) {
23.109 + return false;
23.110 + }
23.111 + return ((SunToolkit)curToolkit).isWindowShapingSupported();
23.112 + }
23.113 +
23.114 + /**
23.115 + * Returns whether the windowing system supports changing the opacity
23.116 + * value of top-level windows.
23.117 + * Note that this method may sometimes return true, but the native
23.118 + * windowing system may still not support the concept of
23.119 + * translucency (due to the bugs in the windowing system).
23.120 + */
23.121 + static boolean isWindowOpacitySupported() {
23.122 + Toolkit curToolkit = Toolkit.getDefaultToolkit();
23.123 + if (!(curToolkit instanceof SunToolkit)) {
23.124 + return false;
23.125 + }
23.126 + return ((SunToolkit)curToolkit).isWindowOpacitySupported();
23.127 + }
23.128 +
23.129 + boolean isWindowPerpixelTranslucencySupported() {
23.130 + /*
23.131 + * Per-pixel alpha is supported if all the conditions are TRUE:
23.132 + * 1. The toolkit is a sort of SunToolkit
23.133 + * 2. The toolkit supports translucency in general
23.134 + * (isWindowTranslucencySupported())
23.135 + * 3. There's at least one translucency-capable
23.136 + * GraphicsConfiguration
23.137 + */
23.138 + Toolkit curToolkit = Toolkit.getDefaultToolkit();
23.139 + if (!(curToolkit instanceof SunToolkit)) {
23.140 + return false;
23.141 + }
23.142 + if (!((SunToolkit)curToolkit).isWindowTranslucencySupported()) {
23.143 + return false;
23.144 + }
23.145 +
23.146 + // TODO: cache translucency capable GC
23.147 + return getTranslucencyCapableGC() != null;
23.148 + }
23.149 +
23.150 + GraphicsConfiguration getTranslucencyCapableGC() {
23.151 + // If the default GC supports translucency return true.
23.152 + // It is important to optimize the verification this way,
23.153 + // see CR 6661196 for more details.
23.154 + GraphicsConfiguration defaultGC = getDefaultConfiguration();
23.155 + if (defaultGC.isTranslucencyCapable()) {
23.156 + return defaultGC;
23.157 + }
23.158 +
23.159 + // ... otherwise iterate through all the GCs.
23.160 + GraphicsConfiguration[] configs = getConfigurations();
23.161 + for (int j = 0; j < configs.length; j++) {
23.162 + if (configs[j].isTranslucencyCapable()) {
23.163 + return configs[j];
23.164 + }
23.165 + }
23.166 +
23.167 + return null;
23.168 + }
23.169 }
24.1 --- a/src/share/classes/java/awt/KeyboardFocusManager.java Tue Apr 14 00:05:07 2009 -0700
24.2 +++ b/src/share/classes/java/awt/KeyboardFocusManager.java Tue Apr 14 04:21:02 2009 -0700
24.3 @@ -61,6 +61,7 @@
24.4 import sun.awt.SunToolkit;
24.5 import sun.awt.CausedFocusEvent;
24.6 import sun.awt.KeyboardFocusManagerPeerProvider;
24.7 +import sun.awt.AWTAccessor;
24.8
24.9 /**
24.10 * The KeyboardFocusManager is responsible for managing the active and focused
24.11 @@ -118,6 +119,32 @@
24.12 if (!GraphicsEnvironment.isHeadless()) {
24.13 initIDs();
24.14 }
24.15 + AWTAccessor.setKeyboardFocusManagerAccessor(
24.16 + new AWTAccessor.KeyboardFocusManagerAccessor() {
24.17 + public int shouldNativelyFocusHeavyweight(Component heavyweight,
24.18 + Component descendant,
24.19 + boolean temporary,
24.20 + boolean focusedWindowChangeAllowed,
24.21 + long time,
24.22 + CausedFocusEvent.Cause cause)
24.23 + {
24.24 + return KeyboardFocusManager.shouldNativelyFocusHeavyweight(
24.25 + heavyweight, descendant, temporary, focusedWindowChangeAllowed, time, cause);
24.26 + }
24.27 + public boolean processSynchronousLightweightTransfer(Component heavyweight,
24.28 + Component descendant,
24.29 + boolean temporary,
24.30 + boolean focusedWindowChangeAllowed,
24.31 + long time)
24.32 + {
24.33 + return KeyboardFocusManager.processSynchronousLightweightTransfer(
24.34 + heavyweight, descendant, temporary, focusedWindowChangeAllowed, time);
24.35 + }
24.36 + public void removeLastFocusRequest(Component heavyweight) {
24.37 + KeyboardFocusManager.removeLastFocusRequest(heavyweight);
24.38 + }
24.39 + }
24.40 + );
24.41 }
24.42
24.43 transient KeyboardFocusManagerPeer peer;
24.44 @@ -2208,7 +2235,7 @@
24.45 boolean temporary, boolean focusedWindowChangeAllowed,
24.46 long time)
24.47 {
24.48 - Window parentWindow = Component.getContainingWindow(heavyweight);
24.49 + Window parentWindow = SunToolkit.getContainingWindow(heavyweight);
24.50 if (parentWindow == null || !parentWindow.syncLWRequests) {
24.51 return false;
24.52 }
24.53 @@ -2443,79 +2470,7 @@
24.54 }
24.55 }
24.56 }
24.57 - static void heavyweightButtonDown(Component heavyweight, long time) {
24.58 - heavyweightButtonDown(heavyweight, time, false);
24.59 - }
24.60 - static void heavyweightButtonDown(Component heavyweight, long time, boolean acceptDuplicates) {
24.61 - if (log.isLoggable(Level.FINE)) {
24.62 - if (heavyweight == null) {
24.63 - log.log(Level.FINE, "Assertion (heavyweight != null) failed");
24.64 - }
24.65 - if (time == 0) {
24.66 - log.log(Level.FINE, "Assertion (time != 0) failed");
24.67 - }
24.68 - }
24.69 - KeyboardFocusManager manager = getCurrentKeyboardFocusManager(SunToolkit.targetToAppContext(heavyweight));
24.70
24.71 - synchronized (heavyweightRequests) {
24.72 - HeavyweightFocusRequest hwFocusRequest = getLastHWRequest();
24.73 - Component currentNativeFocusOwner = (hwFocusRequest == null)
24.74 - ? manager.getNativeFocusOwner()
24.75 - : hwFocusRequest.heavyweight;
24.76 -
24.77 - // Behavior for all use cases:
24.78 - // 1. Heavyweight leaf Components (e.g., Button, Checkbox, Choice,
24.79 - // List, TextComponent, Canvas) that respond to button down.
24.80 - //
24.81 - // Native platform will generate a FOCUS_GAINED if and only if
24.82 - // the Component is not the focus owner (or, will not be the
24.83 - // focus owner when all outstanding focus requests are
24.84 - // processed).
24.85 - //
24.86 - // 2. Panel with no descendants.
24.87 - //
24.88 - // Same as (1).
24.89 - //
24.90 - // 3. Panel with at least one heavyweight descendant.
24.91 - //
24.92 - // This function should NOT be called for this case!
24.93 - //
24.94 - // 4. Panel with only lightweight descendants.
24.95 - //
24.96 - // Native platform will generate a FOCUS_GAINED if and only if
24.97 - // neither the Panel, nor any of its recursive, lightweight
24.98 - // descendants, is the focus owner. However, we want a
24.99 - // requestFocus() for any lightweight descendant to win out over
24.100 - // the focus request for the Panel. To accomplish this, we
24.101 - // differ from the algorithm for shouldNativelyFocusHeavyweight
24.102 - // as follows:
24.103 - // a. If the requestFocus() for a lightweight descendant has
24.104 - // been fully handled by the time this function is invoked,
24.105 - // then 'hwFocusRequest' will be null and 'heavyweight'
24.106 - // will be the native focus owner. Do *not* synthesize a
24.107 - // focus transfer to the Panel.
24.108 - // b. If the requestFocus() for a lightweight descendant has
24.109 - // been recorded, but not handled, then 'hwFocusRequest'
24.110 - // will be non-null and 'hwFocusRequest.heavyweight' will
24.111 - // equal 'heavyweight'. Do *not* append 'heavyweight' to
24.112 - // hwFocusRequest.lightweightRequests.
24.113 - // c. If the requestFocus() for a lightweight descendant is
24.114 - // yet to be made, then post a new HeavyweightFocusRequest.
24.115 - // If no lightweight descendant ever requests focus, then
24.116 - // the Panel will get focus. If some descendant does, then
24.117 - // the descendant will get focus by either a synthetic
24.118 - // focus transfer, or a lightweightRequests focus transfer.
24.119 -
24.120 - if (acceptDuplicates || heavyweight != currentNativeFocusOwner) {
24.121 - getCurrentKeyboardFocusManager
24.122 - (SunToolkit.targetToAppContext(heavyweight)).
24.123 - enqueueKeyEvents(time, heavyweight);
24.124 - heavyweightRequests.add
24.125 - (new HeavyweightFocusRequest(heavyweight, heavyweight,
24.126 - false, CausedFocusEvent.Cause.MOUSE_EVENT));
24.127 - }
24.128 - }
24.129 - }
24.130 /**
24.131 * Returns the Window which will be active after processing this request,
24.132 * or null if this is a duplicate request. The active Window is useful
24.133 @@ -2542,7 +2497,7 @@
24.134 (HeavyweightFocusRequest.CLEAR_GLOBAL_FOCUS_OWNER);
24.135
24.136 Component activeWindow = ((hwFocusRequest != null)
24.137 - ? Component.getContainingWindow(hwFocusRequest.heavyweight)
24.138 + ? SunToolkit.getContainingWindow(hwFocusRequest.heavyweight)
24.139 : nativeFocusedWindow);
24.140 while (activeWindow != null &&
24.141 !((activeWindow instanceof Frame) ||
24.142 @@ -3013,8 +2968,8 @@
24.143 }
24.144
24.145 private static boolean focusedWindowChanged(Component to, Component from) {
24.146 - Window wto = Component.getContainingWindow(to);
24.147 - Window wfrom = Component.getContainingWindow(from);
24.148 + Window wto = SunToolkit.getContainingWindow(to);
24.149 + Window wfrom = SunToolkit.getContainingWindow(from);
24.150 if (wto == null && wfrom == null) {
24.151 return true;
24.152 }
24.153 @@ -3028,8 +2983,8 @@
24.154 }
24.155
24.156 private static boolean isTemporary(Component to, Component from) {
24.157 - Window wto = Component.getContainingWindow(to);
24.158 - Window wfrom = Component.getContainingWindow(from);
24.159 + Window wto = SunToolkit.getContainingWindow(to);
24.160 + Window wfrom = SunToolkit.getContainingWindow(from);
24.161 if (wto == null && wfrom == null) {
24.162 return false;
24.163 }
25.1 --- a/src/share/classes/java/awt/MenuItem.java Tue Apr 14 00:05:07 2009 -0700
25.2 +++ b/src/share/classes/java/awt/MenuItem.java Tue Apr 14 04:21:02 2009 -0700
25.3 @@ -1,5 +1,5 @@
25.4 /*
25.5 - * Copyright 1995-2008 Sun Microsystems, Inc. All Rights Reserved.
25.6 + * Copyright 1995-2009 Sun Microsystems, Inc. All Rights Reserved.
25.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
25.8 *
25.9 * This code is free software; you can redistribute it and/or modify it
25.10 @@ -398,9 +398,11 @@
25.11 boolean handleShortcut(KeyEvent e) {
25.12 MenuShortcut s = new MenuShortcut(e.getKeyCode(),
25.13 (e.getModifiers() & InputEvent.SHIFT_MASK) > 0);
25.14 + MenuShortcut sE = new MenuShortcut(e.getExtendedKeyCode(),
25.15 + (e.getModifiers() & InputEvent.SHIFT_MASK) > 0);
25.16 // Fix For 6185151: Menu shortcuts of all menuitems within a menu
25.17 // should be disabled when the menu itself is disabled
25.18 - if (s.equals(shortcut) && isItemEnabled()) {
25.19 + if ((s.equals(shortcut) || sE.equals(shortcut)) && isItemEnabled()) {
25.20 // MenuShortcut match -- issue an event on keydown.
25.21 if (e.getID() == KeyEvent.KEY_PRESSED) {
25.22 doMenuEvent(e.getWhen(), e.getModifiers());
26.1 --- a/src/share/classes/java/awt/MenuShortcut.java Tue Apr 14 00:05:07 2009 -0700
26.2 +++ b/src/share/classes/java/awt/MenuShortcut.java Tue Apr 14 04:21:02 2009 -0700
26.3 @@ -1,5 +1,5 @@
26.4 /*
26.5 - * Copyright 1996-2003 Sun Microsystems, Inc. All Rights Reserved.
26.6 + * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved.
26.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
26.8 *
26.9 * This code is free software; you can redistribute it and/or modify it
26.10 @@ -34,7 +34,21 @@
26.11 * For example, a menu shortcut for Ctrl-a (assuming that Control is
26.12 * the accelerator key) would be created with code like the following:
26.13 * <p>
26.14 - * MenuShortcut ms = new MenuShortcut(KeyEvent.VK_A, false);
26.15 + * <code>MenuShortcut ms = new MenuShortcut(KeyEvent.VK_A, false);</code>
26.16 + * <p> or alternatively
26.17 + * <p>
26.18 + * <code>MenuShortcut ms = new MenuShortcut(KeyEvent.getExtendedKeyCodeForChar('A'), false);</code>
26.19 + * <p>
26.20 + * Menu shortcuts may also be constructed for a wider set of keycodes
26.21 + * using the <code>java.awt.event.KeyEvent.getExtendedKeyCodeForChar</code> call.
26.22 + * For example, a menu shortcut for "Ctrl+cyrillic ef" is created by
26.23 + * <p>
26.24 + * <code>MenuShortcut ms = new MenuShortcut(KeyEvent.getExtendedKeyCodeForChar('\u0444'), false);</code>
26.25 + * <p>
26.26 + * Note that shortcuts created with a keycode or an extended keycode defined as a constant in <code>KeyEvent</code>
26.27 + * work regardless of the current keyboard layout. However, a shortcut made of
26.28 + * an extended keycode not listed in <code>KeyEvent</code>
26.29 + * only work if the current keyboard layout produces a corresponding letter.
26.30 * <p>
26.31 * The accelerator key is platform-dependent and may be obtained
26.32 * via {@link Toolkit#getMenuShortcutKeyMask}.
27.1 --- a/src/share/classes/java/awt/Window.java Tue Apr 14 00:05:07 2009 -0700
27.2 +++ b/src/share/classes/java/awt/Window.java Tue Apr 14 04:21:02 2009 -0700
27.3 @@ -1,5 +1,5 @@
27.4 /*
27.5 - * Copyright 1995-2008 Sun Microsystems, Inc. All Rights Reserved.
27.6 + * Copyright 1995-2009 Sun Microsystems, Inc. All Rights Reserved.
27.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
27.8 *
27.9 * This code is free software; you can redistribute it and/or modify it
27.10 @@ -25,8 +25,10 @@
27.11 package java.awt;
27.12
27.13 import java.awt.event.*;
27.14 +import java.awt.geom.Point2D;
27.15 import java.awt.im.InputContext;
27.16 import java.awt.image.BufferStrategy;
27.17 +import java.awt.image.BufferedImage;
27.18 import java.awt.peer.ComponentPeer;
27.19 import java.awt.peer.WindowPeer;
27.20 import java.beans.PropertyChangeListener;
27.21 @@ -49,6 +51,7 @@
27.22 import java.util.logging.Logger;
27.23 import java.util.concurrent.atomic.AtomicBoolean;
27.24 import javax.accessibility.*;
27.25 +import sun.awt.AWTAccessor;
27.26 import sun.awt.AppContext;
27.27 import sun.awt.CausedFocusEvent;
27.28 import sun.awt.SunToolkit;
27.29 @@ -291,6 +294,25 @@
27.30 */
27.31 transient boolean isInShow = false;
27.32
27.33 + /*
27.34 + * Opacity level of the window
27.35 + *
27.36 + * @see #setOpacity(float)
27.37 + * @see #getOpacity()
27.38 + * @since 1.7
27.39 + */
27.40 + private float opacity = 1.0f;
27.41 +
27.42 + /*
27.43 + * The shape assigned to this window. This field is set to null if
27.44 + * no shape is set (rectangular window).
27.45 + *
27.46 + * @see #getShape()
27.47 + * @see #setShape(Shape)
27.48 + * @since 1.7
27.49 + */
27.50 + private Shape shape = null;
27.51 +
27.52 private static final String base = "win";
27.53 private static int nameCounter = 0;
27.54
27.55 @@ -305,6 +327,23 @@
27.56
27.57 transient boolean isTrayIconWindow = false;
27.58
27.59 + /**
27.60 + * These fields are initialized in the native peer code
27.61 + * or via AWTAccessor's WindowAccessor.
27.62 + */
27.63 + private transient volatile int securityWarningWidth = 0;
27.64 + private transient volatile int securityWarningHeight = 0;
27.65 +
27.66 + /**
27.67 + * These fields represent the desired location for the security
27.68 + * warning if this window is untrusted.
27.69 + * See com.sun.awt.SecurityWarning for more details.
27.70 + */
27.71 + private transient double securityWarningPointX = 2.0;
27.72 + private transient double securityWarningPointY = 0.0;
27.73 + private transient float securityWarningAlignmentX = RIGHT_ALIGNMENT;
27.74 + private transient float securityWarningAlignmentY = TOP_ALIGNMENT;
27.75 +
27.76 static {
27.77 /* ensure that the necessary native libraries are loaded */
27.78 Toolkit.loadLibraries();
27.79 @@ -373,6 +412,18 @@
27.80 }
27.81 }
27.82
27.83 + private GraphicsConfiguration initGC(GraphicsConfiguration gc) {
27.84 + GraphicsEnvironment.checkHeadless();
27.85 +
27.86 + if (gc == null) {
27.87 + gc = GraphicsEnvironment.getLocalGraphicsEnvironment().
27.88 + getDefaultScreenDevice().getDefaultConfiguration();
27.89 + }
27.90 + setGraphicsConfiguration(gc);
27.91 +
27.92 + return gc;
27.93 + }
27.94 +
27.95 private void init(GraphicsConfiguration gc) {
27.96 GraphicsEnvironment.checkHeadless();
27.97
27.98 @@ -384,14 +435,10 @@
27.99 setWarningString();
27.100 this.cursor = Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR);
27.101 this.visible = false;
27.102 - if (gc == null) {
27.103 - this.graphicsConfig =
27.104 - GraphicsEnvironment.getLocalGraphicsEnvironment().
27.105 - getDefaultScreenDevice().getDefaultConfiguration();
27.106 - } else {
27.107 - this.graphicsConfig = gc;
27.108 - }
27.109 - if (graphicsConfig.getDevice().getType() !=
27.110 +
27.111 + gc = initGC(gc);
27.112 +
27.113 + if (gc.getDevice().getType() !=
27.114 GraphicsDevice.TYPE_RASTER_SCREEN) {
27.115 throw new IllegalArgumentException("not a screen device");
27.116 }
27.117 @@ -399,8 +446,8 @@
27.118
27.119 /* offset the initial location with the original of the screen */
27.120 /* and any insets */
27.121 - Rectangle screenBounds = graphicsConfig.getBounds();
27.122 - Insets screenInsets = getToolkit().getScreenInsets(graphicsConfig);
27.123 + Rectangle screenBounds = gc.getBounds();
27.124 + Insets screenInsets = getToolkit().getScreenInsets(gc);
27.125 int x = getX() + screenBounds.x + screenInsets.left;
27.126 int y = getY() + screenBounds.y + screenInsets.top;
27.127 if (x != this.x || y != this.y) {
27.128 @@ -2744,7 +2791,7 @@
27.129 sun.java2d.Disposer.addRecord(anchor, new WindowDisposerRecord(appContext, this));
27.130
27.131 addToWindowList();
27.132 -
27.133 + initGC(null);
27.134 }
27.135
27.136 private void deserializeResources(ObjectInputStream s)
27.137 @@ -2849,6 +2896,15 @@
27.138 if(aot) {
27.139 setAlwaysOnTop(aot); // since 1.5; subject to permission check
27.140 }
27.141 + shape = (Shape)f.get("shape", null);
27.142 + opacity = (Float)f.get("opacity", 1.0f);
27.143 +
27.144 + this.securityWarningWidth = 0;
27.145 + this.securityWarningHeight = 0;
27.146 + this.securityWarningPointX = 2.0;
27.147 + this.securityWarningPointY = 0.0;
27.148 + this.securityWarningAlignmentX = RIGHT_ALIGNMENT;
27.149 + this.securityWarningAlignmentY = TOP_ALIGNMENT;
27.150
27.151 deserializeResources(s);
27.152 }
27.153 @@ -2916,41 +2972,18 @@
27.154
27.155 } // inner class AccessibleAWTWindow
27.156
27.157 - /**
27.158 - * This method returns the GraphicsConfiguration used by this Window.
27.159 - * @since 1.3
27.160 - */
27.161 - public GraphicsConfiguration getGraphicsConfiguration() {
27.162 - //NOTE: for multiscreen, this will need to take into account
27.163 - //which screen the window is on/mostly on instead of returning the
27.164 - //default or constructor argument config.
27.165 - synchronized(getTreeLock()) {
27.166 - if (graphicsConfig == null && !GraphicsEnvironment.isHeadless()) {
27.167 - graphicsConfig =
27.168 - GraphicsEnvironment. getLocalGraphicsEnvironment().
27.169 - getDefaultScreenDevice().
27.170 - getDefaultConfiguration();
27.171 - }
27.172 - return graphicsConfig;
27.173 - }
27.174 - }
27.175 -
27.176 - /**
27.177 - * Reset this Window's GraphicsConfiguration to match its peer.
27.178 - */
27.179 - void resetGC() {
27.180 - if (!GraphicsEnvironment.isHeadless()) {
27.181 - // use the peer's GC
27.182 - setGCFromPeer();
27.183 - // if it's still null, use the default
27.184 - if (graphicsConfig == null) {
27.185 - graphicsConfig = GraphicsEnvironment.
27.186 + @Override
27.187 + void setGraphicsConfiguration(GraphicsConfiguration gc) {
27.188 + if (gc == null) {
27.189 + gc = GraphicsEnvironment.
27.190 getLocalGraphicsEnvironment().
27.191 getDefaultScreenDevice().
27.192 getDefaultConfiguration();
27.193 - }
27.194 + }
27.195 + synchronized (getTreeLock()) {
27.196 + super.setGraphicsConfiguration(gc);
27.197 if (log.isLoggable(Level.FINER)) {
27.198 - log.finer("+ Window.resetGC(): new GC is \n+ " + graphicsConfig + "\n+ this is " + this);
27.199 + log.finer("+ Window.setGraphicsConfiguration(): new GC is \n+ " + getGraphicsConfiguration_NoClientCode() + "\n+ this is " + this);
27.200 }
27.201 }
27.202 }
27.203 @@ -3010,13 +3043,13 @@
27.204 // target location
27.205 int dx = 0, dy = 0;
27.206 // target GC
27.207 - GraphicsConfiguration gc = this.graphicsConfig;
27.208 + GraphicsConfiguration gc = getGraphicsConfiguration_NoClientCode();
27.209 Rectangle gcBounds = gc.getBounds();
27.210
27.211 Dimension windowSize = getSize();
27.212
27.213 // search a top-level of c
27.214 - Window componentWindow = Component.getContainingWindow(c);
27.215 + Window componentWindow = SunToolkit.getContainingWindow(c);
27.216 if ((c == null) || (componentWindow == null)) {
27.217 GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
27.218 gc = ge.getDefaultScreenDevice().getDefaultConfiguration();
27.219 @@ -3304,6 +3337,225 @@
27.220 }
27.221
27.222
27.223 + // ******************** SHAPES & TRANSPARENCY CODE ********************
27.224 +
27.225 + /**
27.226 + * JavaDoc
27.227 + */
27.228 + /*public */float getOpacity() {
27.229 + synchronized (getTreeLock()) {
27.230 + return opacity;
27.231 + }
27.232 + }
27.233 +
27.234 + /**
27.235 + * JavaDoc
27.236 + */
27.237 + /*public */void setOpacity(float opacity) {
27.238 + synchronized (getTreeLock()) {
27.239 + if (opacity < 0.0f || opacity > 1.0f) {
27.240 + throw new IllegalArgumentException(
27.241 + "The value of opacity should be in the range [0.0f .. 1.0f].");
27.242 + }
27.243 + GraphicsConfiguration gc = getGraphicsConfiguration();
27.244 + GraphicsDevice gd = gc.getDevice();
27.245 + if (!gd.isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency.TRANSLUCENT)) {
27.246 + throw new UnsupportedOperationException(
27.247 + "TRANSLUCENT translucency is not supported.");
27.248 + }
27.249 + if ((gc.getDevice().getFullScreenWindow() == this) && (opacity < 1.0f)) {
27.250 + throw new IllegalArgumentException(
27.251 + "Setting opacity for full-screen window is not supported.");
27.252 + }
27.253 + this.opacity = opacity;
27.254 + WindowPeer peer = (WindowPeer)getPeer();
27.255 + if (peer != null) {
27.256 + peer.setOpacity(opacity);
27.257 + }
27.258 + }
27.259 + }
27.260 +
27.261 + /**
27.262 + * JavaDoc
27.263 + */
27.264 + /*public */Shape getShape() {
27.265 + synchronized (getTreeLock()) {
27.266 + return shape;
27.267 + }
27.268 + }
27.269 +
27.270 + /**
27.271 + * JavaDoc
27.272 + *
27.273 + * @param window the window to set the shape to
27.274 + * @param shape the shape to set to the window
27.275 + * @throws IllegalArgumentException if the window is in full screen mode,
27.276 + * and the shape is not null
27.277 + */
27.278 + /*public */void setShape(Shape shape) {
27.279 + synchronized (getTreeLock()) {
27.280 + GraphicsConfiguration gc = getGraphicsConfiguration();
27.281 + GraphicsDevice gd = gc.getDevice();
27.282 + if (!gd.isWindowTranslucencySupported(
27.283 + GraphicsDevice.WindowTranslucency.PERPIXEL_TRANSPARENT))
27.284 + {
27.285 + throw new UnsupportedOperationException(
27.286 + "PERPIXEL_TRANSPARENT translucency is not supported.");
27.287 + }
27.288 + if ((gc.getDevice().getFullScreenWindow() == this) && (shape != null)) {
27.289 + throw new IllegalArgumentException(
27.290 + "Setting shape for full-screen window is not supported.");
27.291 + }
27.292 + this.shape = shape;
27.293 + WindowPeer peer = (WindowPeer)getPeer();
27.294 + if (peer != null) {
27.295 + peer.applyShape(shape == null ? null : Region.getInstance(shape, null));
27.296 + }
27.297 + }
27.298 + }
27.299 +
27.300 + /**
27.301 + * JavaDoc
27.302 + */
27.303 +/*
27.304 + @Override
27.305 + public void setBackground(Color bgColor) {
27.306 + int alpha = bgColor.getAlpha();
27.307 + if (alpha < 255) { // non-opaque window
27.308 + GraphicsConfiguration gc = getGraphicsConfiguration();
27.309 + GraphicsDevice gd = gc.getDevice();
27.310 + if (gc.getDevice().getFullScreenWindow() == this) {
27.311 + throw new IllegalArgumentException(
27.312 + "Making full-screen window non opaque is not supported.");
27.313 + }
27.314 + if (!gc.isTranslucencyCapable()) {
27.315 + GraphicsConfiguration capableGC = gd.getTranslucencyCapableGC();
27.316 + if (capableGC == null) {
27.317 + throw new IllegalArgumentException(
27.318 + "PERPIXEL_TRANSLUCENT translucency is not supported");
27.319 + }
27.320 + // TODO: change GC
27.321 + }
27.322 + setLayersOpaque(this, false);
27.323 + }
27.324 +
27.325 + super.setBackground(bgColor);
27.326 +
27.327 + WindowPeer peer = (WindowPeer)getPeer();
27.328 + if (peer != null) {
27.329 + peer.setOpaque(alpha == 255);
27.330 + }
27.331 + }
27.332 +*/
27.333 +
27.334 + private transient boolean opaque = true;
27.335 +
27.336 + void setOpaque(boolean opaque) {
27.337 + synchronized (getTreeLock()) {
27.338 + GraphicsConfiguration gc = getGraphicsConfiguration();
27.339 + if (!opaque && !com.sun.awt.AWTUtilities.isTranslucencyCapable(gc)) {
27.340 + throw new IllegalArgumentException(
27.341 + "The window must use a translucency-compatible graphics configuration");
27.342 + }
27.343 + if (!com.sun.awt.AWTUtilities.isTranslucencySupported(
27.344 + com.sun.awt.AWTUtilities.Translucency.PERPIXEL_TRANSLUCENT))
27.345 + {
27.346 + throw new UnsupportedOperationException(
27.347 + "PERPIXEL_TRANSLUCENT translucency is not supported.");
27.348 + }
27.349 + if ((gc.getDevice().getFullScreenWindow() == this) && !opaque) {
27.350 + throw new IllegalArgumentException(
27.351 + "Making full-screen window non opaque is not supported.");
27.352 + }
27.353 + setLayersOpaque(this, opaque);
27.354 + this.opaque = opaque;
27.355 + WindowPeer peer = (WindowPeer)getPeer();
27.356 + if (peer != null) {
27.357 + peer.setOpaque(opaque);
27.358 + }
27.359 + }
27.360 + }
27.361 +
27.362 + private void updateWindow(BufferedImage backBuffer) {
27.363 + synchronized (getTreeLock()) {
27.364 + WindowPeer peer = (WindowPeer)getPeer();
27.365 + if (peer != null) {
27.366 + peer.updateWindow(backBuffer);
27.367 + }
27.368 + }
27.369 + }
27.370 +
27.371 + private static final Color TRANSPARENT_BACKGROUND_COLOR = new Color(0, 0, 0, 0);
27.372 +
27.373 + private static void setLayersOpaque(Component component, boolean isOpaque) {
27.374 + // Shouldn't use instanceof to avoid loading Swing classes
27.375 + // if it's a pure AWT application.
27.376 + if (Component.doesImplement(component, "javax.swing.RootPaneContainer")) {
27.377 + javax.swing.RootPaneContainer rpc = (javax.swing.RootPaneContainer)component;
27.378 + javax.swing.JRootPane root = rpc.getRootPane();
27.379 + javax.swing.JLayeredPane lp = root.getLayeredPane();
27.380 + Container c = root.getContentPane();
27.381 + javax.swing.JComponent content =
27.382 + (c instanceof javax.swing.JComponent) ? (javax.swing.JComponent)c : null;
27.383 + javax.swing.JComponent gp =
27.384 + (rpc.getGlassPane() instanceof javax.swing.JComponent) ?
27.385 + (javax.swing.JComponent)rpc.getGlassPane() : null;
27.386 + if (gp != null) {
27.387 + gp.setDoubleBuffered(isOpaque);
27.388 + }
27.389 + lp.setOpaque(isOpaque);
27.390 + root.setOpaque(isOpaque);
27.391 + root.setDoubleBuffered(isOpaque); //XXX: the "white rect" workaround
27.392 + if (content != null) {
27.393 + content.setOpaque(isOpaque);
27.394 + content.setDoubleBuffered(isOpaque); //XXX: the "white rect" workaround
27.395 +
27.396 + // Iterate down one level to see whether we have a JApplet
27.397 + // (which is also a RootPaneContainer) which requires processing
27.398 + int numChildren = content.getComponentCount();
27.399 + if (numChildren > 0) {
27.400 + Component child = content.getComponent(0);
27.401 + // It's OK to use instanceof here because we've
27.402 + // already loaded the RootPaneContainer class by now
27.403 + if (child instanceof javax.swing.RootPaneContainer) {
27.404 + setLayersOpaque(child, isOpaque);
27.405 + }
27.406 + }
27.407 + }
27.408 + }
27.409 +
27.410 + Color bg = component.getBackground();
27.411 + boolean hasTransparentBg = TRANSPARENT_BACKGROUND_COLOR.equals(bg);
27.412 +
27.413 + Container container = null;
27.414 + if (component instanceof Container) {
27.415 + container = (Container) component;
27.416 + }
27.417 +
27.418 + if (isOpaque) {
27.419 + if (hasTransparentBg) {
27.420 + // Note: we use the SystemColor.window color as the default.
27.421 + // This color is used in the WindowPeer implementations to
27.422 + // initialize the background color of the window if it is null.
27.423 + // (This might not be the right thing to do for other
27.424 + // RootPaneContainers we might be invoked with)
27.425 + Color newColor = null;
27.426 + if (container != null && container.preserveBackgroundColor != null) {
27.427 + newColor = container.preserveBackgroundColor;
27.428 + } else {
27.429 + newColor = SystemColor.window;
27.430 + }
27.431 + component.setBackground(newColor);
27.432 + }
27.433 + } else {
27.434 + if (!hasTransparentBg && container != null) {
27.435 + container.preserveBackgroundColor = bg;
27.436 + }
27.437 + component.setBackground(TRANSPARENT_BACKGROUND_COLOR);
27.438 + }
27.439 + }
27.440 +
27.441 +
27.442 // ************************** MIXING CODE *******************************
27.443
27.444 // A window has a parent, but it does NOT have a container
27.445 @@ -3341,6 +3593,87 @@
27.446
27.447 // ****************** END OF MIXING CODE ********************************
27.448
27.449 + // This method gets the window location/size as reported by the native
27.450 + // system since the locally cached values may represent outdated data.
27.451 + // NOTE: this method is invoked on the toolkit thread, and therefore
27.452 + // is not supposed to become public/user-overridable.
27.453 + private Point2D calculateSecurityWarningPosition(double x, double y,
27.454 + double w, double h)
27.455 + {
27.456 + return new Point2D.Double(
27.457 + x + w * securityWarningAlignmentX + securityWarningPointX,
27.458 + y + h * securityWarningAlignmentY + securityWarningPointY);
27.459 + }
27.460 +
27.461 + static {
27.462 + AWTAccessor.setWindowAccessor(new AWTAccessor.WindowAccessor() {
27.463 + public float getOpacity(Window window) {
27.464 + return window.opacity;
27.465 + }
27.466 + public void setOpacity(Window window, float opacity) {
27.467 + window.setOpacity(opacity);
27.468 + }
27.469 + public Shape getShape(Window window) {
27.470 + return window.getShape();
27.471 + }
27.472 + public void setShape(Window window, Shape shape) {
27.473 + window.setShape(shape);
27.474 + }
27.475 + public boolean isOpaque(Window window) {
27.476 + /*
27.477 + return window.getBackground().getAlpha() < 255;
27.478 + */
27.479 + synchronized (window.getTreeLock()) {
27.480 + return window.opaque;
27.481 + }
27.482 + }
27.483 + public void setOpaque(Window window, boolean opaque) {
27.484 + /*
27.485 + Color bg = window.getBackground();
27.486 + window.setBackground(new Color(bg.getRed(), bg.getGreen(), bg.getBlue(),
27.487 + opaque ? 255 : 0));
27.488 + */
27.489 + window.setOpaque(opaque);
27.490 + }
27.491 + public void updateWindow(Window window, BufferedImage backBuffer) {
27.492 + window.updateWindow(backBuffer);
27.493 + }
27.494 +
27.495 + public Dimension getSecurityWarningSize(Window window) {
27.496 + return new Dimension(window.securityWarningWidth,
27.497 + window.securityWarningHeight);
27.498 + }
27.499 +
27.500 + public void setSecurityWarningSize(Window window, int width, int height)
27.501 + {
27.502 + window.securityWarningWidth = width;
27.503 + window.securityWarningHeight = height;
27.504 + }
27.505 +
27.506 + public void setSecurityWarningPosition(Window window,
27.507 + Point2D point, float alignmentX, float alignmentY)
27.508 + {
27.509 + window.securityWarningPointX = point.getX();
27.510 + window.securityWarningPointY = point.getY();
27.511 + window.securityWarningAlignmentX = alignmentX;
27.512 + window.securityWarningAlignmentY = alignmentY;
27.513 +
27.514 + synchronized (window.getTreeLock()) {
27.515 + WindowPeer peer = (WindowPeer)window.getPeer();
27.516 + if (peer != null) {
27.517 + peer.repositionSecurityWarning();
27.518 + }
27.519 + }
27.520 + }
27.521 +
27.522 + public Point2D calculateSecurityWarningPosition(Window window,
27.523 + double x, double y, double w, double h)
27.524 + {
27.525 + return window.calculateSecurityWarningPosition(x, y, w, h);
27.526 + }
27.527 + }); // WindowAccessor
27.528 + } // static
27.529 +
27.530 } // class Window
27.531
27.532
28.1 --- a/src/share/classes/java/awt/event/KeyEvent.java Tue Apr 14 00:05:07 2009 -0700
28.2 +++ b/src/share/classes/java/awt/event/KeyEvent.java Tue Apr 14 04:21:02 2009 -0700
28.3 @@ -1,5 +1,5 @@
28.4 /*
28.5 - * Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved.
28.6 + * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved.
28.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
28.8 *
28.9 * This code is free software; you can redistribute it and/or modify it
28.10 @@ -65,15 +65,16 @@
28.11 * <p>
28.12 * For key pressed and key released events, the getKeyCode method returns
28.13 * the event's keyCode. For key typed events, the getKeyCode method
28.14 - * always returns VK_UNDEFINED.
28.15 + * always returns {@code VK_UNDEFINED}. The {@code getExtendedKeyCode} method
28.16 + * may also be used with many international keyboard layouts.
28.17 *
28.18 * <p>
28.19 * <em>"Key pressed" and "key released" events</em> are lower-level and depend
28.20 * on the platform and keyboard layout. They are generated whenever a key is
28.21 * pressed or released, and are the only way to find out about keys that don't
28.22 * generate character input (e.g., action keys, modifier keys, etc.). The key
28.23 - * being pressed or released is indicated by the getKeyCode method, which returns
28.24 - * a virtual key code.
28.25 + * being pressed or released is indicated by the {@code getKeyCode} and {@code getExtendedKeyCode}
28.26 + * methods, which return a virtual key code.
28.27 *
28.28 * <p>
28.29 * <em>Virtual key codes</em> are used to report which keyboard key has
28.30 @@ -111,6 +112,11 @@
28.31 * platform and keyboard layout. For example, the key that generates VK_Q
28.32 * when using a U.S. keyboard layout will generate VK_A when using a French
28.33 * keyboard layout.
28.34 + * <li>The key that generates {@code VK_Q} when using a U.S. keyboard layout also
28.35 + * generates a unique code for Russian or Hebrew layout. There is no a
28.36 + * {@code VK_} constant for these and many other codes in various layouts. These codes
28.37 + * may be obtained by using {@code getExtendedKeyCode} and are used whenever
28.38 + * a {@code VK_} constant is used.
28.39 * <li>Not all characters have a keycode associated with them. For example,
28.40 * there is no keycode for the question mark because there is no keyboard
28.41 * for which it appears on the primary layer.
28.42 @@ -891,6 +897,12 @@
28.43 */
28.44 int keyLocation;
28.45
28.46 + //set from native code.
28.47 + private transient long rawCode = 0;
28.48 + private transient long primaryLevelUnicode = 0;
28.49 + private transient long scancode = 0; // for MS Windows only
28.50 + private transient long extendedKeyCode = 0;
28.51 +
28.52 /*
28.53 * JDK 1.1 serialVersionUID
28.54 */
28.55 @@ -1315,6 +1327,9 @@
28.56 return numpad + "-" + c;
28.57 }
28.58
28.59 + if ((keyCode & 0x01000000) != 0) {
28.60 + return String.valueOf((char)(keyCode ^ 0x01000000 ));
28.61 + }
28.62 String unknown = Toolkit.getProperty("AWT.unknown", "Unknown");
28.63 return unknown + " keyCode: 0x" + Integer.toString(keyCode, 16);
28.64 }
28.65 @@ -1551,9 +1566,44 @@
28.66 str.append("KEY_LOCATION_UNKNOWN");
28.67 break;
28.68 }
28.69 + str.append(",rawCode=").append(rawCode);
28.70 + str.append(",primaryLevelUnicode=").append(primaryLevelUnicode);
28.71 + str.append(",scancode=").append(scancode);
28.72 + str.append(",extendedKeyCode=0x").append(Long.toHexString(extendedKeyCode));
28.73
28.74 return str.toString();
28.75 }
28.76 + /**
28.77 + * Returns an extended key code for the event.
28.78 + * The extended key code is a unique id assigned to a key on the keyboard
28.79 + * just like {@code keyCode}. However, unlike {@code keyCode}, this value depends on the
28.80 + * current keyboard layout. For instance, pressing the left topmost letter key
28.81 + * in a common English layout produces the same value as {@code keyCode}, {@code VK_Q}.
28.82 + * Pressing the same key in a regular Russian layout gives another code, unique for the
28.83 + * letter "Cyrillic I short".
28.84 + *
28.85 + * @since 1.7
28.86 + *
28.87 + */
28.88 + public int getExtendedKeyCode() {
28.89 + return (int)extendedKeyCode;
28.90 + }
28.91 + /**
28.92 + * Returns an extended key code for a unicode character.
28.93 + *
28.94 + * @return for a unicode character with a corresponding {@code VK_} constant -- this
28.95 + * {@code VK_} constant; for a character appearing on the primary
28.96 + * level of a known keyboard layout -- a unique integer.
28.97 + * If a character does not appear on the primary level of a known keyboard,
28.98 + * {@code VK_UNDEFINED} is returned.
28.99 + *
28.100 + * @since 1.7
28.101 + *
28.102 + */
28.103 + public static int getExtendedKeyCodeForChar(int c) {
28.104 + // Return a keycode (if any) associated with a character.
28.105 + return sun.awt.ExtendedKeyCodes.getExtendedKeyCodeForChar(c);
28.106 + }
28.107
28.108 /**
28.109 * Sets new modifiers by the old ones. The key modifiers
29.1 --- a/src/share/classes/java/awt/peer/CanvasPeer.java Tue Apr 14 00:05:07 2009 -0700
29.2 +++ b/src/share/classes/java/awt/peer/CanvasPeer.java Tue Apr 14 04:21:02 2009 -0700
29.3 @@ -25,6 +25,7 @@
29.4 package java.awt.peer;
29.5
29.6 import java.awt.Canvas;
29.7 +import java.awt.GraphicsConfiguration;
29.8
29.9 /**
29.10 * The peer interface for {@link Canvas}.
29.11 @@ -36,4 +37,13 @@
29.12 * instances.
29.13 */
29.14 public interface CanvasPeer extends ComponentPeer {
29.15 + /**
29.16 + * Requests a GC that best suits this Canvas. The returned GC may differ
29.17 + * from the requested GC passed as the argument to this method. This method
29.18 + * must return a non-null value (given the argument is non-null as well).
29.19 + *
29.20 + * @since 1.7
29.21 + */
29.22 + GraphicsConfiguration getAppropriateGraphicsConfiguration(
29.23 + GraphicsConfiguration gc);
29.24 }
30.1 --- a/src/share/classes/java/awt/peer/ComponentPeer.java Tue Apr 14 00:05:07 2009 -0700
30.2 +++ b/src/share/classes/java/awt/peer/ComponentPeer.java Tue Apr 14 04:21:02 2009 -0700
30.3 @@ -539,4 +539,16 @@
30.4 */
30.5 void applyShape(Region shape);
30.6
30.7 + /**
30.8 + * Lowers this component at the bottom of the above HW peer. If the above parameter
30.9 + * is null then the method places this component at the top of the Z-order.
30.10 + */
30.11 + void setZOrder(ComponentPeer above);
30.12 +
30.13 + /**
30.14 + * Updates internal data structures related to the component's GC.
30.15 + *
30.16 + * @since 1.7
30.17 + */
30.18 + void updateGraphicsData(GraphicsConfiguration gc);
30.19 }
31.1 --- a/src/share/classes/java/awt/peer/ContainerPeer.java Tue Apr 14 00:05:07 2009 -0700
31.2 +++ b/src/share/classes/java/awt/peer/ContainerPeer.java Tue Apr 14 04:21:02 2009 -0700
31.3 @@ -76,21 +76,4 @@
31.4 * @see Container#validateTree()
31.5 */
31.6 void endLayout();
31.7 -
31.8 - /**
31.9 - * Restacks native windows - children of this native window - according to
31.10 - * Java container order.
31.11 - *
31.12 - * @since 1.5
31.13 - */
31.14 - void restack();
31.15 -
31.16 - /**
31.17 - * Indicates availability of restacking operation in this container.
31.18 - *
31.19 - * @return Returns true if restack is supported, false otherwise
31.20 - *
31.21 - * @since 1.5
31.22 - */
31.23 - boolean isRestackSupported();
31.24 }
32.1 --- a/src/share/classes/java/awt/peer/WindowPeer.java Tue Apr 14 00:05:07 2009 -0700
32.2 +++ b/src/share/classes/java/awt/peer/WindowPeer.java Tue Apr 14 04:21:02 2009 -0700
32.3 @@ -1,5 +1,5 @@
32.4 /*
32.5 - * Copyright 1995-2007 Sun Microsystems, Inc. All Rights Reserved.
32.6 + * Copyright 1995-2009 Sun Microsystems, Inc. All Rights Reserved.
32.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
32.8 *
32.9 * This code is free software; you can redistribute it and/or modify it
32.10 @@ -27,6 +27,8 @@
32.11
32.12 import java.awt.*;
32.13
32.14 +import java.awt.image.BufferedImage;
32.15 +
32.16 /**
32.17 * The peer interface for {@link Window}.
32.18 *
32.19 @@ -92,4 +94,31 @@
32.20 * @see Window#setIconImages(java.util.List)
32.21 */
32.22 void updateIconImages();
32.23 +
32.24 + /**
32.25 + * Sets the level of opacity for the window.
32.26 + *
32.27 + * @see Window#setOpacity(float)
32.28 + */
32.29 + void setOpacity(float opacity);
32.30 +
32.31 + /**
32.32 + * Enables the per-pixel alpha support for the window.
32.33 + *
32.34 + * @see Window#setBackground(Color)
32.35 + */
32.36 + void setOpaque(boolean isOpaque);
32.37 +
32.38 + /**
32.39 + * Updates the native part of non-opaque window using
32.40 + * the given image with color+alpha values for each pixel.
32.41 + *
32.42 + * @see Window#setBackground(Color)
32.43 + */
32.44 + void updateWindow(BufferedImage backBuffer);
32.45 +
32.46 + /**
32.47 + * Instructs the peer to update the position of the security warning.
32.48 + */
32.49 + void repositionSecurityWarning();
32.50 }
33.1 --- a/src/share/classes/javax/swing/AbstractButton.java Tue Apr 14 00:05:07 2009 -0700
33.2 +++ b/src/share/classes/javax/swing/AbstractButton.java Tue Apr 14 04:21:02 2009 -0700
33.3 @@ -1,5 +1,5 @@
33.4 /*
33.5 - * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved.
33.6 + * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
33.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
33.8 *
33.9 * This code is free software; you can redistribute it and/or modify it
33.10 @@ -1545,6 +1545,9 @@
33.11 * A mnemonic must correspond to a single key on the keyboard
33.12 * and should be specified using one of the <code>VK_XXX</code>
33.13 * keycodes defined in <code>java.awt.event.KeyEvent</code>.
33.14 + * These codes and the wider array of codes for international
33.15 + * keyboards may be obtained through
33.16 + * <code>java.awt.event.KeyEvent.getExtendedKeyCodeForChar</code>.
33.17 * Mnemonics are case-insensitive, therefore a key event
33.18 * with the corresponding keycode would cause the button to be
33.19 * activated whether or not the Shift modifier was pressed.
34.1 --- a/src/share/classes/javax/swing/Action.java Tue Apr 14 00:05:07 2009 -0700
34.2 +++ b/src/share/classes/javax/swing/Action.java Tue Apr 14 04:21:02 2009 -0700
34.3 @@ -1,5 +1,5 @@
34.4 /*
34.5 - * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved.
34.6 + * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
34.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
34.8 *
34.9 * This code is free software; you can redistribute it and/or modify it
34.10 @@ -272,7 +272,9 @@
34.11 * one of the <code>KeyEvent</code> key codes. The value is
34.12 * commonly used to specify a mnemonic. For example:
34.13 * <code>myAction.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_A)</code>
34.14 - * sets the mnemonic of <code>myAction</code> to 'a'.
34.15 + * sets the mnemonic of <code>myAction</code> to 'a', while
34.16 + * <code>myAction.putValue(Action.MNEMONIC_KEY, KeyEvent.getExtendedKeyCodeForChar('\u0444'))</code>
34.17 + * sets the mnemonic of <code>myAction</code> to Cyrillic letter "Ef".
34.18 *
34.19 * @since 1.3
34.20 */
35.1 --- a/src/share/classes/javax/swing/JComponent.java Tue Apr 14 00:05:07 2009 -0700
35.2 +++ b/src/share/classes/javax/swing/JComponent.java Tue Apr 14 04:21:02 2009 -0700
35.3 @@ -1,5 +1,5 @@
35.4 /*
35.5 - * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved.
35.6 + * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
35.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
35.8 *
35.9 * This code is free software; you can redistribute it and/or modify it
35.10 @@ -2888,7 +2888,10 @@
35.11 return false;
35.12 }
35.13 // Get the KeyStroke
35.14 + // There may be two keystrokes associated with a low-level key event;
35.15 + // in this case a keystroke made of an extended key code has a priority.
35.16 KeyStroke ks;
35.17 + KeyStroke ksE = null;
35.18
35.19 if (e.getID() == KeyEvent.KEY_TYPED) {
35.20 ks = KeyStroke.getKeyStroke(e.getKeyChar());
35.21 @@ -2896,9 +2899,18 @@
35.22 else {
35.23 ks = KeyStroke.getKeyStroke(e.getKeyCode(),e.getModifiers(),
35.24 (pressed ? false:true));
35.25 + if (e.getKeyCode() != e.getExtendedKeyCode()) {
35.26 + ksE = KeyStroke.getKeyStroke(e.getExtendedKeyCode(),e.getModifiers(),
35.27 + (pressed ? false:true));
35.28 + }
35.29 }
35.30
35.31 - /* Do we have a key binding for e? */
35.32 + // Do we have a key binding for e?
35.33 + // If we have a binding by an extended code, use it.
35.34 + // If not, check for regular code binding.
35.35 + if(ksE != null && processKeyBinding(ksE, e, WHEN_FOCUSED, pressed)) {
35.36 + return true;
35.37 + }
35.38 if(processKeyBinding(ks, e, WHEN_FOCUSED, pressed))
35.39 return true;
35.40
35.41 @@ -2910,6 +2922,9 @@
35.42 while (parent != null && !(parent instanceof Window) &&
35.43 !(parent instanceof Applet)) {
35.44 if(parent instanceof JComponent) {
35.45 + if(ksE != null && ((JComponent)parent).processKeyBinding(ksE, e,
35.46 + WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, pressed))
35.47 + return true;
35.48 if(((JComponent)parent).processKeyBinding(ks, e,
35.49 WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, pressed))
35.50 return true;
36.1 --- a/src/share/classes/javax/swing/JLabel.java Tue Apr 14 00:05:07 2009 -0700
36.2 +++ b/src/share/classes/javax/swing/JLabel.java Tue Apr 14 04:21:02 2009 -0700
36.3 @@ -1,5 +1,5 @@
36.4 /*
36.5 - * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved.
36.6 + * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
36.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
36.8 *
36.9 * This code is free software; you can redistribute it and/or modify it
36.10 @@ -503,10 +503,10 @@
36.11 * @see #setDisplayedMnemonic(int)
36.12 */
36.13 public void setDisplayedMnemonic(char aChar) {
36.14 - int vk = (int) aChar;
36.15 - if(vk >= 'a' && vk <='z')
36.16 - vk -= ('a' - 'A');
36.17 - setDisplayedMnemonic(vk);
36.18 + int vk = java.awt.event.KeyEvent.getExtendedKeyCodeForChar(aChar);
36.19 + if (vk != java.awt.event.KeyEvent.VK_UNDEFINED) {
36.20 + setDisplayedMnemonic(vk);
36.21 + }
36.22 }
36.23
36.24
37.1 --- a/src/share/classes/javax/swing/JTabbedPane.java Tue Apr 14 00:05:07 2009 -0700
37.2 +++ b/src/share/classes/javax/swing/JTabbedPane.java Tue Apr 14 04:21:02 2009 -0700
37.3 @@ -1,5 +1,5 @@
37.4 /*
37.5 - * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved.
37.6 + * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
37.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
37.8 *
37.9 * This code is free software; you can redistribute it and/or modify it
37.10 @@ -1628,7 +1628,9 @@
37.11 * <p>
37.12 * A mnemonic must correspond to a single key on the keyboard
37.13 * and should be specified using one of the <code>VK_XXX</code>
37.14 - * keycodes defined in <code>java.awt.event.KeyEvent</code>.
37.15 + * keycodes defined in <code>java.awt.event.KeyEvent</code>
37.16 + * or one of the extended keycodes obtained through
37.17 + * <code>java.awt.event.KeyEvent.getExtendedKeyCodeForChar</code>.
37.18 * Mnemonics are case-insensitive, therefore a key event
37.19 * with the corresponding keycode would cause the button to be
37.20 * activated whether or not the Shift modifier was pressed.
38.1 --- a/src/share/classes/javax/swing/KeyStroke.java Tue Apr 14 00:05:07 2009 -0700
38.2 +++ b/src/share/classes/javax/swing/KeyStroke.java Tue Apr 14 04:21:02 2009 -0700
38.3 @@ -1,5 +1,5 @@
38.4 /*
38.5 - * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved.
38.6 + * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
38.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
38.8 *
38.9 * This code is free software; you can redistribute it and/or modify it
38.10 @@ -162,6 +162,9 @@
38.11 * <li>java.awt.event.KeyEvent.VK_TAB
38.12 * <li>java.awt.event.KeyEvent.VK_SPACE
38.13 * </ul>
38.14 + * Alternatively, the key code may be obtained by calling
38.15 + * <code>java.awt.event.KeyEvent.getExtendedKeyCodeForChar</code>.
38.16 + *
38.17 * The modifiers consist of any combination of:<ul>
38.18 * <li>java.awt.event.InputEvent.SHIFT_DOWN_MASK
38.19 * <li>java.awt.event.InputEvent.CTRL_DOWN_MASK
38.20 @@ -210,6 +213,9 @@
38.21 * <li>java.awt.event.KeyEvent.VK_TAB
38.22 * <li>java.awt.event.KeyEvent.VK_SPACE
38.23 * </ul>
38.24 + * Alternatively, the key code may be obtained by calling
38.25 + * <code>java.awt.event.KeyEvent.getExtendedKeyCodeForChar</code>.
38.26 + *
38.27 * The modifiers consist of any combination of:<ul>
38.28 * <li>java.awt.event.InputEvent.SHIFT_DOWN_MASK
38.29 * <li>java.awt.event.InputEvent.CTRL_DOWN_MASK
39.1 --- a/src/share/classes/javax/swing/KeyboardManager.java Tue Apr 14 00:05:07 2009 -0700
39.2 +++ b/src/share/classes/javax/swing/KeyboardManager.java Tue Apr 14 04:21:02 2009 -0700
39.3 @@ -1,5 +1,5 @@
39.4 /*
39.5 - * Copyright 1998-2008 Sun Microsystems, Inc. All Rights Reserved.
39.6 + * Copyright 1998-2009 Sun Microsystems, Inc. All Rights Reserved.
39.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
39.8 *
39.9 * This code is free software; you can redistribute it and/or modify it
39.10 @@ -212,19 +212,35 @@
39.11 Thread.dumpStack();
39.12 }
39.13
39.14 + // There may be two keystrokes associated with a low-level key event;
39.15 + // in this case a keystroke made of an extended key code has a priority.
39.16 KeyStroke ks;
39.17 + KeyStroke ksE = null;
39.18
39.19
39.20 if(e.getID() == KeyEvent.KEY_TYPED) {
39.21 ks=KeyStroke.getKeyStroke(e.getKeyChar());
39.22 } else {
39.23 + if(e.getKeyCode() != e.getExtendedKeyCode()) {
39.24 + ksE=KeyStroke.getKeyStroke(e.getExtendedKeyCode(), e.getModifiers(), !pressed);
39.25 + }
39.26 ks=KeyStroke.getKeyStroke(e.getKeyCode(), e.getModifiers(), !pressed);
39.27 }
39.28
39.29 Hashtable keyMap = containerMap.get(topAncestor);
39.30 if (keyMap != null) { // this container isn't registered, so bail
39.31
39.32 - Object tmp = keyMap.get(ks);
39.33 + Object tmp = null;
39.34 + // extended code has priority
39.35 + if( ksE != null ) {
39.36 + tmp = keyMap.get(ksE);
39.37 + if( tmp != null ) {
39.38 + ks = ksE;
39.39 + }
39.40 + }
39.41 + if( tmp == null ) {
39.42 + tmp = keyMap.get(ks);
39.43 + }
39.44
39.45 if (tmp == null) {
39.46 // don't do anything
39.47 @@ -269,7 +285,12 @@
39.48 while (iter.hasMoreElements()) {
39.49 JMenuBar mb = (JMenuBar)iter.nextElement();
39.50 if ( mb.isShowing() && mb.isEnabled() ) { // don't want to give these out
39.51 - fireBinding(mb, ks, e, pressed);
39.52 + if( !(ks.equals(ksE)) ) {
39.53 + fireBinding(mb, ksE, e, pressed);
39.54 + }
39.55 + if(ks.equals(ksE) || !e.isConsumed()) {
39.56 + fireBinding(mb, ks, e, pressed);
39.57 + }
39.58 if (e.isConsumed()) {
39.59 return true;
39.60 }
40.1 --- a/src/share/classes/javax/swing/RepaintManager.java Tue Apr 14 00:05:07 2009 -0700
40.2 +++ b/src/share/classes/javax/swing/RepaintManager.java Tue Apr 14 04:21:02 2009 -0700
40.3 @@ -1,5 +1,5 @@
40.4 /*
40.5 - * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved.
40.6 + * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
40.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
40.8 *
40.9 * This code is free software; you can redistribute it and/or modify it
40.10 @@ -34,6 +34,7 @@
40.11 import java.util.*;
40.12 import java.applet.*;
40.13
40.14 +import sun.awt.AWTAccessor;
40.15 import sun.awt.AppContext;
40.16 import sun.awt.DisplayChangedListener;
40.17 import sun.awt.SunToolkit;
40.18 @@ -716,6 +717,44 @@
40.19 }
40.20 }
40.21
40.22 + private Map<Component,Rectangle>
40.23 + updateWindows(Map<Component,Rectangle> dirtyComponents)
40.24 + {
40.25 + Toolkit toolkit = Toolkit.getDefaultToolkit();
40.26 + if (!(toolkit instanceof SunToolkit &&
40.27 + ((SunToolkit)toolkit).needUpdateWindow()))
40.28 + {
40.29 + return dirtyComponents;
40.30 + }
40.31 +
40.32 + Set<Window> windows = new HashSet<Window>();
40.33 + Set<Component> dirtyComps = dirtyComponents.keySet();
40.34 + for (Iterator<Component> it = dirtyComps.iterator(); it.hasNext();) {
40.35 + Component dirty = it.next();
40.36 + Window window = dirty instanceof Window ?
40.37 + (Window)dirty :
40.38 + SwingUtilities.getWindowAncestor(dirty);
40.39 +
40.40 + if (window != null &&
40.41 + !AWTAccessor.getWindowAccessor().isOpaque(window))
40.42 + {
40.43 + // if this component's toplevel is perpixel translucent, it will
40.44 + // be repainted below
40.45 + it.remove();
40.46 + // add to the set of windows to update (so that we don't update
40.47 + // the window many times for each component to be repainted that
40.48 + // belongs to this window)
40.49 + windows.add(window);
40.50 + }
40.51 + }
40.52 +
40.53 + for (Window window : windows) {
40.54 + AWTAccessor.getWindowAccessor().updateWindow(window, null);
40.55 + }
40.56 +
40.57 + return dirtyComponents;
40.58 + }
40.59 +
40.60 /**
40.61 * Paint all of the components that have been marked dirty.
40.62 *
40.63 @@ -749,6 +788,10 @@
40.64 int localBoundsW;
40.65 Enumeration keys;
40.66
40.67 + // the components belonging to perpixel-translucent windows will be
40.68 + // removed from the list
40.69 + tmpDirtyComponents = updateWindows(tmpDirtyComponents);
40.70 +
40.71 roots = new ArrayList<Component>(count);
40.72
40.73 for (Component dirty : tmpDirtyComponents.keySet()) {
41.1 --- a/src/share/classes/javax/swing/SwingUtilities.java Tue Apr 14 00:05:07 2009 -0700
41.2 +++ b/src/share/classes/javax/swing/SwingUtilities.java Tue Apr 14 04:21:02 2009 -0700
41.3 @@ -1,5 +1,5 @@
41.4 /*
41.5 - * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved.
41.6 + * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
41.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
41.8 *
41.9 * This code is free software; you can redistribute it and/or modify it
41.10 @@ -1589,15 +1589,6 @@
41.11 * processing the key bindings associated with JComponents.
41.12 */
41.13 static boolean isValidKeyEventForKeyBindings(KeyEvent e) {
41.14 - if (e.getID() == KeyEvent.KEY_TYPED) {
41.15 - int mod = e.getModifiers();
41.16 - if (((mod & ActionEvent.ALT_MASK) != 0) &&
41.17 - ((mod & ActionEvent.CTRL_MASK) == 0)) {
41.18 - // filter out typed "alt-?" keys, but not those created
41.19 - // with AltGr, and not control characters
41.20 - return false;
41.21 - }
41.22 - }
41.23 return true;
41.24 }
41.25
42.1 --- a/src/share/classes/sun/awt/AWTAccessor.java Tue Apr 14 00:05:07 2009 -0700
42.2 +++ b/src/share/classes/sun/awt/AWTAccessor.java Tue Apr 14 04:21:02 2009 -0700
42.3 @@ -1,5 +1,5 @@
42.4 /*
42.5 - * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
42.6 + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved.
42.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
42.8 *
42.9 * This code is free software; you can redistribute it and/or modify it
42.10 @@ -26,46 +26,229 @@
42.11 package sun.awt;
42.12
42.13 import java.awt.*;
42.14 +import java.awt.geom.Point2D;
42.15 +import java.awt.image.BufferedImage;
42.16 +
42.17 import sun.misc.Unsafe;
42.18
42.19 -/** The AWTAccessor utility class.
42.20 +/**
42.21 + * The AWTAccessor utility class.
42.22 * The main purpose of this class is to enable accessing
42.23 * private and package-private fields of classes from
42.24 * different classes/packages. See sun.misc.SharedSecretes
42.25 * for another example.
42.26 */
42.27 public final class AWTAccessor {
42.28 +
42.29 private static final Unsafe unsafe = Unsafe.getUnsafe();
42.30
42.31 - /** We don't need any objects of this class.
42.32 + /*
42.33 + * We don't need any objects of this class.
42.34 * It's rather a collection of static methods
42.35 * and interfaces.
42.36 */
42.37 private AWTAccessor() {
42.38 }
42.39
42.40 - /** An accessor for the java.awt.Component class.
42.41 + /*
42.42 + * An interface of accessor for the java.awt.Component class.
42.43 */
42.44 public interface ComponentAccessor {
42.45 - // See 6797587
42.46 - // Also see: 6776743, 6768307, and 6768332.
42.47 - /**
42.48 + /*
42.49 + * Sets whether the native background erase for a component
42.50 + * has been disabled via SunToolkit.disableBackgroundErase().
42.51 + */
42.52 + void setBackgroundEraseDisabled(Component comp, boolean disabled);
42.53 + /*
42.54 + * Indicates whether the native background erase for a
42.55 + * component has been disabled via
42.56 + * SunToolkit.disableBackgroundErase().
42.57 + */
42.58 + boolean getBackgroundEraseDisabled(Component comp);
42.59 + /*
42.60 + *
42.61 + * Gets the bounds of this component in the form of a
42.62 + * <code>Rectangle</code> object. The bounds specify this
42.63 + * component's width, height, and location relative to
42.64 + * its parent.
42.65 + */
42.66 + Rectangle getBounds(Component comp);
42.67 + /*
42.68 * Sets the shape of a lw component to cut out from hw components.
42.69 + *
42.70 + * See 6797587, 6776743, 6768307, and 6768332 for details
42.71 */
42.72 void setMixingCutoutShape(Component comp, Shape shape);
42.73 +
42.74 + /**
42.75 + * Sets GraphicsConfiguration value for the component.
42.76 + */
42.77 + void setGraphicsConfiguration(Component comp, GraphicsConfiguration gc);
42.78 + /*
42.79 + * Requests focus to the component.
42.80 + */
42.81 + boolean requestFocus(Component comp, CausedFocusEvent.Cause cause);
42.82 + /*
42.83 + * Determines if the component can gain focus.
42.84 + */
42.85 + boolean canBeFocusOwner(Component comp);
42.86 +
42.87 + /**
42.88 + * Returns whether the component is visible without invoking
42.89 + * any client code.
42.90 + */
42.91 + boolean isVisible_NoClientCode(Component comp);
42.92 }
42.93
42.94 - /* The java.awt.Component class accessor object.
42.95 + /*
42.96 + * An interface of accessor for java.awt.Window class.
42.97 + */
42.98 + public interface WindowAccessor {
42.99 + /*
42.100 + * Get opacity level of the given window.
42.101 + */
42.102 + float getOpacity(Window window);
42.103 + /*
42.104 + * Set opacity level to the given window.
42.105 + */
42.106 + void setOpacity(Window window, float opacity);
42.107 + /*
42.108 + * Get a shape assigned to the given window.
42.109 + */
42.110 + Shape getShape(Window window);
42.111 + /*
42.112 + * Set a shape to the given window.
42.113 + */
42.114 + void setShape(Window window, Shape shape);
42.115 + /*
42.116 + * Identify whether the given window is opaque (true)
42.117 + * or translucent (false).
42.118 + */
42.119 + boolean isOpaque(Window window);
42.120 + /*
42.121 + * Set the opaque preoperty to the given window.
42.122 + */
42.123 + void setOpaque(Window window, boolean isOpaque);
42.124 + /*
42.125 + * Update the image of a non-opaque (translucent) window.
42.126 + */
42.127 + void updateWindow(Window window, BufferedImage backBuffer);
42.128 +
42.129 + /** Get the size of the security warning.
42.130 + */
42.131 + Dimension getSecurityWarningSize(Window w);
42.132 +
42.133 + /**
42.134 + * Set the size of the security warning.
42.135 + */
42.136 + void setSecurityWarningSize(Window w, int width, int height);
42.137 +
42.138 + /** Set the position of the security warning.
42.139 + */
42.140 + void setSecurityWarningPosition(Window w, Point2D point,
42.141 + float alignmentX, float alignmentY);
42.142 +
42.143 + /** Request to recalculate the new position of the security warning for
42.144 + * the given window size/location as reported by the native system.
42.145 + */
42.146 + Point2D calculateSecurityWarningPosition(Window window,
42.147 + double x, double y, double w, double h);
42.148 + }
42.149 +
42.150 + /*
42.151 + * An accessor for the AWTEvent class.
42.152 + */
42.153 + public interface AWTEventAccessor {
42.154 + /*
42.155 + *
42.156 + * Sets the flag on this AWTEvent indicating that it was
42.157 + * generated by the system.
42.158 + */
42.159 + void setSystemGenerated(AWTEvent ev);
42.160 + /*
42.161 + *
42.162 + * Indicates whether this AWTEvent was generated by the system.
42.163 + */
42.164 + boolean isSystemGenerated(AWTEvent ev);
42.165 + }
42.166 +
42.167 + /*
42.168 + * An accessor for the java.awt.Frame class.
42.169 + */
42.170 + public interface FrameAccessor {
42.171 + /*
42.172 + * Sets the state of this frame.
42.173 + */
42.174 + void setExtendedState(Frame frame, int state);
42.175 + /*
42.176 + * Gets the state of this frame.
42.177 + */
42.178 + int getExtendedState(Frame frame);
42.179 + }
42.180 +
42.181 + /*
42.182 + * An interface of accessor for the java.awt.KeyboardFocusManager class.
42.183 + */
42.184 + public interface KeyboardFocusManagerAccessor {
42.185 + /*
42.186 + * Indicates whether the native implementation should
42.187 + * proceed with a pending focus request for the heavyweight.
42.188 + */
42.189 + int shouldNativelyFocusHeavyweight(Component heavyweight,
42.190 + Component descendant,
42.191 + boolean temporary,
42.192 + boolean focusedWindowChangeAllowed,
42.193 + long time,
42.194 + CausedFocusEvent.Cause cause);
42.195 + /*
42.196 + * Delivers focus for the lightweight descendant of the heavyweight
42.197 + * synchronously.
42.198 + */
42.199 + boolean processSynchronousLightweightTransfer(Component heavyweight,
42.200 + Component descendant,
42.201 + boolean temporary,
42.202 + boolean focusedWindowChangeAllowed,
42.203 + long time);
42.204 + /*
42.205 + * Removes the last focus request for the heavyweight from the queue.
42.206 + */
42.207 + void removeLastFocusRequest(Component heavyweight);
42.208 + }
42.209 +
42.210 + /*
42.211 + * The java.awt.Component class accessor object.
42.212 */
42.213 private static ComponentAccessor componentAccessor;
42.214
42.215 - /** Set an accessor object for the java.awt.Component class.
42.216 + /*
42.217 + * The java.awt.Window class accessor object.
42.218 + */
42.219 + private static WindowAccessor windowAccessor;
42.220 +
42.221 + /*
42.222 + * The java.awt.AWTEvent class accessor object.
42.223 + */
42.224 + private static AWTEventAccessor awtEventAccessor;
42.225 +
42.226 + /*
42.227 + * The java.awt.Frame class accessor object.
42.228 + */
42.229 + private static FrameAccessor frameAccessor;
42.230 +
42.231 + /*
42.232 + * The java.awt.KeyboardFocusManager class accessor object.
42.233 + */
42.234 + private static KeyboardFocusManagerAccessor kfmAccessor;
42.235 +
42.236 + /*
42.237 + * Set an accessor object for the java.awt.Component class.
42.238 */
42.239 public static void setComponentAccessor(ComponentAccessor ca) {
42.240 componentAccessor = ca;
42.241 }
42.242
42.243 - /** Retrieve the accessor object for the java.awt.Window class.
42.244 + /*
42.245 + * Retrieve the accessor object for the java.awt.Window class.
42.246 */
42.247 public static ComponentAccessor getComponentAccessor() {
42.248 if (componentAccessor == null) {
42.249 @@ -74,4 +257,69 @@
42.250
42.251 return componentAccessor;
42.252 }
42.253 +
42.254 + /*
42.255 + * Set an accessor object for the java.awt.Window class.
42.256 + */
42.257 + public static void setWindowAccessor(WindowAccessor wa) {
42.258 + windowAccessor = wa;
42.259 + }
42.260 +
42.261 + /*
42.262 + * Retrieve the accessor object for the java.awt.Window class.
42.263 + */
42.264 + public static WindowAccessor getWindowAccessor() {
42.265 + if (windowAccessor == null) {
42.266 + unsafe.ensureClassInitialized(Window.class);
42.267 + }
42.268 + return windowAccessor;
42.269 + }
42.270 +
42.271 + /*
42.272 + * Set an accessor object for the java.awt.AWTEvent class.
42.273 + */
42.274 + public static void setAWTEventAccessor(AWTEventAccessor aea) {
42.275 + awtEventAccessor = aea;
42.276 + }
42.277 +
42.278 + /*
42.279 + * Retrieve the accessor object for the java.awt.AWTEvent class.
42.280 + */
42.281 + public static AWTEventAccessor getAWTEventAccessor() {
42.282 + return awtEventAccessor;
42.283 + }
42.284 +
42.285 + /*
42.286 + * Set an accessor object for the java.awt.Frame class.
42.287 + */
42.288 + public static void setFrameAccessor(FrameAccessor fa) {
42.289 + frameAccessor = fa;
42.290 + }
42.291 +
42.292 + /*
42.293 + * Retrieve the accessor object for the java.awt.Frame class.
42.294 + */
42.295 + public static FrameAccessor getFrameAccessor() {
42.296 + if (frameAccessor == null) {
42.297 + unsafe.ensureClassInitialized(Frame.class);
42.298 + }
42.299 + return frameAccessor;
42.300 + }
42.301 +
42.302 + /*
42.303 + * Set an accessor object for the java.awt.KeyboardFocusManager class.
42.304 + */
42.305 + public static void setKeyboardFocusManagerAccessor(KeyboardFocusManagerAccessor kfma) {
42.306 + kfmAccessor = kfma;
42.307 + }
42.308 +
42.309 + /*
42.310 + * Retrieve the accessor object for the java.awt.KeyboardFocusManager class.
42.311 + */
42.312 + public static KeyboardFocusManagerAccessor getKeyboardFocusManagerAccessor() {
42.313 + if (kfmAccessor == null) {
42.314 + unsafe.ensureClassInitialized(KeyboardFocusManager.class);
42.315 + }
42.316 + return kfmAccessor;
42.317 + }
42.318 }
43.1 --- a/src/share/classes/sun/awt/ComponentAccessor.java Tue Apr 14 00:05:07 2009 -0700
43.2 +++ b/src/share/classes/sun/awt/ComponentAccessor.java Tue Apr 14 04:21:02 2009 -0700
43.3 @@ -73,7 +73,6 @@
43.4 private static Field fieldPacked;
43.5 private static Field fieldIgnoreRepaint;
43.6 private static Field fieldPeer;
43.7 - private static Method methodResetGC;
43.8 private static Field fieldVisible;
43.9 private static Method methodIsEnabledImpl;
43.10 private static Method methodGetCursorNoClientCode;
43.11 @@ -124,9 +123,6 @@
43.12 fieldPeer = componentClass.getDeclaredField("peer");
43.13 fieldPeer.setAccessible(true);
43.14
43.15 - methodResetGC = componentClass.getDeclaredMethod("resetGC", (Class[]) null);
43.16 - methodResetGC.setAccessible(true);
43.17 -
43.18 fieldVisible = componentClass.getDeclaredField("visible");
43.19 fieldVisible.setAccessible(true);
43.20
43.21 @@ -425,18 +421,6 @@
43.22 return false;
43.23 }
43.24
43.25 - public static void resetGC(Component c) {
43.26 - try {
43.27 - methodResetGC.invoke(c, (Object[]) null);
43.28 - }
43.29 - catch (IllegalAccessException e) {
43.30 - log.log(Level.FINE, "Unable to access the Component object", e);
43.31 - }
43.32 - catch (InvocationTargetException e) {
43.33 - log.log(Level.FINE, "Unable to invoke on the Component object", e);
43.34 - }
43.35 - }
43.36 -
43.37 public static boolean getVisible(Component c) {
43.38 try {
43.39 return fieldVisible.getBoolean(c);
44.1 --- a/src/share/classes/sun/awt/EmbeddedFrame.java Tue Apr 14 00:05:07 2009 -0700
44.2 +++ b/src/share/classes/sun/awt/EmbeddedFrame.java Tue Apr 14 04:21:02 2009 -0700
44.3 @@ -1,5 +1,5 @@
44.4 /*
44.5 - * Copyright 1996-2006 Sun Microsystems, Inc. All Rights Reserved.
44.6 + * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved.
44.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44.8 *
44.9 * This code is free software; you can redistribute it and/or modify it
44.10 @@ -585,5 +585,14 @@
44.11 }
44.12 public void updateMinimumSize() {
44.13 }
44.14 - }
44.15 +
44.16 + public void setOpacity(float opacity) {
44.17 + }
44.18 + public void setOpaque(boolean isOpaque) {
44.19 + }
44.20 + public void updateWindow(BufferedImage backBuffer) {
44.21 + }
44.22 + public void repositionSecurityWarning() {
44.23 + }
44.24 + }
44.25 } // class EmbeddedFrame
45.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
45.2 +++ b/src/share/classes/sun/awt/ExtendedKeyCodes.java Tue Apr 14 04:21:02 2009 -0700
45.3 @@ -0,0 +1,670 @@
45.4 +package sun.awt;
45.5 +
45.6 +import java.util.Collections;
45.7 +import java.util.HashMap;
45.8 +import java.util.HashSet;
45.9 +import java.awt.event.KeyEvent;
45.10 +
45.11 +public class ExtendedKeyCodes {
45.12 + /**
45.13 + * ATTN: These are the readonly hashes with load factor == 1;
45.14 + * adding a value, please set the inital capacity to exact number of items
45.15 + * or higher.
45.16 + */
45.17 + // Keycodes declared in KeyEvent.java with corresponding Unicode values.
45.18 + private final static HashMap<Integer, Integer> regularKeyCodesMap =
45.19 + new HashMap<Integer,Integer>(122, 1.0f);
45.20 +
45.21 + // Keycodes derived from Unicode values. Here should be collected codes
45.22 + // for characters appearing on the primary layer of at least one
45.23 + // known keyboard layout. For instance, sterling sign is on the primary layer
45.24 + // of the Mac Italian layout.
45.25 + private final static HashSet<Integer> extendedKeyCodesSet =
45.26 + new HashSet<Integer>(501, 1.0f);
45.27 + final public static int getExtendedKeyCodeForChar( int c ) {
45.28 + int rc = KeyEvent.VK_UNDEFINED;
45.29 + int uc = Character.toUpperCase( c );
45.30 + int lc = Character.toLowerCase( c );
45.31 + if (regularKeyCodesMap.containsKey( c )) {
45.32 + if(regularKeyCodesMap.containsKey(uc)) {
45.33 + return regularKeyCodesMap.get( uc );
45.34 + }
45.35 + return regularKeyCodesMap.get( c );
45.36 + }
45.37 + uc += 0x01000000;
45.38 + lc += 0x01000000;
45.39 + if (extendedKeyCodesSet.contains( uc )) {
45.40 + return uc;
45.41 + }else if (extendedKeyCodesSet.contains( lc )) {
45.42 + return lc;
45.43 + }
45.44 + return rc;
45.45 + }
45.46 + static {
45.47 + regularKeyCodesMap.put(0x0a, KeyEvent.VK_ENTER);
45.48 + regularKeyCodesMap.put(0x08, KeyEvent.VK_BACK_SPACE);
45.49 + regularKeyCodesMap.put(0x09, KeyEvent.VK_TAB);
45.50 + regularKeyCodesMap.put(0x1B, KeyEvent.VK_ESCAPE);
45.51 + regularKeyCodesMap.put(0x20, KeyEvent.VK_SPACE);
45.52 + regularKeyCodesMap.put(0x21, KeyEvent.VK_PAGE_UP);
45.53 + regularKeyCodesMap.put(0x22, KeyEvent.VK_PAGE_DOWN);
45.54 + regularKeyCodesMap.put(0x23, KeyEvent.VK_END);
45.55 + regularKeyCodesMap.put(0x24, KeyEvent.VK_HOME);
45.56 + regularKeyCodesMap.put(0x25, KeyEvent.VK_LEFT);
45.57 + regularKeyCodesMap.put(0x26, KeyEvent.VK_UP);
45.58 + regularKeyCodesMap.put(0x27, KeyEvent.VK_RIGHT);
45.59 + regularKeyCodesMap.put(0x28, KeyEvent.VK_DOWN);
45.60 + regularKeyCodesMap.put(0x2C, KeyEvent.VK_COMMA);
45.61 + regularKeyCodesMap.put(0x2D, KeyEvent.VK_MINUS);
45.62 + regularKeyCodesMap.put(0x2E, KeyEvent.VK_PERIOD);
45.63 + regularKeyCodesMap.put(0x2F, KeyEvent.VK_SLASH);
45.64 + regularKeyCodesMap.put(0x30, KeyEvent.VK_0);
45.65 + regularKeyCodesMap.put(0x31, KeyEvent.VK_1);
45.66 + regularKeyCodesMap.put(0x32, KeyEvent.VK_2);
45.67 + regularKeyCodesMap.put(0x33, KeyEvent.VK_3);
45.68 + regularKeyCodesMap.put(0x34, KeyEvent.VK_4);
45.69 + regularKeyCodesMap.put(0x35, KeyEvent.VK_5);
45.70 + regularKeyCodesMap.put(0x36, KeyEvent.VK_6);
45.71 + regularKeyCodesMap.put(0x37, KeyEvent.VK_7);
45.72 + regularKeyCodesMap.put(0x38, KeyEvent.VK_8);
45.73 + regularKeyCodesMap.put(0x39, KeyEvent.VK_9);
45.74 + regularKeyCodesMap.put(0x3B, KeyEvent.VK_SEMICOLON);
45.75 + regularKeyCodesMap.put(0x3D, KeyEvent.VK_EQUALS);
45.76 + regularKeyCodesMap.put(0x41, KeyEvent.VK_A);
45.77 + regularKeyCodesMap.put(0x61, KeyEvent.VK_A);
45.78 + regularKeyCodesMap.put(0x42, KeyEvent.VK_B);
45.79 + regularKeyCodesMap.put(0x62, KeyEvent.VK_B);
45.80 + regularKeyCodesMap.put(0x43, KeyEvent.VK_C);
45.81 + regularKeyCodesMap.put(0x63, KeyEvent.VK_C);
45.82 + regularKeyCodesMap.put(0x44, KeyEvent.VK_D);
45.83 + regularKeyCodesMap.put(0x64, KeyEvent.VK_D);
45.84 + regularKeyCodesMap.put(0x45, KeyEvent.VK_E);
45.85 + regularKeyCodesMap.put(0x65, KeyEvent.VK_E);
45.86 + regularKeyCodesMap.put(0x46, KeyEvent.VK_F);
45.87 + regularKeyCodesMap.put(0x66, KeyEvent.VK_F);
45.88 + regularKeyCodesMap.put(0x47, KeyEvent.VK_G);
45.89 + regularKeyCodesMap.put(0x67, KeyEvent.VK_G);
45.90 + regularKeyCodesMap.put(0x48, KeyEvent.VK_H);
45.91 + regularKeyCodesMap.put(0x68, KeyEvent.VK_H);
45.92 + regularKeyCodesMap.put(0x49, KeyEvent.VK_I);
45.93 + regularKeyCodesMap.put(0x69, KeyEvent.VK_I);
45.94 + regularKeyCodesMap.put(0x4A, KeyEvent.VK_J);
45.95 + regularKeyCodesMap.put(0x6A, KeyEvent.VK_J);
45.96 + regularKeyCodesMap.put(0x4B, KeyEvent.VK_K);
45.97 + regularKeyCodesMap.put(0x6B, KeyEvent.VK_K);
45.98 + regularKeyCodesMap.put(0x4C, KeyEvent.VK_L);
45.99 + regularKeyCodesMap.put(0x6C, KeyEvent.VK_L);
45.100 + regularKeyCodesMap.put(0x4D, KeyEvent.VK_M);
45.101 + regularKeyCodesMap.put(0x6D, KeyEvent.VK_M);
45.102 + regularKeyCodesMap.put(0x4E, KeyEvent.VK_N);
45.103 + regularKeyCodesMap.put(0x6E, KeyEvent.VK_N);
45.104 + regularKeyCodesMap.put(0x4F, KeyEvent.VK_O);
45.105 + regularKeyCodesMap.put(0x6F, KeyEvent.VK_O);
45.106 + regularKeyCodesMap.put(0x50, KeyEvent.VK_P);
45.107 + regularKeyCodesMap.put(0x70, KeyEvent.VK_P);
45.108 + regularKeyCodesMap.put(0x51, KeyEvent.VK_Q);
45.109 + regularKeyCodesMap.put(0x71, KeyEvent.VK_Q);
45.110 + regularKeyCodesMap.put(0x52, KeyEvent.VK_R);
45.111 + regularKeyCodesMap.put(0x72, KeyEvent.VK_R);
45.112 + regularKeyCodesMap.put(0x53, KeyEvent.VK_S);
45.113 + regularKeyCodesMap.put(0x73, KeyEvent.VK_S);
45.114 + regularKeyCodesMap.put(0x54, KeyEvent.VK_T);
45.115 + regularKeyCodesMap.put(0x74, KeyEvent.VK_T);
45.116 + regularKeyCodesMap.put(0x55, KeyEvent.VK_U);
45.117 + regularKeyCodesMap.put(0x75, KeyEvent.VK_U);
45.118 + regularKeyCodesMap.put(0x56, KeyEvent.VK_V);
45.119 + regularKeyCodesMap.put(0x76, KeyEvent.VK_V);
45.120 + regularKeyCodesMap.put(0x57, KeyEvent.VK_W);
45.121 + regularKeyCodesMap.put(0x77, KeyEvent.VK_W);
45.122 + regularKeyCodesMap.put(0x58, KeyEvent.VK_X);
45.123 + regularKeyCodesMap.put(0x78, KeyEvent.VK_X);
45.124 + regularKeyCodesMap.put(0x59, KeyEvent.VK_Y);
45.125 + regularKeyCodesMap.put(0x79, KeyEvent.VK_Y);
45.126 + regularKeyCodesMap.put(0x5A, KeyEvent.VK_Z);
45.127 + regularKeyCodesMap.put(0x7A, KeyEvent.VK_Z);
45.128 + regularKeyCodesMap.put(0x5B, KeyEvent.VK_OPEN_BRACKET);
45.129 + regularKeyCodesMap.put(0x5C, KeyEvent.VK_BACK_SLASH);
45.130 + regularKeyCodesMap.put(0x5D, KeyEvent.VK_CLOSE_BRACKET);
45.131 +// regularKeyCodesMap.put(0x60, KeyEvent.VK_NUMPAD0);
45.132 +// regularKeyCodesMap.put(0x61, KeyEvent.VK_NUMPAD1);
45.133 +// regularKeyCodesMap.put(0x62, KeyEvent.VK_NUMPAD2);
45.134 +// regularKeyCodesMap.put(0x63, KeyEvent.VK_NUMPAD3);
45.135 +// regularKeyCodesMap.put(0x64, KeyEvent.VK_NUMPAD4);
45.136 +// regularKeyCodesMap.put(0x65, KeyEvent.VK_NUMPAD5);
45.137 +// regularKeyCodesMap.put(0x66, KeyEvent.VK_NUMPAD6);
45.138 +// regularKeyCodesMap.put(0x67, KeyEvent.VK_NUMPAD7);
45.139 +// regularKeyCodesMap.put(0x68, KeyEvent.VK_NUMPAD8);
45.140 +// regularKeyCodesMap.put(0x69, KeyEvent.VK_NUMPAD9);
45.141 + regularKeyCodesMap.put(0x6A, KeyEvent.VK_MULTIPLY);
45.142 + regularKeyCodesMap.put(0x6B, KeyEvent.VK_ADD);
45.143 + regularKeyCodesMap.put(0x6C, KeyEvent.VK_SEPARATER);
45.144 + regularKeyCodesMap.put(0x6D, KeyEvent.VK_SUBTRACT);
45.145 + regularKeyCodesMap.put(0x6E, KeyEvent.VK_DECIMAL);
45.146 + regularKeyCodesMap.put(0x6F, KeyEvent.VK_DIVIDE);
45.147 + regularKeyCodesMap.put(0x7F, KeyEvent.VK_DELETE);
45.148 + regularKeyCodesMap.put(0xC0, KeyEvent.VK_BACK_QUOTE);
45.149 + regularKeyCodesMap.put(0xDE, KeyEvent.VK_QUOTE);
45.150 + regularKeyCodesMap.put(0x26, KeyEvent.VK_AMPERSAND);
45.151 + regularKeyCodesMap.put(0x2A, KeyEvent.VK_ASTERISK);
45.152 + regularKeyCodesMap.put(0x22, KeyEvent.VK_QUOTEDBL);
45.153 + regularKeyCodesMap.put(0x3C, KeyEvent.VK_LESS);
45.154 + regularKeyCodesMap.put(0x3E, KeyEvent.VK_GREATER);
45.155 + regularKeyCodesMap.put(0x7B, KeyEvent.VK_BRACELEFT);
45.156 + regularKeyCodesMap.put(0x7D, KeyEvent.VK_BRACERIGHT);
45.157 + regularKeyCodesMap.put(0x40, KeyEvent.VK_AT);
45.158 + regularKeyCodesMap.put(0x3A, KeyEvent.VK_COLON);
45.159 + regularKeyCodesMap.put(0x5E, KeyEvent.VK_CIRCUMFLEX);
45.160 + regularKeyCodesMap.put(0x24, KeyEvent.VK_DOLLAR);
45.161 + regularKeyCodesMap.put(0x20AC, KeyEvent.VK_EURO_SIGN);
45.162 + regularKeyCodesMap.put(0x21, KeyEvent.VK_EXCLAMATION_MARK);
45.163 + regularKeyCodesMap.put(0xA1, KeyEvent.VK_INVERTED_EXCLAMATION_MARK);
45.164 + regularKeyCodesMap.put(0x28, KeyEvent.VK_LEFT_PARENTHESIS);
45.165 + regularKeyCodesMap.put(0x23, KeyEvent.VK_NUMBER_SIGN);
45.166 + regularKeyCodesMap.put(0x2B, KeyEvent.VK_PLUS);
45.167 + regularKeyCodesMap.put(0x29, KeyEvent.VK_RIGHT_PARENTHESIS);
45.168 + regularKeyCodesMap.put(0x5F, KeyEvent.VK_UNDERSCORE);
45.169 +
45.170 +
45.171 + extendedKeyCodesSet.add(0x01000000+0x0060);
45.172 + extendedKeyCodesSet.add(0x01000000+0x007C);
45.173 + extendedKeyCodesSet.add(0x01000000+0x007E);
45.174 + extendedKeyCodesSet.add(0x01000000+0x00A2);
45.175 + extendedKeyCodesSet.add(0x01000000+0x00A3);
45.176 + extendedKeyCodesSet.add(0x01000000+0x00A5);
45.177 + extendedKeyCodesSet.add(0x01000000+0x00A7);
45.178 + extendedKeyCodesSet.add(0x01000000+0x00A8);
45.179 + extendedKeyCodesSet.add(0x01000000+0x00AB);
45.180 + extendedKeyCodesSet.add(0x01000000+0x00B0);
45.181 + extendedKeyCodesSet.add(0x01000000+0x00B1);
45.182 + extendedKeyCodesSet.add(0x01000000+0x00B2);
45.183 + extendedKeyCodesSet.add(0x01000000+0x00B3);
45.184 + extendedKeyCodesSet.add(0x01000000+0x00B4);
45.185 + extendedKeyCodesSet.add(0x01000000+0x00B5);
45.186 + extendedKeyCodesSet.add(0x01000000+0x00B6);
45.187 + extendedKeyCodesSet.add(0x01000000+0x00B7);
45.188 + extendedKeyCodesSet.add(0x01000000+0x00B9);
45.189 + extendedKeyCodesSet.add(0x01000000+0x00BA);
45.190 + extendedKeyCodesSet.add(0x01000000+0x00BB);
45.191 + extendedKeyCodesSet.add(0x01000000+0x00BC);
45.192 + extendedKeyCodesSet.add(0x01000000+0x00BD);
45.193 + extendedKeyCodesSet.add(0x01000000+0x00BE);
45.194 + extendedKeyCodesSet.add(0x01000000+0x00BF);
45.195 + extendedKeyCodesSet.add(0x01000000+0x00C4);
45.196 + extendedKeyCodesSet.add(0x01000000+0x00C5);
45.197 + extendedKeyCodesSet.add(0x01000000+0x00C6);
45.198 + extendedKeyCodesSet.add(0x01000000+0x00C7);
45.199 + extendedKeyCodesSet.add(0x01000000+0x00D1);
45.200 + extendedKeyCodesSet.add(0x01000000+0x00D6);
45.201 + extendedKeyCodesSet.add(0x01000000+0x00D7);
45.202 + extendedKeyCodesSet.add(0x01000000+0x00D8);
45.203 + extendedKeyCodesSet.add(0x01000000+0x00DF);
45.204 + extendedKeyCodesSet.add(0x01000000+0x00E0);
45.205 + extendedKeyCodesSet.add(0x01000000+0x00E1);
45.206 + extendedKeyCodesSet.add(0x01000000+0x00E2);
45.207 + extendedKeyCodesSet.add(0x01000000+0x00E4);
45.208 + extendedKeyCodesSet.add(0x01000000+0x00E5);
45.209 + extendedKeyCodesSet.add(0x01000000+0x00E6);
45.210 + extendedKeyCodesSet.add(0x01000000+0x00E7);
45.211 + extendedKeyCodesSet.add(0x01000000+0x00E8);
45.212 + extendedKeyCodesSet.add(0x01000000+0x00E9);
45.213 + extendedKeyCodesSet.add(0x01000000+0x00EA);
45.214 + extendedKeyCodesSet.add(0x01000000+0x00EB);
45.215 + extendedKeyCodesSet.add(0x01000000+0x00EC);
45.216 + extendedKeyCodesSet.add(0x01000000+0x00ED);
45.217 + extendedKeyCodesSet.add(0x01000000+0x00EE);
45.218 + extendedKeyCodesSet.add(0x01000000+0x00F0);
45.219 + extendedKeyCodesSet.add(0x01000000+0x00F1);
45.220 + extendedKeyCodesSet.add(0x01000000+0x00F2);
45.221 + extendedKeyCodesSet.add(0x01000000+0x00F3);
45.222 + extendedKeyCodesSet.add(0x01000000+0x00F4);
45.223 + extendedKeyCodesSet.add(0x01000000+0x00F5);
45.224 + extendedKeyCodesSet.add(0x01000000+0x00F6);
45.225 + extendedKeyCodesSet.add(0x01000000+0x00F7);
45.226 + extendedKeyCodesSet.add(0x01000000+0x00F8);
45.227 + extendedKeyCodesSet.add(0x01000000+0x00F9);
45.228 + extendedKeyCodesSet.add(0x01000000+0x00FA);
45.229 + extendedKeyCodesSet.add(0x01000000+0x00FB);
45.230 + extendedKeyCodesSet.add(0x01000000+0x00FC);
45.231 + extendedKeyCodesSet.add(0x01000000+0x00FD);
45.232 + extendedKeyCodesSet.add(0x01000000+0x00FE);
45.233 + extendedKeyCodesSet.add(0x01000000+0x0105);
45.234 + extendedKeyCodesSet.add(0x01000000+0x02DB);
45.235 + extendedKeyCodesSet.add(0x01000000+0x0142);
45.236 + extendedKeyCodesSet.add(0x01000000+0x013E);
45.237 + extendedKeyCodesSet.add(0x01000000+0x015B);
45.238 + extendedKeyCodesSet.add(0x01000000+0x0161);
45.239 + extendedKeyCodesSet.add(0x01000000+0x015F);
45.240 + extendedKeyCodesSet.add(0x01000000+0x0165);
45.241 + extendedKeyCodesSet.add(0x01000000+0x017E);
45.242 + extendedKeyCodesSet.add(0x01000000+0x017C);
45.243 + extendedKeyCodesSet.add(0x01000000+0x0103);
45.244 + extendedKeyCodesSet.add(0x01000000+0x0107);
45.245 + extendedKeyCodesSet.add(0x01000000+0x010D);
45.246 + extendedKeyCodesSet.add(0x01000000+0x0119);
45.247 + extendedKeyCodesSet.add(0x01000000+0x011B);
45.248 + extendedKeyCodesSet.add(0x01000000+0x0111);
45.249 + extendedKeyCodesSet.add(0x01000000+0x0148);
45.250 + extendedKeyCodesSet.add(0x01000000+0x0151);
45.251 + extendedKeyCodesSet.add(0x01000000+0x0171);
45.252 + extendedKeyCodesSet.add(0x01000000+0x0159);
45.253 + extendedKeyCodesSet.add(0x01000000+0x016F);
45.254 + extendedKeyCodesSet.add(0x01000000+0x0163);
45.255 + extendedKeyCodesSet.add(0x01000000+0x02D9);
45.256 + extendedKeyCodesSet.add(0x01000000+0x0130);
45.257 + extendedKeyCodesSet.add(0x01000000+0x0127);
45.258 + extendedKeyCodesSet.add(0x01000000+0x0125);
45.259 + extendedKeyCodesSet.add(0x01000000+0x0131);
45.260 + extendedKeyCodesSet.add(0x01000000+0x011F);
45.261 + extendedKeyCodesSet.add(0x01000000+0x0135);
45.262 + extendedKeyCodesSet.add(0x01000000+0x010B);
45.263 + extendedKeyCodesSet.add(0x01000000+0x0109);
45.264 + extendedKeyCodesSet.add(0x01000000+0x0121);
45.265 + extendedKeyCodesSet.add(0x01000000+0x011D);
45.266 + extendedKeyCodesSet.add(0x01000000+0x016D);
45.267 + extendedKeyCodesSet.add(0x01000000+0x015D);
45.268 + extendedKeyCodesSet.add(0x01000000+0x0138);
45.269 + extendedKeyCodesSet.add(0x01000000+0x0157);
45.270 + extendedKeyCodesSet.add(0x01000000+0x013C);
45.271 + extendedKeyCodesSet.add(0x01000000+0x0113);
45.272 + extendedKeyCodesSet.add(0x01000000+0x0123);
45.273 + extendedKeyCodesSet.add(0x01000000+0x0167);
45.274 + extendedKeyCodesSet.add(0x01000000+0x014B);
45.275 + extendedKeyCodesSet.add(0x01000000+0x0101);
45.276 + extendedKeyCodesSet.add(0x01000000+0x012F);
45.277 + extendedKeyCodesSet.add(0x01000000+0x0117);
45.278 + extendedKeyCodesSet.add(0x01000000+0x012B);
45.279 + extendedKeyCodesSet.add(0x01000000+0x0146);
45.280 + extendedKeyCodesSet.add(0x01000000+0x014D);
45.281 + extendedKeyCodesSet.add(0x01000000+0x0137);
45.282 + extendedKeyCodesSet.add(0x01000000+0x0173);
45.283 + extendedKeyCodesSet.add(0x01000000+0x016B);
45.284 + extendedKeyCodesSet.add(0x01000000+0x0153);
45.285 + extendedKeyCodesSet.add(0x01000000+0x30FC);
45.286 + extendedKeyCodesSet.add(0x01000000+0x30A2);
45.287 + extendedKeyCodesSet.add(0x01000000+0x30A4);
45.288 + extendedKeyCodesSet.add(0x01000000+0x30A6);
45.289 + extendedKeyCodesSet.add(0x01000000+0x30A8);
45.290 + extendedKeyCodesSet.add(0x01000000+0x30AA);
45.291 + extendedKeyCodesSet.add(0x01000000+0x30AB);
45.292 + extendedKeyCodesSet.add(0x01000000+0x30AD);
45.293 + extendedKeyCodesSet.add(0x01000000+0x30AF);
45.294 + extendedKeyCodesSet.add(0x01000000+0x30B1);
45.295 + extendedKeyCodesSet.add(0x01000000+0x30B3);
45.296 + extendedKeyCodesSet.add(0x01000000+0x30B5);
45.297 + extendedKeyCodesSet.add(0x01000000+0x30B7);
45.298 + extendedKeyCodesSet.add(0x01000000+0x30B9);
45.299 + extendedKeyCodesSet.add(0x01000000+0x30BB);
45.300 + extendedKeyCodesSet.add(0x01000000+0x30BD);
45.301 + extendedKeyCodesSet.add(0x01000000+0x30BF);
45.302 + extendedKeyCodesSet.add(0x01000000+0x30C1);
45.303 + extendedKeyCodesSet.add(0x01000000+0x30C4);
45.304 + extendedKeyCodesSet.add(0x01000000+0x30C6);
45.305 + extendedKeyCodesSet.add(0x01000000+0x30C8);
45.306 + extendedKeyCodesSet.add(0x01000000+0x30CA);
45.307 + extendedKeyCodesSet.add(0x01000000+0x30CB);
45.308 + extendedKeyCodesSet.add(0x01000000+0x30CC);
45.309 + extendedKeyCodesSet.add(0x01000000+0x30CD);
45.310 + extendedKeyCodesSet.add(0x01000000+0x30CE);
45.311 + extendedKeyCodesSet.add(0x01000000+0x30CF);
45.312 + extendedKeyCodesSet.add(0x01000000+0x30D2);
45.313 + extendedKeyCodesSet.add(0x01000000+0x30D5);
45.314 + extendedKeyCodesSet.add(0x01000000+0x30D8);
45.315 + extendedKeyCodesSet.add(0x01000000+0x30DB);
45.316 + extendedKeyCodesSet.add(0x01000000+0x30DE);
45.317 + extendedKeyCodesSet.add(0x01000000+0x30DF);
45.318 + extendedKeyCodesSet.add(0x01000000+0x30E0);
45.319 + extendedKeyCodesSet.add(0x01000000+0x30E1);
45.320 + extendedKeyCodesSet.add(0x01000000+0x30E2);
45.321 + extendedKeyCodesSet.add(0x01000000+0x30E4);
45.322 + extendedKeyCodesSet.add(0x01000000+0x30E6);
45.323 + extendedKeyCodesSet.add(0x01000000+0x30E8);
45.324 + extendedKeyCodesSet.add(0x01000000+0x30E9);
45.325 + extendedKeyCodesSet.add(0x01000000+0x30EA);
45.326 + extendedKeyCodesSet.add(0x01000000+0x30EB);
45.327 + extendedKeyCodesSet.add(0x01000000+0x30EC);
45.328 + extendedKeyCodesSet.add(0x01000000+0x30ED);
45.329 + extendedKeyCodesSet.add(0x01000000+0x30EF);
45.330 + extendedKeyCodesSet.add(0x01000000+0x30F3);
45.331 + extendedKeyCodesSet.add(0x01000000+0x309B);
45.332 + extendedKeyCodesSet.add(0x01000000+0x309C);
45.333 + extendedKeyCodesSet.add(0x01000000+0x06F0);
45.334 + extendedKeyCodesSet.add(0x01000000+0x06F1);
45.335 + extendedKeyCodesSet.add(0x01000000+0x06F2);
45.336 + extendedKeyCodesSet.add(0x01000000+0x06F3);
45.337 + extendedKeyCodesSet.add(0x01000000+0x06F4);
45.338 + extendedKeyCodesSet.add(0x01000000+0x06F5);
45.339 + extendedKeyCodesSet.add(0x01000000+0x06F6);
45.340 + extendedKeyCodesSet.add(0x01000000+0x06F7);
45.341 + extendedKeyCodesSet.add(0x01000000+0x06F8);
45.342 + extendedKeyCodesSet.add(0x01000000+0x06F9);
45.343 + extendedKeyCodesSet.add(0x01000000+0x0670);
45.344 + extendedKeyCodesSet.add(0x01000000+0x067E);
45.345 + extendedKeyCodesSet.add(0x01000000+0x0686);
45.346 + extendedKeyCodesSet.add(0x01000000+0x060C);
45.347 + extendedKeyCodesSet.add(0x01000000+0x06D4);
45.348 + extendedKeyCodesSet.add(0x01000000+0x0660);
45.349 + extendedKeyCodesSet.add(0x01000000+0x0661);
45.350 + extendedKeyCodesSet.add(0x01000000+0x0662);
45.351 + extendedKeyCodesSet.add(0x01000000+0x0663);
45.352 + extendedKeyCodesSet.add(0x01000000+0x0664);
45.353 + extendedKeyCodesSet.add(0x01000000+0x0665);
45.354 + extendedKeyCodesSet.add(0x01000000+0x0666);
45.355 + extendedKeyCodesSet.add(0x01000000+0x0667);
45.356 + extendedKeyCodesSet.add(0x01000000+0x0668);
45.357 + extendedKeyCodesSet.add(0x01000000+0x0669);
45.358 + extendedKeyCodesSet.add(0x01000000+0x061B);
45.359 + extendedKeyCodesSet.add(0x01000000+0x0621);
45.360 + extendedKeyCodesSet.add(0x01000000+0x0624);
45.361 + extendedKeyCodesSet.add(0x01000000+0x0626);
45.362 + extendedKeyCodesSet.add(0x01000000+0x0627);
45.363 + extendedKeyCodesSet.add(0x01000000+0x0628);
45.364 + extendedKeyCodesSet.add(0x01000000+0x0629);
45.365 + extendedKeyCodesSet.add(0x01000000+0x062A);
45.366 + extendedKeyCodesSet.add(0x01000000+0x062B);
45.367 + extendedKeyCodesSet.add(0x01000000+0x062C);
45.368 + extendedKeyCodesSet.add(0x01000000+0x062D);
45.369 + extendedKeyCodesSet.add(0x01000000+0x062E);
45.370 + extendedKeyCodesSet.add(0x01000000+0x062F);
45.371 + extendedKeyCodesSet.add(0x01000000+0x0630);
45.372 + extendedKeyCodesSet.add(0x01000000+0x0631);
45.373 + extendedKeyCodesSet.add(0x01000000+0x0632);
45.374 + extendedKeyCodesSet.add(0x01000000+0x0633);
45.375 + extendedKeyCodesSet.add(0x01000000+0x0634);
45.376 + extendedKeyCodesSet.add(0x01000000+0x0635);
45.377 + extendedKeyCodesSet.add(0x01000000+0x0636);
45.378 + extendedKeyCodesSet.add(0x01000000+0x0637);
45.379 + extendedKeyCodesSet.add(0x01000000+0x0638);
45.380 + extendedKeyCodesSet.add(0x01000000+0x0639);
45.381 + extendedKeyCodesSet.add(0x01000000+0x063A);
45.382 + extendedKeyCodesSet.add(0x01000000+0x0641);
45.383 + extendedKeyCodesSet.add(0x01000000+0x0642);
45.384 + extendedKeyCodesSet.add(0x01000000+0x0643);
45.385 + extendedKeyCodesSet.add(0x01000000+0x0644);
45.386 + extendedKeyCodesSet.add(0x01000000+0x0645);
45.387 + extendedKeyCodesSet.add(0x01000000+0x0646);
45.388 + extendedKeyCodesSet.add(0x01000000+0x0647);
45.389 + extendedKeyCodesSet.add(0x01000000+0x0648);
45.390 + extendedKeyCodesSet.add(0x01000000+0x0649);
45.391 + extendedKeyCodesSet.add(0x01000000+0x064A);
45.392 + extendedKeyCodesSet.add(0x01000000+0x064E);
45.393 + extendedKeyCodesSet.add(0x01000000+0x064F);
45.394 + extendedKeyCodesSet.add(0x01000000+0x0650);
45.395 + extendedKeyCodesSet.add(0x01000000+0x0652);
45.396 + extendedKeyCodesSet.add(0x01000000+0x0698);
45.397 + extendedKeyCodesSet.add(0x01000000+0x06A4);
45.398 + extendedKeyCodesSet.add(0x01000000+0x06A9);
45.399 + extendedKeyCodesSet.add(0x01000000+0x06AF);
45.400 + extendedKeyCodesSet.add(0x01000000+0x06BE);
45.401 + extendedKeyCodesSet.add(0x01000000+0x06CC);
45.402 + extendedKeyCodesSet.add(0x01000000+0x06CC);
45.403 + extendedKeyCodesSet.add(0x01000000+0x06D2);
45.404 + extendedKeyCodesSet.add(0x01000000+0x0493);
45.405 + extendedKeyCodesSet.add(0x01000000+0x0497);
45.406 + extendedKeyCodesSet.add(0x01000000+0x049B);
45.407 + extendedKeyCodesSet.add(0x01000000+0x049D);
45.408 + extendedKeyCodesSet.add(0x01000000+0x04A3);
45.409 + extendedKeyCodesSet.add(0x01000000+0x04AF);
45.410 + extendedKeyCodesSet.add(0x01000000+0x04B1);
45.411 + extendedKeyCodesSet.add(0x01000000+0x04B3);
45.412 + extendedKeyCodesSet.add(0x01000000+0x04B9);
45.413 + extendedKeyCodesSet.add(0x01000000+0x04BB);
45.414 + extendedKeyCodesSet.add(0x01000000+0x04D9);
45.415 + extendedKeyCodesSet.add(0x01000000+0x04E9);
45.416 + extendedKeyCodesSet.add(0x01000000+0x0452);
45.417 + extendedKeyCodesSet.add(0x01000000+0x0453);
45.418 + extendedKeyCodesSet.add(0x01000000+0x0451);
45.419 + extendedKeyCodesSet.add(0x01000000+0x0454);
45.420 + extendedKeyCodesSet.add(0x01000000+0x0455);
45.421 + extendedKeyCodesSet.add(0x01000000+0x0456);
45.422 + extendedKeyCodesSet.add(0x01000000+0x0457);
45.423 + extendedKeyCodesSet.add(0x01000000+0x0458);
45.424 + extendedKeyCodesSet.add(0x01000000+0x0459);
45.425 + extendedKeyCodesSet.add(0x01000000+0x045A);
45.426 + extendedKeyCodesSet.add(0x01000000+0x045B);
45.427 + extendedKeyCodesSet.add(0x01000000+0x045C);
45.428 + extendedKeyCodesSet.add(0x01000000+0x0491);
45.429 + extendedKeyCodesSet.add(0x01000000+0x045E);
45.430 + extendedKeyCodesSet.add(0x01000000+0x045F);
45.431 + extendedKeyCodesSet.add(0x01000000+0x2116);
45.432 + extendedKeyCodesSet.add(0x01000000+0x044E);
45.433 + extendedKeyCodesSet.add(0x01000000+0x0430);
45.434 + extendedKeyCodesSet.add(0x01000000+0x0431);
45.435 + extendedKeyCodesSet.add(0x01000000+0x0446);
45.436 + extendedKeyCodesSet.add(0x01000000+0x0434);
45.437 + extendedKeyCodesSet.add(0x01000000+0x0435);
45.438 + extendedKeyCodesSet.add(0x01000000+0x0444);
45.439 + extendedKeyCodesSet.add(0x01000000+0x0433);
45.440 + extendedKeyCodesSet.add(0x01000000+0x0445);
45.441 + extendedKeyCodesSet.add(0x01000000+0x0438);
45.442 + extendedKeyCodesSet.add(0x01000000+0x0439);
45.443 + extendedKeyCodesSet.add(0x01000000+0x043A);
45.444 + extendedKeyCodesSet.add(0x01000000+0x043B);
45.445 + extendedKeyCodesSet.add(0x01000000+0x043C);
45.446 + extendedKeyCodesSet.add(0x01000000+0x043D);
45.447 + extendedKeyCodesSet.add(0x01000000+0x043E);
45.448 + extendedKeyCodesSet.add(0x01000000+0x043F);
45.449 + extendedKeyCodesSet.add(0x01000000+0x044F);
45.450 + extendedKeyCodesSet.add(0x01000000+0x0440);
45.451 + extendedKeyCodesSet.add(0x01000000+0x0441);
45.452 + extendedKeyCodesSet.add(0x01000000+0x0442);
45.453 + extendedKeyCodesSet.add(0x01000000+0x0443);
45.454 + extendedKeyCodesSet.add(0x01000000+0x0436);
45.455 + extendedKeyCodesSet.add(0x01000000+0x0432);
45.456 + extendedKeyCodesSet.add(0x01000000+0x044C);
45.457 + extendedKeyCodesSet.add(0x01000000+0x044B);
45.458 + extendedKeyCodesSet.add(0x01000000+0x0437);
45.459 + extendedKeyCodesSet.add(0x01000000+0x0448);
45.460 + extendedKeyCodesSet.add(0x01000000+0x044D);
45.461 + extendedKeyCodesSet.add(0x01000000+0x0449);
45.462 + extendedKeyCodesSet.add(0x01000000+0x0447);
45.463 + extendedKeyCodesSet.add(0x01000000+0x044A);
45.464 + extendedKeyCodesSet.add(0x01000000+0x2015);
45.465 + extendedKeyCodesSet.add(0x01000000+0x03B1);
45.466 + extendedKeyCodesSet.add(0x01000000+0x03B2);
45.467 + extendedKeyCodesSet.add(0x01000000+0x03B3);
45.468 + extendedKeyCodesSet.add(0x01000000+0x03B4);
45.469 + extendedKeyCodesSet.add(0x01000000+0x03B5);
45.470 + extendedKeyCodesSet.add(0x01000000+0x03B6);
45.471 + extendedKeyCodesSet.add(0x01000000+0x03B7);
45.472 + extendedKeyCodesSet.add(0x01000000+0x03B8);
45.473 + extendedKeyCodesSet.add(0x01000000+0x03B9);
45.474 + extendedKeyCodesSet.add(0x01000000+0x03BA);
45.475 + extendedKeyCodesSet.add(0x01000000+0x03BB);
45.476 + extendedKeyCodesSet.add(0x01000000+0x03BC);
45.477 + extendedKeyCodesSet.add(0x01000000+0x03BD);
45.478 + extendedKeyCodesSet.add(0x01000000+0x03BE);
45.479 + extendedKeyCodesSet.add(0x01000000+0x03BF);
45.480 + extendedKeyCodesSet.add(0x01000000+0x03C0);
45.481 + extendedKeyCodesSet.add(0x01000000+0x03C1);
45.482 + extendedKeyCodesSet.add(0x01000000+0x03C3);
45.483 + extendedKeyCodesSet.add(0x01000000+0x03C2);
45.484 + extendedKeyCodesSet.add(0x01000000+0x03C4);
45.485 + extendedKeyCodesSet.add(0x01000000+0x03C5);
45.486 + extendedKeyCodesSet.add(0x01000000+0x03C6);
45.487 + extendedKeyCodesSet.add(0x01000000+0x03C7);
45.488 + extendedKeyCodesSet.add(0x01000000+0x03C8);
45.489 + extendedKeyCodesSet.add(0x01000000+0x03C9);
45.490 + extendedKeyCodesSet.add(0x01000000+0x2190);
45.491 + extendedKeyCodesSet.add(0x01000000+0x2192);
45.492 + extendedKeyCodesSet.add(0x01000000+0x2193);
45.493 + extendedKeyCodesSet.add(0x01000000+0x2013);
45.494 + extendedKeyCodesSet.add(0x01000000+0x201C);
45.495 + extendedKeyCodesSet.add(0x01000000+0x201D);
45.496 + extendedKeyCodesSet.add(0x01000000+0x201E);
45.497 + extendedKeyCodesSet.add(0x01000000+0x05D0);
45.498 + extendedKeyCodesSet.add(0x01000000+0x05D1);
45.499 + extendedKeyCodesSet.add(0x01000000+0x05D2);
45.500 + extendedKeyCodesSet.add(0x01000000+0x05D3);
45.501 + extendedKeyCodesSet.add(0x01000000+0x05D4);
45.502 + extendedKeyCodesSet.add(0x01000000+0x05D5);
45.503 + extendedKeyCodesSet.add(0x01000000+0x05D6);
45.504 + extendedKeyCodesSet.add(0x01000000+0x05D7);
45.505 + extendedKeyCodesSet.add(0x01000000+0x05D8);
45.506 + extendedKeyCodesSet.add(0x01000000+0x05D9);
45.507 + extendedKeyCodesSet.add(0x01000000+0x05DA);
45.508 + extendedKeyCodesSet.add(0x01000000+0x05DB);
45.509 + extendedKeyCodesSet.add(0x01000000+0x05DC);
45.510 + extendedKeyCodesSet.add(0x01000000+0x05DD);
45.511 + extendedKeyCodesSet.add(0x01000000+0x05DE);
45.512 + extendedKeyCodesSet.add(0x01000000+0x05DF);
45.513 + extendedKeyCodesSet.add(0x01000000+0x05E0);
45.514 + extendedKeyCodesSet.add(0x01000000+0x05E1);
45.515 + extendedKeyCodesSet.add(0x01000000+0x05E2);
45.516 + extendedKeyCodesSet.add(0x01000000+0x05E3);
45.517 + extendedKeyCodesSet.add(0x01000000+0x05E4);
45.518 + extendedKeyCodesSet.add(0x01000000+0x05E5);
45.519 + extendedKeyCodesSet.add(0x01000000+0x05E6);
45.520 + extendedKeyCodesSet.add(0x01000000+0x05E7);
45.521 + extendedKeyCodesSet.add(0x01000000+0x05E8);
45.522 + extendedKeyCodesSet.add(0x01000000+0x05E9);
45.523 + extendedKeyCodesSet.add(0x01000000+0x05EA);
45.524 + extendedKeyCodesSet.add(0x01000000+0x0E01);
45.525 + extendedKeyCodesSet.add(0x01000000+0x0E02);
45.526 + extendedKeyCodesSet.add(0x01000000+0x0E03);
45.527 + extendedKeyCodesSet.add(0x01000000+0x0E04);
45.528 + extendedKeyCodesSet.add(0x01000000+0x0E05);
45.529 + extendedKeyCodesSet.add(0x01000000+0x0E07);
45.530 + extendedKeyCodesSet.add(0x01000000+0x0E08);
45.531 + extendedKeyCodesSet.add(0x01000000+0x0E0A);
45.532 + extendedKeyCodesSet.add(0x01000000+0x0E0C);
45.533 + extendedKeyCodesSet.add(0x01000000+0x0E14);
45.534 + extendedKeyCodesSet.add(0x01000000+0x0E15);
45.535 + extendedKeyCodesSet.add(0x01000000+0x0E16);
45.536 + extendedKeyCodesSet.add(0x01000000+0x0E17);
45.537 + extendedKeyCodesSet.add(0x01000000+0x0E19);
45.538 + extendedKeyCodesSet.add(0x01000000+0x0E1A);
45.539 + extendedKeyCodesSet.add(0x01000000+0x0E1B);
45.540 + extendedKeyCodesSet.add(0x01000000+0x0E1C);
45.541 + extendedKeyCodesSet.add(0x01000000+0x0E1D);
45.542 + extendedKeyCodesSet.add(0x01000000+0x0E1E);
45.543 + extendedKeyCodesSet.add(0x01000000+0x0E1F);
45.544 + extendedKeyCodesSet.add(0x01000000+0x0E20);
45.545 + extendedKeyCodesSet.add(0x01000000+0x0E21);
45.546 + extendedKeyCodesSet.add(0x01000000+0x0E22);
45.547 + extendedKeyCodesSet.add(0x01000000+0x0E23);
45.548 + extendedKeyCodesSet.add(0x01000000+0x0E25);
45.549 + extendedKeyCodesSet.add(0x01000000+0x0E27);
45.550 + extendedKeyCodesSet.add(0x01000000+0x0E2A);
45.551 + extendedKeyCodesSet.add(0x01000000+0x0E2B);
45.552 + extendedKeyCodesSet.add(0x01000000+0x0E2D);
45.553 + extendedKeyCodesSet.add(0x01000000+0x0E30);
45.554 + extendedKeyCodesSet.add(0x01000000+0x0E31);
45.555 + extendedKeyCodesSet.add(0x01000000+0x0E32);
45.556 + extendedKeyCodesSet.add(0x01000000+0x0E33);
45.557 + extendedKeyCodesSet.add(0x01000000+0x0E34);
45.558 + extendedKeyCodesSet.add(0x01000000+0x0E35);
45.559 + extendedKeyCodesSet.add(0x01000000+0x0E36);
45.560 + extendedKeyCodesSet.add(0x01000000+0x0E37);
45.561 + extendedKeyCodesSet.add(0x01000000+0x0E38);
45.562 + extendedKeyCodesSet.add(0x01000000+0x0E39);
45.563 + extendedKeyCodesSet.add(0x01000000+0x0E3F);
45.564 + extendedKeyCodesSet.add(0x01000000+0x0E40);
45.565 + extendedKeyCodesSet.add(0x01000000+0x0E41);
45.566 + extendedKeyCodesSet.add(0x01000000+0x0E43);
45.567 + extendedKeyCodesSet.add(0x01000000+0x0E44);
45.568 + extendedKeyCodesSet.add(0x01000000+0x0E45);
45.569 + extendedKeyCodesSet.add(0x01000000+0x0E46);
45.570 + extendedKeyCodesSet.add(0x01000000+0x0E47);
45.571 + extendedKeyCodesSet.add(0x01000000+0x0E48);
45.572 + extendedKeyCodesSet.add(0x01000000+0x0E49);
45.573 + extendedKeyCodesSet.add(0x01000000+0x0E50);
45.574 + extendedKeyCodesSet.add(0x01000000+0x0E51);
45.575 + extendedKeyCodesSet.add(0x01000000+0x0E52);
45.576 + extendedKeyCodesSet.add(0x01000000+0x0E53);
45.577 + extendedKeyCodesSet.add(0x01000000+0x0E54);
45.578 + extendedKeyCodesSet.add(0x01000000+0x0E55);
45.579 + extendedKeyCodesSet.add(0x01000000+0x0E56);
45.580 + extendedKeyCodesSet.add(0x01000000+0x0E57);
45.581 + extendedKeyCodesSet.add(0x01000000+0x0E58);
45.582 + extendedKeyCodesSet.add(0x01000000+0x0E59);
45.583 + extendedKeyCodesSet.add(0x01000000+0x0587);
45.584 + extendedKeyCodesSet.add(0x01000000+0x0589);
45.585 + extendedKeyCodesSet.add(0x01000000+0x0589);
45.586 + extendedKeyCodesSet.add(0x01000000+0x055D);
45.587 + extendedKeyCodesSet.add(0x01000000+0x055D);
45.588 + extendedKeyCodesSet.add(0x01000000+0x055B);
45.589 + extendedKeyCodesSet.add(0x01000000+0x055B);
45.590 + extendedKeyCodesSet.add(0x01000000+0x055E);
45.591 + extendedKeyCodesSet.add(0x01000000+0x055E);
45.592 + extendedKeyCodesSet.add(0x01000000+0x0561);
45.593 + extendedKeyCodesSet.add(0x01000000+0x0562);
45.594 + extendedKeyCodesSet.add(0x01000000+0x0563);
45.595 + extendedKeyCodesSet.add(0x01000000+0x0564);
45.596 + extendedKeyCodesSet.add(0x01000000+0x0565);
45.597 + extendedKeyCodesSet.add(0x01000000+0x0566);
45.598 + extendedKeyCodesSet.add(0x01000000+0x0567);
45.599 + extendedKeyCodesSet.add(0x01000000+0x0568);
45.600 + extendedKeyCodesSet.add(0x01000000+0x0569);
45.601 + extendedKeyCodesSet.add(0x01000000+0x056A);
45.602 + extendedKeyCodesSet.add(0x01000000+0x056B);
45.603 + extendedKeyCodesSet.add(0x01000000+0x056C);
45.604 + extendedKeyCodesSet.add(0x01000000+0x056D);
45.605 + extendedKeyCodesSet.add(0x01000000+0x056E);
45.606 + extendedKeyCodesSet.add(0x01000000+0x056F);
45.607 + extendedKeyCodesSet.add(0x01000000+0x0570);
45.608 + extendedKeyCodesSet.add(0x01000000+0x0571);
45.609 + extendedKeyCodesSet.add(0x01000000+0x0572);
45.610 + extendedKeyCodesSet.add(0x01000000+0x0573);
45.611 + extendedKeyCodesSet.add(0x01000000+0x0574);
45.612 + extendedKeyCodesSet.add(0x01000000+0x0575);
45.613 + extendedKeyCodesSet.add(0x01000000+0x0576);
45.614 + extendedKeyCodesSet.add(0x01000000+0x0577);
45.615 + extendedKeyCodesSet.add(0x01000000+0x0578);
45.616 + extendedKeyCodesSet.add(0x01000000+0x0579);
45.617 + extendedKeyCodesSet.add(0x01000000+0x057A);
45.618 + extendedKeyCodesSet.add(0x01000000+0x057B);
45.619 + extendedKeyCodesSet.add(0x01000000+0x057C);
45.620 + extendedKeyCodesSet.add(0x01000000+0x057D);
45.621 + extendedKeyCodesSet.add(0x01000000+0x057E);
45.622 + extendedKeyCodesSet.add(0x01000000+0x057F);
45.623 + extendedKeyCodesSet.add(0x01000000+0x0580);
45.624 + extendedKeyCodesSet.add(0x01000000+0x0581);
45.625 + extendedKeyCodesSet.add(0x01000000+0x0582);
45.626 + extendedKeyCodesSet.add(0x01000000+0x0583);
45.627 + extendedKeyCodesSet.add(0x01000000+0x0584);
45.628 + extendedKeyCodesSet.add(0x01000000+0x0585);
45.629 + extendedKeyCodesSet.add(0x01000000+0x0586);
45.630 + extendedKeyCodesSet.add(0x01000000+0x10D0);
45.631 + extendedKeyCodesSet.add(0x01000000+0x10D1);
45.632 + extendedKeyCodesSet.add(0x01000000+0x10D2);
45.633 + extendedKeyCodesSet.add(0x01000000+0x10D3);
45.634 + extendedKeyCodesSet.add(0x01000000+0x10D4);
45.635 + extendedKeyCodesSet.add(0x01000000+0x10D5);
45.636 + extendedKeyCodesSet.add(0x01000000+0x10D6);
45.637 + extendedKeyCodesSet.add(0x01000000+0x10D7);
45.638 + extendedKeyCodesSet.add(0x01000000+0x10D8);
45.639 + extendedKeyCodesSet.add(0x01000000+0x10D9);
45.640 + extendedKeyCodesSet.add(0x01000000+0x10DA);
45.641 + extendedKeyCodesSet.add(0x01000000+0x10DB);
45.642 + extendedKeyCodesSet.add(0x01000000+0x10DC);
45.643 + extendedKeyCodesSet.add(0x01000000+0x10DD);
45.644 + extendedKeyCodesSet.add(0x01000000+0x10DE);
45.645 + extendedKeyCodesSet.add(0x01000000+0x10DF);
45.646 + extendedKeyCodesSet.add(0x01000000+0x10E0);
45.647 + extendedKeyCodesSet.add(0x01000000+0x10E1);
45.648 + extendedKeyCodesSet.add(0x01000000+0x10E2);
45.649 + extendedKeyCodesSet.add(0x01000000+0x10E3);
45.650 + extendedKeyCodesSet.add(0x01000000+0x10E4);
45.651 + extendedKeyCodesSet.add(0x01000000+0x10E5);
45.652 + extendedKeyCodesSet.add(0x01000000+0x10E6);
45.653 + extendedKeyCodesSet.add(0x01000000+0x10E7);
45.654 + extendedKeyCodesSet.add(0x01000000+0x10E8);
45.655 + extendedKeyCodesSet.add(0x01000000+0x10E9);
45.656 + extendedKeyCodesSet.add(0x01000000+0x10EA);
45.657 + extendedKeyCodesSet.add(0x01000000+0x10EB);
45.658 + extendedKeyCodesSet.add(0x01000000+0x10EC);
45.659 + extendedKeyCodesSet.add(0x01000000+0x10ED);
45.660 + extendedKeyCodesSet.add(0x01000000+0x10EE);
45.661 + extendedKeyCodesSet.add(0x01000000+0x10EF);
45.662 + extendedKeyCodesSet.add(0x01000000+0x10F0);
45.663 + extendedKeyCodesSet.add(0x01000000+0x01E7);
45.664 + extendedKeyCodesSet.add(0x01000000+0x0259);
45.665 + extendedKeyCodesSet.add(0x01000000+0x1EB9);
45.666 + extendedKeyCodesSet.add(0x01000000+0x1ECB);
45.667 + extendedKeyCodesSet.add(0x01000000+0x1ECD);
45.668 + extendedKeyCodesSet.add(0x01000000+0x1EE5);
45.669 + extendedKeyCodesSet.add(0x01000000+0x01A1);
45.670 + extendedKeyCodesSet.add(0x01000000+0x01B0);
45.671 + extendedKeyCodesSet.add(0x01000000+0x20AB);
45.672 + }
45.673 +}
46.1 --- a/src/share/classes/sun/awt/HeadlessToolkit.java Tue Apr 14 00:05:07 2009 -0700
46.2 +++ b/src/share/classes/sun/awt/HeadlessToolkit.java Tue Apr 14 04:21:02 2009 -0700
46.3 @@ -179,9 +179,9 @@
46.4 throw new HeadlessException();
46.5 }
46.6
46.7 - public KeyboardFocusManagerPeer createKeyboardFocusManagerPeer(KeyboardFocusManager manager) throws HeadlessException {
46.8 - KeyboardFocusManagerPeerImpl peer = new KeyboardFocusManagerPeerImpl(manager);
46.9 - return peer;
46.10 + public KeyboardFocusManagerPeer createKeyboardFocusManagerPeer(KeyboardFocusManager manager)
46.11 + throws HeadlessException {
46.12 + throw new HeadlessException();
46.13 }
46.14
46.15 public TrayIconPeer createTrayIcon(TrayIcon target)
47.1 --- a/src/share/classes/sun/awt/KeyboardFocusManagerPeerImpl.java Tue Apr 14 00:05:07 2009 -0700
47.2 +++ b/src/share/classes/sun/awt/KeyboardFocusManagerPeerImpl.java Tue Apr 14 04:21:02 2009 -0700
47.3 @@ -1,5 +1,5 @@
47.4 /*
47.5 - * Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved.
47.6 + * Copyright 2003-2009 Sun Microsystems, Inc. All Rights Reserved.
47.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
47.8 *
47.9 * This code is free software; you can redistribute it and/or modify it
47.10 @@ -27,47 +27,150 @@
47.11 import java.awt.Component;
47.12 import java.awt.KeyboardFocusManager;
47.13 import java.awt.Window;
47.14 +import java.awt.Canvas;
47.15 +import java.awt.Scrollbar;
47.16 +import java.awt.Panel;
47.17 +
47.18 +import java.awt.event.FocusEvent;
47.19
47.20 import java.awt.peer.KeyboardFocusManagerPeer;
47.21 +import java.awt.peer.ComponentPeer;
47.22
47.23 import java.lang.reflect.InvocationTargetException;
47.24 import java.lang.reflect.Method;
47.25
47.26 +import java.util.logging.Level;
47.27 +import java.util.logging.Logger;
47.28
47.29 -public class KeyboardFocusManagerPeerImpl implements KeyboardFocusManagerPeer {
47.30 - static native Window getNativeFocusedWindow();
47.31 - static native Component getNativeFocusOwner();
47.32 - static native void clearNativeGlobalFocusOwner(Window activeWindow);
47.33 +public abstract class KeyboardFocusManagerPeerImpl implements KeyboardFocusManagerPeer {
47.34
47.35 - KeyboardFocusManagerPeerImpl(KeyboardFocusManager manager) {
47.36 + private static final Logger focusLog = Logger.getLogger("sun.awt.focus.KeyboardFocusManagerPeerImpl");
47.37 +
47.38 + private static AWTAccessor.KeyboardFocusManagerAccessor kfmAccessor =
47.39 + AWTAccessor.getKeyboardFocusManagerAccessor();
47.40 +
47.41 + // The constants are copied from java.awt.KeyboardFocusManager
47.42 + public static final int SNFH_FAILURE = 0;
47.43 + public static final int SNFH_SUCCESS_HANDLED = 1;
47.44 + public static final int SNFH_SUCCESS_PROCEED = 2;
47.45 +
47.46 + protected KeyboardFocusManager manager;
47.47 +
47.48 + public KeyboardFocusManagerPeerImpl(KeyboardFocusManager manager) {
47.49 + this.manager = manager;
47.50 }
47.51
47.52 - public Window getCurrentFocusedWindow() {
47.53 - return getNativeFocusedWindow();
47.54 + @Override
47.55 + public void clearGlobalFocusOwner(Window activeWindow) {
47.56 + if (activeWindow != null) {
47.57 + Component focusOwner = activeWindow.getFocusOwner();
47.58 + if (focusLog.isLoggable(Level.FINE)) focusLog.fine("Clearing global focus owner " + focusOwner);
47.59 + if (focusOwner != null) {
47.60 + FocusEvent fl = new CausedFocusEvent(focusOwner, FocusEvent.FOCUS_LOST, false, null,
47.61 + CausedFocusEvent.Cause.CLEAR_GLOBAL_FOCUS_OWNER);
47.62 + SunToolkit.postPriorityEvent(fl);
47.63 + }
47.64 + }
47.65 }
47.66
47.67 - public void setCurrentFocusOwner(Component comp) {
47.68 + /*
47.69 + * WARNING: Don't call it on the Toolkit thread.
47.70 + *
47.71 + * Checks if the component:
47.72 + * 1) accepts focus on click (in general)
47.73 + * 2) may be a focus owner (in particular)
47.74 + */
47.75 + public static boolean shouldFocusOnClick(Component component) {
47.76 + boolean acceptFocusOnClick = false;
47.77 +
47.78 + // A component is generally allowed to accept focus on click
47.79 + // if its peer is focusable. There're some exceptions though.
47.80 +
47.81 +
47.82 + // CANVAS & SCROLLBAR accept focus on click
47.83 + if (component instanceof Canvas ||
47.84 + component instanceof Scrollbar)
47.85 + {
47.86 + acceptFocusOnClick = true;
47.87 +
47.88 + // PANEL, empty only, accepts focus on click
47.89 + } else if (component instanceof Panel) {
47.90 + acceptFocusOnClick = (((Panel)component).getComponentCount() == 0);
47.91 +
47.92 +
47.93 + // Other components
47.94 + } else {
47.95 + ComponentPeer peer = (component != null ? component.getPeer() : null);
47.96 + acceptFocusOnClick = (peer != null ? peer.isFocusable() : false);
47.97 + }
47.98 + return acceptFocusOnClick &&
47.99 + AWTAccessor.getComponentAccessor().canBeFocusOwner(component);
47.100 }
47.101
47.102 - public Component getCurrentFocusOwner() {
47.103 - return getNativeFocusOwner();
47.104 - }
47.105 - public void clearGlobalFocusOwner(Window activeWindow) {
47.106 - clearNativeGlobalFocusOwner(activeWindow);
47.107 + /*
47.108 + * Posts proper lost/gain focus events to the event queue.
47.109 + */
47.110 + public static boolean deliverFocus(Component lightweightChild,
47.111 + Component target,
47.112 + boolean temporary,
47.113 + boolean focusedWindowChangeAllowed,
47.114 + long time,
47.115 + CausedFocusEvent.Cause cause,
47.116 + Component currentFocusOwner) // provided by the descendant peers
47.117 + {
47.118 + if (lightweightChild == null) {
47.119 + lightweightChild = (Component)target;
47.120 + }
47.121 +
47.122 + Component currentOwner = currentFocusOwner;
47.123 + if (currentOwner != null && currentOwner.getPeer() == null) {
47.124 + currentOwner = null;
47.125 + }
47.126 + if (currentOwner != null) {
47.127 + FocusEvent fl = new CausedFocusEvent(currentOwner, FocusEvent.FOCUS_LOST,
47.128 + false, lightweightChild, cause);
47.129 +
47.130 + if (focusLog.isLoggable(Level.FINER)) focusLog.finer("Posting focus event: " + fl);
47.131 + SunToolkit.postPriorityEvent(fl);
47.132 + }
47.133 +
47.134 + FocusEvent fg = new CausedFocusEvent(lightweightChild, FocusEvent.FOCUS_GAINED,
47.135 + false, currentOwner, cause);
47.136 +
47.137 + if (focusLog.isLoggable(Level.FINER)) focusLog.finer("Posting focus event: " + fg);
47.138 + SunToolkit.postPriorityEvent(fg);
47.139 + return true;
47.140 }
47.141
47.142 - static Method m_removeLastFocusRequest = null;
47.143 + // WARNING: Don't call it on the Toolkit thread.
47.144 + public static boolean requestFocusFor(Component target, CausedFocusEvent.Cause cause) {
47.145 + return AWTAccessor.getComponentAccessor().requestFocus(target, cause);
47.146 + }
47.147 +
47.148 + // WARNING: Don't call it on the Toolkit thread.
47.149 + public static int shouldNativelyFocusHeavyweight(Component heavyweight,
47.150 + Component descendant,
47.151 + boolean temporary,
47.152 + boolean focusedWindowChangeAllowed,
47.153 + long time,
47.154 + CausedFocusEvent.Cause cause)
47.155 + {
47.156 + return kfmAccessor.shouldNativelyFocusHeavyweight(
47.157 + heavyweight, descendant, temporary, focusedWindowChangeAllowed, time, cause);
47.158 + }
47.159 +
47.160 public static void removeLastFocusRequest(Component heavyweight) {
47.161 - try {
47.162 - if (m_removeLastFocusRequest == null) {
47.163 - m_removeLastFocusRequest = SunToolkit.getMethod(KeyboardFocusManager.class, "removeLastFocusRequest",
47.164 - new Class[] {Component.class});
47.165 - }
47.166 - m_removeLastFocusRequest.invoke(null, new Object[]{heavyweight});
47.167 - } catch (InvocationTargetException ite) {
47.168 - ite.printStackTrace();
47.169 - } catch (IllegalAccessException ex) {
47.170 - ex.printStackTrace();
47.171 - }
47.172 + kfmAccessor.removeLastFocusRequest(heavyweight);
47.173 + }
47.174 +
47.175 + // WARNING: Don't call it on the Toolkit thread.
47.176 + public static boolean processSynchronousLightweightTransfer(Component heavyweight,
47.177 + Component descendant,
47.178 + boolean temporary,
47.179 + boolean focusedWindowChangeAllowed,
47.180 + long time)
47.181 + {
47.182 + return kfmAccessor.processSynchronousLightweightTransfer(
47.183 + heavyweight, descendant, temporary, focusedWindowChangeAllowed, time);
47.184 }
47.185 }
48.1 --- a/src/share/classes/sun/awt/NullComponentPeer.java Tue Apr 14 00:05:07 2009 -0700
48.2 +++ b/src/share/classes/sun/awt/NullComponentPeer.java Tue Apr 14 04:21:02 2009 -0700
48.3 @@ -278,19 +278,6 @@
48.4 throw new UnsupportedOperationException();
48.5 }
48.6
48.7 - /**
48.8 - * @see java.awt.peer.ContainerPeer#restack
48.9 - */
48.10 - public void restack() {
48.11 - throw new UnsupportedOperationException();
48.12 - }
48.13 -
48.14 - /**
48.15 - * @see java.awt.peer.ContainerPeer#isRestackSupported
48.16 - */
48.17 - public boolean isRestackSupported() {
48.18 - return false;
48.19 - }
48.20 public void layout() {
48.21 }
48.22
48.23 @@ -305,4 +292,19 @@
48.24 */
48.25 public void applyShape(Region shape) {
48.26 }
48.27 +
48.28 + /**
48.29 + * Lowers this component at the bottom of the above HW peer. If the above parameter
48.30 + * is null then the method places this component at the top of the Z-order.
48.31 + */
48.32 + public void setZOrder(ComponentPeer above) {
48.33 + }
48.34 +
48.35 + public void updateGraphicsData(GraphicsConfiguration gc) {}
48.36 +
48.37 + public GraphicsConfiguration getAppropriateGraphicsConfiguration(
48.38 + GraphicsConfiguration gc)
48.39 + {
48.40 + return gc;
48.41 + }
48.42 }
49.1 --- a/src/share/classes/sun/awt/SunToolkit.java Tue Apr 14 00:05:07 2009 -0700
49.2 +++ b/src/share/classes/sun/awt/SunToolkit.java Tue Apr 14 04:21:02 2009 -0700
49.3 @@ -1,5 +1,5 @@
49.4 /*
49.5 - * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved.
49.6 + * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
49.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
49.8 *
49.9 * This code is free software; you can redistribute it and/or modify it
49.10 @@ -32,14 +32,10 @@
49.11 import java.awt.peer.*;
49.12 import java.awt.event.WindowEvent;
49.13 import java.awt.event.KeyEvent;
49.14 -import java.awt.im.spi.InputMethodDescriptor;
49.15 import java.awt.image.*;
49.16 -import java.awt.geom.AffineTransform;
49.17 import java.awt.TrayIcon;
49.18 import java.awt.SystemTray;
49.19 -import java.io.*;
49.20 import java.net.URL;
49.21 -import java.net.JarURLConnection;
49.22 import java.util.*;
49.23 import java.util.concurrent.TimeUnit;
49.24 import java.util.concurrent.locks.Condition;
49.25 @@ -49,7 +45,6 @@
49.26 import sun.misc.SoftCache;
49.27 import sun.font.FontDesignMetrics;
49.28 import sun.awt.im.InputContext;
49.29 -import sun.awt.im.SimpleInputMethodWindow;
49.30 import sun.awt.image.*;
49.31 import sun.security.action.GetPropertyAction;
49.32 import sun.security.action.GetBooleanAction;
49.33 @@ -225,10 +220,8 @@
49.34 public abstract RobotPeer createRobot(Robot target, GraphicsDevice screen)
49.35 throws AWTException;
49.36
49.37 - public KeyboardFocusManagerPeer createKeyboardFocusManagerPeer(KeyboardFocusManager manager) throws HeadlessException {
49.38 - KeyboardFocusManagerPeerImpl peer = new KeyboardFocusManagerPeerImpl(manager);
49.39 - return peer;
49.40 - }
49.41 + public abstract KeyboardFocusManagerPeer createKeyboardFocusManagerPeer(KeyboardFocusManager manager)
49.42 + throws HeadlessException;
49.43
49.44 /**
49.45 * The AWT lock is typically only used on Unix platforms to synchronize
49.46 @@ -824,16 +817,31 @@
49.47 }
49.48
49.49 /**
49.50 - * Disables erasing of background on the canvas before painting
49.51 - * if this is supported by the current toolkit.
49.52 - *
49.53 - * @throws IllegalStateException if the canvas is not displayable
49.54 - * @see java.awt.Component#isDisplayable
49.55 + * Disables erasing of background on the canvas before painting if
49.56 + * this is supported by the current toolkit. It is recommended to
49.57 + * call this method early, before the Canvas becomes displayable,
49.58 + * because some Toolkit implementations do not support changing
49.59 + * this property once the Canvas becomes displayable.
49.60 */
49.61 public void disableBackgroundErase(Canvas canvas) {
49.62 - if (!canvas.isDisplayable()) {
49.63 - throw new IllegalStateException("Canvas must have a valid peer");
49.64 - }
49.65 + disableBackgroundEraseImpl(canvas);
49.66 + }
49.67 +
49.68 + /**
49.69 + * Disables the native erasing of the background on the given
49.70 + * component before painting if this is supported by the current
49.71 + * toolkit. This only has an effect for certain components such as
49.72 + * Canvas, Panel and Window. It is recommended to call this method
49.73 + * early, before the Component becomes displayable, because some
49.74 + * Toolkit implementations do not support changing this property
49.75 + * once the Component becomes displayable.
49.76 + */
49.77 + public void disableBackgroundErase(Component component) {
49.78 + disableBackgroundEraseImpl(component);
49.79 + }
49.80 +
49.81 + private void disableBackgroundEraseImpl(Component component) {
49.82 + AWTAccessor.getComponentAccessor().setBackgroundEraseDisabled(component, true);
49.83 }
49.84
49.85 /**
49.86 @@ -1972,6 +1980,18 @@
49.87 AWTAutoShutdown.getInstance().dumpPeers(aLog);
49.88 }
49.89
49.90 + /**
49.91 + * Returns the <code>Window</code> ancestor of the component <code>comp</code>.
49.92 + * @return Window ancestor of the component or component by itself if it is Window;
49.93 + * null, if component is not a part of window hierarchy
49.94 + */
49.95 + public static Window getContainingWindow(Component comp) {
49.96 + while (comp != null && !(comp instanceof Window)) {
49.97 + comp = comp.getParent();
49.98 + }
49.99 + return (Window)comp;
49.100 + }
49.101 +
49.102 private static Boolean sunAwtDisableMixing = null;
49.103
49.104 /**
49.105 @@ -1995,6 +2015,73 @@
49.106 public boolean isNativeGTKAvailable() {
49.107 return false;
49.108 }
49.109 +
49.110 + // Cosntant alpha
49.111 + public boolean isWindowOpacitySupported() {
49.112 + return false;
49.113 + }
49.114 +
49.115 + // Shaping
49.116 + public boolean isWindowShapingSupported() {
49.117 + return false;
49.118 + }
49.119 +
49.120 + // Per-pixel alpha
49.121 + public boolean isWindowTranslucencySupported() {
49.122 + return false;
49.123 + }
49.124 +
49.125 + public boolean isTranslucencyCapable(GraphicsConfiguration gc) {
49.126 + return false;
49.127 + }
49.128 +
49.129 + /**
49.130 + * Returns whether or not a containing top level window for the passed
49.131 + * component is
49.132 + * {@link com.sun.awt.AWTUtilities.Translucency#PERPIXEL_TRANSLUCENT PERPIXEL_TRANSLUCENT}.
49.133 + *
49.134 + * @param c a Component which toplevel's to check
49.135 + * @return {@code true} if the passed component is not null and has a
49.136 + * containing toplevel window which is opaque (so per-pixel translucency
49.137 + * is not enabled), {@code false} otherwise
49.138 + * @see com.sun.awt.AWTUtilities.Translucency#PERPIXEL_TRANSLUCENT
49.139 + * @see com.sun.awt.AWTUtilities#isWindowOpaque(Window)
49.140 + */
49.141 + public static boolean isContainingTopLevelOpaque(Component c) {
49.142 + Window w = getContainingWindow(c);
49.143 + // return w != null && (w).isOpaque();
49.144 + return w != null && com.sun.awt.AWTUtilities.isWindowOpaque(w);
49.145 + }
49.146 +
49.147 + /**
49.148 + * Returns whether or not a containing top level window for the passed
49.149 + * component is
49.150 + * {@link com.sun.awt.AWTUtilities.Translucency#TRANSLUCENT TRANSLUCENT}.
49.151 + *
49.152 + * @param c a Component which toplevel's to check
49.153 + * @return {@code true} if the passed component is not null and has a
49.154 + * containing toplevel window which has opacity less than
49.155 + * 1.0f (which means that it is translucent), {@code false} otherwise
49.156 + * @see com.sun.awt.AWTUtilities.Translucency#TRANSLUCENT
49.157 + * @see com.sun.awt.AWTUtilities#getWindowOpacity(Window)
49.158 + */
49.159 + public static boolean isContainingTopLevelTranslucent(Component c) {
49.160 + Window w = getContainingWindow(c);
49.161 + // return w != null && (w).getOpacity() < 1.0f;
49.162 + return w != null && com.sun.awt.AWTUtilities.getWindowOpacity((Window)w) < 1.0f;
49.163 + }
49.164 +
49.165 + /**
49.166 + * Returns whether the native system requires using the peer.updateWindow()
49.167 + * method to update the contents of a non-opaque window, or if usual
49.168 + * painting procedures are sufficient. The default return value covers
49.169 + * the X11 systems. On MS Windows this method is overriden in WToolkit
49.170 + * to return true.
49.171 + */
49.172 + public boolean needUpdateWindow() {
49.173 + return false;
49.174 + }
49.175 +
49.176 } // class SunToolkit
49.177
49.178
50.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
50.2 +++ b/src/share/native/sun/awt/utility/rect.c Tue Apr 14 04:21:02 2009 -0700
50.3 @@ -0,0 +1,102 @@
50.4 +/*
50.5 + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved.
50.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
50.7 + *
50.8 + * This code is free software; you can redistribute it and/or modify it
50.9 + * under the terms of the GNU General Public License version 2 only, as
50.10 + * published by the Free Software Foundation. Sun designates this
50.11 + * particular file as subject to the "Classpath" exception as provided
50.12 + * by Sun in the LICENSE file that accompanied this code.
50.13 + *
50.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
50.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
50.16 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
50.17 + * version 2 for more details (a copy is included in the LICENSE file that
50.18 + * accompanied this code).
50.19 + *
50.20 + * You should have received a copy of the GNU General Public License version
50.21 + * 2 along with this work; if not, write to the Free Software Foundation,
50.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
50.23 + *
50.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
50.25 + * CA 95054 USA or visit www.sun.com if you need additional information or
50.26 + * have any questions.
50.27 + */
50.28 +
50.29 +#include "utility/rect.h"
50.30 +
50.31 +#if defined(__cplusplus)
50.32 +extern "C" {
50.33 +#endif
50.34 +
50.35 +/**
50.36 + * bitsPerPixel must be 32 for now.
50.37 + * outBuf must be large enough to conatin all the rectangles.
50.38 + */
50.39 +int BitmapToYXBandedRectangles(int bitsPerPixel, int width, int height, unsigned char * buf, RECT_T * outBuf)
50.40 +{
50.41 + //XXX: we might want to reuse the code in the splashscreen library,
50.42 + // though we'd have to deal with the ALPHA_THRESHOLD and different
50.43 + // image formats in this case.
50.44 + int widthBytes = width * bitsPerPixel / 8;
50.45 + int alignedWidth = (((widthBytes - 1) / 4) + 1) * 4;
50.46 +
50.47 + RECT_T * out = outBuf;
50.48 +
50.49 + RECT_T *pPrevLine = NULL, *pFirst = out, *pThis = pFirst;
50.50 + int i, j, i0;
50.51 + int length;
50.52 +
50.53 + for (j = 0; j < height; j++) {
50.54 + /* generate data for a scanline */
50.55 +
50.56 + unsigned char *pSrc = (unsigned char *) buf + j * alignedWidth;
50.57 + RECT_T *pLine = pThis;
50.58 +
50.59 + i = 0;
50.60 +
50.61 + do {
50.62 + // pSrc[0,1,2] == B,G,R; pSrc[3] == Alpha
50.63 + while (i < width && !pSrc[3]) {
50.64 + pSrc += 4;
50.65 + ++i;
50.66 + }
50.67 + if (i >= width)
50.68 + break;
50.69 + i0 = i;
50.70 + while (i < width && pSrc[3]) {
50.71 + pSrc += 4;
50.72 + ++i;
50.73 + }
50.74 + RECT_SET(*pThis, i0, j, i - i0, 1);
50.75 + ++pThis;
50.76 + } while (i < width);
50.77 +
50.78 + /* check if the previous scanline is exactly the same, merge if so
50.79 + (this is the only optimization we can use for YXBanded rectangles,
50.80 + and win32 supports YXBanded only */
50.81 +
50.82 + length = pThis - pLine;
50.83 + if (pPrevLine && pLine - pPrevLine == length) {
50.84 + for (i = 0; i < length && RECT_EQ_X(pPrevLine[i], pLine[i]); ++i) {
50.85 + }
50.86 + if (i == pLine - pPrevLine) {
50.87 + // do merge
50.88 + for (i = 0; i < length; i++) {
50.89 + RECT_INC_HEIGHT(pPrevLine[i]);
50.90 + }
50.91 + pThis = pLine;
50.92 + continue;
50.93 + }
50.94 + }
50.95 + /* or else use the generated scanline */
50.96 +
50.97 + pPrevLine = pLine;
50.98 + }
50.99 +
50.100 + return pThis - pFirst;
50.101 +}
50.102 +
50.103 +#if defined(__cplusplus)
50.104 +}
50.105 +#endif
51.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
51.2 +++ b/src/solaris/classes/sun/awt/X11/InfoWindow.java Tue Apr 14 04:21:02 2009 -0700
51.3 @@ -0,0 +1,495 @@
51.4 +/*
51.5 + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
51.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
51.7 + *
51.8 + * This code is free software; you can redistribute it and/or modify it
51.9 + * under the terms of the GNU General Public License version 2 only, as
51.10 + * published by the Free Software Foundation. Sun designates this
51.11 + * particular file as subject to the "Classpath" exception as provided
51.12 + * by Sun in the LICENSE file that accompanied this code.
51.13 + *
51.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
51.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
51.16 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
51.17 + * version 2 for more details (a copy is included in the LICENSE file that
51.18 + * accompanied this code).
51.19 + *
51.20 + * You should have received a copy of the GNU General Public License version
51.21 + * 2 along with this work; if not, write to the Free Software Foundation,
51.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
51.23 + *
51.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
51.25 + * CA 95054 USA or visit www.sun.com if you need additional information or
51.26 + * have any questions.
51.27 + */
51.28 +
51.29 +package sun.awt.X11;
51.30 +
51.31 +import java.awt.*;
51.32 +import java.awt.event.*;
51.33 +import java.awt.peer.TrayIconPeer;
51.34 +import sun.awt.*;
51.35 +import java.awt.image.*;
51.36 +import java.text.BreakIterator;
51.37 +import java.util.logging.Logger;
51.38 +import java.util.logging.Level;
51.39 +import java.util.concurrent.ArrayBlockingQueue;
51.40 +import java.security.AccessController;
51.41 +import java.security.PrivilegedAction;
51.42 +import java.lang.reflect.InvocationTargetException;
51.43 +
51.44 +/**
51.45 + * An utility window class. This is a base class for Tooltip and Balloon.
51.46 + */
51.47 +public abstract class InfoWindow extends Window {
51.48 + private Container container;
51.49 + private Closer closer;
51.50 +
51.51 + protected InfoWindow(Frame parent, Color borderColor) {
51.52 + super(parent);
51.53 + container = new Container() {
51.54 + @Override
51.55 + public Insets getInsets() {
51.56 + return new Insets(1, 1, 1, 1);
51.57 + }
51.58 + };
51.59 + setLayout(new BorderLayout());
51.60 + setBackground(borderColor);
51.61 + add(container, BorderLayout.CENTER);
51.62 + container.setLayout(new BorderLayout());
51.63 +
51.64 + closer = new Closer();
51.65 + }
51.66 +
51.67 + public Component add(Component c) {
51.68 + container.add(c, BorderLayout.CENTER);
51.69 + return c;
51.70 + }
51.71 +
51.72 + protected void setCloser(Runnable action, int time) {
51.73 + closer.set(action, time);
51.74 + }
51.75 +
51.76 + // Must be executed on EDT.
51.77 + protected void show(Point corner, int indent) {
51.78 + assert SunToolkit.isDispatchThreadForAppContext(this);
51.79 +
51.80 + pack();
51.81 +
51.82 + Dimension size = getSize();
51.83 + // TODO: When 6356322 is fixed we should get screen bounds in
51.84 + // this way: eframe.getGraphicsConfiguration().getBounds().
51.85 + Dimension scrSize = Toolkit.getDefaultToolkit().getScreenSize();
51.86 +
51.87 + if (corner.x < scrSize.width/2 && corner.y < scrSize.height/2) { // 1st square
51.88 + setLocation(corner.x + indent, corner.y + indent);
51.89 +
51.90 + } else if (corner.x >= scrSize.width/2 && corner.y < scrSize.height/2) { // 2nd square
51.91 + setLocation(corner.x - indent - size.width, corner.y + indent);
51.92 +
51.93 + } else if (corner.x < scrSize.width/2 && corner.y >= scrSize.height/2) { // 3rd square
51.94 + setLocation(corner.x + indent, corner.y - indent - size.height);
51.95 +
51.96 + } else if (corner.x >= scrSize.width/2 && corner.y >= scrSize.height/2) { // 4th square
51.97 + setLocation(corner.x - indent - size.width, corner.y - indent - size.height);
51.98 + }
51.99 +
51.100 + super.show();
51.101 + closer.schedule();
51.102 + }
51.103 +
51.104 + public void hide() {
51.105 + closer.close();
51.106 + }
51.107 +
51.108 + private class Closer implements Runnable {
51.109 + Runnable action;
51.110 + int time;
51.111 +
51.112 + public void run() {
51.113 + doClose();
51.114 + }
51.115 +
51.116 + void set(Runnable action, int time) {
51.117 + this.action = action;
51.118 + this.time = time;
51.119 + }
51.120 +
51.121 + void schedule() {
51.122 + XToolkit.schedule(this, time);
51.123 + }
51.124 +
51.125 + void close() {
51.126 + XToolkit.remove(this);
51.127 + doClose();
51.128 + }
51.129 +
51.130 + // WARNING: this method may be executed on Toolkit thread.
51.131 + private void doClose() {
51.132 + SunToolkit.executeOnEventHandlerThread(InfoWindow.this, new Runnable() {
51.133 + public void run() {
51.134 + InfoWindow.super.hide();
51.135 + invalidate();
51.136 + if (action != null) {
51.137 + action.run();
51.138 + }
51.139 + }
51.140 + });
51.141 + }
51.142 + }
51.143 +
51.144 +
51.145 + private interface LiveArguments {
51.146 + /** Whether the target of the InfoWindow is disposed. */
51.147 + boolean isDisposed();
51.148 +
51.149 + /** The bounds of the target of the InfoWindow. */
51.150 + Rectangle getBounds();
51.151 + }
51.152 +
51.153 + public static class Tooltip extends InfoWindow {
51.154 +
51.155 + public interface LiveArguments extends InfoWindow.LiveArguments {
51.156 + /** The tooltip to be displayed. */
51.157 + String getTooltipString();
51.158 + }
51.159 +
51.160 + private final Object target;
51.161 + private final LiveArguments liveArguments;
51.162 +
51.163 + private final Label textLabel = new Label("");
51.164 + private final Runnable starter = new Runnable() {
51.165 + public void run() {
51.166 + display();
51.167 + }};
51.168 +
51.169 + private final static int TOOLTIP_SHOW_TIME = 10000;
51.170 + private final static int TOOLTIP_START_DELAY_TIME = 1000;
51.171 + private final static int TOOLTIP_MAX_LENGTH = 64;
51.172 + private final static int TOOLTIP_MOUSE_CURSOR_INDENT = 5;
51.173 + private final static Color TOOLTIP_BACKGROUND_COLOR = new Color(255, 255, 220);
51.174 + private final static Font TOOLTIP_TEXT_FONT = XWindow.getDefaultFont();
51.175 +
51.176 + public Tooltip(Frame parent, Object target,
51.177 + LiveArguments liveArguments)
51.178 + {
51.179 + super(parent, Color.black);
51.180 +
51.181 + this.target = target;
51.182 + this.liveArguments = liveArguments;
51.183 +
51.184 + XTrayIconPeer.suppressWarningString(this);
51.185 +
51.186 + setCloser(null, TOOLTIP_SHOW_TIME);
51.187 + textLabel.setBackground(TOOLTIP_BACKGROUND_COLOR);
51.188 + textLabel.setFont(TOOLTIP_TEXT_FONT);
51.189 + add(textLabel);
51.190 + }
51.191 +
51.192 + /*
51.193 + * WARNING: this method is executed on Toolkit thread!
51.194 + */
51.195 + private void display() {
51.196 + String tooltipString = liveArguments.getTooltipString();
51.197 + if (tooltipString == null) {
51.198 + return;
51.199 + } else if (tooltipString.length() > TOOLTIP_MAX_LENGTH) {
51.200 + textLabel.setText(tooltipString.substring(0, TOOLTIP_MAX_LENGTH));
51.201 + } else {
51.202 + textLabel.setText(tooltipString);
51.203 + }
51.204 +
51.205 + // Execute on EDT to avoid deadlock (see 6280857).
51.206 + SunToolkit.executeOnEventHandlerThread(target, new Runnable() {
51.207 + public void run() {
51.208 + if (liveArguments.isDisposed()) {
51.209 + return;
51.210 + }
51.211 + Point pointer = (Point)AccessController.doPrivileged(new PrivilegedAction() {
51.212 + public Object run() {
51.213 + if (!isPointerOverTrayIcon(liveArguments.getBounds())) {
51.214 + return null;
51.215 + }
51.216 + return MouseInfo.getPointerInfo().getLocation();
51.217 + }
51.218 + });
51.219 + if (pointer == null) {
51.220 + return;
51.221 + }
51.222 + show(new Point(pointer.x, pointer.y), TOOLTIP_MOUSE_CURSOR_INDENT);
51.223 + }
51.224 + });
51.225 + }
51.226 +
51.227 + public void enter() {
51.228 + XToolkit.schedule(starter, TOOLTIP_START_DELAY_TIME);
51.229 + }
51.230 +
51.231 + public void exit() {
51.232 + XToolkit.remove(starter);
51.233 + if (isVisible()) {
51.234 + hide();
51.235 + }
51.236 + }
51.237 +
51.238 + private boolean isPointerOverTrayIcon(Rectangle trayRect) {
51.239 + Point p = MouseInfo.getPointerInfo().getLocation();
51.240 + return !(p.x < trayRect.x || p.x > (trayRect.x + trayRect.width) ||
51.241 + p.y < trayRect.y || p.y > (trayRect.y + trayRect.height));
51.242 + }
51.243 + }
51.244 +
51.245 + public static class Balloon extends InfoWindow {
51.246 +
51.247 + public interface LiveArguments extends InfoWindow.LiveArguments {
51.248 + /** The action to be performed upon clicking the baloon. */
51.249 + String getActionCommand();
51.250 + }
51.251 +
51.252 + private final LiveArguments liveArguments;
51.253 + private final Object target;
51.254 +
51.255 + private final static int BALLOON_SHOW_TIME = 10000;
51.256 + private final static int BALLOON_TEXT_MAX_LENGTH = 256;
51.257 + private final static int BALLOON_WORD_LINE_MAX_LENGTH = 16;
51.258 + private final static int BALLOON_WORD_LINE_MAX_COUNT = 4;
51.259 + private final static int BALLOON_ICON_WIDTH = 32;
51.260 + private final static int BALLOON_ICON_HEIGHT = 32;
51.261 + private final static int BALLOON_TRAY_ICON_INDENT = 0;
51.262 + private final static Color BALLOON_CAPTION_BACKGROUND_COLOR = new Color(200, 200 ,255);
51.263 + private final static Font BALLOON_CAPTION_FONT = new Font(Font.DIALOG, Font.BOLD, 12);
51.264 +
51.265 + private Panel mainPanel = new Panel();
51.266 + private Panel captionPanel = new Panel();
51.267 + private Label captionLabel = new Label("");
51.268 + private Button closeButton = new Button("X");
51.269 + private Panel textPanel = new Panel();
51.270 + private XTrayIconPeer.IconCanvas iconCanvas = new XTrayIconPeer.IconCanvas(BALLOON_ICON_WIDTH, BALLOON_ICON_HEIGHT);
51.271 + private Label[] lineLabels = new Label[BALLOON_WORD_LINE_MAX_COUNT];
51.272 + private ActionPerformer ap = new ActionPerformer();
51.273 +
51.274 + private Image iconImage;
51.275 + private Image errorImage;
51.276 + private Image warnImage;
51.277 + private Image infoImage;
51.278 + private boolean gtkImagesLoaded;
51.279 +
51.280 + private Displayer displayer = new Displayer();
51.281 +
51.282 + public Balloon(Frame parent, Object target, LiveArguments liveArguments) {
51.283 + super(parent, new Color(90, 80 ,190));
51.284 + this.liveArguments = liveArguments;
51.285 + this.target = target;
51.286 +
51.287 + XTrayIconPeer.suppressWarningString(this);
51.288 +
51.289 + setCloser(new Runnable() {
51.290 + public void run() {
51.291 + if (textPanel != null) {
51.292 + textPanel.removeAll();
51.293 + textPanel.setSize(0, 0);
51.294 + iconCanvas.setSize(0, 0);
51.295 + XToolkit.awtLock();
51.296 + try {
51.297 + displayer.isDisplayed = false;
51.298 + XToolkit.awtLockNotifyAll();
51.299 + } finally {
51.300 + XToolkit.awtUnlock();
51.301 + }
51.302 + }
51.303 + }
51.304 + }, BALLOON_SHOW_TIME);
51.305 +
51.306 + add(mainPanel);
51.307 +
51.308 + captionLabel.setFont(BALLOON_CAPTION_FONT);
51.309 + captionLabel.addMouseListener(ap);
51.310 +
51.311 + captionPanel.setLayout(new BorderLayout());
51.312 + captionPanel.add(captionLabel, BorderLayout.WEST);
51.313 + captionPanel.add(closeButton, BorderLayout.EAST);
51.314 + captionPanel.setBackground(BALLOON_CAPTION_BACKGROUND_COLOR);
51.315 + captionPanel.addMouseListener(ap);
51.316 +
51.317 + closeButton.addActionListener(new ActionListener() {
51.318 + public void actionPerformed(ActionEvent e) {
51.319 + hide();
51.320 + }
51.321 + });
51.322 +
51.323 + mainPanel.setLayout(new BorderLayout());
51.324 + mainPanel.setBackground(Color.white);
51.325 + mainPanel.add(captionPanel, BorderLayout.NORTH);
51.326 + mainPanel.add(iconCanvas, BorderLayout.WEST);
51.327 + mainPanel.add(textPanel, BorderLayout.CENTER);
51.328 +
51.329 + iconCanvas.addMouseListener(ap);
51.330 +
51.331 + for (int i = 0; i < BALLOON_WORD_LINE_MAX_COUNT; i++) {
51.332 + lineLabels[i] = new Label();
51.333 + lineLabels[i].addMouseListener(ap);
51.334 + lineLabels[i].setBackground(Color.white);
51.335 + }
51.336 +
51.337 + displayer.start();
51.338 + }
51.339 +
51.340 + public void display(String caption, String text, String messageType) {
51.341 + if (!gtkImagesLoaded) {
51.342 + loadGtkImages();
51.343 + }
51.344 + displayer.display(caption, text, messageType);
51.345 + }
51.346 +
51.347 + private void _display(String caption, String text, String messageType) {
51.348 + captionLabel.setText(caption);
51.349 +
51.350 + BreakIterator iter = BreakIterator.getWordInstance();
51.351 + if (text != null) {
51.352 + iter.setText(text);
51.353 + int start = iter.first(), end;
51.354 + int nLines = 0;
51.355 +
51.356 + do {
51.357 + end = iter.next();
51.358 +
51.359 + if (end == BreakIterator.DONE ||
51.360 + text.substring(start, end).length() >= 50)
51.361 + {
51.362 + lineLabels[nLines].setText(text.substring(start, end == BreakIterator.DONE ?
51.363 + iter.last() : end));
51.364 + textPanel.add(lineLabels[nLines++]);
51.365 + start = end;
51.366 + }
51.367 + if (nLines == BALLOON_WORD_LINE_MAX_COUNT) {
51.368 + if (end != BreakIterator.DONE) {
51.369 + lineLabels[nLines - 1].setText(
51.370 + new String(lineLabels[nLines - 1].getText() + " ..."));
51.371 + }
51.372 + break;
51.373 + }
51.374 + } while (end != BreakIterator.DONE);
51.375 +
51.376 +
51.377 + textPanel.setLayout(new GridLayout(nLines, 1));
51.378 + }
51.379 +
51.380 + if ("ERROR".equals(messageType)) {
51.381 + iconImage = errorImage;
51.382 + } else if ("WARNING".equals(messageType)) {
51.383 + iconImage = warnImage;
51.384 + } else if ("INFO".equals(messageType)) {
51.385 + iconImage = infoImage;
51.386 + } else {
51.387 + iconImage = null;
51.388 + }
51.389 +
51.390 + if (iconImage != null) {
51.391 + Dimension tpSize = textPanel.getSize();
51.392 + iconCanvas.setSize(BALLOON_ICON_WIDTH, (BALLOON_ICON_HEIGHT > tpSize.height ?
51.393 + BALLOON_ICON_HEIGHT : tpSize.height));
51.394 + iconCanvas.validate();
51.395 + }
51.396 +
51.397 + SunToolkit.executeOnEventHandlerThread(target, new Runnable() {
51.398 + public void run() {
51.399 + if (liveArguments.isDisposed()) {
51.400 + return;
51.401 + }
51.402 + Point parLoc = getParent().getLocationOnScreen();
51.403 + Dimension parSize = getParent().getSize();
51.404 + show(new Point(parLoc.x + parSize.width/2, parLoc.y + parSize.height/2),
51.405 + BALLOON_TRAY_ICON_INDENT);
51.406 + if (iconImage != null) {
51.407 + iconCanvas.updateImage(iconImage); // call it after the show(..) above
51.408 + }
51.409 + }
51.410 + });
51.411 + }
51.412 +
51.413 + public void dispose() {
51.414 + displayer.interrupt();
51.415 + super.dispose();
51.416 + }
51.417 +
51.418 + private void loadGtkImages() {
51.419 + if (!gtkImagesLoaded) {
51.420 + errorImage = (Image)Toolkit.getDefaultToolkit().getDesktopProperty(
51.421 + "gtk.icon.gtk-dialog-error.6.rtl");
51.422 + warnImage = (Image)Toolkit.getDefaultToolkit().getDesktopProperty(
51.423 + "gtk.icon.gtk-dialog-warning.6.rtl");
51.424 + infoImage = (Image)Toolkit.getDefaultToolkit().getDesktopProperty(
51.425 + "gtk.icon.gtk-dialog-info.6.rtl");
51.426 + gtkImagesLoaded = true;
51.427 + }
51.428 + }
51.429 +
51.430 + private class ActionPerformer extends MouseAdapter {
51.431 + public void mouseClicked(MouseEvent e) {
51.432 + // hide the balloon by any click
51.433 + hide();
51.434 + if (e.getButton() == MouseEvent.BUTTON1) {
51.435 + ActionEvent aev = new ActionEvent(target, ActionEvent.ACTION_PERFORMED,
51.436 + liveArguments.getActionCommand(),
51.437 + e.getWhen(), e.getModifiers());
51.438 + Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(aev);
51.439 + }
51.440 + }
51.441 + }
51.442 +
51.443 + private class Displayer extends Thread {
51.444 + final int MAX_CONCURRENT_MSGS = 10;
51.445 +
51.446 + ArrayBlockingQueue<Message> messageQueue = new ArrayBlockingQueue<Message>(MAX_CONCURRENT_MSGS);
51.447 + boolean isDisplayed;
51.448 +
51.449 + Displayer() {
51.450 + setDaemon(true);
51.451 + }
51.452 +
51.453 + public void run() {
51.454 + while (true) {
51.455 + Message msg = null;
51.456 + try {
51.457 + msg = (Message)messageQueue.take();
51.458 + } catch (InterruptedException e) {
51.459 + return;
51.460 + }
51.461 +
51.462 + /*
51.463 + * Wait till the previous message is displayed if any
51.464 + */
51.465 + XToolkit.awtLock();
51.466 + try {
51.467 + while (isDisplayed) {
51.468 + try {
51.469 + XToolkit.awtLockWait();
51.470 + } catch (InterruptedException e) {
51.471 + return;
51.472 + }
51.473 + }
51.474 + isDisplayed = true;
51.475 + } finally {
51.476 + XToolkit.awtUnlock();
51.477 + }
51.478 + _display(msg.caption, msg.text, msg.messageType);
51.479 + }
51.480 + }
51.481 +
51.482 + void display(String caption, String text, String messageType) {
51.483 + messageQueue.offer(new Message(caption, text, messageType));
51.484 + }
51.485 + }
51.486 +
51.487 + private static class Message {
51.488 + String caption, text, messageType;
51.489 +
51.490 + Message(String caption, String text, String messageType) {
51.491 + this.caption = caption;
51.492 + this.text = text;
51.493 + this.messageType = messageType;
51.494 + }
51.495 + }
51.496 + }
51.497 +}
51.498 +
52.1 --- a/src/solaris/classes/sun/awt/X11/XBaseWindow.java Tue Apr 14 00:05:07 2009 -0700
52.2 +++ b/src/solaris/classes/sun/awt/X11/XBaseWindow.java Tue Apr 14 04:21:02 2009 -0700
52.3 @@ -842,27 +842,35 @@
52.4 | XConstants.ButtonMotionMask);
52.5 final int ownerEvents = 1;
52.6
52.7 - int ptrGrab = XlibWrapper.XGrabPointer(XToolkit.getDisplay(),
52.8 - getContentWindow(), ownerEvents, eventMask, XConstants.GrabModeAsync,
52.9 - XConstants.GrabModeAsync, XConstants.None, (XWM.isMotif() ? XToolkit.arrowCursor : XConstants.None),
52.10 - XConstants.CurrentTime);
52.11 - // Check grab results to be consistent with X server grab
52.12 - if (ptrGrab != XConstants.GrabSuccess) {
52.13 - XlibWrapper.XUngrabPointer(XToolkit.getDisplay(), XConstants.CurrentTime);
52.14 - XAwtState.setGrabWindow(null);
52.15 - grabLog.fine(" Grab Failure - mouse");
52.16 - return false;
52.17 - }
52.18
52.19 - int keyGrab = XlibWrapper.XGrabKeyboard(XToolkit.getDisplay(),
52.20 - getContentWindow(), ownerEvents, XConstants.GrabModeAsync, XConstants.GrabModeAsync,
52.21 - XConstants.CurrentTime);
52.22 - if (keyGrab != XConstants.GrabSuccess) {
52.23 - XlibWrapper.XUngrabPointer(XToolkit.getDisplay(), XConstants.CurrentTime);
52.24 - XlibWrapper.XUngrabKeyboard(XToolkit.getDisplay(), XConstants.CurrentTime);
52.25 - XAwtState.setGrabWindow(null);
52.26 - grabLog.fine(" Grab Failure - keyboard");
52.27 - return false;
52.28 + //6714678: IDE (Netbeans, Eclipse, JDeveloper) Debugger hangs
52.29 + //process on Linux
52.30 + //The user must pass the sun.awt.disablegrab property to disable
52.31 + //taking grabs. This prevents hanging of the GUI when a breakpoint
52.32 + //is hit while a popup window taking the grab is open.
52.33 + if (!XToolkit.getSunAwtDisableGrab()) {
52.34 + int ptrGrab = XlibWrapper.XGrabPointer(XToolkit.getDisplay(),
52.35 + getContentWindow(), ownerEvents, eventMask, XConstants.GrabModeAsync,
52.36 + XConstants.GrabModeAsync, XConstants.None, (XWM.isMotif() ? XToolkit.arrowCursor : XConstants.None),
52.37 + XConstants.CurrentTime);
52.38 + // Check grab results to be consistent with X server grab
52.39 + if (ptrGrab != XConstants.GrabSuccess) {
52.40 + XlibWrapper.XUngrabPointer(XToolkit.getDisplay(), XConstants.CurrentTime);
52.41 + XAwtState.setGrabWindow(null);
52.42 + grabLog.fine(" Grab Failure - mouse");
52.43 + return false;
52.44 + }
52.45 +
52.46 + int keyGrab = XlibWrapper.XGrabKeyboard(XToolkit.getDisplay(),
52.47 + getContentWindow(), ownerEvents, XConstants.GrabModeAsync, XConstants.GrabModeAsync,
52.48 + XConstants.CurrentTime);
52.49 + if (keyGrab != XConstants.GrabSuccess) {
52.50 + XlibWrapper.XUngrabPointer(XToolkit.getDisplay(), XConstants.CurrentTime);
52.51 + XlibWrapper.XUngrabKeyboard(XToolkit.getDisplay(), XConstants.CurrentTime);
52.52 + XAwtState.setGrabWindow(null);
52.53 + grabLog.fine(" Grab Failure - keyboard");
52.54 + return false;
52.55 + }
52.56 }
52.57 if (prevGrabWindow != null) {
52.58 prevGrabWindow.ungrabInputImpl();
52.59 @@ -882,8 +890,10 @@
52.60 grabLog.log(Level.FINE, "UnGrab input on {0}", new Object[] {grabWindow});
52.61 if (grabWindow != null) {
52.62 grabWindow.ungrabInputImpl();
52.63 - XlibWrapper.XUngrabPointer(XToolkit.getDisplay(), XConstants.CurrentTime);
52.64 - XlibWrapper.XUngrabKeyboard(XToolkit.getDisplay(), XConstants.CurrentTime);
52.65 + if (!XToolkit.getSunAwtDisableGrab()) {
52.66 + XlibWrapper.XUngrabPointer(XToolkit.getDisplay(), XConstants.CurrentTime);
52.67 + XlibWrapper.XUngrabKeyboard(XToolkit.getDisplay(), XConstants.CurrentTime);
52.68 + }
52.69 XAwtState.setGrabWindow(null);
52.70 // we need to call XFlush() here to force ungrab
52.71 // see 6384219 for details
53.1 --- a/src/solaris/classes/sun/awt/X11/XCanvasPeer.java Tue Apr 14 00:05:07 2009 -0700
53.2 +++ b/src/solaris/classes/sun/awt/X11/XCanvasPeer.java Tue Apr 14 04:21:02 2009 -0700
53.3 @@ -27,7 +27,6 @@
53.4 import java.awt.*;
53.5 import java.awt.peer.*;
53.6
53.7 -import sun.awt.ComponentAccessor;
53.8 import sun.awt.SunToolkit;
53.9
53.10 import sun.awt.X11GraphicsConfig;
53.11 @@ -54,60 +53,45 @@
53.12 }
53.13 }
53.14
53.15 - void resetTargetGC(Component target) {
53.16 - ComponentAccessor.resetGC(target);
53.17 + /* Get a GraphicsConfig with the same visual on the new
53.18 + * screen, which should be easy in Xinerama mode.
53.19 + */
53.20 + public GraphicsConfiguration getAppropriateGraphicsConfiguration(
53.21 + GraphicsConfiguration gc)
53.22 + {
53.23 + if (graphicsConfig == null || gc == null) {
53.24 + return gc;
53.25 + }
53.26 + // Opt: Only need to do if we're not using the default GC
53.27 +
53.28 + int screenNum = ((X11GraphicsDevice)gc.getDevice()).getScreen();
53.29 +
53.30 + X11GraphicsConfig parentgc;
53.31 + // save vis id of current gc
53.32 + int visual = graphicsConfig.getVisual();
53.33 +
53.34 + X11GraphicsDevice newDev = (X11GraphicsDevice) GraphicsEnvironment.
53.35 + getLocalGraphicsEnvironment().
53.36 + getScreenDevices()[screenNum];
53.37 +
53.38 + for (int i = 0; i < newDev.getNumConfigs(screenNum); i++) {
53.39 + if (visual == newDev.getConfigVisualId(i, screenNum)) {
53.40 + // use that
53.41 + graphicsConfig = (X11GraphicsConfig)newDev.getConfigurations()[i];
53.42 + break;
53.43 + }
53.44 + }
53.45 + // just in case...
53.46 + if (graphicsConfig == null) {
53.47 + graphicsConfig = (X11GraphicsConfig) GraphicsEnvironment.
53.48 + getLocalGraphicsEnvironment().
53.49 + getScreenDevices()[screenNum].
53.50 + getDefaultConfiguration();
53.51 + }
53.52 +
53.53 + return graphicsConfig;
53.54 }
53.55
53.56 - /*
53.57 - * Called when the Window this
53.58 - * Canvas is on is moved onto another Xinerama screen.
53.59 - *
53.60 - * Canvases can be created with a non-defulat GraphicsConfiguration. The
53.61 - * GraphicsConfiguration needs to be changed to one on the new screen,
53.62 - * preferably with the same visual ID.
53.63 - *
53.64 - * Up-called for other windows peer instances (XPanelPeer, XWindowPeer).
53.65 - *
53.66 - * Should only be called from the event thread.
53.67 - */
53.68 - public void displayChanged(int screenNum) {
53.69 - resetLocalGC(screenNum);
53.70 - resetTargetGC(target);
53.71 - }
53.72 -
53.73 - /* Set graphicsConfig to a GraphicsConfig with the same visual on the new
53.74 - * screen, which should be easy in Xinerama mode.
53.75 - *
53.76 - * Should only be called from displayChanged(), and therefore only from
53.77 - * the event thread.
53.78 - */
53.79 - void resetLocalGC(int screenNum) {
53.80 - // Opt: Only need to do if we're not using the default GC
53.81 - if (graphicsConfig != null) {
53.82 - X11GraphicsConfig parentgc;
53.83 - // save vis id of current gc
53.84 - int visual = graphicsConfig.getVisual();
53.85 -
53.86 - X11GraphicsDevice newDev = (X11GraphicsDevice) GraphicsEnvironment.
53.87 - getLocalGraphicsEnvironment().
53.88 - getScreenDevices()[screenNum];
53.89 -
53.90 - for (int i = 0; i < newDev.getNumConfigs(screenNum); i++) {
53.91 - if (visual == newDev.getConfigVisualId(i, screenNum)) {
53.92 - // use that
53.93 - graphicsConfig = (X11GraphicsConfig)newDev.getConfigurations()[i];
53.94 - break;
53.95 - }
53.96 - }
53.97 - // just in case...
53.98 - if (graphicsConfig == null) {
53.99 - graphicsConfig = (X11GraphicsConfig) GraphicsEnvironment.
53.100 - getLocalGraphicsEnvironment().
53.101 - getScreenDevices()[screenNum].
53.102 - getDefaultConfiguration();
53.103 - }
53.104 - }
53.105 - }
53.106 protected boolean shouldFocusOnClick() {
53.107 // Canvas should always be able to be focused by mouse clicks.
53.108 return true;
54.1 --- a/src/solaris/classes/sun/awt/X11/XComponentPeer.java Tue Apr 14 00:05:07 2009 -0700
54.2 +++ b/src/solaris/classes/sun/awt/X11/XComponentPeer.java Tue Apr 14 04:21:02 2009 -0700
54.3 @@ -35,6 +35,7 @@
54.4 import java.awt.Font;
54.5 import java.awt.FontMetrics;
54.6 import java.awt.Graphics;
54.7 +import java.awt.GraphicsConfiguration;
54.8 import java.awt.Image;
54.9 import java.awt.Insets;
54.10 import java.awt.KeyboardFocusManager;
54.11 @@ -76,11 +77,6 @@
54.12 public class XComponentPeer extends XWindow implements ComponentPeer, DropTargetPeer,
54.13 BackBufferCapsProvider
54.14 {
54.15 - /* FIX ME: these constants copied from java.awt.KeyboardFocusManager */
54.16 - static final int SNFH_FAILURE = 0;
54.17 - static final int SNFH_SUCCESS_HANDLED = 1;
54.18 - static final int SNFH_SUCCESS_PROCEED = 2;
54.19 -
54.20 private static final Logger log = Logger.getLogger("sun.awt.X11.XComponentPeer");
54.21 private static final Logger buffersLog = Logger.getLogger("sun.awt.X11.XComponentPeer.multibuffer");
54.22 private static final Logger focusLog = Logger.getLogger("sun.awt.X11.focus.XComponentPeer");
54.23 @@ -166,7 +162,7 @@
54.24 enableLog.log(Level.FINE, "Initial enable state: {0}", new Object[] {Boolean.valueOf(enabled)});
54.25
54.26 if (target.isVisible()) {
54.27 - show();
54.28 + setVisible(true);
54.29 }
54.30 }
54.31
54.32 @@ -314,113 +310,27 @@
54.33 return null;
54.34 }
54.35
54.36 - /**
54.37 - * Returns whether or not this component should be given focus on mouse click.
54.38 - * Default implementation return whether or not this peer is "focusable"
54.39 - * Descendants might want to override it to extend/restrict conditions at which this
54.40 - * component should be focused by click (see MCanvasPeer and MPanelPeer)
54.41 - */
54.42 - protected boolean shouldFocusOnClick() {
54.43 - return isFocusable();
54.44 - }
54.45 -
54.46 - /**
54.47 - * Checks whether or not this component would be focused by native system if it would be allowed to do so.
54.48 - * Currently it checks that it displayable, visible, enabled and focusable.
54.49 - */
54.50 - static boolean canBeFocusedByClick(Component component) {
54.51 - if (component == null) {
54.52 - return false;
54.53 - } else {
54.54 - return component.isDisplayable() && component.isVisible() && component.isEnabled() && component.isFocusable();
54.55 - }
54.56 - }
54.57 -
54.58 - static Window getContainingWindow(Component comp) {
54.59 - while (comp != null && !(comp instanceof Window)) {
54.60 - comp = comp.getParent();
54.61 - }
54.62 -
54.63 - return (Window)comp;
54.64 - }
54.65 -
54.66 - static Method processSynchronousLightweightTransferMethod;
54.67 - static boolean processSynchronousLightweightTransfer(Component heavyweight, Component descendant,
54.68 - boolean temporary, boolean focusedWindowChangeAllowed,
54.69 - long time)
54.70 + // TODO: consider moving it to KeyboardFocusManagerPeerImpl
54.71 + final public boolean requestFocus(Component lightweightChild, boolean temporary,
54.72 + boolean focusedWindowChangeAllowed, long time,
54.73 + CausedFocusEvent.Cause cause)
54.74 {
54.75 - try {
54.76 - if (processSynchronousLightweightTransferMethod == null) {
54.77 - processSynchronousLightweightTransferMethod =
54.78 - (Method)AccessController.doPrivileged(
54.79 - new PrivilegedExceptionAction() {
54.80 - public Object run() throws IllegalAccessException, NoSuchMethodException
54.81 - {
54.82 - Method m = KeyboardFocusManager.class.
54.83 - getDeclaredMethod("processSynchronousLightweightTransfer",
54.84 - new Class[] {Component.class, Component.class,
54.85 - Boolean.TYPE, Boolean.TYPE,
54.86 - Long.TYPE});
54.87 - m.setAccessible(true);
54.88 - return m;
54.89 - }
54.90 - });
54.91 - }
54.92 - Object[] params = new Object[] {
54.93 - heavyweight,
54.94 - descendant,
54.95 - Boolean.valueOf(temporary),
54.96 - Boolean.valueOf(focusedWindowChangeAllowed),
54.97 - Long.valueOf(time)
54.98 - };
54.99 - return ((Boolean)processSynchronousLightweightTransferMethod.invoke(null, params)).booleanValue();
54.100 - } catch (PrivilegedActionException pae) {
54.101 - pae.printStackTrace();
54.102 - return false;
54.103 - } catch (IllegalAccessException iae) {
54.104 - iae.printStackTrace();
54.105 - return false;
54.106 - } catch (IllegalArgumentException iaee) {
54.107 - iaee.printStackTrace();
54.108 - return false;
54.109 - } catch (InvocationTargetException ite) {
54.110 - ite.printStackTrace();
54.111 - return false;
54.112 - }
54.113 - }
54.114 -
54.115 - static Method requestFocusWithCause;
54.116 -
54.117 - static void callRequestFocus(Component target, CausedFocusEvent.Cause cause) {
54.118 - if (requestFocusWithCause == null) {
54.119 - requestFocusWithCause = SunToolkit.getMethod(Component.class, "requestFocus", new Class[] {CausedFocusEvent.Cause.class});
54.120 - }
54.121 - if (requestFocusWithCause != null) {
54.122 - try {
54.123 - requestFocusWithCause.invoke(target, new Object[] {cause});
54.124 - } catch (Exception e) {
54.125 - e.printStackTrace();
54.126 - }
54.127 - }
54.128 - }
54.129 -
54.130 - final public boolean requestFocus(Component lightweightChild, boolean temporary,
54.131 - boolean focusedWindowChangeAllowed, long time, CausedFocusEvent.Cause cause)
54.132 - {
54.133 - if (processSynchronousLightweightTransfer(target, lightweightChild, temporary,
54.134 + if (XKeyboardFocusManagerPeer.
54.135 + processSynchronousLightweightTransfer(target, lightweightChild, temporary,
54.136 focusedWindowChangeAllowed, time))
54.137 {
54.138 return true;
54.139 }
54.140
54.141 - int result = XKeyboardFocusManagerPeer
54.142 - .shouldNativelyFocusHeavyweight(target, lightweightChild,
54.143 - temporary, focusedWindowChangeAllowed, time, cause);
54.144 + int result = XKeyboardFocusManagerPeer.
54.145 + shouldNativelyFocusHeavyweight(target, lightweightChild,
54.146 + temporary, focusedWindowChangeAllowed,
54.147 + time, cause);
54.148
54.149 switch (result) {
54.150 - case SNFH_FAILURE:
54.151 + case XKeyboardFocusManagerPeer.SNFH_FAILURE:
54.152 return false;
54.153 - case SNFH_SUCCESS_PROCEED:
54.154 + case XKeyboardFocusManagerPeer.SNFH_SUCCESS_PROCEED:
54.155 // Currently we just generate focus events like we deal with lightweight instead of calling
54.156 // XSetInputFocus on native window
54.157 if (focusLog.isLoggable(Level.FINER)) focusLog.finer("Proceeding with request to " +
54.158 @@ -433,7 +343,7 @@
54.159 * focus owner which had focus before WLF. So, we should not add request record for such requests
54.160 * but store this component in mostRecent - and return true as before for compatibility.
54.161 */
54.162 - Window parentWindow = getContainingWindow(target);
54.163 + Window parentWindow = SunToolkit.getContainingWindow(target);
54.164 if (parentWindow == null) {
54.165 return rejectFocusRequestHelper("WARNING: Parent window is null");
54.166 }
54.167 @@ -454,14 +364,13 @@
54.168 if (!(res && parentWindow.isFocused())) {
54.169 return rejectFocusRequestHelper("Waiting for asynchronous processing of the request");
54.170 }
54.171 -
54.172 - // NOTE: We simulate heavyweight behavior of Motif - component receives focus right
54.173 - // after request, not after event. Normally, we should better listen for event
54.174 - // by listeners.
54.175 - return XKeyboardFocusManagerPeer.simulateMotifRequestFocus(lightweightChild, target, temporary,
54.176 - focusedWindowChangeAllowed, time, cause);
54.177 + return XKeyboardFocusManagerPeer.deliverFocus(lightweightChild,
54.178 + (Component)target,
54.179 + temporary,
54.180 + focusedWindowChangeAllowed,
54.181 + time, cause);
54.182 // Motif compatibility code
54.183 - case SNFH_SUCCESS_HANDLED:
54.184 + case XKeyboardFocusManagerPeer.SNFH_SUCCESS_HANDLED:
54.185 // Either lightweight or excessive request - all events are generated.
54.186 return true;
54.187 }
54.188 @@ -470,7 +379,7 @@
54.189
54.190 private boolean rejectFocusRequestHelper(String logMsg) {
54.191 if (focusLog.isLoggable(Level.FINER)) focusLog.finer(logMsg);
54.192 - KeyboardFocusManagerPeerImpl.removeLastFocusRequest(target);
54.193 + XKeyboardFocusManagerPeer.removeLastFocusRequest(target);
54.194 return false;
54.195 }
54.196
54.197 @@ -496,10 +405,6 @@
54.198 xSetVisible(b);
54.199 }
54.200
54.201 - public void show() {
54.202 - setVisible(true);
54.203 - }
54.204 -
54.205 public void hide() {
54.206 setVisible(false);
54.207 }
54.208 @@ -618,8 +523,9 @@
54.209 void handleJavaMouseEvent(MouseEvent e) {
54.210 switch (e.getID()) {
54.211 case MouseEvent.MOUSE_PRESSED:
54.212 - if (target == e.getSource() && shouldFocusOnClick()
54.213 - && !target.isFocusOwner() && canBeFocusedByClick(target))
54.214 + if (target == e.getSource() &&
54.215 + !target.isFocusOwner() &&
54.216 + XKeyboardFocusManagerPeer.shouldFocusOnClick(target))
54.217 {
54.218 XWindowPeer parentXWindow = getParentTopLevel();
54.219 Window parentWindow = ((Window)parentXWindow.getTarget());
54.220 @@ -633,7 +539,7 @@
54.221 // WindowEvent wfg = new WindowEvent(parentWindow, WindowEvent.WINDOW_GAINED_FOCUS);
54.222 // parentWindow.dispatchEvent(wfg);
54.223 // }
54.224 - callRequestFocus(target, CausedFocusEvent.Cause.MOUSE_EVENT);
54.225 + XKeyboardFocusManagerPeer.requestFocusFor(target, CausedFocusEvent.Cause.MOUSE_EVENT);
54.226 }
54.227 break;
54.228 }
54.229 @@ -1418,59 +1324,21 @@
54.230 }
54.231 }
54.232
54.233 - public void restack() {
54.234 - synchronized(target.getTreeLock()) {
54.235 - // Build the list of X windows in the window corresponding to this container
54.236 - // This list is already in correct Java stacking order
54.237 - Container cont = (Container)target;
54.238 - Vector order = new Vector(cont.getComponentCount());
54.239 - HashSet set = new HashSet();
54.240 + /**
54.241 + * Lowers this component at the bottom of the above HW peer. If the above parameter
54.242 + * is null then the method places this component at the top of the Z-order.
54.243 + */
54.244 + public void setZOrder(ComponentPeer above) {
54.245 + long aboveWindow = (above != null) ? ((XComponentPeer)above).getWindow() : 0;
54.246
54.247 - addTree(order, set, cont);
54.248 -
54.249 - XToolkit.awtLock();
54.250 - try {
54.251 - // Get the current list of X window in X window. Some of the windows
54.252 - // might be only native
54.253 - XQueryTree qt = new XQueryTree(getContentWindow());
54.254 - try {
54.255 - if (qt.execute() != 0) {
54.256 - if (qt.get_nchildren() != 0) {
54.257 - long pchildren = qt.get_children();
54.258 - int j = 0; // index to insert
54.259 - for (int i = 0; i < qt.get_nchildren(); i++) {
54.260 - Long w = Long.valueOf(Native.getLong(pchildren, i));
54.261 - if (!set.contains(w)) {
54.262 - set.add(w);
54.263 - order.add(j++, w);
54.264 - }
54.265 - }
54.266 - }
54.267 - }
54.268 -
54.269 - if (order.size() != 0) {
54.270 - // Create native array of the windows
54.271 - long windows = Native.allocateLongArray(order.size());
54.272 - Native.putLong(windows, order);
54.273 -
54.274 - // Restack native window according to the new order
54.275 - XlibWrapper.XRestackWindows(XToolkit.getDisplay(), windows, order.size());
54.276 -
54.277 - XlibWrapper.unsafe.freeMemory(windows);
54.278 - }
54.279 - } finally {
54.280 - qt.dispose();
54.281 - }
54.282 - } finally {
54.283 - XToolkit.awtUnlock();
54.284 - }
54.285 + XToolkit.awtLock();
54.286 + try{
54.287 + XlibWrapper.SetZOrder(XToolkit.getDisplay(), getWindow(), aboveWindow);
54.288 + }finally{
54.289 + XToolkit.awtUnlock();
54.290 }
54.291 }
54.292
54.293 - public boolean isRestackSupported() {
54.294 - return true;
54.295 - }
54.296 -
54.297 private void addTree(Collection order, Set set, Container cont) {
54.298 for (int i = 0; i < cont.getComponentCount(); i++) {
54.299 Component comp = cont.getComponent(i);
54.300 @@ -1560,4 +1428,8 @@
54.301 }
54.302 }
54.303 }
54.304 +
54.305 + public void updateGraphicsData(GraphicsConfiguration gc) {
54.306 + initGraphicsConfiguration();
54.307 + }
54.308 }
55.1 --- a/src/solaris/classes/sun/awt/X11/XConstants.java Tue Apr 14 00:05:07 2009 -0700
55.2 +++ b/src/solaris/classes/sun/awt/X11/XConstants.java Tue Apr 14 04:21:02 2009 -0700
55.3 @@ -1,5 +1,5 @@
55.4 /*
55.5 - * Copyright 2003-2008 Sun Microsystems, Inc. All Rights Reserved.
55.6 + * Copyright 2003-2009 Sun Microsystems, Inc. All Rights Reserved.
55.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
55.8 *
55.9 * This code is free software; you can redistribute it and/or modify it
55.10 @@ -684,4 +684,19 @@
55.11
55.12 public static final int LSBFirst = 0 ;
55.13 public static final int MSBFirst = 1 ;
55.14 +
55.15 + /* XKB support */
55.16 + public static final int XkbUseCoreKbd = 0x0100 ;
55.17 + public static final int XkbNewKeyboardNotify = 0;
55.18 + public static final int XkbMapNotify = 1;
55.19 + public static final int XkbStateNotify = 2;
55.20 + public static final long XkbNewKeyboardNotifyMask = (1L << 0);
55.21 + public static final long XkbMapNotifyMask = (1L << 1);
55.22 + public static final long XkbStateNotifyMask = (1L << 2);
55.23 + public static final long XkbGroupStateMask = (1L << 4);
55.24 + public static final long XkbKeyTypesMask = (1L<<0);
55.25 + public static final long XkbKeySymsMask = (1L<<1);
55.26 + public static final long XkbModifierMapMask = (1L<<2);
55.27 + public static final long XkbVirtualModsMask = (1L<<6); //server map
55.28 +
55.29 }
56.1 --- a/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java Tue Apr 14 00:05:07 2009 -0700
56.2 +++ b/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java Tue Apr 14 04:21:02 2009 -0700
56.3 @@ -383,7 +383,7 @@
56.4 dimensions.setInsets(getRealInsets());
56.5 insets_corrected = true;
56.6
56.7 - if (isMaximized() || isNull(correction)) {
56.8 + if (isMaximized()) {
56.9 return;
56.10 }
56.11
56.12 @@ -451,7 +451,7 @@
56.13
56.14 public Insets getInsets() {
56.15 Insets in = copy(getRealInsets());
56.16 - in.top += getMenuBarHeight() + getWarningWindowHeight();
56.17 + in.top += getMenuBarHeight();
56.18 if (insLog.isLoggable(Level.FINEST)) {
56.19 insLog.log(Level.FINEST, "Get insets returns {0}", new Object[] {in});
56.20 }
56.21 @@ -802,6 +802,8 @@
56.22 }
56.23 reconfigureContentWindow(newDimensions);
56.24 updateChildrenSizes();
56.25 +
56.26 + repositionSecurityWarning();
56.27 }
56.28
56.29 private void checkShellRectSize(Rectangle shellRect) {
57.1 --- a/src/solaris/classes/sun/awt/X11/XEmbedChildProxyPeer.java Tue Apr 14 00:05:07 2009 -0700
57.2 +++ b/src/solaris/classes/sun/awt/X11/XEmbedChildProxyPeer.java Tue Apr 14 04:21:02 2009 -0700
57.3 @@ -184,6 +184,7 @@
57.4 fl = new FocusEvent(currentOwner, FocusEvent.FOCUS_LOST, false, lightweightChild);
57.5 }
57.6
57.7 + // TODO: do we need to wrap in sequenced?
57.8 if (fl != null) {
57.9 postEvent(XComponentPeer.wrapInSequenced(fl));
57.10 }
57.11 @@ -203,9 +204,9 @@
57.12 temporary, false, time, cause);
57.13
57.14 switch (result) {
57.15 - case XComponentPeer.SNFH_FAILURE:
57.16 + case XKeyboardFocusManagerPeer.SNFH_FAILURE:
57.17 return false;
57.18 - case XComponentPeer.SNFH_SUCCESS_PROCEED:
57.19 + case XKeyboardFocusManagerPeer.SNFH_SUCCESS_PROCEED:
57.20 // Currently we just generate focus events like we deal with lightweight instead of calling
57.21 // XSetInputFocus on native window
57.22
57.23 @@ -235,9 +236,11 @@
57.24 // NOTE: We simulate heavyweight behavior of Motif - component receives focus right
57.25 // after request, not after event. Normally, we should better listen for event
57.26 // by listeners.
57.27 +
57.28 + // TODO: consider replacing with XKeyboardFocusManagerPeer.deliverFocus
57.29 return simulateMotifRequestFocus(lightweightChild, temporary, focusedWindowChangeAllowed, time);
57.30 // Motif compatibility code
57.31 - case XComponentPeer.SNFH_SUCCESS_HANDLED:
57.32 + case XKeyboardFocusManagerPeer.SNFH_SUCCESS_HANDLED:
57.33 // Either lightweight or excessive requiest - all events are generated.
57.34 return true;
57.35 }
57.36 @@ -379,4 +382,9 @@
57.37
57.38 public void applyShape(Region shape) {
57.39 }
57.40 +
57.41 + public void setZOrder(ComponentPeer above) {
57.42 + }
57.43 +
57.44 + public void updateGraphicsData(GraphicsConfiguration gc) {}
57.45 }
58.1 --- a/src/solaris/classes/sun/awt/X11/XFileDialogPeer.java Tue Apr 14 00:05:07 2009 -0700
58.2 +++ b/src/solaris/classes/sun/awt/X11/XFileDialogPeer.java Tue Apr 14 04:21:02 2009 -0700
58.3 @@ -739,7 +739,17 @@
58.4 this.filter = filter;
58.5 }
58.6
58.7 - public void show() {
58.8 +
58.9 + public void dispose() {
58.10 + FileDialog fd = (FileDialog)fileDialog;
58.11 + if (fd != null) {
58.12 + fd.removeAll();
58.13 + }
58.14 + super.dispose();
58.15 + }
58.16 +
58.17 + // 03/02/2005 b5097243 Pressing 'ESC' on a file dlg does not dispose the dlg on Xtoolkit
58.18 + public void setVisible(boolean b){
58.19 if (fileDialog == null) {
58.20 init((FileDialog)target);
58.21 }
58.22 @@ -754,34 +764,20 @@
58.23 setFile(savedFile);
58.24 }
58.25
58.26 - super.show();
58.27 - selectionField.requestFocusInWindow();
58.28 - }
58.29 -
58.30 - public void dispose() {
58.31 - FileDialog fd = (FileDialog)fileDialog;
58.32 - if (fd != null) {
58.33 - fd.removeAll();
58.34 - }
58.35 - super.dispose();
58.36 - }
58.37 -
58.38 - // 03/02/2005 b5097243 Pressing 'ESC' on a file dlg does not dispose the dlg on Xtoolkit
58.39 - public void setVisible(boolean b){
58.40 super.setVisible(b);
58.41 if (b == true){
58.42 // See 6240074 for more information
58.43 XChoicePeer choicePeer = (XChoicePeer)pathChoice.getPeer();
58.44 choicePeer.addXChoicePeerListener(this);
58.45 -
58.46 KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(this);
58.47 }else{
58.48 // See 6240074 for more information
58.49 XChoicePeer choicePeer = (XChoicePeer)pathChoice.getPeer();
58.50 choicePeer.removeXChoicePeerListener();
58.51 -
58.52 KeyboardFocusManager.getCurrentKeyboardFocusManager().removeKeyEventDispatcher(this);
58.53 }
58.54 +
58.55 + selectionField.requestFocusInWindow();
58.56 }
58.57
58.58 /*
59.1 --- a/src/solaris/classes/sun/awt/X11/XFramePeer.java Tue Apr 14 00:05:07 2009 -0700
59.2 +++ b/src/solaris/classes/sun/awt/X11/XFramePeer.java Tue Apr 14 04:21:02 2009 -0700
59.3 @@ -36,6 +36,7 @@
59.4 import java.awt.peer.FramePeer;
59.5 import java.util.logging.Level;
59.6 import java.util.logging.Logger;
59.7 +import sun.awt.AWTAccessor;
59.8
59.9 class XFramePeer extends XDecoratedPeer implements FramePeer {
59.10 private static Logger log = Logger.getLogger("sun.awt.X11.XFramePeer");
59.11 @@ -231,13 +232,19 @@
59.12 }
59.13 }
59.14
59.15 - public int getState() { return state; }
59.16 + public int getState() {
59.17 + synchronized(getStateLock()) {
59.18 + return state;
59.19 + }
59.20 + }
59.21
59.22 public void setState(int newState) {
59.23 - if (!isShowing()) {
59.24 - stateLog.finer("Frame is not showing");
59.25 - state = newState;
59.26 - return;
59.27 + synchronized(getStateLock()) {
59.28 + if (!isShowing()) {
59.29 + stateLog.finer("Frame is not showing");
59.30 + state = newState;
59.31 + return;
59.32 + }
59.33 }
59.34 changeState(newState);
59.35 }
59.36 @@ -296,6 +303,9 @@
59.37 int old_state = state;
59.38 state = newState;
59.39
59.40 + // sync target with peer
59.41 + AWTAccessor.getFrameAccessor().setExtendedState((Frame)target, state);
59.42 +
59.43 if ((changed & Frame.ICONIFIED) != 0) {
59.44 if ((state & Frame.ICONIFIED) != 0) {
59.45 stateLog.finer("Iconified");
60.1 --- a/src/solaris/classes/sun/awt/X11/XKeyboardFocusManagerPeer.java Tue Apr 14 00:05:07 2009 -0700
60.2 +++ b/src/solaris/classes/sun/awt/X11/XKeyboardFocusManagerPeer.java Tue Apr 14 04:21:02 2009 -0700
60.3 @@ -31,6 +31,7 @@
60.4 import java.awt.event.FocusEvent;
60.5
60.6 import java.awt.peer.KeyboardFocusManagerPeer;
60.7 +import java.awt.peer.ComponentPeer;
60.8
60.9 import java.lang.reflect.InvocationTargetException;
60.10 import java.lang.reflect.Method;
60.11 @@ -40,136 +41,90 @@
60.12
60.13 import sun.awt.CausedFocusEvent;
60.14 import sun.awt.SunToolkit;
60.15 +import sun.awt.KeyboardFocusManagerPeerImpl;
60.16
60.17 -public class XKeyboardFocusManagerPeer implements KeyboardFocusManagerPeer {
60.18 +public class XKeyboardFocusManagerPeer extends KeyboardFocusManagerPeerImpl {
60.19 private static final Logger focusLog = Logger.getLogger("sun.awt.X11.focus.XKeyboardFocusManagerPeer");
60.20 - KeyboardFocusManager manager;
60.21 -
60.22 - XKeyboardFocusManagerPeer(KeyboardFocusManager manager) {
60.23 - this.manager = manager;
60.24 - }
60.25
60.26 private static Object lock = new Object() {};
60.27 private static Component currentFocusOwner;
60.28 private static Window currentFocusedWindow;
60.29
60.30 - static void setCurrentNativeFocusOwner(Component comp) {
60.31 - if (focusLog.isLoggable(Level.FINER)) focusLog.finer("Setting current native focus owner " + comp);
60.32 - synchronized(lock) {
60.33 + XKeyboardFocusManagerPeer(KeyboardFocusManager manager) {
60.34 + super(manager);
60.35 + }
60.36 +
60.37 + @Override
60.38 + public void setCurrentFocusOwner(Component comp) {
60.39 + setCurrentNativeFocusOwner(comp);
60.40 + }
60.41 +
60.42 + @Override
60.43 + public Component getCurrentFocusOwner() {
60.44 + return getCurrentNativeFocusOwner();
60.45 + }
60.46 +
60.47 + @Override
60.48 + public Window getCurrentFocusedWindow() {
60.49 + return getCurrentNativeFocusedWindow();
60.50 + }
60.51 +
60.52 + public static void setCurrentNativeFocusOwner(Component comp) {
60.53 + synchronized (lock) {
60.54 currentFocusOwner = comp;
60.55 }
60.56 }
60.57
60.58 - static void setCurrentNativeFocusedWindow(Window win) {
60.59 - if (focusLog.isLoggable(Level.FINER)) focusLog.finer("Setting current native focused window " + win);
60.60 - synchronized(lock) {
60.61 - currentFocusedWindow = win;
60.62 - }
60.63 - }
60.64 -
60.65 - static Component getCurrentNativeFocusOwner() {
60.66 + public static Component getCurrentNativeFocusOwner() {
60.67 synchronized(lock) {
60.68 return currentFocusOwner;
60.69 }
60.70 }
60.71
60.72 - static Window getCurrentNativeFocusedWindow() {
60.73 + public static void setCurrentNativeFocusedWindow(Window win) {
60.74 + if (focusLog.isLoggable(Level.FINER)) focusLog.finer("Setting current native focused window " + win);
60.75 + XWindowPeer from = null, to = null;
60.76 +
60.77 + synchronized(lock) {
60.78 + if (currentFocusedWindow != null) {
60.79 + from = (XWindowPeer)currentFocusedWindow.getPeer();
60.80 + }
60.81 +
60.82 + currentFocusedWindow = win;
60.83 +
60.84 + if (currentFocusedWindow != null) {
60.85 + to = (XWindowPeer)currentFocusedWindow.getPeer();
60.86 + }
60.87 + }
60.88 +
60.89 + if (from != null) {
60.90 + from.updateSecurityWarningVisibility();
60.91 + }
60.92 + if (to != null) {
60.93 + to.updateSecurityWarningVisibility();
60.94 + }
60.95 + }
60.96 +
60.97 + public static Window getCurrentNativeFocusedWindow() {
60.98 synchronized(lock) {
60.99 return currentFocusedWindow;
60.100 }
60.101 }
60.102
60.103 - public Window getCurrentFocusedWindow() {
60.104 - return getCurrentNativeFocusedWindow();
60.105 - }
60.106 -
60.107 - public void setCurrentFocusOwner(Component comp) {
60.108 - setCurrentNativeFocusOwner(comp);
60.109 - }
60.110 -
60.111 - public Component getCurrentFocusOwner() {
60.112 - return getCurrentNativeFocusOwner();
60.113 - }
60.114 -
60.115 - public void clearGlobalFocusOwner(Window activeWindow) {
60.116 - if (activeWindow != null) {
60.117 - Component focusOwner = activeWindow.getFocusOwner();
60.118 - if (focusLog.isLoggable(Level.FINE)) focusLog.fine("Clearing global focus owner " + focusOwner);
60.119 - if (focusOwner != null) {
60.120 -// XComponentPeer nativePeer = XComponentPeer.getNativeContainer(focusOwner);
60.121 -// if (nativePeer != null) {
60.122 - FocusEvent fl = new CausedFocusEvent(focusOwner, FocusEvent.FOCUS_LOST, false, null,
60.123 - CausedFocusEvent.Cause.CLEAR_GLOBAL_FOCUS_OWNER);
60.124 - XWindow.sendEvent(fl);
60.125 -// }
60.126 - }
60.127 - }
60.128 - }
60.129 -
60.130 - static boolean simulateMotifRequestFocus(Component lightweightChild, Component target, boolean temporary,
60.131 - boolean focusedWindowChangeAllowed, long time, CausedFocusEvent.Cause cause)
60.132 + // TODO: do something to eliminate this forwarding
60.133 + public static boolean deliverFocus(Component lightweightChild,
60.134 + Component target,
60.135 + boolean temporary,
60.136 + boolean focusedWindowChangeAllowed,
60.137 + long time,
60.138 + CausedFocusEvent.Cause cause)
60.139 {
60.140 - if (lightweightChild == null) {
60.141 - lightweightChild = (Component)target;
60.142 - }
60.143 - Component currentOwner = XKeyboardFocusManagerPeer.getCurrentNativeFocusOwner();
60.144 - if (currentOwner != null && currentOwner.getPeer() == null) {
60.145 - currentOwner = null;
60.146 - }
60.147 - if (focusLog.isLoggable(Level.FINER)) focusLog.finer("Simulating transfer from " + currentOwner + " to " + lightweightChild);
60.148 - FocusEvent fg = new CausedFocusEvent(lightweightChild, FocusEvent.FOCUS_GAINED, false, currentOwner, cause);
60.149 - FocusEvent fl = null;
60.150 - if (currentOwner != null) {
60.151 - fl = new CausedFocusEvent(currentOwner, FocusEvent.FOCUS_LOST, false, lightweightChild, cause);
60.152 - }
60.153 -
60.154 - if (fl != null) {
60.155 - XWindow.sendEvent(fl);
60.156 - }
60.157 - XWindow.sendEvent(fg);
60.158 - return true;
60.159 - }
60.160 -
60.161 - static Method shouldNativelyFocusHeavyweightMethod;
60.162 -
60.163 - static int shouldNativelyFocusHeavyweight(Component heavyweight,
60.164 - Component descendant, boolean temporary,
60.165 - boolean focusedWindowChangeAllowed, long time, CausedFocusEvent.Cause cause)
60.166 - {
60.167 - if (shouldNativelyFocusHeavyweightMethod == null) {
60.168 - Class[] arg_types =
60.169 - new Class[] { Component.class,
60.170 - Component.class,
60.171 - Boolean.TYPE,
60.172 - Boolean.TYPE,
60.173 - Long.TYPE,
60.174 - CausedFocusEvent.Cause.class
60.175 - };
60.176 -
60.177 - shouldNativelyFocusHeavyweightMethod =
60.178 - SunToolkit.getMethod(KeyboardFocusManager.class,
60.179 - "shouldNativelyFocusHeavyweight",
60.180 - arg_types);
60.181 - }
60.182 - Object[] args = new Object[] { heavyweight,
60.183 - descendant,
60.184 - Boolean.valueOf(temporary),
60.185 - Boolean.valueOf(focusedWindowChangeAllowed),
60.186 - Long.valueOf(time), cause};
60.187 -
60.188 - int result = XComponentPeer.SNFH_FAILURE;
60.189 - if (shouldNativelyFocusHeavyweightMethod != null) {
60.190 - try {
60.191 - result = ((Integer) shouldNativelyFocusHeavyweightMethod.invoke(null, args)).intValue();
60.192 - }
60.193 - catch (IllegalAccessException e) {
60.194 - assert false;
60.195 - }
60.196 - catch (InvocationTargetException e) {
60.197 - assert false;
60.198 - }
60.199 - }
60.200 -
60.201 - return result;
60.202 + return KeyboardFocusManagerPeerImpl.deliverFocus(lightweightChild,
60.203 + target,
60.204 + temporary,
60.205 + focusedWindowChangeAllowed,
60.206 + time,
60.207 + cause,
60.208 + getCurrentNativeFocusOwner());
60.209 }
60.210 }
61.1 --- a/src/solaris/classes/sun/awt/X11/XKeysym.java Tue Apr 14 00:05:07 2009 -0700
61.2 +++ b/src/solaris/classes/sun/awt/X11/XKeysym.java Tue Apr 14 04:21:02 2009 -0700
61.3 @@ -1,7 +1,7 @@
61.4 // This is a generated file: do not edit! Edit keysym2ucs.h if necessary.
61.5
61.6 /*
61.7 - * Copyright 2005-2008 Sun Microsystems, Inc. All Rights Reserved.
61.8 + * Copyright 2005-2009 Sun Microsystems, Inc. All Rights Reserved.
61.9 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
61.10 *
61.11 * This code is free software; you can redistribute it and/or modify it
61.12 @@ -89,14 +89,47 @@
61.13 Character ch = keysym2UCSHash.get(ks);
61.14 return ch == null ? (char)0 : ch.charValue();
61.15 }
61.16 + static long xkeycode2keysym_noxkb(XKeyEvent ev, int ndx) {
61.17 + XToolkit.awtLock();
61.18 + try {
61.19 + return XlibWrapper.XKeycodeToKeysym(ev.get_display(), ev.get_keycode(), ndx);
61.20 + } finally {
61.21 + XToolkit.awtUnlock();
61.22 + }
61.23 + }
61.24 + static long xkeycode2keysym_xkb(XKeyEvent ev, int ndx) {
61.25 + XToolkit.awtLock();
61.26 + try {
61.27 + int mods = ev.get_state();
61.28 + if ((ndx == 0) && ((mods & XConstants.ShiftMask) != 0)) {
61.29 + // I don't know all possible meanings of 'ndx' in case of XKB
61.30 + // and don't want to speculate. But this particular case
61.31 + // clearly means that caller needs a so called primary keysym.
61.32 + mods ^= XConstants.ShiftMask;
61.33 + }
61.34 + XlibWrapper.XkbTranslateKeyCode(XToolkit.getXKBKbdDesc(), ev.get_keycode(),
61.35 + mods, XlibWrapper.iarg1, XlibWrapper.larg3);
61.36 + //XXX unconsumed modifiers?
61.37 + return Native.getLong(XlibWrapper.larg3);
61.38 + } finally {
61.39 + XToolkit.awtUnlock();
61.40 + }
61.41 + }
61.42 static long xkeycode2keysym(XKeyEvent ev, int ndx) {
61.43 XToolkit.awtLock();
61.44 try {
61.45 - return XlibWrapper.XKeycodeToKeysym(ev.get_display(), ev.get_keycode(), ndx );
61.46 + if (XToolkit.canUseXKBCalls()) {
61.47 + return xkeycode2keysym_xkb(ev, ndx);
61.48 + }else{
61.49 + return xkeycode2keysym_noxkb(ev, ndx);
61.50 + }
61.51 } finally {
61.52 XToolkit.awtUnlock();
61.53 }
61.54 }
61.55 + static long xkeycode2primary_keysym(XKeyEvent ev) {
61.56 + return xkeycode2keysym(ev, 0);
61.57 + }
61.58 public static boolean isKPEvent( XKeyEvent ev )
61.59 {
61.60 // Xsun without XKB uses keysymarray[2] keysym to determine if it is KP event.
61.61 @@ -198,6 +231,27 @@
61.62 Keysym2JavaKeycode jkc = getJavaKeycode( ev );
61.63 return jkc == null ? java.awt.event.KeyEvent.VK_UNDEFINED : jkc.getJavaKeycode();
61.64 }
61.65 + /**
61.66 + * Return an integer java keycode apprx as it was before extending keycodes range.
61.67 + * This call would ignore for instance XKB and process whatever is on the bottom
61.68 + * of keysym stack. Result will not depend on actual locale, will differ between
61.69 + * dual/multiple keyboard setup systems (e.g. English+Russian vs French+Russian)
61.70 + * but will be someway compatible with old releases.
61.71 + */
61.72 + static int getLegacyJavaKeycodeOnly( XKeyEvent ev ) {
61.73 + long keysym = XConstants.NoSymbol;
61.74 + int ndx = 0;
61.75 + if( (ev.get_state() & XToolkit.numLockMask) != 0 &&
61.76 + isKPEvent(ev)) {
61.77 + keysym = getKeypadKeysym( ev );
61.78 + } else {
61.79 + // we only need primary-layer keysym to derive a java keycode.
61.80 + ndx = 0;
61.81 + keysym = xkeycode2keysym_noxkb(ev, ndx);
61.82 + }
61.83 + Keysym2JavaKeycode jkc = keysym2JavaKeycodeHash.get( keysym );
61.84 + return jkc == null ? java.awt.event.KeyEvent.VK_UNDEFINED : jkc.getJavaKeycode();
61.85 + }
61.86 static long javaKeycode2Keysym( int jkey ) {
61.87 Long ks = javaKeycode2KeysymHash.get( jkey );
61.88 return (ks == null ? 0 : ks.longValue());
62.1 --- a/src/solaris/classes/sun/awt/X11/XNETProtocol.java Tue Apr 14 00:05:07 2009 -0700
62.2 +++ b/src/solaris/classes/sun/awt/X11/XNETProtocol.java Tue Apr 14 04:21:02 2009 -0700
62.3 @@ -1,5 +1,5 @@
62.4 /*
62.5 - * Copyright 2003-2008 Sun Microsystems, Inc. All Rights Reserved.
62.6 + * Copyright 2003-2009 Sun Microsystems, Inc. All Rights Reserved.
62.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
62.8 *
62.9 * This code is free software; you can redistribute it and/or modify it
62.10 @@ -169,6 +169,34 @@
62.11 return ((layer == LAYER_ALWAYS_ON_TOP) || (layer == LAYER_NORMAL)) && doLayerProtocol();
62.12 }
62.13
62.14 + public void requestState(XWindow window, XAtom state, boolean isAdd) {
62.15 + XClientMessageEvent req = new XClientMessageEvent();
62.16 + try {
62.17 + req.set_type((int)XConstants.ClientMessage);
62.18 + req.set_window(window.getWindow());
62.19 + req.set_message_type(XA_NET_WM_STATE.getAtom());
62.20 + req.set_format(32);
62.21 + req.set_data(0, isAdd ? _NET_WM_STATE_ADD : _NET_WM_STATE_REMOVE);
62.22 + req.set_data(1, state.getAtom());
62.23 + // Fix for 6735584: req.data[2] must be set to 0 when only one property is changed
62.24 + req.set_data(2, 0);
62.25 + log.log(Level.FINE, "Setting _NET_STATE atom {0} on {1} for {2}", new Object[] {state, window, Boolean.valueOf(isAdd)});
62.26 + XToolkit.awtLock();
62.27 + try {
62.28 + XlibWrapper.XSendEvent(XToolkit.getDisplay(),
62.29 + XlibWrapper.RootWindow(XToolkit.getDisplay(), window.getScreenNumber()),
62.30 + false,
62.31 + XConstants.SubstructureRedirectMask | XConstants.SubstructureNotifyMask,
62.32 + req.pData);
62.33 + }
62.34 + finally {
62.35 + XToolkit.awtUnlock();
62.36 + }
62.37 + } finally {
62.38 + req.dispose();
62.39 + }
62.40 + }
62.41 +
62.42 /**
62.43 * Helper function to set/reset one state in NET_WM_STATE
62.44 * If window is showing then it uses ClientMessage, otherwise adjusts NET_WM_STATE list
62.45 @@ -181,31 +209,7 @@
62.46 new Object[] {Boolean.valueOf(window.isWithdrawn()), Boolean.valueOf(window.isVisible()),
62.47 Boolean.valueOf(window.isMapped()), Boolean.valueOf(window.isShowing())});
62.48 if (window.isShowing()) {
62.49 - XClientMessageEvent req = new XClientMessageEvent();
62.50 - try {
62.51 - req.set_type((int)XConstants.ClientMessage);
62.52 - req.set_window(window.getWindow());
62.53 - req.set_message_type(XA_NET_WM_STATE.getAtom());
62.54 - req.set_format(32);
62.55 - req.set_data(0, (!set) ? _NET_WM_STATE_REMOVE : _NET_WM_STATE_ADD);
62.56 - req.set_data(1, state.getAtom());
62.57 - // Fix for 6735584: req.data[2] must be set to 0 when only one property is changed
62.58 - req.set_data(2, 0);
62.59 - log.log(Level.FINE, "Setting _NET_STATE atom {0} on {1} for {2}", new Object[] {state, window, Boolean.valueOf(set)});
62.60 - XToolkit.awtLock();
62.61 - try {
62.62 - XlibWrapper.XSendEvent(XToolkit.getDisplay(),
62.63 - XlibWrapper.RootWindow(XToolkit.getDisplay(), window.getScreenNumber()),
62.64 - false,
62.65 - XConstants.SubstructureRedirectMask | XConstants.SubstructureNotifyMask,
62.66 - req.pData);
62.67 - }
62.68 - finally {
62.69 - XToolkit.awtUnlock();
62.70 - }
62.71 - } finally {
62.72 - req.dispose();
62.73 - }
62.74 + requestState(window, state, set);
62.75 } else {
62.76 XAtomList net_wm_state = window.getNETWMState();
62.77 log.log(Level.FINE, "Current state on {0} is {1}", new Object[] {window, net_wm_state});
62.78 @@ -252,6 +256,8 @@
62.79 XAtom XA_NET_WM_WINDOW_TYPE = XAtom.get("_NET_WM_WINDOW_TYPE");
62.80 XAtom XA_NET_WM_WINDOW_TYPE_DIALOG = XAtom.get("_NET_WM_WINDOW_TYPE_DIALOG");
62.81
62.82 + XAtom XA_NET_WM_WINDOW_OPACITY = XAtom.get("_NET_WM_WINDOW_OPACITY");
62.83 +
62.84 /* For _NET_WM_STATE ClientMessage requests */
62.85 final static int _NET_WM_STATE_REMOVE =0; /* remove/unset property */
62.86 final static int _NET_WM_STATE_ADD =1; /* add/set property */
62.87 @@ -289,6 +295,12 @@
62.88 boolean res = active() && checkProtocol(XA_NET_SUPPORTED, XA_NET_WM_STATE_MODAL);
62.89 return res;
62.90 }
62.91 +
62.92 + boolean doOpacityProtocol() {
62.93 + boolean res = active() && checkProtocol(XA_NET_SUPPORTED, XA_NET_WM_WINDOW_OPACITY);
62.94 + return res;
62.95 + }
62.96 +
62.97 boolean isWMName(String name) {
62.98 if (!active()) {
62.99 return false;
63.1 --- a/src/solaris/classes/sun/awt/X11/XPanelPeer.java Tue Apr 14 00:05:07 2009 -0700
63.2 +++ b/src/solaris/classes/sun/awt/X11/XPanelPeer.java Tue Apr 14 04:21:02 2009 -0700
63.3 @@ -130,39 +130,6 @@
63.4 return getInsets();
63.5 }
63.6
63.7 - /*
63.8 - * This method is called from XWindowPeer.displayChanged, when
63.9 - * the window this Panel is on is moved to the new screen, or
63.10 - * display mode is changed.
63.11 - *
63.12 - * The notification is propagated to the child Canvas components.
63.13 - * Top-level windows and other Panels are notified too as their
63.14 - * peers are subclasses of XCanvasPeer.
63.15 - */
63.16 - public void displayChanged(int screenNum) {
63.17 - super.displayChanged(screenNum);
63.18 - displayChanged((Container)target, screenNum);
63.19 - }
63.20 -
63.21 - /*
63.22 - * Recursively iterates through all the HW and LW children
63.23 - * of the container and calls displayChanged() for HW peers.
63.24 - * Iteration through children peers only is not enough as the
63.25 - * displayChanged notification may not be propagated to HW
63.26 - * components inside LW containers, see 4452373 for details.
63.27 - */
63.28 - private static void displayChanged(Container target, int screenNum) {
63.29 - Component children[] = ((Container)target).getComponents();
63.30 - for (Component child : children) {
63.31 - ComponentPeer cpeer = child.getPeer();
63.32 - if (cpeer instanceof XCanvasPeer) {
63.33 - ((XCanvasPeer)cpeer).displayChanged(screenNum);
63.34 - } else if (child instanceof Container) {
63.35 - displayChanged((Container)child, screenNum);
63.36 - }
63.37 - }
63.38 - }
63.39 -
63.40 public void dispose() {
63.41 if (embedder != null) {
63.42 embedder.deinstall();
64.1 --- a/src/solaris/classes/sun/awt/X11/XToolkit.java Tue Apr 14 00:05:07 2009 -0700
64.2 +++ b/src/solaris/classes/sun/awt/X11/XToolkit.java Tue Apr 14 04:21:02 2009 -0700
64.3 @@ -1,5 +1,5 @@
64.4 /*
64.5 - * Copyright 2002-2008 Sun Microsystems, Inc. All Rights Reserved.
64.6 + * Copyright 2002-2009 Sun Microsystems, Inc. All Rights Reserved.
64.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
64.8 *
64.9 * This code is free software; you can redistribute it and/or modify it
64.10 @@ -54,6 +54,7 @@
64.11 import sun.font.FontManager;
64.12 import sun.misc.PerformanceLogger;
64.13 import sun.print.PrintJob2D;
64.14 +import sun.security.action.GetBooleanAction;
64.15
64.16 public final class XToolkit extends UNIXToolkit implements Runnable {
64.17 private static Logger log = Logger.getLogger("sun.awt.X11.XToolkit");
64.18 @@ -291,6 +292,7 @@
64.19 if (XlibWrapper.XSetLocaleModifiers("") == null) {
64.20 log.finer("X locale modifiers are not supported, using default");
64.21 }
64.22 + tryXKB();
64.23
64.24 AwtScreenData defaultScreen = new AwtScreenData(XToolkit.getDefaultScreenData());
64.25 awt_defaultFg = defaultScreen.get_blackpixel();
64.26 @@ -313,6 +315,7 @@
64.27 if (xs != null) {
64.28 ((XAWTXSettings)xs).dispose();
64.29 }
64.30 + freeXKB();
64.31 if (log.isLoggable(Level.FINE)) {
64.32 dumpPeers();
64.33 }
64.34 @@ -591,6 +594,9 @@
64.35 if (ev.get_type() != XConstants.NoExpose) {
64.36 eventNumber++;
64.37 }
64.38 + if (awt_UseXKB_Calls && ev.get_type() == awt_XKBBaseEventCode) {
64.39 + processXkbChanges(ev);
64.40 + }
64.41
64.42 if (XDropTargetEventProcessor.processEvent(ev) ||
64.43 XDragSourceContextPeer.processEvent(ev)) {
64.44 @@ -2093,8 +2099,12 @@
64.45
64.46 static boolean awt_ServerInquired = false;
64.47 static boolean awt_IsXsunServer = false;
64.48 - static boolean awt_XKBInquired = false;
64.49 static boolean awt_UseXKB = false;
64.50 + static boolean awt_UseXKB_Calls = false;
64.51 + static int awt_XKBBaseEventCode = 0;
64.52 + static int awt_XKBEffectiveGroup = 0; // so far, I don't use it leaving all calculations
64.53 + // to XkbTranslateKeyCode
64.54 + static long awt_XKBDescPtr = 0;
64.55 /**
64.56 Try to understand if it is Xsun server.
64.57 By now (2005) Sun is vendor of Xsun and Xorg servers; we only return true if Xsun is running.
64.58 @@ -2124,24 +2134,144 @@
64.59 awtUnlock();
64.60 }
64.61 }
64.62 - /**
64.63 - Query XKEYBOARD extension.
64.64 - */
64.65 static boolean isXKBenabled() {
64.66 awtLock();
64.67 try {
64.68 - if( awt_XKBInquired ) {
64.69 - return awt_UseXKB;
64.70 - }
64.71 - awt_XKBInquired = true;
64.72 - String name = "XKEYBOARD";
64.73 - awt_UseXKB = XlibWrapper.XQueryExtension( getDisplay(), name, XlibWrapper.larg1, XlibWrapper.larg2, XlibWrapper.larg3);
64.74 return awt_UseXKB;
64.75 } finally {
64.76 awtUnlock();
64.77 }
64.78 }
64.79
64.80 + /**
64.81 + Query XKEYBOARD extension.
64.82 + If possible, initialize xkb library.
64.83 + */
64.84 + static boolean tryXKB() {
64.85 + awtLock();
64.86 + try {
64.87 + String name = "XKEYBOARD";
64.88 + // First, if there is extension at all.
64.89 + awt_UseXKB = XlibWrapper.XQueryExtension( getDisplay(), name, XlibWrapper.larg1, XlibWrapper.larg2, XlibWrapper.larg3);
64.90 + if( awt_UseXKB ) {
64.91 + // There is a keyboard extension. Check if a client library is compatible.
64.92 + // If not, don't use xkb calls.
64.93 + // In this case we still may be Xkb-capable application.
64.94 + awt_UseXKB_Calls = XlibWrapper.XkbLibraryVersion( XlibWrapper.larg1, XlibWrapper.larg2);
64.95 + if( awt_UseXKB_Calls ) {
64.96 + awt_UseXKB_Calls = XlibWrapper.XkbQueryExtension( getDisplay(), XlibWrapper.larg1, XlibWrapper.larg2,
64.97 + XlibWrapper.larg3, XlibWrapper.larg4, XlibWrapper.larg5);
64.98 + if( awt_UseXKB_Calls ) {
64.99 + awt_XKBBaseEventCode = Native.getInt(XlibWrapper.larg2);
64.100 + XlibWrapper.XkbSelectEvents (getDisplay(),
64.101 + XConstants.XkbUseCoreKbd,
64.102 + XConstants.XkbNewKeyboardNotifyMask |
64.103 + XConstants.XkbMapNotifyMask ,//|
64.104 + //XConstants.XkbStateNotifyMask,
64.105 + XConstants.XkbNewKeyboardNotifyMask |
64.106 + XConstants.XkbMapNotifyMask );//|
64.107 + //XConstants.XkbStateNotifyMask);
64.108 +
64.109 + XlibWrapper.XkbSelectEventDetails(getDisplay(), XConstants.XkbUseCoreKbd,
64.110 + XConstants.XkbStateNotify,
64.111 + XConstants.XkbGroupStateMask,
64.112 + XConstants.XkbGroupStateMask);
64.113 + //XXX ? XkbGroupLockMask last, XkbAllStateComponentsMask before last?
64.114 + awt_XKBDescPtr = XlibWrapper.XkbGetMap(getDisplay(),
64.115 + XConstants.XkbKeyTypesMask |
64.116 + XConstants.XkbKeySymsMask |
64.117 + XConstants.XkbModifierMapMask |
64.118 + XConstants.XkbVirtualModsMask,
64.119 + XConstants.XkbUseCoreKbd);
64.120 + }
64.121 + }
64.122 + }
64.123 + return awt_UseXKB;
64.124 + } finally {
64.125 + awtUnlock();
64.126 + }
64.127 + }
64.128 + static boolean canUseXKBCalls() {
64.129 + awtLock();
64.130 + try {
64.131 + return awt_UseXKB_Calls;
64.132 + } finally {
64.133 + awtUnlock();
64.134 + }
64.135 + }
64.136 + static int getXKBEffectiveGroup() {
64.137 + awtLock();
64.138 + try {
64.139 + return awt_XKBEffectiveGroup;
64.140 + } finally {
64.141 + awtUnlock();
64.142 + }
64.143 + }
64.144 + static int getXKBBaseEventCode() {
64.145 + awtLock();
64.146 + try {
64.147 + return awt_XKBBaseEventCode;
64.148 + } finally {
64.149 + awtUnlock();
64.150 + }
64.151 + }
64.152 + static long getXKBKbdDesc() {
64.153 + awtLock();
64.154 + try {
64.155 + return awt_XKBDescPtr;
64.156 + } finally {
64.157 + awtUnlock();
64.158 + }
64.159 + }
64.160 + void freeXKB() {
64.161 + awtLock();
64.162 + try {
64.163 + if (awt_UseXKB_Calls && awt_XKBDescPtr != 0) {
64.164 + XlibWrapper.XkbFreeKeyboard(awt_XKBDescPtr, 0xFF, true);
64.165 + }
64.166 + } finally {
64.167 + awtUnlock();
64.168 + }
64.169 + }
64.170 + private void processXkbChanges(XEvent ev) {
64.171 + // mapping change --> refresh kbd map
64.172 + // state change --> get a new effective group; do I really need it
64.173 + // or that should be left for XkbTranslateKeyCode?
64.174 + XkbEvent xke = new XkbEvent( ev.getPData() );
64.175 + int xkb_type = xke.get_any().get_xkb_type();
64.176 + switch( xkb_type ) {
64.177 + case XConstants.XkbNewKeyboardNotify :
64.178 + if( awt_XKBDescPtr != 0 ) {
64.179 + freeXKB();
64.180 + }
64.181 + awt_XKBDescPtr = XlibWrapper.XkbGetMap(getDisplay(),
64.182 + XConstants.XkbKeyTypesMask |
64.183 + XConstants.XkbKeySymsMask |
64.184 + XConstants.XkbModifierMapMask |
64.185 + XConstants.XkbVirtualModsMask,
64.186 + XConstants.XkbUseCoreKbd);
64.187 + //System.out.println("XkbNewKeyboard:"+(xke.get_new_kbd()));
64.188 + break;
64.189 + case XConstants.XkbMapNotify :
64.190 + //TODO: provide a simple unit test.
64.191 + XlibWrapper.XkbGetUpdatedMap(getDisplay(),
64.192 + XConstants.XkbKeyTypesMask |
64.193 + XConstants.XkbKeySymsMask |
64.194 + XConstants.XkbModifierMapMask |
64.195 + XConstants.XkbVirtualModsMask,
64.196 + awt_XKBDescPtr);
64.197 + //System.out.println("XkbMap:"+(xke.get_map()));
64.198 + break;
64.199 + case XConstants.XkbStateNotify :
64.200 + // May use it later e.g. to obtain an effective group etc.
64.201 + //System.out.println("XkbState:"+(xke.get_state()));
64.202 + break;
64.203 + default:
64.204 + //System.out.println("XkbEvent of xkb_type "+xkb_type);
64.205 + break;
64.206 + }
64.207 + }
64.208 +
64.209 private static long eventNumber;
64.210 public static long getEventNumber() {
64.211 awtLock();
64.212 @@ -2273,4 +2403,44 @@
64.213 public boolean areExtraMouseButtonsEnabled() throws HeadlessException {
64.214 return areExtraMouseButtonsEnabled;
64.215 }
64.216 +
64.217 + @Override
64.218 + public boolean isWindowOpacitySupported() {
64.219 + XNETProtocol net_protocol = XWM.getWM().getNETProtocol();
64.220 +
64.221 + if (net_protocol == null) {
64.222 + return false;
64.223 + }
64.224 +
64.225 + return net_protocol.doOpacityProtocol();
64.226 + }
64.227 +
64.228 + @Override
64.229 + public boolean isWindowShapingSupported() {
64.230 + return XlibUtil.isShapingSupported();
64.231 + }
64.232 +
64.233 + @Override
64.234 + public boolean isWindowTranslucencySupported() {
64.235 + //NOTE: it may not be supported. The actual check is being performed
64.236 + // at com.sun.awt.AWTUtilities(). In X11 we need to check
64.237 + // whether there's any translucency-capable GC available.
64.238 + return true;
64.239 + }
64.240 +
64.241 + @Override
64.242 + public boolean isTranslucencyCapable(GraphicsConfiguration gc) {
64.243 + if (!(gc instanceof X11GraphicsConfig)) {
64.244 + return false;
64.245 + }
64.246 + return ((X11GraphicsConfig)gc).isTranslucencyCapable();
64.247 + }
64.248 +
64.249 + /**
64.250 + * Returns the value of "sun.awt.disablegrab" property. Default
64.251 + * value is {@code false}.
64.252 + */
64.253 + public static boolean getSunAwtDisableGrab() {
64.254 + return AccessController.doPrivileged(new GetBooleanAction("sun.awt.disablegrab"));
64.255 + }
64.256 }
65.1 --- a/src/solaris/classes/sun/awt/X11/XTrayIconPeer.java Tue Apr 14 00:05:07 2009 -0700
65.2 +++ b/src/solaris/classes/sun/awt/X11/XTrayIconPeer.java Tue Apr 14 04:21:02 2009 -0700
65.3 @@ -38,15 +38,18 @@
65.4 import java.security.PrivilegedAction;
65.5 import java.lang.reflect.InvocationTargetException;
65.6
65.7 -public class XTrayIconPeer implements TrayIconPeer {
65.8 +public class XTrayIconPeer implements TrayIconPeer,
65.9 + InfoWindow.Balloon.LiveArguments,
65.10 + InfoWindow.Tooltip.LiveArguments
65.11 +{
65.12 private static final Logger ctrLog = Logger.getLogger("sun.awt.X11.XTrayIconPeer.centering");
65.13
65.14 TrayIcon target;
65.15 TrayIconEventProxy eventProxy;
65.16 XTrayIconEmbeddedFrame eframe;
65.17 TrayIconCanvas canvas;
65.18 - Balloon balloon;
65.19 - Tooltip tooltip;
65.20 + InfoWindow.Balloon balloon;
65.21 + InfoWindow.Tooltip tooltip;
65.22 PopupMenu popup;
65.23 String tooltipString;
65.24 boolean isTrayIconDisplayed;
65.25 @@ -255,8 +258,8 @@
65.26 eframe.setVisible(true);
65.27 updateImage();
65.28
65.29 - balloon = new Balloon(this, eframe);
65.30 - tooltip = new Tooltip(this, eframe);
65.31 + balloon = new InfoWindow.Balloon(eframe, target, this);
65.32 + tooltip = new InfoWindow.Tooltip(eframe, target, this);
65.33
65.34 addListeners();
65.35 }
65.36 @@ -300,6 +303,10 @@
65.37 tooltipString = tooltip;
65.38 }
65.39
65.40 + public String getTooltipString() {
65.41 + return tooltipString;
65.42 + }
65.43 +
65.44 public void updateImage() {
65.45 Runnable r = new Runnable() {
65.46 public void run() {
65.47 @@ -385,7 +392,7 @@
65.48 return eframe.getLocationOnScreen();
65.49 }
65.50
65.51 - private Rectangle getBounds() {
65.52 + public Rectangle getBounds() {
65.53 Point loc = getLocationOnScreen();
65.54 return new Rectangle(loc.x, loc.y, loc.x + TRAY_ICON_WIDTH, loc.y + TRAY_ICON_HEIGHT);
65.55 }
65.56 @@ -399,10 +406,14 @@
65.57 return ((XEmbeddedFramePeer)eframe.getPeer()).getWindow();
65.58 }
65.59
65.60 - boolean isDisposed() {
65.61 + public boolean isDisposed() {
65.62 return isDisposed;
65.63 }
65.64
65.65 + public String getActionCommand() {
65.66 + return target.getActionCommand();
65.67 + }
65.68 +
65.69 static class TrayIconEventProxy implements MouseListener, MouseMotionListener {
65.70 XTrayIconPeer xtiPeer;
65.71
65.72 @@ -474,8 +485,8 @@
65.73 }
65.74
65.75 static boolean isTrayIconStuffWindow(Window w) {
65.76 - return (w instanceof Tooltip) ||
65.77 - (w instanceof Balloon) ||
65.78 + return (w instanceof InfoWindow.Tooltip) ||
65.79 + (w instanceof InfoWindow.Balloon) ||
65.80 (w instanceof XTrayIconEmbeddedFrame);
65.81 }
65.82
65.83 @@ -530,7 +541,7 @@
65.84 }
65.85 }
65.86
65.87 - static class IconCanvas extends Canvas {
65.88 + public static class IconCanvas extends Canvas {
65.89 volatile Image image;
65.90 IconObserver observer;
65.91 int width, height;
65.92 @@ -608,429 +619,4 @@
65.93 }
65.94 }
65.95 }
65.96 -
65.97 - // ***************************************
65.98 - // Classes for toolitp and balloon windows
65.99 - // ***************************************
65.100 -
65.101 - static class Tooltip extends InfoWindow {
65.102 - XTrayIconPeer xtiPeer;
65.103 - Label textLabel = new Label("");
65.104 - Runnable starter = new Runnable() {
65.105 - public void run() {
65.106 - display();
65.107 - }};
65.108 -
65.109 - final static int TOOLTIP_SHOW_TIME = 10000;
65.110 - final static int TOOLTIP_START_DELAY_TIME = 1000;
65.111 - final static int TOOLTIP_MAX_LENGTH = 64;
65.112 - final static int TOOLTIP_MOUSE_CURSOR_INDENT = 5;
65.113 - final static Color TOOLTIP_BACKGROUND_COLOR = new Color(255, 255, 220);
65.114 - final static Font TOOLTIP_TEXT_FONT = XWindow.getDefaultFont();
65.115 -
65.116 - Tooltip(XTrayIconPeer xtiPeer, Frame parent) {
65.117 - super(parent, Color.black);
65.118 - this.xtiPeer = xtiPeer;
65.119 -
65.120 - suppressWarningString(this);
65.121 -
65.122 - setCloser(null, TOOLTIP_SHOW_TIME);
65.123 - textLabel.setBackground(TOOLTIP_BACKGROUND_COLOR);
65.124 - textLabel.setFont(TOOLTIP_TEXT_FONT);
65.125 - add(textLabel);
65.126 - }
65.127 -
65.128 - /*
65.129 - * WARNING: this method is executed on Toolkit thread!
65.130 - */
65.131 - void display() {
65.132 - String tip = xtiPeer.tooltipString;
65.133 - if (tip == null) {
65.134 - return;
65.135 - } else if (tip.length() > TOOLTIP_MAX_LENGTH) {
65.136 - textLabel.setText(tip.substring(0, TOOLTIP_MAX_LENGTH));
65.137 - } else {
65.138 - textLabel.setText(tip);
65.139 - }
65.140 -
65.141 - // Execute on EDT to avoid deadlock (see 6280857).
65.142 - SunToolkit.executeOnEventHandlerThread(xtiPeer.target, new Runnable() {
65.143 - public void run() {
65.144 - if (xtiPeer.isDisposed()) {
65.145 - return;
65.146 - }
65.147 - Point pointer = (Point)AccessController.doPrivileged(new PrivilegedAction() {
65.148 - public Object run() {
65.149 - if (!isPointerOverTrayIcon(xtiPeer.getBounds())) {
65.150 - return null;
65.151 - }
65.152 - return MouseInfo.getPointerInfo().getLocation();
65.153 - }
65.154 - });
65.155 - if (pointer == null) {
65.156 - return;
65.157 - }
65.158 - show(new Point(pointer.x, pointer.y), TOOLTIP_MOUSE_CURSOR_INDENT);
65.159 - }
65.160 - });
65.161 - }
65.162 -
65.163 - void enter() {
65.164 - XToolkit.schedule(starter, TOOLTIP_START_DELAY_TIME);
65.165 - }
65.166 -
65.167 - void exit() {
65.168 - XToolkit.remove(starter);
65.169 - if (isVisible()) {
65.170 - hide();
65.171 - }
65.172 - }
65.173 -
65.174 - boolean isPointerOverTrayIcon(Rectangle trayRect) {
65.175 - Point p = MouseInfo.getPointerInfo().getLocation();
65.176 - return !(p.x < trayRect.x || p.x > (trayRect.x + trayRect.width) ||
65.177 - p.y < trayRect.y || p.y > (trayRect.y + trayRect.height));
65.178 - }
65.179 - }
65.180 -
65.181 - static class Balloon extends InfoWindow {
65.182 - final static int BALLOON_SHOW_TIME = 10000;
65.183 - final static int BALLOON_TEXT_MAX_LENGTH = 256;
65.184 - final static int BALLOON_WORD_LINE_MAX_LENGTH = 16;
65.185 - final static int BALLOON_WORD_LINE_MAX_COUNT = 4;
65.186 - final static int BALLOON_ICON_WIDTH = 32;
65.187 - final static int BALLOON_ICON_HEIGHT = 32;
65.188 - final static int BALLOON_TRAY_ICON_INDENT = 0;
65.189 - final static Color BALLOON_CAPTION_BACKGROUND_COLOR = new Color(200, 200 ,255);
65.190 - final static Font BALLOON_CAPTION_FONT = new Font(Font.DIALOG, Font.BOLD, 12);
65.191 -
65.192 - XTrayIconPeer xtiPeer;
65.193 - Panel mainPanel = new Panel();
65.194 - Panel captionPanel = new Panel();
65.195 - Label captionLabel = new Label("");
65.196 - Button closeButton = new Button("X");
65.197 - Panel textPanel = new Panel();
65.198 - IconCanvas iconCanvas = new IconCanvas(BALLOON_ICON_WIDTH, BALLOON_ICON_HEIGHT);
65.199 - Label[] lineLabels = new Label[BALLOON_WORD_LINE_MAX_COUNT];
65.200 - ActionPerformer ap = new ActionPerformer();
65.201 -
65.202 - Image iconImage;
65.203 - Image errorImage;
65.204 - Image warnImage;
65.205 - Image infoImage;
65.206 - boolean gtkImagesLoaded;
65.207 -
65.208 - Displayer displayer = new Displayer();
65.209 -
65.210 - Balloon(final XTrayIconPeer xtiPeer, Frame parent) {
65.211 - super(parent, new Color(90, 80 ,190));
65.212 - this.xtiPeer = xtiPeer;
65.213 -
65.214 - suppressWarningString(this);
65.215 -
65.216 - setCloser(new Runnable() {
65.217 - public void run() {
65.218 - if (textPanel != null) {
65.219 - textPanel.removeAll();
65.220 - textPanel.setSize(0, 0);
65.221 - iconCanvas.setSize(0, 0);
65.222 - XToolkit.awtLock();
65.223 - try {
65.224 - displayer.isDisplayed = false;
65.225 - XToolkit.awtLockNotifyAll();
65.226 - } finally {
65.227 - XToolkit.awtUnlock();
65.228 - }
65.229 - }
65.230 - }
65.231 - }, BALLOON_SHOW_TIME);
65.232 -
65.233 - add(mainPanel);
65.234 -
65.235 - captionLabel.setFont(BALLOON_CAPTION_FONT);
65.236 - captionLabel.addMouseListener(ap);
65.237 -
65.238 - captionPanel.setLayout(new BorderLayout());
65.239 - captionPanel.add(captionLabel, BorderLayout.WEST);
65.240 - captionPanel.add(closeButton, BorderLayout.EAST);
65.241 - captionPanel.setBackground(BALLOON_CAPTION_BACKGROUND_COLOR);
65.242 - captionPanel.addMouseListener(ap);
65.243 -
65.244 - closeButton.addActionListener(new ActionListener() {
65.245 - public void actionPerformed(ActionEvent e) {
65.246 - hide();
65.247 - }
65.248 - });
65.249 -
65.250 - mainPanel.setLayout(new BorderLayout());
65.251 - mainPanel.setBackground(Color.white);
65.252 - mainPanel.add(captionPanel, BorderLayout.NORTH);
65.253 - mainPanel.add(iconCanvas, BorderLayout.WEST);
65.254 - mainPanel.add(textPanel, BorderLayout.CENTER);
65.255 -
65.256 - iconCanvas.addMouseListener(ap);
65.257 -
65.258 - for (int i = 0; i < BALLOON_WORD_LINE_MAX_COUNT; i++) {
65.259 - lineLabels[i] = new Label();
65.260 - lineLabels[i].addMouseListener(ap);
65.261 - lineLabels[i].setBackground(Color.white);
65.262 - }
65.263 -
65.264 - displayer.start();
65.265 - }
65.266 -
65.267 - void display(String caption, String text, String messageType) {
65.268 - if (!gtkImagesLoaded) {
65.269 - loadGtkImages();
65.270 - }
65.271 - displayer.display(caption, text, messageType);
65.272 - }
65.273 -
65.274 - private void _display(String caption, String text, String messageType) {
65.275 - captionLabel.setText(caption);
65.276 -
65.277 - BreakIterator iter = BreakIterator.getWordInstance();
65.278 - if (text != null) {
65.279 - iter.setText(text);
65.280 - int start = iter.first(), end;
65.281 - int nLines = 0;
65.282 -
65.283 - do {
65.284 - end = iter.next();
65.285 -
65.286 - if (end == BreakIterator.DONE ||
65.287 - text.substring(start, end).length() >= 50)
65.288 - {
65.289 - lineLabels[nLines].setText(text.substring(start, end == BreakIterator.DONE ?
65.290 - iter.last() : end));
65.291 - textPanel.add(lineLabels[nLines++]);
65.292 - start = end;
65.293 - }
65.294 - if (nLines == BALLOON_WORD_LINE_MAX_COUNT) {
65.295 - if (end != BreakIterator.DONE) {
65.296 - lineLabels[nLines - 1].setText(
65.297 - new String(lineLabels[nLines - 1].getText() + " ..."));
65.298 - }
65.299 - break;
65.300 - }
65.301 - } while (end != BreakIterator.DONE);
65.302 -
65.303 -
65.304 - textPanel.setLayout(new GridLayout(nLines, 1));
65.305 - }
65.306 -
65.307 - if ("ERROR".equals(messageType)) {
65.308 - iconImage = errorImage;
65.309 - } else if ("WARNING".equals(messageType)) {
65.310 - iconImage = warnImage;
65.311 - } else if ("INFO".equals(messageType)) {
65.312 - iconImage = infoImage;
65.313 - } else {
65.314 - iconImage = null;
65.315 - }
65.316 -
65.317 - if (iconImage != null) {
65.318 - Dimension tpSize = textPanel.getSize();
65.319 - iconCanvas.setSize(BALLOON_ICON_WIDTH, (BALLOON_ICON_HEIGHT > tpSize.height ?
65.320 - BALLOON_ICON_HEIGHT : tpSize.height));
65.321 - iconCanvas.validate();
65.322 - }
65.323 -
65.324 - SunToolkit.executeOnEventHandlerThread(xtiPeer.target, new Runnable() {
65.325 - public void run() {
65.326 - if (xtiPeer.isDisposed()) {
65.327 - return;
65.328 - }
65.329 - Point parLoc = getParent().getLocationOnScreen();
65.330 - Dimension parSize = getParent().getSize();
65.331 - show(new Point(parLoc.x + parSize.width/2, parLoc.y + parSize.height/2),
65.332 - BALLOON_TRAY_ICON_INDENT);
65.333 - if (iconImage != null) {
65.334 - iconCanvas.updateImage(iconImage); // call it after the show(..) above
65.335 - }
65.336 - }
65.337 - });
65.338 - }
65.339 -
65.340 - public void dispose() {
65.341 - displayer.interrupt();
65.342 - super.dispose();
65.343 - }
65.344 -
65.345 - void loadGtkImages() {
65.346 - if (!gtkImagesLoaded) {
65.347 - errorImage = (Image)Toolkit.getDefaultToolkit().getDesktopProperty(
65.348 - "gtk.icon.gtk-dialog-error.6.rtl");
65.349 - warnImage = (Image)Toolkit.getDefaultToolkit().getDesktopProperty(
65.350 - "gtk.icon.gtk-dialog-warning.6.rtl");
65.351 - infoImage = (Image)Toolkit.getDefaultToolkit().getDesktopProperty(
65.352 - "gtk.icon.gtk-dialog-info.6.rtl");
65.353 - gtkImagesLoaded = true;
65.354 - }
65.355 - }
65.356 -
65.357 - class ActionPerformer extends MouseAdapter {
65.358 - public void mouseClicked(MouseEvent e) {
65.359 - // hide the balloon by any click
65.360 - hide();
65.361 - if (e.getButton() == MouseEvent.BUTTON1) {
65.362 - ActionEvent aev = new ActionEvent(xtiPeer.target, ActionEvent.ACTION_PERFORMED,
65.363 - xtiPeer.target.getActionCommand(),
65.364 - e.getWhen(), e.getModifiers());
65.365 - Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(aev);
65.366 - }
65.367 - }
65.368 - }
65.369 -
65.370 - class Displayer extends Thread {
65.371 - final int MAX_CONCURRENT_MSGS = 10;
65.372 -
65.373 - ArrayBlockingQueue<Message> messageQueue = new ArrayBlockingQueue<Message>(MAX_CONCURRENT_MSGS);
65.374 - boolean isDisplayed;
65.375 -
65.376 - Displayer() {
65.377 - setDaemon(true);
65.378 - }
65.379 -
65.380 - public void run() {
65.381 - while (true) {
65.382 - Message msg = null;
65.383 - try {
65.384 - msg = (Message)messageQueue.take();
65.385 - } catch (InterruptedException e) {
65.386 - return;
65.387 - }
65.388 -
65.389 - /*
65.390 - * Wait till the previous message is displayed if any
65.391 - */
65.392 - XToolkit.awtLock();
65.393 - try {
65.394 - while (isDisplayed) {
65.395 - try {
65.396 - XToolkit.awtLockWait();
65.397 - } catch (InterruptedException e) {
65.398 - return;
65.399 - }
65.400 - }
65.401 - isDisplayed = true;
65.402 - } finally {
65.403 - XToolkit.awtUnlock();
65.404 - }
65.405 - _display(msg.caption, msg.text, msg.messageType);
65.406 - }
65.407 - }
65.408 -
65.409 - void display(String caption, String text, String messageType) {
65.410 - messageQueue.offer(new Message(caption, text, messageType));
65.411 - }
65.412 - }
65.413 -
65.414 - class Message {
65.415 - String caption, text, messageType;
65.416 -
65.417 - Message(String caption, String text, String messageType) {
65.418 - this.caption = caption;
65.419 - this.text = text;
65.420 - this.messageType = messageType;
65.421 - }
65.422 - }
65.423 - }
65.424 -
65.425 - static class InfoWindow extends Window {
65.426 - Container container;
65.427 - Closer closer;
65.428 -
65.429 - InfoWindow(Frame parent, Color borderColor) {
65.430 - super(parent);
65.431 - container = new Container() {
65.432 - public Insets getInsets() {
65.433 - return new Insets(1, 1, 1, 1);
65.434 - }
65.435 - };
65.436 - setLayout(new BorderLayout());
65.437 - setBackground(borderColor);
65.438 - add(container, BorderLayout.CENTER);
65.439 - container.setLayout(new BorderLayout());
65.440 -
65.441 - closer = new Closer();
65.442 - }
65.443 -
65.444 - public Component add(Component c) {
65.445 - container.add(c, BorderLayout.CENTER);
65.446 - return c;
65.447 - }
65.448 -
65.449 - void setCloser(Runnable action, int time) {
65.450 - closer.set(action, time);
65.451 - }
65.452 -
65.453 - // Must be executed on EDT.
65.454 - protected void show(Point corner, int indent) {
65.455 - assert SunToolkit.isDispatchThreadForAppContext(InfoWindow.this);
65.456 -
65.457 - pack();
65.458 -
65.459 - Dimension size = getSize();
65.460 - // TODO: When 6356322 is fixed we should get screen bounds in
65.461 - // this way: eframe.getGraphicsConfiguration().getBounds().
65.462 - Dimension scrSize = Toolkit.getDefaultToolkit().getScreenSize();
65.463 -
65.464 - if (corner.x < scrSize.width/2 && corner.y < scrSize.height/2) { // 1st square
65.465 - setLocation(corner.x + indent, corner.y + indent);
65.466 -
65.467 - } else if (corner.x >= scrSize.width/2 && corner.y < scrSize.height/2) { // 2nd square
65.468 - setLocation(corner.x - indent - size.width, corner.y + indent);
65.469 -
65.470 - } else if (corner.x < scrSize.width/2 && corner.y >= scrSize.height/2) { // 3rd square
65.471 - setLocation(corner.x + indent, corner.y - indent - size.height);
65.472 -
65.473 - } else if (corner.x >= scrSize.width/2 && corner.y >= scrSize.height/2) { // 4th square
65.474 - setLocation(corner.x - indent - size.width, corner.y - indent - size.height);
65.475 - }
65.476 -
65.477 - InfoWindow.super.show();
65.478 - InfoWindow.this.closer.schedule();
65.479 - }
65.480 -
65.481 - public void hide() {
65.482 - closer.close();
65.483 - }
65.484 -
65.485 - class Closer implements Runnable {
65.486 - Runnable action;
65.487 - int time;
65.488 -
65.489 - public void run() {
65.490 - doClose();
65.491 - }
65.492 -
65.493 - void set(Runnable action, int time) {
65.494 - this.action = action;
65.495 - this.time = time;
65.496 - }
65.497 -
65.498 - void schedule() {
65.499 - XToolkit.schedule(this, time);
65.500 - }
65.501 -
65.502 - void close() {
65.503 - XToolkit.remove(this);
65.504 - doClose();
65.505 - }
65.506 -
65.507 - // WARNING: this method may be executed on Toolkit thread.
65.508 - private void doClose() {
65.509 - SunToolkit.executeOnEventHandlerThread(InfoWindow.this, new Runnable() {
65.510 - public void run() {
65.511 - InfoWindow.super.hide();
65.512 - invalidate();
65.513 - if (action != null) {
65.514 - action.run();
65.515 - }
65.516 - }
65.517 - });
65.518 - }
65.519 - }
65.520 - }
65.521 }
66.1 --- a/src/solaris/classes/sun/awt/X11/XWM.java Tue Apr 14 00:05:07 2009 -0700
66.2 +++ b/src/solaris/classes/sun/awt/X11/XWM.java Tue Apr 14 04:21:02 2009 -0700
66.3 @@ -896,7 +896,7 @@
66.4 /*
66.5 * Set MWM decorations. Set MWM functions depending on resizability.
66.6 */
66.7 - static void setMotifDecor(XWindowPeer window, boolean resizable, int decorations, int functions) {
66.8 + static void setMotifDecor(XWindow window, boolean resizable, int decorations, int functions) {
66.9 /* Apparently some WMs don't implement MWM_*_ALL semantic correctly */
66.10 if ((decorations & MWMConstants.MWM_DECOR_ALL) != 0
66.11 && (decorations != MWMConstants.MWM_DECOR_ALL))
67.1 --- a/src/solaris/classes/sun/awt/X11/XWarningWindow.java Tue Apr 14 00:05:07 2009 -0700
67.2 +++ b/src/solaris/classes/sun/awt/X11/XWarningWindow.java Tue Apr 14 04:21:02 2009 -0700
67.3 @@ -25,16 +25,194 @@
67.4 package sun.awt.X11;
67.5
67.6 import java.awt.*;
67.7 +import java.awt.event.*;
67.8 +import java.awt.geom.Point2D;
67.9 +import java.lang.ref.WeakReference;
67.10 +import sun.java2d.SunGraphics2D;
67.11 +import sun.java2d.pipe.Region;
67.12 +import sun.awt.AWTAccessor;
67.13 +import sun.awt.SunToolkit;
67.14
67.15 class XWarningWindow extends XWindow {
67.16 - final static int defaultHeight = 27;
67.17 + private final static int showingDelay = 330;
67.18 + private final static int hidingDelay = 2000;
67.19
67.20 - Window ownerWindow;
67.21 - XWarningWindow(Window ownerWindow, long parentWindow) {
67.22 - super(ownerWindow, parentWindow);
67.23 + private final Window ownerWindow;
67.24 + private WeakReference<XWindowPeer> ownerPeer;
67.25 +
67.26 + public final Window getOwnerWindow() {
67.27 + return ownerWindow;
67.28 + }
67.29 + private long parentWindow;
67.30 +
67.31 + private final static String OWNER = "OWNER";
67.32 +
67.33 + private static XIconInfo[][] icons;
67.34 +
67.35 + private InfoWindow.Tooltip tooltip;
67.36 +
67.37 + private static synchronized XIconInfo getSecurityIconInfo(int size, int num) {
67.38 + if (icons == null) {
67.39 + icons = new XIconInfo[4][3];
67.40 + if (XlibWrapper.dataModel == 32) {
67.41 + icons[0][0] = new XIconInfo(XAWTIcon32_security_icon_bw16_png.security_icon_bw16_png);
67.42 + icons[0][1] = new XIconInfo(XAWTIcon32_security_icon_interim16_png.security_icon_interim16_png);
67.43 + icons[0][2] = new XIconInfo(XAWTIcon32_security_icon_yellow16_png.security_icon_yellow16_png);
67.44 + icons[1][0] = new XIconInfo(XAWTIcon32_security_icon_bw24_png.security_icon_bw24_png);
67.45 + icons[1][1] = new XIconInfo(XAWTIcon32_security_icon_interim24_png.security_icon_interim24_png);
67.46 + icons[1][2] = new XIconInfo(XAWTIcon32_security_icon_yellow24_png.security_icon_yellow24_png);
67.47 + icons[2][0] = new XIconInfo(XAWTIcon32_security_icon_bw32_png.security_icon_bw32_png);
67.48 + icons[2][1] = new XIconInfo(XAWTIcon32_security_icon_interim32_png.security_icon_interim32_png);
67.49 + icons[2][2] = new XIconInfo(XAWTIcon32_security_icon_yellow32_png.security_icon_yellow32_png);
67.50 + icons[3][0] = new XIconInfo(XAWTIcon32_security_icon_bw48_png.security_icon_bw48_png);
67.51 + icons[3][1] = new XIconInfo(XAWTIcon32_security_icon_interim48_png.security_icon_interim48_png);
67.52 + icons[3][2] = new XIconInfo(XAWTIcon32_security_icon_yellow48_png.security_icon_yellow48_png);
67.53 + } else {
67.54 + icons[0][0] = new XIconInfo(XAWTIcon64_security_icon_bw16_png.security_icon_bw16_png);
67.55 + icons[0][1] = new XIconInfo(XAWTIcon64_security_icon_interim16_png.security_icon_interim16_png);
67.56 + icons[0][2] = new XIconInfo(XAWTIcon64_security_icon_yellow16_png.security_icon_yellow16_png);
67.57 + icons[1][0] = new XIconInfo(XAWTIcon64_security_icon_bw24_png.security_icon_bw24_png);
67.58 + icons[1][1] = new XIconInfo(XAWTIcon64_security_icon_interim24_png.security_icon_interim24_png);
67.59 + icons[1][2] = new XIconInfo(XAWTIcon64_security_icon_yellow24_png.security_icon_yellow24_png);
67.60 + icons[2][0] = new XIconInfo(XAWTIcon64_security_icon_bw32_png.security_icon_bw32_png);
67.61 + icons[2][1] = new XIconInfo(XAWTIcon64_security_icon_interim32_png.security_icon_interim32_png);
67.62 + icons[2][2] = new XIconInfo(XAWTIcon64_security_icon_yellow32_png.security_icon_yellow32_png);
67.63 + icons[3][0] = new XIconInfo(XAWTIcon64_security_icon_bw48_png.security_icon_bw48_png);
67.64 + icons[3][1] = new XIconInfo(XAWTIcon64_security_icon_interim48_png.security_icon_interim48_png);
67.65 + icons[3][2] = new XIconInfo(XAWTIcon64_security_icon_yellow48_png.security_icon_yellow48_png);
67.66 + }
67.67 + }
67.68 + final int sizeIndex = size % icons.length;
67.69 + return icons[sizeIndex][num % icons[sizeIndex].length];
67.70 + }
67.71 +
67.72 + private volatile int currentIcon = 0;
67.73 +
67.74 + /* -1 - uninitialized yet
67.75 + * 0 - 16x16
67.76 + * 1 - 24x24
67.77 + * 2 - 32x32
67.78 + * 3 - 48x48
67.79 + */
67.80 + private volatile int currentSize = -1;
67.81 +
67.82 + /** Indicates whether the shape of the window must be updated
67.83 + */
67.84 + private volatile boolean sizeUpdated = true;
67.85 +
67.86 + private synchronized boolean updateIconSize() {
67.87 + int newSize = currentSize;
67.88 +
67.89 + if (ownerWindow != null) {
67.90 + Insets insets = ownerWindow.getInsets();
67.91 + int max = Math.max(insets.top, Math.max(insets.bottom,
67.92 + Math.max(insets.left, insets.right)));
67.93 + if (max < 24) {
67.94 + newSize = 0;
67.95 + } else if (max < 32) {
67.96 + newSize = 1;
67.97 + } else if (max < 48) {
67.98 + newSize = 2;
67.99 + } else {
67.100 + newSize = 3;
67.101 + }
67.102 + }
67.103 + if (newSize != currentSize) {
67.104 + currentSize = newSize;
67.105 + sizeUpdated = true;
67.106 + }
67.107 + return sizeUpdated;
67.108 + }
67.109 +
67.110 + private synchronized XIconInfo getSecurityIconInfo() {
67.111 + updateIconSize();
67.112 + return getSecurityIconInfo(currentSize, currentIcon);
67.113 + }
67.114 +
67.115 + XWarningWindow(final Window ownerWindow, long parentWindow, XWindowPeer ownerPeer) {
67.116 + super(new XCreateWindowParams(new Object[] {
67.117 + TARGET, ownerWindow,
67.118 + OWNER, Long.valueOf(parentWindow)
67.119 + }));
67.120 this.ownerWindow = ownerWindow;
67.121 - xSetVisible(true);
67.122 - toFront();
67.123 + this.parentWindow = parentWindow;
67.124 + this.tooltip = new InfoWindow.Tooltip(null, getTarget(),
67.125 + new InfoWindow.Tooltip.LiveArguments() {
67.126 + public boolean isDisposed() {
67.127 + return XWarningWindow.this.isDisposed();
67.128 + }
67.129 + public Rectangle getBounds() {
67.130 + return XWarningWindow.this.getBounds();
67.131 + }
67.132 + public String getTooltipString() {
67.133 + return XWarningWindow.this.ownerWindow.getWarningString();
67.134 + }
67.135 + });
67.136 + this.ownerPeer = new WeakReference<XWindowPeer>(ownerPeer);
67.137 + }
67.138 +
67.139 + private void requestNoTaskbar() {
67.140 + XNETProtocol netProtocol = XWM.getWM().getNETProtocol();
67.141 + if (netProtocol != null) {
67.142 + netProtocol.requestState(this, netProtocol.XA_NET_WM_STATE_SKIP_TASKBAR, true);
67.143 + }
67.144 + }
67.145 +
67.146 + @Override
67.147 + void postInit(XCreateWindowParams params) {
67.148 + super.postInit(params);
67.149 + XToolkit.awtLock();
67.150 + try {
67.151 + XWM.setMotifDecor(this, false, 0, 0);
67.152 + XWM.setOLDecor(this, false, 0);
67.153 +
67.154 + long parentWindow = ((Long)params.get(OWNER)).longValue();
67.155 + XlibWrapper.XSetTransientFor(XToolkit.getDisplay(),
67.156 + getWindow(), parentWindow);
67.157 +
67.158 + XWMHints hints = getWMHints();
67.159 + hints.set_flags(hints.get_flags() | (int)XUtilConstants.InputHint | (int)XUtilConstants.StateHint);
67.160 + hints.set_input(false);
67.161 + hints.set_initial_state(XUtilConstants.NormalState);
67.162 + XlibWrapper.XSetWMHints(XToolkit.getDisplay(), getWindow(), hints.pData);
67.163 +
67.164 + initWMProtocols();
67.165 + requestNoTaskbar();
67.166 + } finally {
67.167 + XToolkit.awtUnlock();
67.168 + }
67.169 + }
67.170 +
67.171 + private void updateWarningWindowBounds() {
67.172 + XWindowPeer peer = ownerPeer.get();
67.173 + if (peer != null) {
67.174 + synchronized (this) {
67.175 + if (updateIconSize()) {
67.176 + XIconInfo ico = getSecurityIconInfo();
67.177 + XToolkit.awtLock();
67.178 + try {
67.179 + XlibWrapper.SetBitmapShape(XToolkit.getDisplay(), getWindow(),
67.180 + ico.getWidth(), ico.getHeight(), ico.getIntData());
67.181 + } finally {
67.182 + XToolkit.awtUnlock();
67.183 + }
67.184 + sizeUpdated = false;
67.185 + AWTAccessor.getWindowAccessor().setSecurityWarningSize(
67.186 + ownerWindow, ico.getWidth(), ico.getHeight());
67.187 + }
67.188 + }
67.189 + peer.repositionSecurityWarning();
67.190 + }
67.191 + }
67.192 +
67.193 + /**
67.194 + * @param x,y,w,h coordinates of the untrusted window
67.195 + */
67.196 + public void reposition(int x, int y, int w, int h) {
67.197 + Point2D point = AWTAccessor.getWindowAccessor().
67.198 + calculateSecurityWarningPosition(ownerWindow,
67.199 + x, y, w, h);
67.200 + reshape((int)point.getX(), (int)point.getY(), getWidth(), getHeight());
67.201 }
67.202
67.203 protected String getWMName() {
67.204 @@ -49,33 +227,19 @@
67.205 getFont());
67.206 }
67.207 void paint(Graphics g, int x, int y, int width, int height) {
67.208 - String warningString = getWarningString();
67.209 - Rectangle bounds = getBounds();
67.210 - bounds.x = 0;
67.211 - bounds.y = 0;
67.212 - Rectangle updateRect = new Rectangle(x, y, width, height);
67.213 - if (updateRect.intersects(bounds)) {
67.214 - Rectangle updateArea = updateRect.intersection(bounds);
67.215 - g.setClip(updateArea);
67.216 - g.setColor(getBackground());
67.217 - g.fillRect(updateArea.x, updateArea.y, updateArea.width, updateArea.height);
67.218 - g.setColor(getColor());
67.219 - g.setFont(getFont());
67.220 - FontMetrics fm = g.getFontMetrics();
67.221 - int warningWidth = fm.stringWidth(warningString);
67.222 - int w_x = (bounds.width - warningWidth)/2;
67.223 - int w_y = (bounds.height + fm.getMaxAscent() - fm.getMaxDescent())/2;
67.224 - g.drawString(warningString, w_x, w_y);
67.225 - g.drawLine(bounds.x, bounds.y+bounds.height-1, bounds.x+bounds.width-1, bounds.y+bounds.height-1);
67.226 - }
67.227 + g.drawImage(getSecurityIconInfo().getImage(), 0, 0, null);
67.228 }
67.229
67.230 String getWarningString() {
67.231 return ownerWindow.getWarningString();
67.232 }
67.233
67.234 + int getWidth() {
67.235 + return getSecurityIconInfo().getWidth();
67.236 + }
67.237 +
67.238 int getHeight() {
67.239 - return defaultHeight; // should implement depending on Font
67.240 + return getSecurityIconInfo().getHeight();
67.241 }
67.242
67.243 Color getBackground() {
67.244 @@ -97,6 +261,7 @@
67.245 }
67.246 }
67.247
67.248 + @Override
67.249 public void handleExposeEvent(XEvent xev) {
67.250 super.handleExposeEvent(xev);
67.251
67.252 @@ -105,18 +270,156 @@
67.253 final int y = xe.get_y();
67.254 final int width = xe.get_width();
67.255 final int height = xe.get_height();
67.256 - EventQueue.invokeLater(new Runnable() {
67.257 - public void run() {
67.258 - Graphics g = getGraphics();
67.259 - try {
67.260 - paint(g, x, y, width, height);
67.261 - } finally {
67.262 - g.dispose();
67.263 - }
67.264 - }
67.265 - });
67.266 + SunToolkit.executeOnEventHandlerThread(target,
67.267 + new Runnable() {
67.268 + public void run() {
67.269 + Graphics g = getGraphics();
67.270 + try {
67.271 + paint(g, x, y, width, height);
67.272 + } finally {
67.273 + g.dispose();
67.274 + }
67.275 + }
67.276 + });
67.277 }
67.278 +
67.279 + @Override
67.280 protected boolean isEventDisabled(XEvent e) {
67.281 return true;
67.282 }
67.283 +
67.284 + /** Send a synthetic UnmapNotify in order to withdraw the window.
67.285 + */
67.286 + private void withdraw() {
67.287 + XEvent req = new XEvent();
67.288 + try {
67.289 + long root;
67.290 + XToolkit.awtLock();
67.291 + try {
67.292 + root = XlibWrapper.RootWindow(XToolkit.getDisplay(), getScreenNumber());
67.293 + }
67.294 + finally {
67.295 + XToolkit.awtUnlock();
67.296 + }
67.297 +
67.298 + req.set_type(XConstants.UnmapNotify);
67.299 +
67.300 + XUnmapEvent umev = req.get_xunmap();
67.301 +
67.302 + umev.set_event(root);
67.303 + umev.set_window(getWindow());
67.304 + umev.set_from_configure(false);
67.305 +
67.306 + XToolkit.awtLock();
67.307 + try {
67.308 + XlibWrapper.XSendEvent(XToolkit.getDisplay(),
67.309 + root,
67.310 + false,
67.311 + XConstants.SubstructureRedirectMask | XConstants.SubstructureNotifyMask,
67.312 + req.pData);
67.313 + }
67.314 + finally {
67.315 + XToolkit.awtUnlock();
67.316 + }
67.317 + } finally {
67.318 + req.dispose();
67.319 + }
67.320 + }
67.321 +
67.322 + @Override
67.323 + protected void stateChanged(long time, int oldState, int newState) {
67.324 + if (newState == XUtilConstants.IconicState) {
67.325 + super.xSetVisible(false);
67.326 + withdraw();
67.327 + }
67.328 + }
67.329 +
67.330 + @Override
67.331 + protected void setMouseAbove(boolean above) {
67.332 + super.setMouseAbove(above);
67.333 + XWindowPeer p = ownerPeer.get();
67.334 + if (p != null) {
67.335 + p.updateSecurityWarningVisibility();
67.336 + }
67.337 + }
67.338 +
67.339 + @Override
67.340 + protected void enterNotify(long window) {
67.341 + super.enterNotify(window);
67.342 + if (window == getWindow()) {
67.343 + tooltip.enter();
67.344 + }
67.345 + }
67.346 +
67.347 + @Override
67.348 + protected void leaveNotify(long window) {
67.349 + super.leaveNotify(window);
67.350 + if (window == getWindow()) {
67.351 + tooltip.exit();
67.352 + }
67.353 + }
67.354 +
67.355 + @Override
67.356 + public void xSetVisible(boolean visible) {
67.357 + super.xSetVisible(visible);
67.358 +
67.359 + // The _NET_WM_STATE_SKIP_TASKBAR got reset upon hiding/showing,
67.360 + // so we request it every time whenever we change the visibility.
67.361 + requestNoTaskbar();
67.362 + }
67.363 +
67.364 + private final Runnable hidingTask = new Runnable() {
67.365 + public void run() {
67.366 + xSetVisible(false);
67.367 + }
67.368 + };
67.369 +
67.370 + private final Runnable showingTask = new Runnable() {
67.371 + public void run() {
67.372 + new Thread() {
67.373 + public void run() {
67.374 + if (!isVisible()) {
67.375 + xSetVisible(true);
67.376 + updateWarningWindowBounds();
67.377 + }
67.378 + repaint();
67.379 + if (currentIcon > 0) {
67.380 + currentIcon--;
67.381 + XToolkit.schedule(showingTask, showingDelay);
67.382 + }
67.383 + }}.start();
67.384 + }
67.385 + };
67.386 +
67.387 + public void setSecurityWarningVisible(boolean visible) {
67.388 + setSecurityWarningVisible(visible, true);
67.389 + }
67.390 +
67.391 + public void setSecurityWarningVisible(boolean visible, boolean doSchedule) {
67.392 + if (visible) {
67.393 + XToolkit.remove(hidingTask);
67.394 + XToolkit.remove(showingTask);
67.395 + if (isVisible()) {
67.396 + currentIcon = 0;
67.397 + } else {
67.398 + currentIcon = 3;
67.399 + }
67.400 + if (doSchedule) {
67.401 + XToolkit.schedule(showingTask, 1);
67.402 + } else {
67.403 + showingTask.run();
67.404 + }
67.405 + } else {
67.406 + XToolkit.remove(showingTask);
67.407 + XToolkit.remove(hidingTask);
67.408 + if (!isVisible()) {
67.409 + return;
67.410 + }
67.411 + if (doSchedule) {
67.412 + XToolkit.schedule(hidingTask, hidingDelay);
67.413 + } else {
67.414 + hidingTask.run();
67.415 + }
67.416 + }
67.417 + }
67.418 }
68.1 --- a/src/solaris/classes/sun/awt/X11/XWindow.java Tue Apr 14 00:05:07 2009 -0700
68.2 +++ b/src/solaris/classes/sun/awt/X11/XWindow.java Tue Apr 14 04:21:02 2009 -0700
68.3 @@ -1,5 +1,5 @@
68.4 /*
68.5 - * Copyright 2002-2008 Sun Microsystems, Inc. All Rights Reserved.
68.6 + * Copyright 2002-2009 Sun Microsystems, Inc. All Rights Reserved.
68.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
68.8 *
68.9 * This code is free software; you can redistribute it and/or modify it
68.10 @@ -68,6 +68,15 @@
68.11 int oldWidth = -1;
68.12 int oldHeight = -1;
68.13
68.14 + protected PropMwmHints mwm_hints;
68.15 + protected static XAtom wm_protocols;
68.16 + protected static XAtom wm_delete_window;
68.17 + protected static XAtom wm_take_focus;
68.18 +
68.19 + private boolean stateChanged; // Indicates whether the value on savedState is valid
68.20 + private int savedState; // Holds last known state of the top-level window
68.21 +
68.22 + XWindowAttributesData winAttr;
68.23
68.24 protected X11GraphicsConfig graphicsConfig;
68.25 protected AwtGraphicsConfigData graphicsConfigData;
68.26 @@ -119,6 +128,9 @@
68.27 private native static void initIDs();
68.28
68.29 private static Field isPostedField;
68.30 + private static Field rawCodeField;
68.31 + private static Field primaryLevelUnicodeField;
68.32 + private static Field extendedKeyCodeField;
68.33 static {
68.34 initIDs();
68.35 }
68.36 @@ -218,6 +230,20 @@
68.37 }
68.38
68.39 params.putIfNull(BACKING_STORE, XToolkit.getBackingStoreType());
68.40 +
68.41 + XToolkit.awtLock();
68.42 + try {
68.43 + if (wm_protocols == null) {
68.44 + wm_protocols = XAtom.get("WM_PROTOCOLS");
68.45 + wm_delete_window = XAtom.get("WM_DELETE_WINDOW");
68.46 + wm_take_focus = XAtom.get("WM_TAKE_FOCUS");
68.47 + }
68.48 + }
68.49 + finally {
68.50 + XToolkit.awtUnlock();
68.51 + }
68.52 + winAttr = new XWindowAttributesData();
68.53 + savedState = XUtilConstants.WithdrawnState;
68.54 }
68.55
68.56 void postInit(XCreateWindowParams params) {
68.57 @@ -832,12 +858,42 @@
68.58 public native boolean x11inputMethodLookupString(long event, long [] keysymArray);
68.59 native boolean haveCurrentX11InputMethodInstance();
68.60
68.61 + private boolean mouseAboveMe;
68.62 +
68.63 + public boolean isMouseAbove() {
68.64 + synchronized (getStateLock()) {
68.65 + return mouseAboveMe;
68.66 + }
68.67 + }
68.68 + protected void setMouseAbove(boolean above) {
68.69 + synchronized (getStateLock()) {
68.70 + mouseAboveMe = above;
68.71 + }
68.72 + }
68.73 +
68.74 + protected void enterNotify(long window) {
68.75 + if (window == getWindow()) {
68.76 + setMouseAbove(true);
68.77 + }
68.78 + }
68.79 + protected void leaveNotify(long window) {
68.80 + if (window == getWindow()) {
68.81 + setMouseAbove(false);
68.82 + }
68.83 + }
68.84 +
68.85 public void handleXCrossingEvent(XEvent xev) {
68.86 super.handleXCrossingEvent(xev);
68.87 XCrossingEvent xce = xev.get_xcrossing();
68.88
68.89 if (eventLog.isLoggable(Level.FINEST)) eventLog.finest(xce.toString());
68.90
68.91 + if (xce.get_type() == XConstants.EnterNotify) {
68.92 + enterNotify(xce.get_window());
68.93 + } else { // LeaveNotify:
68.94 + leaveNotify(xce.get_window());
68.95 + }
68.96 +
68.97 // Skip event If it was caused by a grab
68.98 // This is needed because on displays with focus-follows-mouse on MousePress X system generates
68.99 // two XCrossing events with mode != NormalNotify. First of them notifies that the mouse has left
68.100 @@ -984,7 +1040,7 @@
68.101 Parameter is a keysym basically from keysymdef.h
68.102 XXX: how about vendor keys? Is there some with Unicode value and not in the list?
68.103 */
68.104 - char keysymToUnicode( long keysym, int state ) {
68.105 + int keysymToUnicode( long keysym, int state ) {
68.106 return XKeysym.convertKeysym( keysym, state );
68.107 }
68.108 int keyEventType2Id( int xEventType ) {
68.109 @@ -994,6 +1050,13 @@
68.110 static private long xkeycodeToKeysym(XKeyEvent ev) {
68.111 return XKeysym.getKeysym( ev );
68.112 }
68.113 + private long xkeycodeToPrimaryKeysym(XKeyEvent ev) {
68.114 + return XKeysym.xkeycode2primary_keysym( ev );
68.115 + }
68.116 + static private int primaryUnicode2JavaKeycode(int uni) {
68.117 + return (uni > 0? sun.awt.ExtendedKeyCodes.getExtendedKeyCodeForChar(uni) : 0);
68.118 + //return (uni > 0? uni + 0x01000000 : 0);
68.119 + }
68.120 void logIncomingKeyEvent(XKeyEvent ev) {
68.121 keyEventLog.fine("--XWindow.java:handleKeyEvent:"+ev);
68.122 dumpKeysymArray(ev);
68.123 @@ -1012,7 +1075,7 @@
68.124 // un-final it if you need to override it in a subclass.
68.125 final void handleKeyPress(XKeyEvent ev) {
68.126 long keysym[] = new long[2];
68.127 - char unicodeKey = 0;
68.128 + int unicodeKey = 0;
68.129 keysym[0] = XConstants.NoSymbol;
68.130
68.131 if (keyEventLog.isLoggable(Level.FINE)) {
68.132 @@ -1057,19 +1120,36 @@
68.133 if( jkc == null ) {
68.134 jkc = new XKeysym.Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UNDEFINED, java.awt.event.KeyEvent.KEY_LOCATION_UNKNOWN);
68.135 }
68.136 +
68.137 + // Take the first keysym from a keysym array associated with the XKeyevent
68.138 + // and convert it to Unicode. Then, even if a Java keycode for the keystroke
68.139 + // is undefined, we still have a guess of what has been engraved on a keytop.
68.140 + int unicodeFromPrimaryKeysym = keysymToUnicode( xkeycodeToPrimaryKeysym(ev) ,0);
68.141 +
68.142 if (keyEventLog.isLoggable(Level.FINE)) {
68.143 keyEventLog.fine(">>>Fire Event:"+
68.144 (ev.get_type() == XConstants.KeyPress ? "KEY_PRESSED; " : "KEY_RELEASED; ")+
68.145 "jkeycode:decimal="+jkc.getJavaKeycode()+
68.146 - ", hex=0x"+Integer.toHexString(jkc.getJavaKeycode())+"; "
68.147 + ", hex=0x"+Integer.toHexString(jkc.getJavaKeycode())+"; "+
68.148 + " legacy jkeycode: decimal="+XKeysym.getLegacyJavaKeycodeOnly(ev)+
68.149 + ", hex=0x"+Integer.toHexString(XKeysym.getLegacyJavaKeycodeOnly(ev))+"; "
68.150 );
68.151 }
68.152 +
68.153 + int jkeyToReturn = XKeysym.getLegacyJavaKeycodeOnly(ev); // someway backward compatible
68.154 + int jkeyExtended = jkc.getJavaKeycode() == java.awt.event.KeyEvent.VK_UNDEFINED ?
68.155 + primaryUnicode2JavaKeycode( unicodeFromPrimaryKeysym ) :
68.156 + jkc.getJavaKeycode();
68.157 postKeyEvent( java.awt.event.KeyEvent.KEY_PRESSED,
68.158 ev.get_time(),
68.159 - jkc.getJavaKeycode(),
68.160 + jkeyToReturn,
68.161 (unicodeKey == 0 ? java.awt.event.KeyEvent.CHAR_UNDEFINED : unicodeKey),
68.162 jkc.getKeyLocation(),
68.163 - ev.get_state(),ev.getPData(), XKeyEvent.getSize());
68.164 + ev.get_state(),ev.getPData(), XKeyEvent.getSize(), (long)(ev.get_keycode()),
68.165 + unicodeFromPrimaryKeysym,
68.166 + jkeyExtended);
68.167 +
68.168 +
68.169 if( unicodeKey > 0 ) {
68.170 keyEventLog.fine("fire _TYPED on "+unicodeKey);
68.171 postKeyEvent( java.awt.event.KeyEvent.KEY_TYPED,
68.172 @@ -1077,7 +1157,10 @@
68.173 java.awt.event.KeyEvent.VK_UNDEFINED,
68.174 unicodeKey,
68.175 java.awt.event.KeyEvent.KEY_LOCATION_UNKNOWN,
68.176 - ev.get_state(),ev.getPData(), XKeyEvent.getSize());
68.177 + ev.get_state(),ev.getPData(), XKeyEvent.getSize(), (long)0,
68.178 + unicodeFromPrimaryKeysym,
68.179 + java.awt.event.KeyEvent.VK_UNDEFINED);
68.180 +
68.181 }
68.182
68.183
68.184 @@ -1095,7 +1178,7 @@
68.185 // un-private it if you need to call it from elsewhere
68.186 private void handleKeyRelease(XKeyEvent ev) {
68.187 long keysym[] = new long[2];
68.188 - char unicodeKey = 0;
68.189 + int unicodeKey = 0;
68.190 keysym[0] = XConstants.NoSymbol;
68.191
68.192 if (keyEventLog.isLoggable(Level.FINE)) {
68.193 @@ -1113,7 +1196,9 @@
68.194 keyEventLog.fine(">>>Fire Event:"+
68.195 (ev.get_type() == XConstants.KeyPress ? "KEY_PRESSED; " : "KEY_RELEASED; ")+
68.196 "jkeycode:decimal="+jkc.getJavaKeycode()+
68.197 - ", hex=0x"+Integer.toHexString(jkc.getJavaKeycode())+"; "
68.198 + ", hex=0x"+Integer.toHexString(jkc.getJavaKeycode())+"; "+
68.199 + " legacy jkeycode: decimal="+XKeysym.getLegacyJavaKeycodeOnly(ev)+
68.200 + ", hex=0x"+Integer.toHexString(XKeysym.getLegacyJavaKeycodeOnly(ev))+"; "
68.201 );
68.202 }
68.203 // We obtain keysym from IM and derive unicodeKey from it for KeyPress only.
68.204 @@ -1124,13 +1209,74 @@
68.205 // That's why we use the same procedure as if there was no IM instance: do-it-yourself unicode.
68.206 unicodeKey = keysymToUnicode( xkeycodeToKeysym(ev), ev.get_state() );
68.207
68.208 + // Take a first keysym from a keysym array associated with the XKeyevent
68.209 + // and convert it to Unicode. Then, even if Java keycode for the keystroke
68.210 + // is undefined, we still will have a guess of what was engraved on a keytop.
68.211 + int unicodeFromPrimaryKeysym = keysymToUnicode( xkeycodeToPrimaryKeysym(ev) ,0);
68.212 +
68.213 + int jkeyToReturn = XKeysym.getLegacyJavaKeycodeOnly(ev); // someway backward compatible
68.214 + int jkeyExtended = jkc.getJavaKeycode() == java.awt.event.KeyEvent.VK_UNDEFINED ?
68.215 + primaryUnicode2JavaKeycode( unicodeFromPrimaryKeysym ) :
68.216 + jkc.getJavaKeycode();
68.217 postKeyEvent( java.awt.event.KeyEvent.KEY_RELEASED,
68.218 ev.get_time(),
68.219 - jkc.getJavaKeycode(),
68.220 + jkeyToReturn,
68.221 (unicodeKey == 0 ? java.awt.event.KeyEvent.CHAR_UNDEFINED : unicodeKey),
68.222 jkc.getKeyLocation(),
68.223 - ev.get_state(),ev.getPData(), XKeyEvent.getSize());
68.224 + ev.get_state(),ev.getPData(), XKeyEvent.getSize(), (long)(ev.get_keycode()),
68.225 + unicodeFromPrimaryKeysym,
68.226 + jkeyExtended);
68.227
68.228 +
68.229 + }
68.230 +
68.231 + /*
68.232 + * XmNiconic and Map/UnmapNotify (that XmNiconic relies on) are
68.233 + * unreliable, since mapping changes can happen for a virtual desktop
68.234 + * switch or MacOS style shading that became quite popular under X as
68.235 + * well. Yes, it probably should not be this way, as it violates
68.236 + * ICCCM, but reality is that quite a lot of window managers abuse
68.237 + * mapping state.
68.238 + */
68.239 + int getWMState() {
68.240 + if (stateChanged) {
68.241 + stateChanged = false;
68.242 + WindowPropertyGetter getter =
68.243 + new WindowPropertyGetter(window, XWM.XA_WM_STATE, 0, 1, false,
68.244 + XWM.XA_WM_STATE);
68.245 + try {
68.246 + int status = getter.execute();
68.247 + if (status != XConstants.Success || getter.getData() == 0) {
68.248 + return savedState = XUtilConstants.WithdrawnState;
68.249 + }
68.250 +
68.251 + if (getter.getActualType() != XWM.XA_WM_STATE.getAtom() && getter.getActualFormat() != 32) {
68.252 + return savedState = XUtilConstants.WithdrawnState;
68.253 + }
68.254 + savedState = (int)Native.getCard32(getter.getData());
68.255 + } finally {
68.256 + getter.dispose();
68.257 + }
68.258 + }
68.259 + return savedState;
68.260 + }
68.261 +
68.262 + /**
68.263 + * Override this methods to get notifications when top-level window state changes. The state is
68.264 + * meant in terms of ICCCM: WithdrawnState, IconicState, NormalState
68.265 + */
68.266 + protected void stateChanged(long time, int oldState, int newState) {
68.267 + }
68.268 +
68.269 + @Override
68.270 + public void handlePropertyNotify(XEvent xev) {
68.271 + super.handlePropertyNotify(xev);
68.272 + XPropertyEvent ev = xev.get_xproperty();
68.273 + if (ev.get_atom() == XWM.XA_WM_STATE.getAtom()) {
68.274 + // State has changed, invalidate saved value
68.275 + stateChanged = true;
68.276 + stateChanged(ev.get_time(), savedState, getWMState());
68.277 + }
68.278 }
68.279
68.280 public void reshape(Rectangle bounds) {
68.281 @@ -1277,20 +1423,77 @@
68.282 }
68.283 }
68.284
68.285 - public void postKeyEvent(int id, long when, int keyCode, char keyChar,
68.286 - int keyLocation, int state, long event, int eventSize)
68.287 + public void postKeyEvent(int id, long when, int keyCode, int keyChar,
68.288 + int keyLocation, int state, long event, int eventSize, long rawCode,
68.289 + int unicodeFromPrimaryKeysym, int extendedKeyCode)
68.290 +
68.291 {
68.292 long jWhen = XToolkit.nowMillisUTC_offset(when);
68.293 int modifiers = getModifiers(state, 0, keyCode);
68.294 + if (rawCodeField == null) {
68.295 + rawCodeField = XToolkit.getField(KeyEvent.class, "rawCode");
68.296 + }
68.297 + if (primaryLevelUnicodeField == null) {
68.298 + primaryLevelUnicodeField = XToolkit.getField(KeyEvent.class, "primaryLevelUnicode");
68.299 + }
68.300 + if (extendedKeyCodeField == null) {
68.301 + extendedKeyCodeField = XToolkit.getField(KeyEvent.class, "extendedKeyCode");
68.302 + }
68.303 +
68.304 KeyEvent ke = new KeyEvent((Component)getEventSource(), id, jWhen,
68.305 - modifiers, keyCode, keyChar, keyLocation);
68.306 + modifiers, keyCode, (char)keyChar, keyLocation);
68.307 if (event != 0) {
68.308 byte[] data = Native.toBytes(event, eventSize);
68.309 setBData(ke, data);
68.310 }
68.311 + try {
68.312 + rawCodeField.set(ke, rawCode);
68.313 + primaryLevelUnicodeField.set(ke, (long)unicodeFromPrimaryKeysym);
68.314 + extendedKeyCodeField.set(ke, (long)extendedKeyCode);
68.315 + } catch (IllegalArgumentException e) {
68.316 + assert(false);
68.317 + } catch (IllegalAccessException e) {
68.318 + assert(false);
68.319 + }
68.320 postEventToEventQueue(ke);
68.321 }
68.322
68.323 static native int getAWTKeyCodeForKeySym(int keysym);
68.324 static native int getKeySymForAWTKeyCode(int keycode);
68.325 +
68.326 + /* These two methods are actually applicable to toplevel windows only.
68.327 + * However, the functionality is required by both the XWindowPeer and
68.328 + * XWarningWindow, both of which have the XWindow as a common ancestor.
68.329 + * See XWM.setMotifDecor() for details.
68.330 + */
68.331 + public PropMwmHints getMWMHints() {
68.332 + if (mwm_hints == null) {
68.333 + mwm_hints = new PropMwmHints();
68.334 + if (!XWM.XA_MWM_HINTS.getAtomData(getWindow(), mwm_hints.pData, MWMConstants.PROP_MWM_HINTS_ELEMENTS)) {
68.335 + mwm_hints.zero();
68.336 + }
68.337 + }
68.338 + return mwm_hints;
68.339 + }
68.340 +
68.341 + public void setMWMHints(PropMwmHints hints) {
68.342 + mwm_hints = hints;
68.343 + if (hints != null) {
68.344 + XWM.XA_MWM_HINTS.setAtomData(getWindow(), mwm_hints.pData, MWMConstants.PROP_MWM_HINTS_ELEMENTS);
68.345 + }
68.346 + }
68.347 +
68.348 + protected final void initWMProtocols() {
68.349 + wm_protocols.setAtomListProperty(this, getWMProtocols());
68.350 + }
68.351 +
68.352 + /**
68.353 + * Returns list of protocols which should be installed on this window.
68.354 + * Descendants can override this method to add class-specific protocols
68.355 + */
68.356 + protected XAtomList getWMProtocols() {
68.357 + // No protocols on simple window
68.358 + return new XAtomList();
68.359 + }
68.360 +
68.361 }
69.1 --- a/src/solaris/classes/sun/awt/X11/XWindowPeer.java Tue Apr 14 00:05:07 2009 -0700
69.2 +++ b/src/solaris/classes/sun/awt/X11/XWindowPeer.java Tue Apr 14 04:21:02 2009 -0700
69.3 @@ -1,5 +1,5 @@
69.4 /*
69.5 - * Copyright 2002-2008 Sun Microsystems, Inc. All Rights Reserved.
69.6 + * Copyright 2002-2009 Sun Microsystems, Inc. All Rights Reserved.
69.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
69.8 *
69.9 * This code is free software; you can redistribute it and/or modify it
69.10 @@ -30,6 +30,8 @@
69.11 import java.awt.event.FocusEvent;
69.12 import java.awt.event.WindowEvent;
69.13
69.14 +import java.awt.image.BufferedImage;
69.15 +
69.16 import java.awt.peer.ComponentPeer;
69.17 import java.awt.peer.WindowPeer;
69.18
69.19 @@ -42,13 +44,17 @@
69.20 import java.util.logging.Level;
69.21 import java.util.logging.Logger;
69.22
69.23 +import sun.awt.AWTAccessor;
69.24 import sun.awt.ComponentAccessor;
69.25 import sun.awt.WindowAccessor;
69.26 +import sun.awt.AWTAccessor;
69.27 import sun.awt.DisplayChangedListener;
69.28 import sun.awt.SunToolkit;
69.29 import sun.awt.X11GraphicsDevice;
69.30 import sun.awt.X11GraphicsEnvironment;
69.31
69.32 +import sun.java2d.pipe.Region;
69.33 +
69.34 class XWindowPeer extends XPanelPeer implements WindowPeer,
69.35 DisplayChangedListener {
69.36
69.37 @@ -61,16 +67,11 @@
69.38 // should be synchronized on awtLock
69.39 private static Set<XWindowPeer> windows = new HashSet<XWindowPeer>();
69.40
69.41 - static XAtom wm_protocols;
69.42 - static XAtom wm_delete_window;
69.43 - static XAtom wm_take_focus;
69.44
69.45 - XWindowAttributesData winAttr;
69.46 private boolean cachedFocusableWindow;
69.47 XWarningWindow warningWindow;
69.48
69.49 private boolean alwaysOnTop;
69.50 - PropMwmHints mwm_hints;
69.51 private boolean locationByPlatform;
69.52
69.53 Dialog modalBlocker;
69.54 @@ -87,8 +88,6 @@
69.55 private boolean grab = false; // Whether to do a grab during showing
69.56
69.57 private boolean isMapped = false; // Is this window mapped or not
69.58 - private boolean stateChanged; // Indicates whether the value on savedState is valid
69.59 - private int savedState; // Holds last known state of the top-level window
69.60 private boolean mustControlStackPosition = false; // Am override-redirect not on top
69.61 private XEventDispatcher rootPropertyEventDispatcher = null;
69.62
69.63 @@ -135,25 +134,18 @@
69.64 super.preInit(params);
69.65 params.putIfNull(BIT_GRAVITY, Integer.valueOf(XConstants.NorthWestGravity));
69.66
69.67 - savedState = XUtilConstants.WithdrawnState;
69.68 + long eventMask = 0;
69.69 + if (params.containsKey(EVENT_MASK)) {
69.70 + eventMask = ((Long)params.get(EVENT_MASK));
69.71 + }
69.72 + eventMask |= XConstants.VisibilityChangeMask;
69.73 + params.put(EVENT_MASK, eventMask);
69.74 +
69.75 XA_NET_WM_STATE = XAtom.get("_NET_WM_STATE");
69.76
69.77 - winAttr = new XWindowAttributesData();
69.78
69.79 params.put(OVERRIDE_REDIRECT, Boolean.valueOf(isOverrideRedirect()));
69.80
69.81 - SunToolkit.awtLock();
69.82 - try {
69.83 - windows.add(this);
69.84 - if (wm_protocols == null) {
69.85 - wm_protocols = XAtom.get("WM_PROTOCOLS");
69.86 - wm_delete_window = XAtom.get("WM_DELETE_WINDOW");
69.87 - wm_take_focus = XAtom.get("WM_TAKE_FOCUS");
69.88 - }
69.89 - }
69.90 - finally {
69.91 - SunToolkit.awtUnlock();
69.92 - }
69.93 cachedFocusableWindow = isFocusableWindow();
69.94
69.95 Font f = target.getFont();
69.96 @@ -186,20 +178,6 @@
69.97 params.put(BOUNDS, constrainBounds(bounds.x, bounds.y, bounds.width, bounds.height));
69.98 }
69.99
69.100 - private void initWMProtocols() {
69.101 - wm_protocols.setAtomListProperty(this, getWMProtocols());
69.102 - }
69.103 -
69.104 - /**
69.105 - * Returns list of protocols which should be installed on this window.
69.106 - * Descendants can override this method to add class-specific protocols
69.107 - */
69.108 - protected XAtomList getWMProtocols() {
69.109 - // No protocols on simple window
69.110 - return new XAtomList();
69.111 - }
69.112 -
69.113 -
69.114 protected String getWMName() {
69.115 String name = target.getName();
69.116 if (name == null || name.trim().equals("")) {
69.117 @@ -253,13 +231,17 @@
69.118 // accessSystemTray permission allows to display TrayIcon, TrayIcon tooltip
69.119 // and TrayIcon balloon windows without a warning window.
69.120 if (!WindowAccessor.isTrayIconWindow((Window)target)) {
69.121 - warningWindow = new XWarningWindow((Window)target, getWindow());
69.122 + warningWindow = new XWarningWindow((Window)target, getWindow(), this);
69.123 }
69.124 }
69.125
69.126 setSaveUnder(true);
69.127
69.128 updateIconImages();
69.129 +
69.130 + updateShape();
69.131 + updateOpacity();
69.132 + // no need in updateOpaque() as it is no-op
69.133 }
69.134
69.135 public void updateIconImages() {
69.136 @@ -417,6 +399,22 @@
69.137 return defaultIconInfo;
69.138 }
69.139
69.140 + private void updateShape() {
69.141 + // Shape shape = ((Window)target).getShape();
69.142 + Shape shape = AWTAccessor.getWindowAccessor().getShape((Window)target);
69.143 + if (shape != null) {
69.144 + applyShape(Region.getInstance(shape, null));
69.145 + }
69.146 + }
69.147 +
69.148 + private void updateOpacity() {
69.149 + // float opacity = ((Window)target).getOpacity();
69.150 + float opacity = AWTAccessor.getWindowAccessor().getOpacity((Window)target);
69.151 + if (opacity < 1.0f) {
69.152 + setOpacity(opacity);
69.153 + }
69.154 + }
69.155 +
69.156 public void updateMinimumSize() {
69.157 //This function only saves minimumSize value in XWindowPeer
69.158 //Setting WMSizeHints is implemented in XDecoratedPeer
69.159 @@ -513,10 +511,15 @@
69.160 }
69.161
69.162
69.163 - if (!bounds.getSize().equals(oldBounds.getSize())) {
69.164 + boolean isResized = !bounds.getSize().equals(oldBounds.getSize());
69.165 + boolean isMoved = !bounds.getLocation().equals(oldBounds.getLocation());
69.166 + if (isMoved || isResized) {
69.167 + repositionSecurityWarning();
69.168 + }
69.169 + if (isResized) {
69.170 postEventToEventQueue(new ComponentEvent(getEventSource(), ComponentEvent.COMPONENT_RESIZED));
69.171 }
69.172 - if (!bounds.getLocation().equals(oldBounds.getLocation())) {
69.173 + if (isMoved) {
69.174 postEventToEventQueue(new ComponentEvent(getEventSource(), ComponentEvent.COMPONENT_MOVED));
69.175 }
69.176 } finally {
69.177 @@ -539,7 +542,7 @@
69.178 }
69.179
69.180 public Insets getInsets() {
69.181 - return new Insets(getWarningWindowHeight(), 0, 0, 0);
69.182 + return new Insets(0, 0, 0, 0);
69.183 }
69.184
69.185 // NOTE: This method may be called by privileged threads.
69.186 @@ -686,6 +689,7 @@
69.187 int curScreenNum = ((X11GraphicsDevice)getGraphicsConfiguration().getDevice()).getScreen();
69.188 int newScreenNum = 0;
69.189 GraphicsDevice gds[] = XToolkit.localEnv.getScreenDevices();
69.190 + GraphicsConfiguration newGC = null;
69.191 Rectangle screenBounds;
69.192
69.193 for (int i = 0; i < gds.length; i++) {
69.194 @@ -701,11 +705,13 @@
69.195 if (intAmt == area) {
69.196 // Completely on this screen - done!
69.197 newScreenNum = i;
69.198 + newGC = gds[i].getDefaultConfiguration();
69.199 break;
69.200 }
69.201 if (intAmt > largestAmt) {
69.202 largestAmt = intAmt;
69.203 newScreenNum = i;
69.204 + newGC = gds[i].getDefaultConfiguration();
69.205 }
69.206 }
69.207 }
69.208 @@ -713,28 +719,20 @@
69.209 if (log.isLoggable(Level.FINEST)) {
69.210 log.finest("XWindowPeer: Moved to a new screen");
69.211 }
69.212 - draggedToNewScreen(newScreenNum);
69.213 + executeDisplayChangedOnEDT(newGC);
69.214 }
69.215 }
69.216
69.217 - /* Xinerama
69.218 - * called to update our GC when dragged onto another screen
69.219 - */
69.220 - public void draggedToNewScreen(int screenNum) {
69.221 - executeDisplayChangedOnEDT(screenNum);
69.222 - }
69.223 -
69.224 /**
69.225 * Helper method that executes the displayChanged(screen) method on
69.226 * the event dispatch thread. This method is used in the Xinerama case
69.227 * and after display mode change events.
69.228 */
69.229 - private void executeDisplayChangedOnEDT(final int screenNum) {
69.230 + private void executeDisplayChangedOnEDT(final GraphicsConfiguration gc) {
69.231 Runnable dc = new Runnable() {
69.232 public void run() {
69.233 - // Updates this window's GC and notifies all the children.
69.234 - // See XPanelPeer/XCanvasPeer.displayChanged(int) for details.
69.235 - displayChanged(screenNum);
69.236 + AWTAccessor.getComponentAccessor().
69.237 + setGraphicsConfiguration((Component)target, gc);
69.238 }
69.239 };
69.240 SunToolkit.executeOnEventHandlerThread((Component)target, dc);
69.241 @@ -745,9 +743,7 @@
69.242 * X11GraphicsDevice when the display mode has been changed.
69.243 */
69.244 public void displayChanged() {
69.245 - GraphicsConfiguration gc = getGraphicsConfiguration();
69.246 - int curScreenNum = ((X11GraphicsDevice)gc.getDevice()).getScreen();
69.247 - executeDisplayChangedOnEDT(curScreenNum);
69.248 + executeDisplayChangedOnEDT(getGraphicsConfiguration());
69.249 }
69.250
69.251 /**
69.252 @@ -761,6 +757,7 @@
69.253 * Overridden to check if we need to update our GraphicsDevice/Config
69.254 * Added for 4934052.
69.255 */
69.256 + @Override
69.257 public void handleConfigureNotifyEvent(XEvent xev) {
69.258 // TODO: We create an XConfigureEvent every time we override
69.259 // handleConfigureNotify() - too many!
69.260 @@ -774,8 +771,7 @@
69.261 // there could be a race condition in which a ComponentListener could
69.262 // see the old screen.
69.263 super.handleConfigureNotifyEvent(xev);
69.264 - // for 5085647: no applet warning window visible
69.265 - updateChildrenSizes();
69.266 + repositionSecurityWarning();
69.267 }
69.268
69.269 final void requestXFocus(long time) {
69.270 @@ -1053,6 +1049,9 @@
69.271 }
69.272 updateFocusability();
69.273 promoteDefaultPosition();
69.274 + if (!vis && warningWindow != null) {
69.275 + warningWindow.setSecurityWarningVisible(false, false);
69.276 + }
69.277 super.setVisible(vis);
69.278 if (!vis && !isWithdrawn()) {
69.279 // ICCCM, 4.1.4. Changing Window State:
69.280 @@ -1082,6 +1081,7 @@
69.281 if (isOverrideRedirect() && vis) {
69.282 updateChildrenSizes();
69.283 }
69.284 + repositionSecurityWarning();
69.285 }
69.286
69.287 protected void suppressWmTakeFocus(boolean doSuppress) {
69.288 @@ -1099,21 +1099,64 @@
69.289 return 0;
69.290 }
69.291
69.292 - // The height of area used to display Applet's warning about securit
69.293 - int getWarningWindowHeight() {
69.294 + // Called when shell changes its size and requires children windows
69.295 + // to update their sizes appropriately
69.296 + void updateChildrenSizes() {
69.297 + }
69.298 +
69.299 + public void repositionSecurityWarning() {
69.300 + // NOTE: On KWin if the window/border snapping option is enabled,
69.301 + // the Java window may be swinging while it's being moved.
69.302 + // This doesn't make the application unusable though looks quite ugly.
69.303 + // Probobly we need to find some hint to assign to our Security
69.304 + // Warning window in order to exclude it from the snapping option.
69.305 + // We are not currently aware of existance of such a property.
69.306 if (warningWindow != null) {
69.307 - return warningWindow.getHeight();
69.308 - } else {
69.309 - return 0;
69.310 + // We can't use the coordinates stored in the XBaseWindow since
69.311 + // they are zeros for decorated frames.
69.312 + int x = ComponentAccessor.getX(target);
69.313 + int y = ComponentAccessor.getY(target);
69.314 + int width = ComponentAccessor.getWidth(target);
69.315 + int height = ComponentAccessor.getHeight(target);
69.316 + warningWindow.reposition(x, y, width, height);
69.317 }
69.318 }
69.319
69.320 - // Called when shell changes its size and requires children windows
69.321 - // to update their sizes appropriately
69.322 - void updateChildrenSizes() {
69.323 - if (warningWindow != null) {
69.324 - warningWindow.reshape(0, getMenuBarHeight(), getSize().width, warningWindow.getHeight());
69.325 + @Override
69.326 + protected void setMouseAbove(boolean above) {
69.327 + super.setMouseAbove(above);
69.328 + updateSecurityWarningVisibility();
69.329 + }
69.330 +
69.331 + public void updateSecurityWarningVisibility() {
69.332 + if (warningWindow == null) {
69.333 + return;
69.334 }
69.335 +
69.336 + boolean show = false;
69.337 +
69.338 + int state = getWMState();
69.339 +
69.340 + if (!isVisible()) {
69.341 + return; // The warning window should already be hidden.
69.342 + }
69.343 +
69.344 + // getWMState() always returns 0 (Withdrawn) for simple windows. Hence
69.345 + // we ignore the state for such windows.
69.346 + if (isVisible() && (state == XUtilConstants.NormalState || isSimpleWindow())) {
69.347 + if (XKeyboardFocusManagerPeer.getCurrentNativeFocusedWindow() ==
69.348 + getTarget())
69.349 + {
69.350 + show = true;
69.351 + }
69.352 +
69.353 + if (isMouseAbove() || warningWindow.isMouseAbove())
69.354 + {
69.355 + show = true;
69.356 + }
69.357 + }
69.358 +
69.359 + warningWindow.setSecurityWarningVisible(show);
69.360 }
69.361
69.362 boolean isOverrideRedirect() {
69.363 @@ -1165,16 +1208,7 @@
69.364 // if (ve.get_state() == XlibWrapper.VisibilityUnobscured) {
69.365 // // raiseInputMethodWindow
69.366 // }
69.367 - }
69.368 -
69.369 - public void handlePropertyNotify(XEvent xev) {
69.370 - super.handlePropertyNotify(xev);
69.371 - XPropertyEvent ev = xev.get_xproperty();
69.372 - if (ev.get_atom() == XWM.XA_WM_STATE.getAtom()) {
69.373 - // State has changed, invalidate saved value
69.374 - stateChanged = true;
69.375 - stateChanged(ev.get_time(), savedState, getWMState());
69.376 - }
69.377 + repositionSecurityWarning();
69.378 }
69.379
69.380 void handleRootPropertyNotify(XEvent xev) {
69.381 @@ -1275,6 +1309,7 @@
69.382 * Override this methods to get notifications when top-level window state changes. The state is
69.383 * meant in terms of ICCCM: WithdrawnState, IconicState, NormalState
69.384 */
69.385 + @Override
69.386 protected void stateChanged(long time, int oldState, int newState) {
69.387 // Fix for 6401700, 6412803
69.388 // If this window is modal blocked, it is put into the transient_for
69.389 @@ -1288,38 +1323,8 @@
69.390 for (ToplevelStateListener topLevelListenerTmp : toplevelStateListeners) {
69.391 topLevelListenerTmp.stateChangedICCCM(oldState, newState);
69.392 }
69.393 - }
69.394
69.395 -
69.396 - /*
69.397 - * XmNiconic and Map/UnmapNotify (that XmNiconic relies on) are
69.398 - * unreliable, since mapping changes can happen for a virtual desktop
69.399 - * switch or MacOS style shading that became quite popular under X as
69.400 - * well. Yes, it probably should not be this way, as it violates
69.401 - * ICCCM, but reality is that quite a lot of window managers abuse
69.402 - * mapping state.
69.403 - */
69.404 - int getWMState() {
69.405 - if (stateChanged) {
69.406 - stateChanged = false;
69.407 - WindowPropertyGetter getter =
69.408 - new WindowPropertyGetter(window, XWM.XA_WM_STATE, 0, 1, false,
69.409 - XWM.XA_WM_STATE);
69.410 - try {
69.411 - int status = getter.execute();
69.412 - if (status != XConstants.Success || getter.getData() == 0) {
69.413 - return savedState = XUtilConstants.WithdrawnState;
69.414 - }
69.415 -
69.416 - if (getter.getActualType() != XWM.XA_WM_STATE.getAtom() && getter.getActualFormat() != 32) {
69.417 - return savedState = XUtilConstants.WithdrawnState;
69.418 - }
69.419 - savedState = (int)Native.getCard32(getter.getData());
69.420 - } finally {
69.421 - getter.dispose();
69.422 - }
69.423 - }
69.424 - return savedState;
69.425 + updateSecurityWarningVisibility();
69.426 }
69.427
69.428 boolean isWithdrawn() {
69.429 @@ -2064,4 +2069,44 @@
69.430 }
69.431 super.handleButtonPressRelease(xev);
69.432 }
69.433 +
69.434 + public void print(Graphics g) {
69.435 + // We assume we print the whole frame,
69.436 + // so we expect no clip was set previously
69.437 + Shape shape = AWTAccessor.getWindowAccessor().getShape((Window)target);
69.438 + if (shape != null) {
69.439 + g.setClip(shape);
69.440 + }
69.441 + super.print(g);
69.442 + }
69.443 +
69.444 + @Override
69.445 + public void setOpacity(float opacity) {
69.446 + final long maxOpacity = 0xffffffffl;
69.447 + long iOpacity = (long)(opacity * maxOpacity);
69.448 + if (iOpacity < 0) {
69.449 + iOpacity = 0;
69.450 + }
69.451 + if (iOpacity > maxOpacity) {
69.452 + iOpacity = maxOpacity;
69.453 + }
69.454 +
69.455 + XAtom netWmWindowOpacityAtom = XAtom.get("_NET_WM_WINDOW_OPACITY");
69.456 +
69.457 + if (iOpacity == maxOpacity) {
69.458 + netWmWindowOpacityAtom.DeleteProperty(getWindow());
69.459 + } else {
69.460 + netWmWindowOpacityAtom.setCard32Property(getWindow(), iOpacity);
69.461 + }
69.462 + }
69.463 +
69.464 + @Override
69.465 + public void setOpaque(boolean isOpaque) {
69.466 + // no-op
69.467 + }
69.468 +
69.469 + @Override
69.470 + public void updateWindow(BufferedImage backBuffer) {
69.471 + // no-op
69.472 + }
69.473 }
70.1 --- a/src/solaris/classes/sun/awt/X11/XlibWrapper.java Tue Apr 14 00:05:07 2009 -0700
70.2 +++ b/src/solaris/classes/sun/awt/X11/XlibWrapper.java Tue Apr 14 04:21:02 2009 -0700
70.3 @@ -1,5 +1,5 @@
70.4 /*
70.5 - * Copyright 2002-2008 Sun Microsystems, Inc. All Rights Reserved.
70.6 + * Copyright 2002-2009 Sun Microsystems, Inc. All Rights Reserved.
70.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
70.8 *
70.9 * This code is free software; you can redistribute it and/or modify it
70.10 @@ -156,6 +156,8 @@
70.11
70.12 static native void XLowerWindow(long display, long window);
70.13 static native void XRestackWindows(long display, long windows, int length);
70.14 + static native void XConfigureWindow(long display, long window,
70.15 + long value_mask, long values);
70.16 static native void XSetInputFocus(long display, long window);
70.17 static native void XSetInputFocus2(long display, long window, long time);
70.18 static native long XGetInputFocus(long display);
70.19 @@ -490,6 +492,21 @@
70.20
70.21 static native int XKeysymToKeycode(long display, long keysym);
70.22
70.23 + // xkb-related
70.24 + static native int XkbGetEffectiveGroup(long display);
70.25 + static native long XkbKeycodeToKeysym(long display, int keycode, int group, int level);
70.26 + static native void XkbSelectEvents(long display, long device, long bits_to_change, long values_for_bits);
70.27 + static native void XkbSelectEventDetails(long display, long device, long event_type,
70.28 + long bits_to_change, long values_for_bits);
70.29 + static native boolean XkbQueryExtension(long display, long opcode_rtrn, long event_rtrn,
70.30 + long error_rtrn, long major_in_out, long minor_in_out);
70.31 + static native boolean XkbLibraryVersion(long lib_major_in_out, long lib_minor_in_out);
70.32 + static native long XkbGetMap(long display, long which, long device_spec);
70.33 + static native long XkbGetUpdatedMap(long display, long which, long xkb);
70.34 + static native void XkbFreeKeyboard(long xkb, long which, boolean free_all);
70.35 + static native boolean XkbTranslateKeyCode(long xkb, int keycode, long mods, long mods_rtrn, long keysym_rtrn);
70.36 +
70.37 +
70.38 static native void XConvertCase(long keysym,
70.39 long keysym_lowercase,
70.40 long keysym_uppercase);
70.41 @@ -533,6 +550,13 @@
70.42 static native void SetRectangularShape(long display, long window,
70.43 int lox, int loy, int hix, int hiy,
70.44 sun.java2d.pipe.Region region);
70.45 + /** Each int in the bitmap array is one pixel with a 32-bit color:
70.46 + * R, G, B, and Alpha.
70.47 + */
70.48 + static native void SetBitmapShape(long display, long window,
70.49 + int width, int height, int[] bitmap);
70.50 +
70.51 + static native void SetZOrder(long display, long window, long above);
70.52
70.53 /* Global memory area used for X lib parameter passing */
70.54
70.55 @@ -608,6 +632,15 @@
70.56 }
70.57 return buf.toString();
70.58 }
70.59 + static String getEventToString( int type ) {
70.60 + if( (type >= 0) && (type < eventToString.length)) {
70.61 + return eventToString[type];
70.62 + }else if( type == XToolkit.getXKBBaseEventCode() ) {
70.63 + //XXX TODO various xkb types
70.64 + return "XkbEvent";
70.65 + }
70.66 + return eventToString[0];
70.67 + }
70.68
70.69 private static boolean getBuildInternal() {
70.70 String javaVersion = XToolkit.getSystemProperty("java.version");
71.1 --- a/src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java Tue Apr 14 00:05:07 2009 -0700
71.2 +++ b/src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java Tue Apr 14 04:21:02 2009 -0700
71.3 @@ -1,5 +1,5 @@
71.4 /*
71.5 - * Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved.
71.6 + * Copyright 2003-2009 Sun Microsystems, Inc. All Rights Reserved.
71.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
71.8 *
71.9 * This code is free software; you can redistribute it and/or modify it
71.10 @@ -859,14 +859,14 @@
71.11 pw.println("\n\tlong pData;");
71.12 pw.println("\n\tpublic long getPData() { return pData; }");
71.13
71.14 - pw.println("\n\n\t" + stp.getJavaClassName() + "(long addr) {");
71.15 + pw.println("\n\n\tpublic " + stp.getJavaClassName() + "(long addr) {");
71.16 if (generateLog) {
71.17 pw.println("\t\tlog.finest(\"Creating\");");
71.18 }
71.19 pw.println("\t\tpData=addr;");
71.20 pw.println("\t\tshould_free_memory = false;");
71.21 pw.println("\t}");
71.22 - pw.println("\n\n\t" + stp.getJavaClassName() + "() {");
71.23 + pw.println("\n\n\tpublic " + stp.getJavaClassName() + "() {");
71.24 if (generateLog) {
71.25 pw.println("\t\tlog.finest(\"Creating\");");
71.26 }
71.27 @@ -1138,6 +1138,7 @@
71.28 pw.println("/* This file is an automatically generated file, please do not edit this file, modify the XlibParser.java file instead !*/\n" );
71.29 pw.println("#include <X11/Xlib.h>\n#include <X11/Xutil.h>\n#include <X11/Xos.h>\n#include <X11/Xatom.h>\n#include <stdio.h>\n");
71.30 pw.println("#include <X11/extensions/Xdbe.h>");
71.31 + pw.println("#include <X11/XKBlib.h>");
71.32 pw.println("#include \"awt_p.h\"");
71.33 pw.println("#include \"color.h\"");
71.34 pw.println("#include \"colordata.h\"");
72.1 --- a/src/solaris/classes/sun/awt/X11/generator/sizes.64-solaris-i386 Tue Apr 14 00:05:07 2009 -0700
72.2 +++ b/src/solaris/classes/sun/awt/X11/generator/sizes.64-solaris-i386 Tue Apr 14 04:21:02 2009 -0700
72.3 @@ -16,10 +16,38 @@
72.4 XIMStringConversionCallbackStruct.factor 10
72.5 XIMStringConversionCallbackStruct.text 16
72.6 XIMStringConversionCallbackStruct 24
72.7 +XkbNewKeyboardNotifyEvent.type 0
72.8 +XkbNewKeyboardNotifyEvent.serial 8
72.9 +XkbNewKeyboardNotifyEvent.send_event 16
72.10 +XkbNewKeyboardNotifyEvent.display 24
72.11 +XkbNewKeyboardNotifyEvent.time 32
72.12 +XkbNewKeyboardNotifyEvent.xkb_type 40
72.13 +XkbNewKeyboardNotifyEvent.device 44
72.14 +XkbNewKeyboardNotifyEvent.old_device 48
72.15 +XkbNewKeyboardNotifyEvent.min_key_code 52
72.16 +XkbNewKeyboardNotifyEvent.max_key_code 56
72.17 +XkbNewKeyboardNotifyEvent.old_min_key_code 60
72.18 +XkbNewKeyboardNotifyEvent.old_max_key_code 64
72.19 +XkbNewKeyboardNotifyEvent.changed 68
72.20 +XkbNewKeyboardNotifyEvent.req_major 72
72.21 +XkbNewKeyboardNotifyEvent.req_minor 73
72.22 +XkbNewKeyboardNotifyEvent 80
72.23 XTimeCoord.time 0
72.24 XTimeCoord.x 8
72.25 XTimeCoord.y 10
72.26 XTimeCoord 16
72.27 +XkbCompatMapNotifyEvent.type 0
72.28 +XkbCompatMapNotifyEvent.serial 8
72.29 +XkbCompatMapNotifyEvent.send_event 16
72.30 +XkbCompatMapNotifyEvent.display 24
72.31 +XkbCompatMapNotifyEvent.time 32
72.32 +XkbCompatMapNotifyEvent.xkb_type 40
72.33 +XkbCompatMapNotifyEvent.device 44
72.34 +XkbCompatMapNotifyEvent.changed_groups 48
72.35 +XkbCompatMapNotifyEvent.first_si 52
72.36 +XkbCompatMapNotifyEvent.num_si 56
72.37 +XkbCompatMapNotifyEvent.num_total_si 60
72.38 +XkbCompatMapNotifyEvent 64
72.39 XIMStatusDrawCallbackStruct.type 0
72.40 XIMStatusDrawCallbackStruct.data 8
72.41 XIMStatusDrawCallbackStruct 16
72.42 @@ -289,6 +317,22 @@
72.43 XVisualInfo.colormap_size 56
72.44 XVisualInfo.bits_per_rgb 60
72.45 XVisualInfo 64
72.46 +XkbControlsNotifyEvent.type 0
72.47 +XkbControlsNotifyEvent.serial 8
72.48 +XkbControlsNotifyEvent.send_event 16
72.49 +XkbControlsNotifyEvent.display 24
72.50 +XkbControlsNotifyEvent.time 32
72.51 +XkbControlsNotifyEvent.xkb_type 40
72.52 +XkbControlsNotifyEvent.device 44
72.53 +XkbControlsNotifyEvent.changed_ctrls 48
72.54 +XkbControlsNotifyEvent.enabled_ctrls 52
72.55 +XkbControlsNotifyEvent.enabled_ctrl_changes 56
72.56 +XkbControlsNotifyEvent.num_groups 60
72.57 +XkbControlsNotifyEvent.keycode 64
72.58 +XkbControlsNotifyEvent.event_type 65
72.59 +XkbControlsNotifyEvent.req_major 66
72.60 +XkbControlsNotifyEvent.req_minor 67
72.61 +XkbControlsNotifyEvent 72
72.62 PropMwmHints.flags 0
72.63 PropMwmHints.functions 8
72.64 PropMwmHints.decorations 16
72.65 @@ -310,8 +354,26 @@
72.66 XAnyEvent.display 24
72.67 XAnyEvent.window 32
72.68 XAnyEvent 40
72.69 +XkbIndicatorNotifyEvent.type 0
72.70 +XkbIndicatorNotifyEvent.serial 8
72.71 +XkbIndicatorNotifyEvent.send_event 16
72.72 +XkbIndicatorNotifyEvent.display 24
72.73 +XkbIndicatorNotifyEvent.time 32
72.74 +XkbIndicatorNotifyEvent.xkb_type 40
72.75 +XkbIndicatorNotifyEvent.device 44
72.76 +XkbIndicatorNotifyEvent.changed 48
72.77 +XkbIndicatorNotifyEvent.state 52
72.78 +XkbIndicatorNotifyEvent 56
72.79 XIMPreeditStateNotifyCallbackStruct.state 0
72.80 XIMPreeditStateNotifyCallbackStruct 8
72.81 +XkbAnyEvent.type 0
72.82 +XkbAnyEvent.serial 8
72.83 +XkbAnyEvent.send_event 16
72.84 +XkbAnyEvent.display 24
72.85 +XkbAnyEvent.time 32
72.86 +XkbAnyEvent.xkb_type 40
72.87 +XkbAnyEvent.device 44
72.88 +XkbAnyEvent 48
72.89 XMotionEvent.type 0
72.90 XMotionEvent.serial 8
72.91 XMotionEvent.send_event 16
72.92 @@ -334,6 +396,23 @@
72.93 XIMStyles.count_styles 0
72.94 XIMStyles.supported_styles 8
72.95 XIMStyles 16
72.96 +XkbExtensionDeviceNotifyEvent.type 0
72.97 +XkbExtensionDeviceNotifyEvent.serial 8
72.98 +XkbExtensionDeviceNotifyEvent.send_event 16
72.99 +XkbExtensionDeviceNotifyEvent.display 24
72.100 +XkbExtensionDeviceNotifyEvent.time 32
72.101 +XkbExtensionDeviceNotifyEvent.xkb_type 40
72.102 +XkbExtensionDeviceNotifyEvent.device 44
72.103 +XkbExtensionDeviceNotifyEvent.reason 48
72.104 +XkbExtensionDeviceNotifyEvent.supported 52
72.105 +XkbExtensionDeviceNotifyEvent.unsupported 56
72.106 +XkbExtensionDeviceNotifyEvent.first_btn 60
72.107 +XkbExtensionDeviceNotifyEvent.num_btns 64
72.108 +XkbExtensionDeviceNotifyEvent.leds_defined 68
72.109 +XkbExtensionDeviceNotifyEvent.led_state 72
72.110 +XkbExtensionDeviceNotifyEvent.led_class 76
72.111 +XkbExtensionDeviceNotifyEvent.led_id 80
72.112 +XkbExtensionDeviceNotifyEvent 88
72.113 XwcTextItem.chars 0
72.114 XwcTextItem.nchars 8
72.115 XwcTextItem.delta 12
72.116 @@ -419,6 +498,20 @@
72.117 XKeyEvent.keycode 84
72.118 XKeyEvent.same_screen 88
72.119 XKeyEvent 96
72.120 +XkbActionMessageEvent.type 0
72.121 +XkbActionMessageEvent.serial 8
72.122 +XkbActionMessageEvent.send_event 16
72.123 +XkbActionMessageEvent.display 24
72.124 +XkbActionMessageEvent.time 32
72.125 +XkbActionMessageEvent.xkb_type 40
72.126 +XkbActionMessageEvent.device 44
72.127 +XkbActionMessageEvent.keycode 48
72.128 +XkbActionMessageEvent.press 52
72.129 +XkbActionMessageEvent.key_event_follows 56
72.130 +XkbActionMessageEvent.group 60
72.131 +XkbActionMessageEvent.mods 64
72.132 +XkbActionMessageEvent.message 68
72.133 +XkbActionMessageEvent 80
72.134 XdbeSwapInfo.swap_window 0
72.135 XdbeSwapInfo.swap_action 8
72.136 XdbeSwapInfo 16
72.137 @@ -458,6 +551,18 @@
72.138 XOMOrientation.num_orientation 0
72.139 XOMOrientation.orientation 8
72.140 XOMOrientation 16
72.141 +XkbAccessXNotifyEvent.type 0
72.142 +XkbAccessXNotifyEvent.serial 8
72.143 +XkbAccessXNotifyEvent.send_event 16
72.144 +XkbAccessXNotifyEvent.display 24
72.145 +XkbAccessXNotifyEvent.time 32
72.146 +XkbAccessXNotifyEvent.xkb_type 40
72.147 +XkbAccessXNotifyEvent.device 44
72.148 +XkbAccessXNotifyEvent.detail 48
72.149 +XkbAccessXNotifyEvent.keycode 52
72.150 +XkbAccessXNotifyEvent.sk_delay 56
72.151 +XkbAccessXNotifyEvent.debounce_delay 60
72.152 +XkbAccessXNotifyEvent 64
72.153 XWindowAttributes.x 0
72.154 XWindowAttributes.y 4
72.155 XWindowAttributes.width 8
72.156 @@ -528,6 +633,33 @@
72.157 awtImageData.clrdata 16
72.158 awtImageData.convert 48
72.159 awtImageData 560
72.160 +XkbStateNotifyEvent.type 0
72.161 +XkbStateNotifyEvent.serial 8
72.162 +XkbStateNotifyEvent.send_event 16
72.163 +XkbStateNotifyEvent.display 24
72.164 +XkbStateNotifyEvent.time 32
72.165 +XkbStateNotifyEvent.xkb_type 40
72.166 +XkbStateNotifyEvent.device 44
72.167 +XkbStateNotifyEvent.changed 48
72.168 +XkbStateNotifyEvent.group 52
72.169 +XkbStateNotifyEvent.base_group 56
72.170 +XkbStateNotifyEvent.latched_group 60
72.171 +XkbStateNotifyEvent.locked_group 64
72.172 +XkbStateNotifyEvent.mods 68
72.173 +XkbStateNotifyEvent.base_mods 72
72.174 +XkbStateNotifyEvent.latched_mods 76
72.175 +XkbStateNotifyEvent.locked_mods 80
72.176 +XkbStateNotifyEvent.compat_state 84
72.177 +XkbStateNotifyEvent.grab_mods 88
72.178 +XkbStateNotifyEvent.compat_grab_mods 89
72.179 +XkbStateNotifyEvent.lookup_mods 90
72.180 +XkbStateNotifyEvent.compat_lookup_mods 91
72.181 +XkbStateNotifyEvent.ptr_buttons 92
72.182 +XkbStateNotifyEvent.keycode 96
72.183 +XkbStateNotifyEvent.event_type 97
72.184 +XkbStateNotifyEvent.req_major 98
72.185 +XkbStateNotifyEvent.req_minor 99
72.186 +XkbStateNotifyEvent 104
72.187 XExposeEvent.type 0
72.188 XExposeEvent.serial 8
72.189 XExposeEvent.send_event 16
72.190 @@ -539,6 +671,33 @@
72.191 XExposeEvent.height 52
72.192 XExposeEvent.count 56
72.193 XExposeEvent 64
72.194 +XkbMapNotifyEvent.type 0
72.195 +XkbMapNotifyEvent.serial 8
72.196 +XkbMapNotifyEvent.send_event 16
72.197 +XkbMapNotifyEvent.display 24
72.198 +XkbMapNotifyEvent.time 32
72.199 +XkbMapNotifyEvent.xkb_type 40
72.200 +XkbMapNotifyEvent.device 44
72.201 +XkbMapNotifyEvent.changed 48
72.202 +XkbMapNotifyEvent.flags 52
72.203 +XkbMapNotifyEvent.first_type 56
72.204 +XkbMapNotifyEvent.num_types 60
72.205 +XkbMapNotifyEvent.min_key_code 64
72.206 +XkbMapNotifyEvent.max_key_code 65
72.207 +XkbMapNotifyEvent.first_key_sym 66
72.208 +XkbMapNotifyEvent.first_key_act 67
72.209 +XkbMapNotifyEvent.first_key_behavior 68
72.210 +XkbMapNotifyEvent.first_key_explicit 69
72.211 +XkbMapNotifyEvent.first_modmap_key 70
72.212 +XkbMapNotifyEvent.first_vmodmap_key 71
72.213 +XkbMapNotifyEvent.num_key_syms 72
72.214 +XkbMapNotifyEvent.num_key_acts 76
72.215 +XkbMapNotifyEvent.num_key_behaviors 80
72.216 +XkbMapNotifyEvent.num_key_explicit 84
72.217 +XkbMapNotifyEvent.num_modmap_keys 88
72.218 +XkbMapNotifyEvent.num_vmodmap_keys 92
72.219 +XkbMapNotifyEvent.vmods 96
72.220 +XkbMapNotifyEvent 104
72.221 XGCValues.function 0
72.222 XGCValues.plane_mask 8
72.223 XGCValues.foreground 16
72.224 @@ -583,6 +742,22 @@
72.225 XMapEvent.window 40
72.226 XMapEvent.override_redirect 48
72.227 XMapEvent 56
72.228 +XkbBellNotifyEvent.type 0
72.229 +XkbBellNotifyEvent.serial 8
72.230 +XkbBellNotifyEvent.send_event 16
72.231 +XkbBellNotifyEvent.display 24
72.232 +XkbBellNotifyEvent.time 32
72.233 +XkbBellNotifyEvent.xkb_type 40
72.234 +XkbBellNotifyEvent.device 44
72.235 +XkbBellNotifyEvent.percent 48
72.236 +XkbBellNotifyEvent.pitch 52
72.237 +XkbBellNotifyEvent.duration 56
72.238 +XkbBellNotifyEvent.bell_class 60
72.239 +XkbBellNotifyEvent.bell_id 64
72.240 +XkbBellNotifyEvent.name 72
72.241 +XkbBellNotifyEvent.window 80
72.242 +XkbBellNotifyEvent.event_only 88
72.243 +XkbBellNotifyEvent 96
72.244 XIMStringConversionText.length 0
72.245 XIMStringConversionText.feedback 8
72.246 XIMStringConversionText.encoding_is_wchar 16
72.247 @@ -596,6 +771,21 @@
72.248 XKeyboardState.global_auto_repeat 24
72.249 XKeyboardState.auto_repeats 28
72.250 XKeyboardState 64
72.251 +XkbEvent.type 0
72.252 +XkbEvent.any 0
72.253 +XkbEvent.new_kbd 0
72.254 +XkbEvent.map 0
72.255 +XkbEvent.state 0
72.256 +XkbEvent.ctrls 0
72.257 +XkbEvent.indicators 0
72.258 +XkbEvent.names 0
72.259 +XkbEvent.compat 0
72.260 +XkbEvent.bell 0
72.261 +XkbEvent.message 0
72.262 +XkbEvent.accessx 0
72.263 +XkbEvent.device 0
72.264 +XkbEvent.core 0
72.265 +XkbEvent 192
72.266 XPoint.x 0
72.267 XPoint.y 2
72.268 XPoint 4
72.269 @@ -633,6 +823,26 @@
72.270 XRectangle.width 4
72.271 XRectangle.height 6
72.272 XRectangle 8
72.273 +XkbNamesNotifyEvent.type 0
72.274 +XkbNamesNotifyEvent.serial 8
72.275 +XkbNamesNotifyEvent.send_event 16
72.276 +XkbNamesNotifyEvent.display 24
72.277 +XkbNamesNotifyEvent.time 32
72.278 +XkbNamesNotifyEvent.xkb_type 40
72.279 +XkbNamesNotifyEvent.device 44
72.280 +XkbNamesNotifyEvent.changed 48
72.281 +XkbNamesNotifyEvent.first_type 52
72.282 +XkbNamesNotifyEvent.num_types 56
72.283 +XkbNamesNotifyEvent.first_lvl 60
72.284 +XkbNamesNotifyEvent.num_lvls 64
72.285 +XkbNamesNotifyEvent.num_aliases 68
72.286 +XkbNamesNotifyEvent.num_radio_groups 72
72.287 +XkbNamesNotifyEvent.changed_vmods 76
72.288 +XkbNamesNotifyEvent.changed_groups 80
72.289 +XkbNamesNotifyEvent.changed_indicators 84
72.290 +XkbNamesNotifyEvent.first_key 88
72.291 +XkbNamesNotifyEvent.num_keys 92
72.292 +XkbNamesNotifyEvent 96
72.293 XCreateWindowEvent.type 0
72.294 XCreateWindowEvent.serial 8
72.295 XCreateWindowEvent.send_event 16
72.296 @@ -774,7 +984,8 @@
72.297 AwtGraphicsConfigData.pixelStride 136
72.298 AwtGraphicsConfigData.color_data 144
72.299 AwtGraphicsConfigData.glxInfo 152
72.300 -AwtGraphicsConfigData 160
72.301 +AwtGraphicsConfigData.isTranslucencySupported 160
72.302 +AwtGraphicsConfigData 168
72.303 XColor.pixel 0
72.304 XColor.red 8
72.305 XColor.green 10
73.1 --- a/src/solaris/classes/sun/awt/X11/generator/xlibtypes.txt Tue Apr 14 00:05:07 2009 -0700
73.2 +++ b/src/solaris/classes/sun/awt/X11/generator/xlibtypes.txt Tue Apr 14 04:21:02 2009 -0700
73.3 @@ -119,7 +119,7 @@
73.4 length short
73.5 feedback pointer
73.6 encoding_is_wchar Bool
73.7 - string pointer
73.8 + string pointer
73.9 XKeymapEvent
73.10 type int
73.11 serial long
73.12 @@ -574,7 +574,7 @@
73.13 f.get_pixel pointer
73.14 f.put_pixel pointer
73.15 f.sub_image pointer
73.16 - f.add_pixel pointer
73.17 + f.add_pixel pointer
73.18 XIMValuesList
73.19 count_values short
73.20 supported_values pointer
73.21 @@ -728,7 +728,7 @@
73.22 awt_icmLUT pointer int
73.23 awt_icmLUT2Colors pointer byte
73.24 img_grays pointer byte
73.25 - img_clr_tbl pointer byte
73.26 + img_clr_tbl pointer byte
73.27 img_oda_red pointer byte
73.28 img_oda_green pointer byte
73.29 img_oda_blue pointer byte
73.30 @@ -750,6 +750,7 @@
73.31 pixelStride int
73.32 color_data pointer ColorData
73.33 glxInfo pointer
73.34 + isTranslucencySupported int
73.35
73.36 AwtScreenData
73.37 numConfigs int
73.38 @@ -797,3 +798,227 @@
73.39 xerror struct XErrorEvent
73.40 xkeymap struct XKeymapEvent
73.41 pad array long 24
73.42 +
73.43 +XkbAnyEvent
73.44 + type int
73.45 + serial ulong
73.46 + send_event Bool
73.47 + display long
73.48 + time ulong
73.49 + xkb_type int
73.50 + device int
73.51 +
73.52 +XkbNewKeyboardNotifyEvent
73.53 + type int
73.54 + serial ulong
73.55 + send_event Bool
73.56 + display long
73.57 + time ulong
73.58 + xkb_type int
73.59 + device int
73.60 + old_device int
73.61 + min_key_code int
73.62 + max_key_code int
73.63 + old_min_key_code int
73.64 + old_max_key_code int
73.65 + changed int
73.66 + req_major byte
73.67 + req_minor byte
73.68 +
73.69 +XkbMapNotifyEvent
73.70 + type int
73.71 + serial ulong
73.72 + send_event Bool
73.73 + display long
73.74 + time ulong
73.75 + xkb_type int
73.76 + device int
73.77 + changed int
73.78 + flags int
73.79 + first_type int
73.80 + num_types int
73.81 + min_key_code int
73.82 + max_key_code int
73.83 + first_key_sym int
73.84 + first_key_act int
73.85 + first_key_behavior int
73.86 + first_key_explicit int
73.87 + first_modmap_key int
73.88 + first_vmodmap_key int
73.89 + num_key_syms int
73.90 + num_key_acts int
73.91 + num_key_behaviors int
73.92 + num_key_explicit int
73.93 + num_modmap_keys int
73.94 + num_vmodmap_keys int
73.95 + vmods int
73.96 +
73.97 +XkbStateNotifyEvent
73.98 + type int
73.99 + serial ulong
73.100 + send_event Bool
73.101 + display long
73.102 + time ulong
73.103 + xkb_type int
73.104 + device int
73.105 + changed int
73.106 + group int
73.107 + base_group int
73.108 + latched_group int
73.109 + locked_group int
73.110 + mods int
73.111 + base_mods int
73.112 + latched_mods int
73.113 + locked_mods int
73.114 + compat_state int
73.115 + grab_mods byte
73.116 + compat_grab_mods byte
73.117 + lookup_mods byte
73.118 + compat_lookup_mods byte
73.119 + ptr_buttons int
73.120 + keycode int
73.121 + event_type byte
73.122 + req_major byte
73.123 + req_minor byte
73.124 +
73.125 +XkbControlsNotifyEvent
73.126 + type int
73.127 + serial ulong
73.128 + send_event Bool
73.129 + display long
73.130 + time ulong
73.131 + xkb_type int
73.132 + device int
73.133 + changed_ctrls int
73.134 + enabled_ctrls int
73.135 + enabled_ctrl_changes int
73.136 + num_groups int
73.137 + keycode int
73.138 + event_type byte
73.139 + req_major byte
73.140 + req_minor byte
73.141 +
73.142 +XkbIndicatorNotifyEvent
73.143 + type int
73.144 + serial ulong
73.145 + send_event Bool
73.146 + display long
73.147 + time ulong
73.148 + xkb_type int
73.149 + device int
73.150 + changed int
73.151 + state int
73.152 +
73.153 +XkbNamesNotifyEvent
73.154 + type int
73.155 + serial ulong
73.156 + send_event Bool
73.157 + display long
73.158 + time ulong
73.159 + xkb_type int
73.160 + device int
73.161 + changed int
73.162 + first_type int
73.163 + num_types int
73.164 + first_lvl int
73.165 + num_lvls int
73.166 + num_aliases int
73.167 + num_radio_groups int
73.168 + changed_vmods int
73.169 + changed_groups int
73.170 + changed_indicators int
73.171 + first_key int
73.172 + num_keys int
73.173 +
73.174 +
73.175 +XkbCompatMapNotifyEvent
73.176 + type int
73.177 + serial ulong
73.178 + send_event Bool
73.179 + display long
73.180 + time ulong
73.181 + xkb_type int
73.182 + device int
73.183 + changed_groups int
73.184 + first_si int
73.185 + num_si int
73.186 + num_total_si int
73.187 +
73.188 +XkbBellNotifyEvent
73.189 + type int
73.190 + serial ulong
73.191 + send_event Bool
73.192 + display long
73.193 + time ulong
73.194 + xkb_type int
73.195 + device int
73.196 + percent int
73.197 + pitch int
73.198 + duration int
73.199 + bell_class int
73.200 + bell_id int
73.201 + name Atom
73.202 + window long
73.203 + event_only Bool
73.204 +
73.205 +XkbActionMessageEvent
73.206 + type int
73.207 + serial ulong
73.208 + send_event Bool
73.209 + display long
73.210 + time ulong
73.211 + xkb_type int
73.212 + device int
73.213 + keycode int
73.214 + press Bool
73.215 + key_event_follows Bool
73.216 + group int
73.217 + mods int
73.218 + message array byte 7 //XkbActionMessageLength+1
73.219 +
73.220 +XkbAccessXNotifyEvent
73.221 + type int
73.222 + serial ulong
73.223 + send_event Bool
73.224 + display long
73.225 + time ulong
73.226 + xkb_type int
73.227 + device int
73.228 + detail int
73.229 + keycode int
73.230 + sk_delay int
73.231 + debounce_delay int
73.232 +
73.233 +XkbExtensionDeviceNotifyEvent
73.234 + type int
73.235 + serial ulong
73.236 + send_event Bool
73.237 + display long
73.238 + time ulong
73.239 + xkb_type int
73.240 + device int
73.241 + reason int
73.242 + supported int
73.243 + unsupported int
73.244 + first_btn int
73.245 + num_btns int
73.246 + leds_defined int
73.247 + led_state int
73.248 + led_class int
73.249 + led_id int
73.250 +
73.251 +XkbEvent
73.252 + type int
73.253 + any struct XkbAnyEvent
73.254 + new_kbd struct XkbNewKeyboardNotifyEvent
73.255 + map struct XkbMapNotifyEvent
73.256 + state struct XkbStateNotifyEvent
73.257 + ctrls struct XkbControlsNotifyEvent
73.258 + indicators struct XkbIndicatorNotifyEvent
73.259 + names struct XkbNamesNotifyEvent
73.260 + compat struct XkbCompatMapNotifyEvent
73.261 + bell struct XkbBellNotifyEvent
73.262 + message struct XkbActionMessageEvent
73.263 + accessx struct XkbAccessXNotifyEvent
73.264 + device struct XkbExtensionDeviceNotifyEvent
73.265 + core struct XEvent
74.1 --- a/src/solaris/classes/sun/awt/X11/keysym2ucs.h Tue Apr 14 00:05:07 2009 -0700
74.2 +++ b/src/solaris/classes/sun/awt/X11/keysym2ucs.h Tue Apr 14 04:21:02 2009 -0700
74.3 @@ -1,5 +1,5 @@
74.4 /*
74.5 - * Copyright 2005-2008 Sun Microsystems, Inc. All Rights Reserved.
74.6 + * Copyright 2005-2009 Sun Microsystems, Inc. All Rights Reserved.
74.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
74.8 *
74.9 * This code is free software; you can redistribute it and/or modify it
74.10 @@ -39,7 +39,7 @@
74.11 */
74.12
74.13 tojava /*
74.14 -tojava * Copyright 2005-2008 Sun Microsystems, Inc. All Rights Reserved.
74.15 +tojava * Copyright 2005-2009 Sun Microsystems, Inc. All Rights Reserved.
74.16 tojava * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
74.17 tojava *
74.18 tojava * This code is free software; you can redistribute it and/or modify it
74.19 @@ -127,14 +127,47 @@
74.20 tojava Character ch = keysym2UCSHash.get(ks);
74.21 tojava return ch == null ? (char)0 : ch.charValue();
74.22 tojava }
74.23 +tojava static long xkeycode2keysym_noxkb(XKeyEvent ev, int ndx) {
74.24 +tojava XToolkit.awtLock();
74.25 +tojava try {
74.26 +tojava return XlibWrapper.XKeycodeToKeysym(ev.get_display(), ev.get_keycode(), ndx);
74.27 +tojava } finally {
74.28 +tojava XToolkit.awtUnlock();
74.29 +tojava }
74.30 +tojava }
74.31 +tojava static long xkeycode2keysym_xkb(XKeyEvent ev, int ndx) {
74.32 +tojava XToolkit.awtLock();
74.33 +tojava try {
74.34 +tojava int mods = ev.get_state();
74.35 +tojava if ((ndx == 0) && ((mods & XConstants.ShiftMask) != 0)) {
74.36 +tojava // I don't know all possible meanings of 'ndx' in case of XKB
74.37 +tojava // and don't want to speculate. But this particular case
74.38 +tojava // clearly means that caller needs a so called primary keysym.
74.39 +tojava mods ^= XConstants.ShiftMask;
74.40 +tojava }
74.41 +tojava XlibWrapper.XkbTranslateKeyCode(XToolkit.getXKBKbdDesc(), ev.get_keycode(),
74.42 +tojava mods, XlibWrapper.iarg1, XlibWrapper.larg3);
74.43 +tojava //XXX unconsumed modifiers?
74.44 +tojava return Native.getLong(XlibWrapper.larg3);
74.45 +tojava } finally {
74.46 +tojava XToolkit.awtUnlock();
74.47 +tojava }
74.48 +tojava }
74.49 tojava static long xkeycode2keysym(XKeyEvent ev, int ndx) {
74.50 tojava XToolkit.awtLock();
74.51 tojava try {
74.52 -tojava return XlibWrapper.XKeycodeToKeysym(ev.get_display(), ev.get_keycode(), ndx );
74.53 +tojava if (XToolkit.canUseXKBCalls()) {
74.54 +tojava return xkeycode2keysym_xkb(ev, ndx);
74.55 +tojava }else{
74.56 +tojava return xkeycode2keysym_noxkb(ev, ndx);
74.57 +tojava }
74.58 tojava } finally {
74.59 tojava XToolkit.awtUnlock();
74.60 tojava }
74.61 tojava }
74.62 +tojava static long xkeycode2primary_keysym(XKeyEvent ev) {
74.63 +tojava return xkeycode2keysym(ev, 0);
74.64 +tojava }
74.65 tojava public static boolean isKPEvent( XKeyEvent ev )
74.66 tojava {
74.67 tojava // Xsun without XKB uses keysymarray[2] keysym to determine if it is KP event.
74.68 @@ -236,6 +269,27 @@
74.69 tojava Keysym2JavaKeycode jkc = getJavaKeycode( ev );
74.70 tojava return jkc == null ? java.awt.event.KeyEvent.VK_UNDEFINED : jkc.getJavaKeycode();
74.71 tojava }
74.72 +tojava /**
74.73 +tojava * Return an integer java keycode apprx as it was before extending keycodes range.
74.74 +tojava * This call would ignore for instance XKB and process whatever is on the bottom
74.75 +tojava * of keysym stack. Result will not depend on actual locale, will differ between
74.76 +tojava * dual/multiple keyboard setup systems (e.g. English+Russian vs French+Russian)
74.77 +tojava * but will be someway compatible with old releases.
74.78 +tojava */
74.79 +tojava static int getLegacyJavaKeycodeOnly( XKeyEvent ev ) {
74.80 +tojava long keysym = XConstants.NoSymbol;
74.81 +tojava int ndx = 0;
74.82 +tojava if( (ev.get_state() & XToolkit.numLockMask) != 0 &&
74.83 +tojava isKPEvent(ev)) {
74.84 +tojava keysym = getKeypadKeysym( ev );
74.85 +tojava } else {
74.86 +tojava // we only need primary-layer keysym to derive a java keycode.
74.87 +tojava ndx = 0;
74.88 +tojava keysym = xkeycode2keysym_noxkb(ev, ndx);
74.89 +tojava }
74.90 +tojava Keysym2JavaKeycode jkc = keysym2JavaKeycodeHash.get( keysym );
74.91 +tojava return jkc == null ? java.awt.event.KeyEvent.VK_UNDEFINED : jkc.getJavaKeycode();
74.92 +tojava }
74.93 tojava static long javaKeycode2Keysym( int jkey ) {
74.94 tojava Long ks = javaKeycode2KeysymHash.get( jkey );
74.95 tojava return (ks == null ? 0 : ks.longValue());
75.1 Binary file src/solaris/classes/sun/awt/X11/security-icon-bw16.png has changed
76.1 Binary file src/solaris/classes/sun/awt/X11/security-icon-bw24.png has changed
77.1 Binary file src/solaris/classes/sun/awt/X11/security-icon-bw32.png has changed
78.1 Binary file src/solaris/classes/sun/awt/X11/security-icon-bw48.png has changed
79.1 Binary file src/solaris/classes/sun/awt/X11/security-icon-interim16.png has changed
80.1 Binary file src/solaris/classes/sun/awt/X11/security-icon-interim24.png has changed
81.1 Binary file src/solaris/classes/sun/awt/X11/security-icon-interim32.png has changed
82.1 Binary file src/solaris/classes/sun/awt/X11/security-icon-interim48.png has changed
83.1 Binary file src/solaris/classes/sun/awt/X11/security-icon-yellow16.png has changed
84.1 Binary file src/solaris/classes/sun/awt/X11/security-icon-yellow24.png has changed
85.1 Binary file src/solaris/classes/sun/awt/X11/security-icon-yellow32.png has changed
86.1 Binary file src/solaris/classes/sun/awt/X11/security-icon-yellow48.png has changed
87.1 --- a/src/solaris/classes/sun/awt/X11GraphicsConfig.java Tue Apr 14 00:05:07 2009 -0700
87.2 +++ b/src/solaris/classes/sun/awt/X11GraphicsConfig.java Tue Apr 14 04:21:02 2009 -0700
87.3 @@ -1,5 +1,5 @@
87.4 /*
87.5 - * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved.
87.6 + * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
87.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
87.8 *
87.9 * This code is free software; you can redistribute it and/or modify it
87.10 @@ -450,4 +450,13 @@
87.11 return 0x00; // UNDEFINED
87.12 }
87.13 }
87.14 +
87.15 + /*
87.16 + @Override
87.17 + */
87.18 + public boolean isTranslucencyCapable() {
87.19 + return isTranslucencyCapable(getAData());
87.20 + }
87.21 +
87.22 + private native boolean isTranslucencyCapable(long x11ConfigData);
87.23 }
88.1 --- a/src/solaris/classes/sun/awt/motif/MToolkit.java Tue Apr 14 00:05:07 2009 -0700
88.2 +++ b/src/solaris/classes/sun/awt/motif/MToolkit.java Tue Apr 14 04:21:02 2009 -0700
88.3 @@ -336,6 +336,10 @@
88.4 return null;
88.5 }
88.6
88.7 + public KeyboardFocusManagerPeer createKeyboardFocusManagerPeer(KeyboardFocusManager manager) {
88.8 + return null;
88.9 + }
88.10 +
88.11 //public MEmbeddedFramePeer createEmbeddedFrame(MEmbeddedFrame target)
88.12 //{
88.13 //MEmbeddedFramePeer peer = new MEmbeddedFramePeer(target);
89.1 --- a/src/solaris/native/sun/awt/awt_Component.h Tue Apr 14 00:05:07 2009 -0700
89.2 +++ b/src/solaris/native/sun/awt/awt_Component.h Tue Apr 14 04:21:02 2009 -0700
89.3 @@ -41,7 +41,6 @@
89.4 jfieldID appContext;
89.5 jmethodID getParent;
89.6 jmethodID getLocationOnScreen;
89.7 - jmethodID resetGCMID;
89.8 };
89.9
89.10 /* field and method IDs for Container */
89.11 @@ -65,7 +64,3 @@
89.12 extern void processTree(Widget from, Widget to, Boolean action);
89.13 #endif // HEADLESS
89.14
89.15 -/* fieldIDs for Canvas fields that may be accessed from C */
89.16 -struct CanvasIDs {
89.17 - jmethodID setGCFromPeerMID;
89.18 -};
90.1 --- a/src/solaris/native/sun/awt/awt_GraphicsEnv.c Tue Apr 14 00:05:07 2009 -0700
90.2 +++ b/src/solaris/native/sun/awt/awt_GraphicsEnv.c Tue Apr 14 04:21:02 2009 -0700
90.3 @@ -1,5 +1,5 @@
90.4 /*
90.5 - * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved.
90.6 + * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
90.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
90.8 *
90.9 * This code is free software; you can redistribute it and/or modify it
90.10 @@ -354,6 +354,48 @@
90.11 return NULL;
90.12 }
90.13
90.14 +/* Note: until we include the <X11/extensions/Xrender.h> explicitly
90.15 + * we have to define a couple of things ourselves.
90.16 + */
90.17 +typedef unsigned long PictFormat;
90.18 +#define PictTypeIndexed 0
90.19 +#define PictTypeDirect 1
90.20 +
90.21 +typedef struct {
90.22 + short red;
90.23 + short redMask;
90.24 + short green;
90.25 + short greenMask;
90.26 + short blue;
90.27 + short blueMask;
90.28 + short alpha;
90.29 + short alphaMask;
90.30 +} XRenderDirectFormat;
90.31 +
90.32 +typedef struct {
90.33 + PictFormat id;
90.34 + int type;
90.35 + int depth;
90.36 + XRenderDirectFormat direct;
90.37 + Colormap colormap;
90.38 +} XRenderPictFormat;
90.39 +
90.40 +#define PictFormatID (1 << 0)
90.41 +#define PictFormatType (1 << 1)
90.42 +#define PictFormatDepth (1 << 2)
90.43 +#define PictFormatRed (1 << 3)
90.44 +#define PictFormatRedMask (1 << 4)
90.45 +#define PictFormatGreen (1 << 5)
90.46 +#define PictFormatGreenMask (1 << 6)
90.47 +#define PictFormatBlue (1 << 7)
90.48 +#define PictFormatBlueMask (1 << 8)
90.49 +#define PictFormatAlpha (1 << 9)
90.50 +#define PictFormatAlphaMask (1 << 10)
90.51 +#define PictFormatColormap (1 << 11)
90.52 +
90.53 +typedef XRenderPictFormat *
90.54 +XRenderFindVisualFormatFunc (Display *dpy, _Xconst Visual *visual);
90.55 +
90.56 static void
90.57 getAllConfigs (JNIEnv *env, int screen, AwtScreenDataPtr screenDataPtr) {
90.58
90.59 @@ -367,6 +409,9 @@
90.60 int ind;
90.61 char errmsg[128];
90.62 int xinawareScreen;
90.63 + void* xrenderLibHandle = NULL;
90.64 + XRenderFindVisualFormatFunc *XRenderFindVisualFormat = NULL;
90.65 + int major_opcode, first_event, first_error;
90.66
90.67 if (usingXinerama) {
90.68 xinawareScreen = 0;
90.69 @@ -449,6 +494,26 @@
90.70 graphicsConfigs[0] = defaultConfig;
90.71 nConfig = 1; /* reserve index 0 for default config */
90.72
90.73 + // Only use the RENDER extension if it is available on the X server
90.74 + if (XQueryExtension(awt_display, "RENDER",
90.75 + &major_opcode, &first_event, &first_error))
90.76 + {
90.77 + xrenderLibHandle = dlopen("libXrender.so.1", RTLD_LAZY | RTLD_GLOBAL);
90.78 +
90.79 +#ifndef __linux__ /* SOLARIS */
90.80 + if (xrenderLibHandle == NULL) {
90.81 + xrenderLibHandle = dlopen("/usr/sfw/lib/libXrender.so.1",
90.82 + RTLD_LAZY | RTLD_GLOBAL);
90.83 + }
90.84 +#endif
90.85 +
90.86 + if (xrenderLibHandle != NULL) {
90.87 + XRenderFindVisualFormat =
90.88 + (XRenderFindVisualFormatFunc*)dlsym(xrenderLibHandle,
90.89 + "XRenderFindVisualFormat");
90.90 + }
90.91 + }
90.92 +
90.93 for (i = 0; i < nTrue; i++) {
90.94 if (XVisualIDFromVisual(pVITrue[i].visual) ==
90.95 XVisualIDFromVisual(defaultConfig->awt_visInfo.visual) ||
90.96 @@ -462,6 +527,21 @@
90.97 graphicsConfigs [ind]->awt_depth = pVITrue [i].depth;
90.98 memcpy (&graphicsConfigs [ind]->awt_visInfo, &pVITrue [i],
90.99 sizeof (XVisualInfo));
90.100 + if (XRenderFindVisualFormat != NULL) {
90.101 + XRenderPictFormat *format = XRenderFindVisualFormat (awt_display,
90.102 + pVITrue [i].visual);
90.103 + if (format &&
90.104 + format->type == PictTypeDirect &&
90.105 + format->direct.alphaMask)
90.106 + {
90.107 + graphicsConfigs [ind]->isTranslucencySupported = 1;
90.108 + }
90.109 + }
90.110 + }
90.111 +
90.112 + if (xrenderLibHandle != NULL) {
90.113 + dlclose(xrenderLibHandle);
90.114 + xrenderLibHandle = NULL;
90.115 }
90.116
90.117 for (i = 0; i < n8p; i++) {
90.118 @@ -1506,6 +1586,26 @@
90.119 }
90.120
90.121 /*
90.122 + * Class: sun_awt_X11GraphicsConfig
90.123 + * Method: isTranslucencyCapable
90.124 + * Signature: (J)V
90.125 + */
90.126 +JNIEXPORT jboolean JNICALL
90.127 +Java_sun_awt_X11GraphicsConfig_isTranslucencyCapable
90.128 + (JNIEnv *env, jobject this, jlong configData)
90.129 +{
90.130 +#ifdef HEADLESS
90.131 + return JNI_FALSE;
90.132 +#else
90.133 + AwtGraphicsConfigDataPtr aData = (AwtGraphicsConfigDataPtr)jlong_to_ptr(configData);
90.134 + if (aData == NULL) {
90.135 + return JNI_FALSE;
90.136 + }
90.137 + return (jboolean)aData->isTranslucencySupported;
90.138 +#endif
90.139 +}
90.140 +
90.141 +/*
90.142 * Class: sun_awt_X11GraphicsDevice
90.143 * Method: isDBESupported
90.144 * Signature: ()Z
91.1 --- a/src/solaris/native/sun/awt/awt_Window.h Tue Apr 14 00:05:07 2009 -0700
91.2 +++ b/src/solaris/native/sun/awt/awt_Window.h Tue Apr 14 04:21:02 2009 -0700
91.3 @@ -28,7 +28,6 @@
91.4 /* fieldIDs for Window fields that may be accessed from C */
91.5 struct WindowIDs {
91.6 jfieldID warningString;
91.7 - jmethodID resetGCMID;
91.8 jfieldID locationByPlatform;
91.9 jfieldID isAutoRequestFocus;
91.10 };
92.1 --- a/src/solaris/native/sun/awt/awt_p.h Tue Apr 14 00:05:07 2009 -0700
92.2 +++ b/src/solaris/native/sun/awt/awt_p.h Tue Apr 14 04:21:02 2009 -0700
92.3 @@ -1,5 +1,5 @@
92.4 /*
92.5 - * Copyright 1995-2005 Sun Microsystems, Inc. All Rights Reserved.
92.6 + * Copyright 1995-2009 Sun Microsystems, Inc. All Rights Reserved.
92.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
92.8 *
92.9 * This code is free software; you can redistribute it and/or modify it
92.10 @@ -135,6 +135,7 @@
92.11 int pixelStride; /* Used in X11SurfaceData.c */
92.12 ColorData *color_data;
92.13 struct _GLXGraphicsConfigInfo *glxInfo;
92.14 + int isTranslucencySupported; /* Uses Xrender to find this out. */
92.15 } AwtGraphicsConfigData;
92.16
92.17 typedef AwtGraphicsConfigData* AwtGraphicsConfigDataPtr;
93.1 --- a/src/solaris/native/sun/awt/utility/rect.h Tue Apr 14 00:05:07 2009 -0700
93.2 +++ b/src/solaris/native/sun/awt/utility/rect.h Tue Apr 14 04:21:02 2009 -0700
93.3 @@ -43,4 +43,15 @@
93.4
93.5 #define RECT_INC_HEIGHT(r) (r).height++
93.6
93.7 +#if defined(__cplusplus)
93.8 +extern "C" {
93.9 +#endif
93.10 +
93.11 +int BitmapToYXBandedRectangles(int bitsPerPixel, int width, int height,
93.12 + unsigned char * buf, RECT_T * outBuf);
93.13 +
93.14 +#if defined(__cplusplus)
93.15 +}
93.16 +#endif
93.17 +
93.18 #endif // _AWT_RECT_H
94.1 --- a/src/solaris/native/sun/xawt/XToolkit.c Tue Apr 14 00:05:07 2009 -0700
94.2 +++ b/src/solaris/native/sun/xawt/XToolkit.c Tue Apr 14 04:21:02 2009 -0700
94.3 @@ -182,9 +182,6 @@
94.4 (*env)->GetMethodID(env, cls, "getLocationOnScreen_NoTreeLock",
94.5 "()Ljava/awt/Point;");
94.6
94.7 - componentIDs.resetGCMID =
94.8 - (*env)->GetMethodID(env, cls, "resetGC", "()V");
94.9 -
94.10 keyclass = (*env)->FindClass(env, "java/awt/event/KeyEvent");
94.11 DASSERT (keyclass != NULL);
94.12
94.13 @@ -197,9 +194,6 @@
94.14 "Lsun/awt/AppContext;");
94.15
94.16 (*env)->DeleteLocalRef(env, keyclass);
94.17 -
94.18 - DASSERT(componentIDs.resetGCMID);
94.19 -
94.20 }
94.21
94.22
95.1 --- a/src/solaris/native/sun/xawt/XlibWrapper.c Tue Apr 14 00:05:07 2009 -0700
95.2 +++ b/src/solaris/native/sun/xawt/XlibWrapper.c Tue Apr 14 04:21:02 2009 -0700
95.3 @@ -1,5 +1,5 @@
95.4 /*
95.5 - * Copyright 2002-2008 Sun Microsystems, Inc. All Rights Reserved.
95.6 + * Copyright 2002-2009 Sun Microsystems, Inc. All Rights Reserved.
95.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
95.8 *
95.9 * This code is free software; you can redistribute it and/or modify it
95.10 @@ -42,7 +42,9 @@
95.11 #include <jvm.h>
95.12
95.13 #include <Region.h>
95.14 +#include "utility/rect.h"
95.15
95.16 +#include <X11/XKBlib.h>
95.17 #if defined(DEBUG) || defined(INTERNAL_BUILD)
95.18 static jmethodID lockIsHeldMID = NULL;
95.19
95.20 @@ -305,6 +307,20 @@
95.21
95.22 /*
95.23 * Class: XlibWrapper
95.24 + * Method: XConfigureWindow
95.25 + * Signature: (JJJJ)V
95.26 + */
95.27 +JNIEXPORT void JNICALL Java_sun_awt_X11_XlibWrapper_XConfigureWindow
95.28 +(JNIEnv *env, jclass clazz, jlong display, jlong window, jlong value_mask,
95.29 + jlong values)
95.30 +{
95.31 + AWT_CHECK_HAVE_LOCK();
95.32 + XConfigureWindow((Display*)jlong_to_ptr(display), (Window)window,
95.33 + (unsigned int)value_mask, (XWindowChanges*)jlong_to_ptr(values));
95.34 +}
95.35 +
95.36 +/*
95.37 + * Class: XlibWrapper
95.38 * Method: XSetInputFocus
95.39 * Signature: (JJ)V
95.40 */
95.41 @@ -434,6 +450,79 @@
95.42 XSelectInput((Display *) jlong_to_ptr(display), (Window) window, mask);
95.43 }
95.44
95.45 +JNIEXPORT void JNICALL Java_sun_awt_X11_XlibWrapper_XkbSelectEvents
95.46 +(JNIEnv *env, jclass clazz, jlong display, jlong device, jlong bits_to_change, jlong values_for_bits)
95.47 +{
95.48 + AWT_CHECK_HAVE_LOCK();
95.49 + XkbSelectEvents((Display *) jlong_to_ptr(display), (unsigned int)device,
95.50 + (unsigned long)bits_to_change,
95.51 + (unsigned long)values_for_bits);
95.52 +}
95.53 +JNIEXPORT void JNICALL Java_sun_awt_X11_XlibWrapper_XkbSelectEventDetails
95.54 +(JNIEnv *env, jclass clazz, jlong display, jlong device, jlong event_type, jlong bits_to_change, jlong values_for_bits)
95.55 +{
95.56 + AWT_CHECK_HAVE_LOCK();
95.57 + XkbSelectEventDetails((Display *) jlong_to_ptr(display), (unsigned int)device,
95.58 + (unsigned int) event_type,
95.59 + (unsigned long)bits_to_change,
95.60 + (unsigned long)values_for_bits);
95.61 +}
95.62 +JNIEXPORT jboolean JNICALL Java_sun_awt_X11_XlibWrapper_XkbQueryExtension
95.63 +(JNIEnv *env, jclass clazz, jlong display, jlong opcode_rtrn, jlong event_rtrn,
95.64 + jlong error_rtrn, jlong major_in_out, jlong minor_in_out)
95.65 +{
95.66 + AWT_CHECK_HAVE_LOCK();
95.67 + return XkbQueryExtension( (Display *) jlong_to_ptr(display),
95.68 + (int *) jlong_to_ptr(opcode_rtrn),
95.69 + (int *) jlong_to_ptr(event_rtrn),
95.70 + (int *) jlong_to_ptr(error_rtrn),
95.71 + (int *) jlong_to_ptr(major_in_out),
95.72 + (int *) jlong_to_ptr(minor_in_out));
95.73 +}
95.74 +JNIEXPORT jboolean JNICALL Java_sun_awt_X11_XlibWrapper_XkbLibraryVersion
95.75 +(JNIEnv *env, jclass clazz, jlong lib_major_in_out, jlong lib_minor_in_out)
95.76 +{
95.77 + AWT_CHECK_HAVE_LOCK();
95.78 + *((int *)lib_major_in_out) = XkbMajorVersion;
95.79 + *((int *)lib_minor_in_out) = XkbMinorVersion;
95.80 + return XkbLibraryVersion((int *)jlong_to_ptr(lib_major_in_out), (int *)jlong_to_ptr(lib_minor_in_out));
95.81 +}
95.82 +
95.83 +JNIEXPORT jlong JNICALL Java_sun_awt_X11_XlibWrapper_XkbGetMap
95.84 +(JNIEnv *env, jclass clazz, jlong display, jlong which, jlong device_spec)
95.85 +{
95.86 + AWT_CHECK_HAVE_LOCK();
95.87 + return (jlong) XkbGetMap( (Display *) jlong_to_ptr(display),
95.88 + (unsigned int) which,
95.89 + (unsigned int) device_spec);
95.90 +}
95.91 +JNIEXPORT jlong JNICALL Java_sun_awt_X11_XlibWrapper_XkbGetUpdatedMap
95.92 +(JNIEnv *env, jclass clazz, jlong display, jlong which, jlong xkb)
95.93 +{
95.94 + AWT_CHECK_HAVE_LOCK();
95.95 + return (jlong) XkbGetUpdatedMap( (Display *) jlong_to_ptr(display),
95.96 + (unsigned int) which,
95.97 + (XkbDescPtr) jlong_to_ptr(xkb));
95.98 +}
95.99 +JNIEXPORT void JNICALL Java_sun_awt_X11_XlibWrapper_XkbFreeKeyboard
95.100 +(JNIEnv *env, jclass clazz, jlong xkb, jlong which, jboolean free_all)
95.101 +{
95.102 + AWT_CHECK_HAVE_LOCK();
95.103 + XkbFreeKeyboard(jlong_to_ptr(xkb), (unsigned int)which, free_all);
95.104 +}
95.105 +JNIEXPORT jboolean JNICALL Java_sun_awt_X11_XlibWrapper_XkbTranslateKeyCode
95.106 +(JNIEnv *env, jclass clazz, jlong xkb, jint keycode, jlong mods, jlong mods_rtrn, jlong keysym_rtrn)
95.107 +{
95.108 + Bool b;
95.109 + b = XkbTranslateKeyCode((XkbDescPtr)xkb, (unsigned int)keycode, (unsigned int)mods,
95.110 + (unsigned int *)jlong_to_ptr(mods_rtrn),
95.111 + (KeySym *)jlong_to_ptr(keysym_rtrn));
95.112 + //printf("native, input: keycode:0x%0X; mods:0x%0X\n", keycode, mods);
95.113 + //printf("native, output: keysym:0x%0X; mods:0x%0X\n", *(unsigned int *)jlong_to_ptr(keysym_rtrn), *(unsigned int *)jlong_to_ptr(mods_rtrn));
95.114 + return b;
95.115 +}
95.116 +
95.117 +
95.118 /*
95.119 * Class: sun_awt_X11_XlibWrapper
95.120 * Method: XNextEvent
95.121 @@ -1658,6 +1747,39 @@
95.122 }
95.123
95.124 JNIEXPORT jint JNICALL
95.125 +Java_sun_awt_X11_XlibWrapper_XkbGetEffectiveGroup(JNIEnv *env, jclass clazz,
95.126 + jlong display) {
95.127 + XkbStateRec sr;
95.128 + AWT_CHECK_HAVE_LOCK();
95.129 + memset(&sr, 0, sizeof(XkbStateRec));
95.130 + XkbGetState((Display*) jlong_to_ptr(display), XkbUseCoreKbd, &sr);
95.131 +// printf("-------------------------------------VVVV\n");
95.132 +// printf(" group:0x%0X\n",sr.group);
95.133 +// printf(" base_group:0x%0X\n",sr.base_group);
95.134 +// printf(" latched_group:0x%0X\n",sr.latched_group);
95.135 +// printf(" locked_group:0x%0X\n",sr.locked_group);
95.136 +// printf(" mods:0x%0X\n",sr.mods);
95.137 +// printf(" base_mods:0x%0X\n",sr.base_mods);
95.138 +// printf(" latched_mods:0x%0X\n",sr.latched_mods);
95.139 +// printf(" locked_mods:0x%0X\n",sr.locked_mods);
95.140 +// printf(" compat_state:0x%0X\n",sr.compat_state);
95.141 +// printf(" grab_mods:0x%0X\n",sr.grab_mods);
95.142 +// printf(" compat_grab_mods:0x%0X\n",sr.compat_grab_mods);
95.143 +// printf(" lookup_mods:0x%0X\n",sr.lookup_mods);
95.144 +// printf(" compat_lookup_mods:0x%0X\n",sr.compat_lookup_mods);
95.145 +// printf(" ptr_buttons:0x%0X\n",sr.ptr_buttons);
95.146 +// printf("-------------------------------------^^^^\n");
95.147 + return (jint)(sr.group);
95.148 +}
95.149 +JNIEXPORT jlong JNICALL
95.150 +Java_sun_awt_X11_XlibWrapper_XkbKeycodeToKeysym(JNIEnv *env, jclass clazz,
95.151 + jlong display, jint keycode,
95.152 + jint group, jint level) {
95.153 + AWT_CHECK_HAVE_LOCK();
95.154 + return XkbKeycodeToKeysym((Display*) jlong_to_ptr(display), (unsigned int)keycode, (unsigned int)group, (unsigned int)level);
95.155 +}
95.156 +
95.157 +JNIEXPORT jint JNICALL
95.158 Java_sun_awt_X11_XlibWrapper_XKeysymToKeycode(JNIEnv *env, jclass clazz,
95.159 jlong display, jlong keysym) {
95.160 AWT_CHECK_HAVE_LOCK();
95.161 @@ -1945,3 +2067,77 @@
95.162 ShapeBounding, 0, 0, None, ShapeSet);
95.163 }
95.164 }
95.165 +
95.166 +/*
95.167 + * Class: XlibWrapper
95.168 + * Method: SetZOrder
95.169 + */
95.170 +
95.171 +JNIEXPORT void JNICALL
95.172 +Java_sun_awt_X11_XlibWrapper_SetZOrder
95.173 +(JNIEnv *env, jclass clazz, jlong display, jlong window, jlong above)
95.174 +{
95.175 + AWT_CHECK_HAVE_LOCK();
95.176 +
95.177 + XWindowChanges wc;
95.178 + wc.sibling = (Window)jlong_to_ptr(above);
95.179 +
95.180 + unsigned int value_mask = CWStackMode;
95.181 +
95.182 + if (above == 0) {
95.183 + wc.stack_mode = Above;
95.184 + } else {
95.185 + wc.stack_mode = Below;
95.186 + value_mask |= CWSibling;
95.187 + }
95.188 +
95.189 + XConfigureWindow((Display *)jlong_to_ptr(display),
95.190 + (Window)jlong_to_ptr(window),
95.191 + value_mask, &wc );
95.192 +}
95.193 +
95.194 +/*
95.195 + * Class: XlibWrapper
95.196 + * Method: SetBitmapShape
95.197 + */
95.198 +JNIEXPORT void JNICALL
95.199 +Java_sun_awt_X11_XlibWrapper_SetBitmapShape
95.200 +(JNIEnv *env, jclass clazz, jlong display, jlong window,
95.201 + jint width, jint height, jintArray bitmap)
95.202 +{
95.203 + jsize len;
95.204 + jint *values;
95.205 + jboolean isCopy = JNI_FALSE;
95.206 + size_t worstBufferSize = (size_t)((width / 2 + 1) * height);
95.207 + RECT_T * pRect;
95.208 +
95.209 + AWT_CHECK_HAVE_LOCK();
95.210 +
95.211 + len = (*env)->GetArrayLength(env, bitmap);
95.212 + if (len == 0 || len < width * height) {
95.213 + return;
95.214 + }
95.215 +
95.216 + values = (*env)->GetIntArrayElements(env, bitmap, &isCopy);
95.217 + if (JNU_IsNull(env, values)) {
95.218 + return;
95.219 + }
95.220 +
95.221 + pRect = (RECT_T *)malloc(worstBufferSize * sizeof(RECT_T));
95.222 +
95.223 + /* Note: the values[0] and values[1] are supposed to contain the width
95.224 + * and height (see XIconInfo.getIntData() for details). So, we do +2.
95.225 + */
95.226 + int numrects = BitmapToYXBandedRectangles(32, (int)width, (int)height,
95.227 + (unsigned char *)(values + 2), pRect);
95.228 +
95.229 + XShapeCombineRectangles((Display *)jlong_to_ptr(display), (Window)jlong_to_ptr(window),
95.230 + ShapeClip, 0, 0, pRect, numrects, ShapeSet, YXBanded);
95.231 + XShapeCombineRectangles((Display *)jlong_to_ptr(display), (Window)jlong_to_ptr(window),
95.232 + ShapeBounding, 0, 0, pRect, numrects, ShapeSet, YXBanded);
95.233 +
95.234 + free(pRect);
95.235 +
95.236 + (*env)->ReleaseIntArrayElements(env, bitmap, values, JNI_ABORT);
95.237 +}
95.238 +
96.1 --- a/src/windows/classes/sun/awt/Win32GraphicsConfig.java Tue Apr 14 00:05:07 2009 -0700
96.2 +++ b/src/windows/classes/sun/awt/Win32GraphicsConfig.java Tue Apr 14 04:21:02 2009 -0700
96.3 @@ -1,5 +1,5 @@
96.4 /*
96.5 - * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved.
96.6 + * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
96.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
96.8 *
96.9 * This code is free software; you can redistribute it and/or modify it
96.10 @@ -331,4 +331,12 @@
96.11 }
96.12 // the rest of the flip actions are not supported
96.13 }
96.14 +
96.15 + /*
96.16 + @Override
96.17 + */
96.18 + public boolean isTranslucencyCapable() {
96.19 + //XXX: worth checking if 8-bit? Anyway, it doesn't hurt.
96.20 + return true;
96.21 + }
96.22 }
97.1 --- a/src/windows/classes/sun/awt/Win32GraphicsDevice.java Tue Apr 14 00:05:07 2009 -0700
97.2 +++ b/src/windows/classes/sun/awt/Win32GraphicsDevice.java Tue Apr 14 04:21:02 2009 -0700
97.3 @@ -380,7 +380,6 @@
97.4
97.5 // fix for 4868278
97.6 peer.updateGC();
97.7 - peer.resetTargetGC();
97.8 }
97.9 }
97.10
98.1 --- a/src/windows/classes/sun/awt/Win32GraphicsEnvironment.java Tue Apr 14 00:05:07 2009 -0700
98.2 +++ b/src/windows/classes/sun/awt/Win32GraphicsEnvironment.java Tue Apr 14 04:21:02 2009 -0700
98.3 @@ -1,5 +1,5 @@
98.4 /*
98.5 - * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved.
98.6 + * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
98.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
98.8 *
98.9 * This code is free software; you can redistribute it and/or modify it
98.10 @@ -398,4 +398,11 @@
98.11 public boolean isDisplayLocal() {
98.12 return true;
98.13 }
98.14 +
98.15 + /**
98.16 + * Used to find out if the OS is Windows Vista or later.
98.17 + *
98.18 + * @return {@code true} if the OS is Vista or later, {@code false} otherwise
98.19 + */
98.20 + public static native boolean isVistaOS();
98.21 }
99.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
99.2 +++ b/src/windows/classes/sun/awt/windows/TranslucentWindowPainter.java Tue Apr 14 04:21:02 2009 -0700
99.3 @@ -0,0 +1,398 @@
99.4 +/*
99.5 + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved.
99.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
99.7 + *
99.8 + * This code is free software; you can redistribute it and/or modify it
99.9 + * under the terms of the GNU General Public License version 2 only, as
99.10 + * published by the Free Software Foundation. Sun designates this
99.11 + * particular file as subject to the "Classpath" exception as provided
99.12 + * by Sun in the LICENSE file that accompanied this code.
99.13 + *
99.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
99.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
99.16 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
99.17 + * version 2 for more details (a copy is included in the LICENSE file that
99.18 + * accompanied this code).
99.19 + *
99.20 + * You should have received a copy of the GNU General Public License version
99.21 + * 2 along with this work; if not, write to the Free Software Foundation,
99.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
99.23 + *
99.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
99.25 + * CA 95054 USA or visit www.sun.com if you need additional information or
99.26 + * have any questions.
99.27 + */
99.28 +package sun.awt.windows;
99.29 +
99.30 +import java.awt.AlphaComposite;
99.31 +import java.awt.Color;
99.32 +import java.awt.Graphics2D;
99.33 +import java.awt.GraphicsConfiguration;
99.34 +import java.awt.Image;
99.35 +import java.awt.Window;
99.36 +import java.awt.image.BufferedImage;
99.37 +import java.awt.image.DataBufferInt;
99.38 +import java.awt.image.VolatileImage;
99.39 +import java.lang.ref.WeakReference;
99.40 +import java.security.AccessController;
99.41 +import sun.awt.image.BufImgSurfaceData;
99.42 +import sun.java2d.DestSurfaceProvider;
99.43 +import sun.java2d.InvalidPipeException;
99.44 +import sun.java2d.Surface;
99.45 +import sun.java2d.pipe.RenderQueue;
99.46 +import sun.java2d.pipe.hw.AccelGraphicsConfig;
99.47 +import sun.java2d.pipe.hw.AccelSurface;
99.48 +import sun.security.action.GetPropertyAction;
99.49 +
99.50 +import static java.awt.image.VolatileImage.*;
99.51 +import static java.awt.Transparency.*;
99.52 +import static sun.java2d.pipe.hw.AccelSurface.*;
99.53 +import static sun.java2d.pipe.hw.ContextCapabilities.*;
99.54 +
99.55 +/**
99.56 + * This class handles the updates of the non-opaque windows.
99.57 + * The window associated with the peer is updated either given an image or
99.58 + * the window is repainted to an internal buffer which is then used to update
99.59 + * the window.
99.60 + *
99.61 + * Note: this class does not attempt to be thread safe, it is expected to be
99.62 + * called from a single thread (EDT).
99.63 + */
99.64 +public abstract class TranslucentWindowPainter {
99.65 +
99.66 + protected Window window;
99.67 + protected WWindowPeer peer;
99.68 +
99.69 + // REMIND: we probably would want to remove this later
99.70 + private static final boolean forceOpt =
99.71 + Boolean.valueOf(AccessController.doPrivileged(
99.72 + new GetPropertyAction("sun.java2d.twp.forceopt", "false")));
99.73 + private static final boolean forceSW =
99.74 + Boolean.valueOf(AccessController.doPrivileged(
99.75 + new GetPropertyAction("sun.java2d.twp.forcesw", "false")));
99.76 +
99.77 + /**
99.78 + * Creates an instance of the painter for particular peer.
99.79 + */
99.80 + public static TranslucentWindowPainter createInstance(WWindowPeer peer) {
99.81 + GraphicsConfiguration gc = peer.getGraphicsConfiguration();
99.82 + if (!forceSW && gc instanceof AccelGraphicsConfig) {
99.83 + String gcName = gc.getClass().getSimpleName();
99.84 + AccelGraphicsConfig agc = (AccelGraphicsConfig)gc;
99.85 + // this is a heuristic to check that we have a pcix board
99.86 + // (those have higher transfer rate from gpu to cpu)
99.87 + if ((agc.getContextCapabilities().getCaps() & CAPS_PS30) != 0 ||
99.88 + forceOpt)
99.89 + {
99.90 + // we check for name to avoid loading classes unnecessarily if
99.91 + // a pipeline isn't enabled
99.92 + if (gcName.startsWith("D3D")) {
99.93 + return new VIOptD3DWindowPainter(peer);
99.94 + } else if (forceOpt && gcName.startsWith("WGL")) {
99.95 + // on some boards (namely, ATI, even on pcix bus) ogl is
99.96 + // very slow reading pixels back so for now it is disabled
99.97 + // unless forced
99.98 + return new VIOptWGLWindowPainter(peer);
99.99 + }
99.100 + }
99.101 + }
99.102 + return new BIWindowPainter(peer);
99.103 + }
99.104 +
99.105 + protected TranslucentWindowPainter(WWindowPeer peer) {
99.106 + this.peer = peer;
99.107 + this.window = (Window)peer.getTarget();
99.108 + }
99.109 +
99.110 + /**
99.111 + * Creates (if needed), clears and returns the buffer for this painter.
99.112 + */
99.113 + protected abstract Image getBackBuffer();
99.114 +
99.115 + /**
99.116 + * Updates the the window associated with this painter with the contents
99.117 + * of the passed image.
99.118 + * The image can not be null, and NPE will be thrown if it is.
99.119 + */
99.120 + protected abstract boolean update(Image bb);
99.121 +
99.122 + /**
99.123 + * Flushes the resources associated with the painter. They will be
99.124 + * recreated as needed.
99.125 + */
99.126 + public abstract void flush();
99.127 +
99.128 + /**
99.129 + * Updates the window associated with the painter given the passed image.
99.130 + * If the passed image is null the painter will use its own buffer for
99.131 + * rendering the contents of the window into it and updating the window.
99.132 + *
99.133 + * If the passed buffer has dimensions different from the window, it is
99.134 + * copied into the internal buffer first and the latter is used to update
99.135 + * the window.
99.136 + *
99.137 + * @param bb the image to update the non opaque window with, or null.
99.138 + * If not null, the image must be of ARGB_PRE type.
99.139 + */
99.140 + public void updateWindow(Image bb) {
99.141 + boolean done = false;
99.142 + if (bb != null && (window.getWidth() != bb.getWidth(null) ||
99.143 + window.getHeight() != bb.getHeight(null)))
99.144 + {
99.145 + Image ourBB = getBackBuffer();
99.146 + Graphics2D g = (Graphics2D)ourBB.getGraphics();
99.147 + g.drawImage(bb, 0, 0, null);
99.148 + g.dispose();
99.149 + bb = ourBB;
99.150 + }
99.151 + do {
99.152 + if (bb == null) {
99.153 + bb = getBackBuffer();
99.154 + Graphics2D g = (Graphics2D)bb.getGraphics();
99.155 + try {
99.156 + window.paintAll(g);
99.157 + } finally {
99.158 + g.dispose();
99.159 + }
99.160 + }
99.161 +
99.162 + peer.paintAppletWarning((Graphics2D)bb.getGraphics(),
99.163 + bb.getWidth(null), bb.getHeight(null));
99.164 +
99.165 + done = update(bb);
99.166 + // in case they passed us a lost VI, next time around we'll use our
99.167 + // own bb because we can not validate and restore the contents of
99.168 + // their VI
99.169 + if (!done) {
99.170 + bb = null;
99.171 + }
99.172 + } while (!done);
99.173 + }
99.174 +
99.175 + private static final Image clearImage(Image bb) {
99.176 + Graphics2D g = (Graphics2D)bb.getGraphics();
99.177 + int w = bb.getWidth(null);
99.178 + int h = bb.getHeight(null);
99.179 +
99.180 + g.setComposite(AlphaComposite.Src);
99.181 + g.setColor(new Color(0, 0, 0, 0));
99.182 + g.fillRect(0, 0, w, h);
99.183 +
99.184 + return bb;
99.185 + }
99.186 +
99.187 + /**
99.188 + * A painter which uses BufferedImage as the internal buffer. The window
99.189 + * is painted into this buffer, and the contents then are uploaded
99.190 + * into the layered window.
99.191 + *
99.192 + * This painter handles all types of images passed to its paint(Image)
99.193 + * method (VI, BI, regular Images).
99.194 + */
99.195 + private static class BIWindowPainter extends TranslucentWindowPainter {
99.196 + private WeakReference<BufferedImage> biRef;
99.197 +
99.198 + protected BIWindowPainter(WWindowPeer peer) {
99.199 + super(peer);
99.200 + }
99.201 +
99.202 + private BufferedImage getBIBackBuffer() {
99.203 + int w = window.getWidth();
99.204 + int h = window.getHeight();
99.205 + BufferedImage bb = biRef == null ? null : biRef.get();
99.206 + if (bb == null || bb.getWidth() != w || bb.getHeight() != h) {
99.207 + if (bb != null) {
99.208 + bb.flush();
99.209 + bb = null;
99.210 + }
99.211 + bb = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB_PRE);
99.212 + biRef = new WeakReference<BufferedImage>(bb);
99.213 + }
99.214 + return (BufferedImage)clearImage(bb);
99.215 + }
99.216 +
99.217 + @Override
99.218 + protected Image getBackBuffer() {
99.219 + return getBIBackBuffer();
99.220 + }
99.221 +
99.222 + @Override
99.223 + protected boolean update(Image bb) {
99.224 + VolatileImage viBB = null;
99.225 +
99.226 + if (bb instanceof BufferedImage) {
99.227 + BufferedImage bi = (BufferedImage)bb;
99.228 + int data[] =
99.229 + ((DataBufferInt)bi.getRaster().getDataBuffer()).getData();
99.230 + peer.updateWindowImpl(data, bi.getWidth(), bi.getHeight());
99.231 + return true;
99.232 + } else if (bb instanceof VolatileImage) {
99.233 + viBB = (VolatileImage)bb;
99.234 + if (bb instanceof DestSurfaceProvider) {
99.235 + Surface s = ((DestSurfaceProvider)bb).getDestSurface();
99.236 + if (s instanceof BufImgSurfaceData) {
99.237 + // the image is probably lost, upload the data from the
99.238 + // backup surface to avoid creating another heap-based
99.239 + // image (the parent's buffer)
99.240 + int w = viBB.getWidth();
99.241 + int h = viBB.getHeight();
99.242 + BufImgSurfaceData bisd = (BufImgSurfaceData)s;
99.243 + int data[] = ((DataBufferInt)bisd.getRaster(0,0,w,h).
99.244 + getDataBuffer()).getData();
99.245 + peer.updateWindowImpl(data, w, h);
99.246 + return true;
99.247 + }
99.248 + }
99.249 + }
99.250 +
99.251 + // copy the passed image into our own buffer, then upload
99.252 + BufferedImage bi = getBIBackBuffer();
99.253 + Graphics2D g = (Graphics2D)bi.getGraphics();
99.254 + g.setComposite(AlphaComposite.Src);
99.255 + g.drawImage(bb, 0, 0, null);
99.256 +
99.257 + int data[] =
99.258 + ((DataBufferInt)bi.getRaster().getDataBuffer()).getData();
99.259 + peer.updateWindowImpl(data, bi.getWidth(), bi.getHeight());
99.260 +
99.261 + return (viBB != null ? !viBB.contentsLost() : true);
99.262 + }
99.263 +
99.264 + public void flush() {
99.265 + if (biRef != null) {
99.266 + biRef.clear();
99.267 + }
99.268 + }
99.269 + }
99.270 +
99.271 + /**
99.272 + * A version of the painter which uses VolatileImage as the internal buffer.
99.273 + * The window is painted into this VI and then copied into the parent's
99.274 + * Java heap-based buffer (which is then uploaded to the layered window)
99.275 + */
99.276 + private static class VIWindowPainter extends BIWindowPainter {
99.277 + private WeakReference<VolatileImage> viRef;
99.278 +
99.279 + protected VIWindowPainter(WWindowPeer peer) {
99.280 + super(peer);
99.281 + }
99.282 +
99.283 + @Override
99.284 + protected Image getBackBuffer() {
99.285 + int w = window.getWidth();
99.286 + int h = window.getHeight();
99.287 + GraphicsConfiguration gc = peer.getGraphicsConfiguration();
99.288 +
99.289 + VolatileImage viBB = viRef == null ? null : viRef.get();
99.290 +
99.291 + if (viBB == null || viBB.getWidth() != w || viBB.getHeight() != h ||
99.292 + viBB.validate(gc) == IMAGE_INCOMPATIBLE)
99.293 + {
99.294 + if (viBB != null) {
99.295 + viBB.flush();
99.296 + viBB = null;
99.297 + }
99.298 +
99.299 + if (gc instanceof AccelGraphicsConfig) {
99.300 + AccelGraphicsConfig agc = ((AccelGraphicsConfig)gc);
99.301 + viBB = agc.createCompatibleVolatileImage(w, h,
99.302 + TRANSLUCENT,
99.303 + RT_PLAIN);
99.304 + }
99.305 + if (viBB == null) {
99.306 + viBB = gc.createCompatibleVolatileImage(w, h, TRANSLUCENT);
99.307 + }
99.308 + viBB.validate(gc);
99.309 + viRef = new WeakReference<VolatileImage>(viBB);
99.310 + }
99.311 +
99.312 + return clearImage(viBB);
99.313 + }
99.314 +
99.315 + @Override
99.316 + public void flush() {
99.317 + if (viRef != null) {
99.318 + VolatileImage viBB = viRef.get();
99.319 + if (viBB != null) {
99.320 + viBB.flush();
99.321 + viBB = null;
99.322 + }
99.323 + viRef.clear();
99.324 + }
99.325 + }
99.326 + }
99.327 +
99.328 + /**
99.329 + * Optimized version of hw painter. Uses VolatileImages for the
99.330 + * buffer, and uses an optimized path to pull the data from those into
99.331 + * the layered window, bypassing Java heap-based image.
99.332 + */
99.333 + private abstract static class VIOptWindowPainter extends VIWindowPainter {
99.334 +
99.335 + protected VIOptWindowPainter(WWindowPeer peer) {
99.336 + super(peer);
99.337 + }
99.338 +
99.339 + protected abstract boolean updateWindowAccel(long psdops, int w, int h);
99.340 +
99.341 + @Override
99.342 + protected boolean update(Image bb) {
99.343 + if (bb instanceof DestSurfaceProvider) {
99.344 + Surface s = ((DestSurfaceProvider)bb).getDestSurface();
99.345 + if (s instanceof AccelSurface) {
99.346 + final int w = bb.getWidth(null);
99.347 + final int h = bb.getHeight(null);
99.348 + final boolean arr[] = { false };
99.349 + final AccelSurface as = (AccelSurface)s;
99.350 + RenderQueue rq = as.getContext().getRenderQueue();
99.351 + rq.lock();
99.352 + try {
99.353 + as.getContext().validateContext(as);
99.354 + rq.flushAndInvokeNow(new Runnable() {
99.355 + public void run() {
99.356 + long psdops = as.getNativeOps();
99.357 + arr[0] = updateWindowAccel(psdops, w, h);
99.358 + }
99.359 + });
99.360 + } catch (InvalidPipeException e) {
99.361 + // ignore, false will be returned
99.362 + } finally {
99.363 + rq.unlock();
99.364 + }
99.365 + return arr[0];
99.366 + }
99.367 + }
99.368 + return super.update(bb);
99.369 + }
99.370 + }
99.371 +
99.372 + private static class VIOptD3DWindowPainter extends VIOptWindowPainter {
99.373 +
99.374 + protected VIOptD3DWindowPainter(WWindowPeer peer) {
99.375 + super(peer);
99.376 + }
99.377 +
99.378 + @Override
99.379 + protected boolean updateWindowAccel(long psdops, int w, int h) {
99.380 + // note: this method is executed on the toolkit thread, no sync is
99.381 + // necessary at the native level, and a pointer to peer can be used
99.382 + return sun.java2d.d3d.D3DSurfaceData.
99.383 + updateWindowAccelImpl(psdops, peer.getData(), w, h);
99.384 + }
99.385 + }
99.386 +
99.387 + private static class VIOptWGLWindowPainter extends VIOptWindowPainter {
99.388 +
99.389 + protected VIOptWGLWindowPainter(WWindowPeer peer) {
99.390 + super(peer);
99.391 + }
99.392 +
99.393 + @Override
99.394 + protected boolean updateWindowAccel(long psdops, int w, int h) {
99.395 + // note: part of this method which deals with GDI will be on the
99.396 + // toolkit thread
99.397 + return sun.java2d.opengl.WGLSurfaceData.
99.398 + updateWindowAccelImpl(psdops, peer, w, h);
99.399 + }
99.400 + }
99.401 +}
100.1 --- a/src/windows/classes/sun/awt/windows/WCanvasPeer.java Tue Apr 14 00:05:07 2009 -0700
100.2 +++ b/src/windows/classes/sun/awt/windows/WCanvasPeer.java Tue Apr 14 04:21:02 2009 -0700
100.3 @@ -1,5 +1,5 @@
100.4 /*
100.5 - * Copyright 1996-2007 Sun Microsystems, Inc. All Rights Reserved.
100.6 + * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved.
100.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
100.8 *
100.9 * This code is free software; you can redistribute it and/or modify it
100.10 @@ -28,6 +28,7 @@
100.11 import java.awt.peer.*;
100.12 import java.lang.ref.WeakReference;
100.13 import java.lang.reflect.Method;
100.14 +import sun.awt.AWTAccessor;
100.15 import sun.awt.ComponentAccessor;
100.16 import sun.awt.SunToolkit;
100.17 import sun.awt.Win32GraphicsDevice;
100.18 @@ -37,44 +38,12 @@
100.19
100.20 private boolean eraseBackground;
100.21
100.22 - Method resetGCMethod;
100.23 -
100.24 // Toolkit & peer internals
100.25
100.26 WCanvasPeer(Component target) {
100.27 super(target);
100.28 }
100.29
100.30 - /*
100.31 - * From the DisplayChangedListener interface.
100.32 - *
100.33 - * Overrides WComponentPeer version because Canvases can be created with
100.34 - * a non-defulat GraphicsConfiguration, which is no longer valid.
100.35 - * Up-called for other windows peer instances (WPanelPeer, WWindowPeer).
100.36 - */
100.37 - public void displayChanged() {
100.38 - clearLocalGC();
100.39 - resetTargetGC();
100.40 - super.displayChanged();
100.41 - }
100.42 -
100.43 - /*
100.44 - * Reset the graphicsConfiguration member of our target Component.
100.45 - * Component.resetGC() is a package-private method, so we have to call it
100.46 - * through reflection.
100.47 - */
100.48 - public void resetTargetGC() {
100.49 - ComponentAccessor.resetGC((Component)target);
100.50 - }
100.51 -
100.52 - /*
100.53 - * Clears the peer's winGraphicsConfig member.
100.54 - * Overridden by WWindowPeer, which shouldn't have a null winGraphicsConfig.
100.55 - */
100.56 - void clearLocalGC() {
100.57 - winGraphicsConfig = null;
100.58 - }
100.59 -
100.60 native void create(WComponentPeer parent);
100.61
100.62 void initialize() {
100.63 @@ -110,16 +79,20 @@
100.64 }
100.65
100.66 public void print(Graphics g) {
100.67 - Dimension d = ((Component)target).getSize();
100.68 - if (g instanceof Graphics2D ||
100.69 - g instanceof sun.awt.Graphics2Delegate) {
100.70 - // background color is setup correctly, so just use clearRect
100.71 - g.clearRect(0, 0, d.width, d.height);
100.72 - } else {
100.73 - // emulate clearRect
100.74 - g.setColor(((Component)target).getBackground());
100.75 - g.fillRect(0, 0, d.width, d.height);
100.76 - g.setColor(((Component)target).getForeground());
100.77 + if (!(target instanceof Window) ||
100.78 + AWTAccessor.getWindowAccessor().isOpaque((Window)target))
100.79 + {
100.80 + Dimension d = ((Component)target).getSize();
100.81 + if (g instanceof Graphics2D ||
100.82 + g instanceof sun.awt.Graphics2Delegate) {
100.83 + // background color is setup correctly, so just use clearRect
100.84 + g.clearRect(0, 0, d.width, d.height);
100.85 + } else {
100.86 + // emulate clearRect
100.87 + g.setColor(((Component)target).getBackground());
100.88 + g.fillRect(0, 0, d.width, d.height);
100.89 + g.setColor(((Component)target).getForeground());
100.90 + }
100.91 }
100.92 super.print(g);
100.93 }
100.94 @@ -147,4 +120,10 @@
100.95 */
100.96 private native void setNativeBackgroundErase(boolean doErase,
100.97 boolean doEraseOnResize);
100.98 +
100.99 + public GraphicsConfiguration getAppropriateGraphicsConfiguration(
100.100 + GraphicsConfiguration gc)
100.101 + {
100.102 + return gc;
100.103 + }
100.104 }
101.1 --- a/src/windows/classes/sun/awt/windows/WChoicePeer.java Tue Apr 14 00:05:07 2009 -0700
101.2 +++ b/src/windows/classes/sun/awt/windows/WChoicePeer.java Tue Apr 14 04:21:02 2009 -0700
101.3 @@ -27,6 +27,10 @@
101.4 import java.awt.*;
101.5 import java.awt.peer.*;
101.6 import java.awt.event.ItemEvent;
101.7 +import java.awt.event.WindowEvent;
101.8 +import java.awt.event.WindowListener;
101.9 +import java.awt.event.WindowAdapter;
101.10 +import sun.awt.SunToolkit;
101.11
101.12 class WChoicePeer extends WComponentPeer implements ChoicePeer {
101.13
101.14 @@ -70,6 +74,8 @@
101.15
101.16 public synchronized native void reshape(int x, int y, int width, int height);
101.17
101.18 + private WindowListener windowListener;
101.19 +
101.20 // Toolkit & peer internals
101.21
101.22 WChoicePeer(Choice target) {
101.23 @@ -91,9 +97,38 @@
101.24 select(opt.getSelectedIndex());
101.25 }
101.26 }
101.27 +
101.28 + Window parentWindow = SunToolkit.getContainingWindow((Component)target);
101.29 + if (parentWindow != null) {
101.30 + WWindowPeer wpeer = (WWindowPeer)parentWindow.getPeer();
101.31 + if (wpeer != null) {
101.32 + windowListener = new WindowAdapter() {
101.33 + public void windowIconified(WindowEvent e) {
101.34 + closeList();
101.35 + }
101.36 + public void windowClosing(WindowEvent e) {
101.37 + closeList();
101.38 + }
101.39 + };
101.40 + wpeer.addWindowListener(windowListener);
101.41 + }
101.42 + }
101.43 super.initialize();
101.44 }
101.45
101.46 + protected void disposeImpl() {
101.47 + // TODO: we should somehow reset the listener when the choice
101.48 + // is moved to another toplevel without destroying its peer.
101.49 + Window parentWindow = SunToolkit.getContainingWindow((Component)target);
101.50 + if (parentWindow != null) {
101.51 + WWindowPeer wpeer = (WWindowPeer)parentWindow.getPeer();
101.52 + if (wpeer != null) {
101.53 + wpeer.removeWindowListener(windowListener);
101.54 + }
101.55 + }
101.56 + super.disposeImpl();
101.57 + }
101.58 +
101.59 // native callbacks
101.60
101.61 void handleAction(final int index) {
101.62 @@ -121,4 +156,5 @@
101.63 return getMinimumSize();
101.64 }
101.65
101.66 + native void closeList();
101.67 }
102.1 --- a/src/windows/classes/sun/awt/windows/WComponentPeer.java Tue Apr 14 00:05:07 2009 -0700
102.2 +++ b/src/windows/classes/sun/awt/windows/WComponentPeer.java Tue Apr 14 04:21:02 2009 -0700
102.3 @@ -1,5 +1,5 @@
102.4 /*
102.5 - * Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved.
102.6 + * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved.
102.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
102.8 *
102.9 * This code is free software; you can redistribute it and/or modify it
102.10 @@ -38,27 +38,32 @@
102.11 import java.awt.event.PaintEvent;
102.12 import java.awt.event.InvocationEvent;
102.13 import java.awt.event.KeyEvent;
102.14 +import java.awt.event.FocusEvent;
102.15 +import java.awt.event.MouseEvent;
102.16 +import java.awt.event.MouseWheelEvent;
102.17 +import java.awt.event.InputEvent;
102.18 import sun.awt.Win32GraphicsConfig;
102.19 +import sun.awt.Win32GraphicsEnvironment;
102.20 import sun.java2d.InvalidPipeException;
102.21 import sun.java2d.SurfaceData;
102.22 -import sun.java2d.d3d.D3DScreenUpdateManager;
102.23 -import static sun.java2d.d3d.D3DSurfaceData.*;
102.24 import sun.java2d.ScreenUpdateManager;
102.25 +import sun.java2d.d3d.D3DSurfaceData;
102.26 import sun.java2d.opengl.OGLSurfaceData;
102.27 +import sun.java2d.pipe.Region;
102.28 import sun.awt.DisplayChangedListener;
102.29 import sun.awt.PaintEventDispatcher;
102.30 +import sun.awt.SunToolkit;
102.31 import sun.awt.event.IgnorePaintEvent;
102.32
102.33 import java.awt.dnd.DropTarget;
102.34 import java.awt.dnd.peer.DropTargetPeer;
102.35 import sun.awt.ComponentAccessor;
102.36
102.37 -
102.38 import java.util.logging.*;
102.39
102.40
102.41 public abstract class WComponentPeer extends WObjectPeer
102.42 - implements ComponentPeer, DropTargetPeer, DisplayChangedListener
102.43 + implements ComponentPeer, DropTargetPeer
102.44 {
102.45 /**
102.46 * Handle to native window
102.47 @@ -67,6 +72,7 @@
102.48
102.49 private static final Logger log = Logger.getLogger("sun.awt.windows.WComponentPeer");
102.50 private static final Logger shapeLog = Logger.getLogger("sun.awt.windows.shape.WComponentPeer");
102.51 + private static final Logger focusLog = Logger.getLogger("sun.awt.windows.focus.WComponentPeer");
102.52
102.53 // ComponentPeer implementation
102.54 SurfaceData surfaceData;
102.55 @@ -186,7 +192,7 @@
102.56 cont.invalidate();
102.57 cont.validate();
102.58
102.59 - if (surfaceData instanceof D3DWindowSurfaceData ||
102.60 + if (surfaceData instanceof D3DSurfaceData.D3DWindowSurfaceData ||
102.61 surfaceData instanceof OGLSurfaceData)
102.62 {
102.63 // When OGL or D3D is enabled, it is necessary to
102.64 @@ -258,7 +264,7 @@
102.65 int[] pix = createPrintedPixels(0, startY, totalW, h);
102.66 if (pix != null) {
102.67 BufferedImage bim = new BufferedImage(totalW, h,
102.68 - BufferedImage.TYPE_INT_RGB);
102.69 + BufferedImage.TYPE_INT_ARGB);
102.70 bim.setRGB(0, 0, totalW, h, pix, 0, totalW);
102.71 g.drawImage(bim, 0, startY, null);
102.72 bim.flush();
102.73 @@ -295,14 +301,35 @@
102.74 // on handling '\n' to prevent it from being passed to native code
102.75 public boolean handleJavaKeyEvent(KeyEvent e) { return false; }
102.76
102.77 + public void handleJavaMouseEvent(MouseEvent e) {
102.78 + switch (e.getID()) {
102.79 + case MouseEvent.MOUSE_PRESSED:
102.80 + // Note that Swing requests focus in its own mouse event handler.
102.81 + if (target == e.getSource() &&
102.82 + !((Component)target).isFocusOwner() &&
102.83 + WKeyboardFocusManagerPeer.shouldFocusOnClick((Component)target))
102.84 + {
102.85 + WKeyboardFocusManagerPeer.requestFocusFor((Component)target,
102.86 + CausedFocusEvent.Cause.MOUSE_EVENT);
102.87 + }
102.88 + break;
102.89 + }
102.90 + }
102.91 +
102.92 native void nativeHandleEvent(AWTEvent e);
102.93
102.94 public void handleEvent(AWTEvent e) {
102.95 int id = e.getID();
102.96
102.97 - if (((Component)target).isEnabled() && (e instanceof KeyEvent) && !((KeyEvent)e).isConsumed()) {
102.98 - if (handleJavaKeyEvent((KeyEvent)e)) {
102.99 - return;
102.100 + if ((e instanceof InputEvent) && !((InputEvent)e).isConsumed() &&
102.101 + ((Component)target).isEnabled())
102.102 + {
102.103 + if (e instanceof MouseEvent && !(e instanceof MouseWheelEvent)) {
102.104 + handleJavaMouseEvent((MouseEvent) e);
102.105 + } else if (e instanceof KeyEvent) {
102.106 + if (handleJavaKeyEvent((KeyEvent)e)) {
102.107 + return;
102.108 + }
102.109 }
102.110 }
102.111
102.112 @@ -318,6 +345,9 @@
102.113 paintArea.paint(target,shouldClearRectBeforePaint());
102.114 }
102.115 return;
102.116 + case FocusEvent.FOCUS_LOST:
102.117 + case FocusEvent.FOCUS_GAINED:
102.118 + handleJavaFocusEvent((FocusEvent)e);
102.119 default:
102.120 break;
102.121 }
102.122 @@ -326,6 +356,13 @@
102.123 nativeHandleEvent(e);
102.124 }
102.125
102.126 + void handleJavaFocusEvent(FocusEvent fe) {
102.127 + if (focusLog.isLoggable(Level.FINER)) focusLog.finer(fe.toString());
102.128 + setFocus(fe.getID() == FocusEvent.FOCUS_GAINED);
102.129 + }
102.130 +
102.131 + native void setFocus(boolean doSetFocus);
102.132 +
102.133 public Dimension getMinimumSize() {
102.134 return ((Component)target).getSize();
102.135 }
102.136 @@ -451,15 +488,8 @@
102.137 }
102.138 }
102.139
102.140 - /**
102.141 - * From the DisplayChangedListener interface.
102.142 - *
102.143 - * Called after a change in the display mode. This event
102.144 - * triggers replacing the surfaceData object (since that object
102.145 - * reflects the current display depth information, which has
102.146 - * just changed).
102.147 - */
102.148 - public void displayChanged() {
102.149 + public void updateGraphicsData(GraphicsConfiguration gc) {
102.150 + winGraphicsConfig = (Win32GraphicsConfig)gc;
102.151 try {
102.152 replaceSurfaceData();
102.153 } catch (InvalidPipeException e) {
102.154 @@ -467,13 +497,6 @@
102.155 }
102.156 }
102.157
102.158 - /**
102.159 - * Part of the DisplayChangedListener interface: components
102.160 - * do not need to react to this event
102.161 - */
102.162 - public void paletteChanged() {
102.163 - }
102.164 -
102.165 //This will return null for Components not yet added to a Container
102.166 public ColorModel getColorModel() {
102.167 GraphicsConfiguration gc = getGraphicsConfiguration();
102.168 @@ -585,22 +608,64 @@
102.169 WGlobalCursorManager.getCursorManager().updateCursorImmediately();
102.170 }
102.171
102.172 - native static boolean processSynchronousLightweightTransfer(Component heavyweight, Component descendant,
102.173 - boolean temporary, boolean focusedWindowChangeAllowed,
102.174 - long time);
102.175 - public boolean requestFocus
102.176 - (Component lightweightChild, boolean temporary,
102.177 - boolean focusedWindowChangeAllowed, long time, CausedFocusEvent.Cause cause) {
102.178 - if (processSynchronousLightweightTransfer((Component)target, lightweightChild, temporary,
102.179 - focusedWindowChangeAllowed, time)) {
102.180 + // TODO: consider moving it to KeyboardFocusManagerPeerImpl
102.181 + public boolean requestFocus(Component lightweightChild, boolean temporary,
102.182 + boolean focusedWindowChangeAllowed, long time,
102.183 + CausedFocusEvent.Cause cause)
102.184 + {
102.185 + if (WKeyboardFocusManagerPeer.
102.186 + processSynchronousLightweightTransfer((Component)target, lightweightChild, temporary,
102.187 + focusedWindowChangeAllowed, time))
102.188 + {
102.189 return true;
102.190 - } else {
102.191 - return _requestFocus(lightweightChild, temporary, focusedWindowChangeAllowed, time, cause);
102.192 }
102.193 +
102.194 + int result = WKeyboardFocusManagerPeer
102.195 + .shouldNativelyFocusHeavyweight((Component)target, lightweightChild,
102.196 + temporary, focusedWindowChangeAllowed,
102.197 + time, cause);
102.198 +
102.199 + switch (result) {
102.200 + case WKeyboardFocusManagerPeer.SNFH_FAILURE:
102.201 + return false;
102.202 + case WKeyboardFocusManagerPeer.SNFH_SUCCESS_PROCEED:
102.203 + if (focusLog.isLoggable(Level.FINER)) {
102.204 + focusLog.finer("Proceeding with request to " + lightweightChild + " in " + target);
102.205 + }
102.206 + Window parentWindow = SunToolkit.getContainingWindow((Component)target);
102.207 + if (parentWindow == null) {
102.208 + return rejectFocusRequestHelper("WARNING: Parent window is null");
102.209 + }
102.210 + WWindowPeer wpeer = (WWindowPeer)parentWindow.getPeer();
102.211 + if (wpeer == null) {
102.212 + return rejectFocusRequestHelper("WARNING: Parent window's peer is null");
102.213 + }
102.214 + boolean res = wpeer.requestWindowFocus(cause);
102.215 +
102.216 + if (focusLog.isLoggable(Level.FINER)) focusLog.finer("Requested window focus: " + res);
102.217 + // If parent window can be made focused and has been made focused(synchronously)
102.218 + // then we can proceed with children, otherwise we retreat.
102.219 + if (!(res && parentWindow.isFocused())) {
102.220 + return rejectFocusRequestHelper("Waiting for asynchronous processing of the request");
102.221 + }
102.222 + return WKeyboardFocusManagerPeer.deliverFocus(lightweightChild,
102.223 + (Component)target,
102.224 + temporary,
102.225 + focusedWindowChangeAllowed,
102.226 + time, cause);
102.227 +
102.228 + case WKeyboardFocusManagerPeer.SNFH_SUCCESS_HANDLED:
102.229 + // Either lightweight or excessive request - all events are generated.
102.230 + return true;
102.231 + }
102.232 + return false;
102.233 }
102.234 - public native boolean _requestFocus
102.235 - (Component lightweightChild, boolean temporary,
102.236 - boolean focusedWindowChangeAllowed, long time, CausedFocusEvent.Cause cause);
102.237 +
102.238 + private boolean rejectFocusRequestHelper(String logMsg) {
102.239 + if (focusLog.isLoggable(Level.FINER)) focusLog.finer(logMsg);
102.240 + WKeyboardFocusManagerPeer.removeLastFocusRequest((Component)target);
102.241 + return false;
102.242 + }
102.243
102.244 public Image createImage(ImageProducer producer) {
102.245 return new ToolkitImage(producer);
102.246 @@ -713,7 +778,7 @@
102.247 * NOTE: This is called on the privileged toolkit thread. Do not
102.248 * call directly into user code using this thread!
102.249 */
102.250 - void handlePaint(int x, int y, int w, int h) {
102.251 + public void handlePaint(int x, int y, int w, int h) {
102.252 postPaintIfNecessary(x, y, w, h);
102.253 }
102.254
102.255 @@ -731,9 +796,12 @@
102.256 * Post an event. Queue it for execution by the callback thread.
102.257 */
102.258 void postEvent(AWTEvent event) {
102.259 + preprocessPostEvent(event);
102.260 WToolkit.postEvent(WToolkit.targetToAppContext(target), event);
102.261 }
102.262
102.263 + void preprocessPostEvent(AWTEvent event) {}
102.264 +
102.265 // Routines to support deferred window positioning.
102.266 public void beginLayout() {
102.267 // Skip all painting till endLayout
102.268 @@ -895,9 +963,29 @@
102.269 public void setBoundsOperation(int operation) {
102.270 }
102.271
102.272 + /**
102.273 + * Returns whether this component is capable of being hw accelerated.
102.274 + * More specifically, whether rendering to this component or a
102.275 + * BufferStrategy's back-buffer for this component can be hw accelerated.
102.276 + *
102.277 + * Conditions which could prevent hw acceleration include the toplevel
102.278 + * window containing this component being
102.279 + * {@link com.sun.awt.AWTUtilities.Translucency#TRANSLUCENT TRANSLUCENT}.
102.280 + *
102.281 + * @return {@code true} if this component is capable of being hw
102.282 + * accelerated, {@code false} otherwise
102.283 + * @see com.sun.awt.AWTUtilities.Translucency#TRANSLUCENT
102.284 + */
102.285 + public boolean isAccelCapable() {
102.286 + boolean isTranslucent =
102.287 + SunToolkit.isContainingTopLevelTranslucent((Component)target);
102.288 + // D3D/OGL and translucent windows interacted poorly in Windows XP;
102.289 + // these problems are no longer present in Vista
102.290 + return !isTranslucent || Win32GraphicsEnvironment.isVistaOS();
102.291 + }
102.292
102.293 native void setRectangularShape(int lox, int loy, int hix, int hiy,
102.294 - sun.java2d.pipe.Region region);
102.295 + Region region);
102.296
102.297
102.298 // REMIND: Temp workaround for issues with using HW acceleration
102.299 @@ -915,41 +1003,10 @@
102.300 }
102.301
102.302 /**
102.303 - * Returns whether this component is capable of being hw accelerated.
102.304 - * More specifically, whether rendering to this component or a
102.305 - * BufferStrategy's back-buffer for this component can be hw accelerated.
102.306 - *
102.307 - * Conditions which could prevent hw acceleration include the toplevel
102.308 - * window containing this component being
102.309 - * {@link com.sun.awt.AWTUtilities.Translucency#TRANSLUCENT TRANSLUCENT}.
102.310 - *
102.311 - * @return {@code true} if this component is capable of being hw
102.312 - * accelerated, {@code false} otherwise
102.313 - * @see com.sun.awt.AWTUtilities.Translucency#TRANSLUCENT
102.314 - */
102.315 - public boolean isAccelCapable() {
102.316 - // REMIND: Temp workaround for issues with using HW acceleration
102.317 - // in the browser on Vista when DWM is enabled
102.318 - if (!isContainingTopLevelAccelCapable((Component)target)) {
102.319 - return false;
102.320 - }
102.321 -
102.322 - // REMIND: translucent windows support-related
102.323 -/*
102.324 - boolean isTranslucent =
102.325 - SunToolkit.isContainingTopLevelTranslucent((Component)target);
102.326 - // D3D/OGL and translucent windows interacted poorly in Windows XP;
102.327 - // these problems are no longer present in Vista
102.328 - return !isTranslucent || Win32GraphicsEnvironment.isVistaOS();
102.329 -*/
102.330 - return true;
102.331 - }
102.332 -
102.333 - /**
102.334 * Applies the shape to the native component window.
102.335 * @since 1.7
102.336 */
102.337 - public void applyShape(sun.java2d.pipe.Region shape) {
102.338 + public void applyShape(Region shape) {
102.339 if (shapeLog.isLoggable(Level.FINER)) {
102.340 shapeLog.finer(
102.341 "*** INFO: Setting shape: PEER: " + this
102.342 @@ -965,4 +1022,15 @@
102.343 }
102.344 }
102.345
102.346 + /**
102.347 + * Lowers this component at the bottom of the above component. If the above parameter
102.348 + * is null then the method places this component at the top of the Z-order.
102.349 + */
102.350 + public void setZOrder(ComponentPeer above) {
102.351 + long aboveHWND = (above != null) ? ((WComponentPeer)above).getHWnd() : 0;
102.352 +
102.353 + setZOrder(aboveHWND);
102.354 + }
102.355 +
102.356 + private native void setZOrder(long above);
102.357 }
103.1 --- a/src/windows/classes/sun/awt/windows/WFileDialogPeer.java Tue Apr 14 00:05:07 2009 -0700
103.2 +++ b/src/windows/classes/sun/awt/windows/WFileDialogPeer.java Tue Apr 14 04:21:02 2009 -0700
103.3 @@ -1,5 +1,5 @@
103.4 /*
103.5 - * Copyright 1996-2007 Sun Microsystems, Inc. All Rights Reserved.
103.6 + * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved.
103.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
103.8 *
103.9 * This code is free software; you can redistribute it and/or modify it
103.10 @@ -225,23 +225,16 @@
103.11 public void addDropTarget(DropTarget dt) {}
103.12 public void removeDropTarget(DropTarget dt) {}
103.13 public void updateFocusableWindowState() {}
103.14 + public void setZOrder(ComponentPeer above) {}
103.15
103.16 /**
103.17 * Initialize JNI field and method ids
103.18 */
103.19 private static native void initIDs();
103.20
103.21 - /**
103.22 - * WFileDialogPeer doesn't have native pData so we don't do restack on it
103.23 - * @see java.awt.peer.ContainerPeer#restack
103.24 - */
103.25 - public void restack() {
103.26 - }
103.27 -
103.28 - /**
103.29 - * @see java.awt.peer.ContainerPeer#isRestackSupported
103.30 - */
103.31 - public boolean isRestackSupported() {
103.32 - return false;
103.33 - }
103.34 + // The effects are not supported for system dialogs.
103.35 + public void applyShape(sun.java2d.pipe.Region shape) {}
103.36 + public void setOpacity(float opacity) {}
103.37 + public void setOpaque(boolean isOpaque) {}
103.38 + public void updateWindow(java.awt.image.BufferedImage backBuffer) {}
103.39 }
104.1 --- a/src/windows/classes/sun/awt/windows/WFramePeer.java Tue Apr 14 00:05:07 2009 -0700
104.2 +++ b/src/windows/classes/sun/awt/windows/WFramePeer.java Tue Apr 14 04:21:02 2009 -0700
104.3 @@ -25,27 +25,46 @@
104.4 package sun.awt.windows;
104.5
104.6 import java.util.Vector;
104.7 +
104.8 import java.awt.*;
104.9 import java.awt.peer.*;
104.10 import java.awt.image.ImageObserver;
104.11 -import sun.awt.image.ImageRepresentation;
104.12 -import sun.awt.image.IntegerComponentRaster;
104.13 -import sun.awt.image.ToolkitImage;
104.14 +
104.15 import java.awt.image.Raster;
104.16 import java.awt.image.DataBuffer;
104.17 import java.awt.image.DataBufferInt;
104.18 import java.awt.image.BufferedImage;
104.19 +
104.20 +import java.awt.image.ColorModel;
104.21 +
104.22 +import sun.awt.image.ImageRepresentation;
104.23 +import sun.awt.image.IntegerComponentRaster;
104.24 +import sun.awt.image.ToolkitImage;
104.25 import sun.awt.im.*;
104.26 import sun.awt.Win32GraphicsDevice;
104.27 -import java.awt.image.ColorModel;
104.28 -
104.29 +import sun.awt.AWTAccessor;
104.30
104.31 class WFramePeer extends WWindowPeer implements FramePeer {
104.32
104.33 + static {
104.34 + initIDs();
104.35 + }
104.36 +
104.37 + // initialize JNI field and method IDs
104.38 + private static native void initIDs();
104.39 +
104.40 // FramePeer implementation
104.41 public native void setState(int state);
104.42 public native int getState();
104.43
104.44 + // sync target and peer
104.45 + public void setExtendedState(int state) {
104.46 + AWTAccessor.getFrameAccessor().setExtendedState((Frame)target, state);
104.47 + }
104.48 + public int getExtendedState() {
104.49 + return AWTAccessor.getFrameAccessor().getExtendedState((Frame)target);
104.50 + }
104.51 +
104.52 // Convenience methods to save us from trouble of extracting
104.53 // Rectangle fields in native code.
104.54 private native void setMaximizedBounds(int x, int y, int w, int h);
105.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
105.2 +++ b/src/windows/classes/sun/awt/windows/WKeyboardFocusManagerPeer.java Tue Apr 14 04:21:02 2009 -0700
105.3 @@ -0,0 +1,75 @@
105.4 +/*
105.5 + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
105.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
105.7 + *
105.8 + * This code is free software; you can redistribute it and/or modify it
105.9 + * under the terms of the GNU General Public License version 2 only, as
105.10 + * published by the Free Software Foundation. Sun designates this
105.11 + * particular file as subject to the "Classpath" exception as provided
105.12 + * by Sun in the LICENSE file that accompanied this code.
105.13 + *
105.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
105.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
105.16 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
105.17 + * version 2 for more details (a copy is included in the LICENSE file that
105.18 + * accompanied this code).
105.19 + *
105.20 + * You should have received a copy of the GNU General Public License version
105.21 + * 2 along with this work; if not, write to the Free Software Foundation,
105.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
105.23 + *
105.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
105.25 + * CA 95054 USA or visit www.sun.com if you need additional information or
105.26 + * have any questions.
105.27 + */
105.28 +
105.29 +package sun.awt.windows;
105.30 +
105.31 +import java.awt.KeyboardFocusManager;
105.32 +import java.awt.Window;
105.33 +import java.awt.Component;
105.34 +import java.awt.peer.ComponentPeer;
105.35 +import sun.awt.KeyboardFocusManagerPeerImpl;
105.36 +import sun.awt.CausedFocusEvent;
105.37 +
105.38 +class WKeyboardFocusManagerPeer extends KeyboardFocusManagerPeerImpl {
105.39 + static native void setNativeFocusOwner(ComponentPeer peer);
105.40 + static native Component getNativeFocusOwner();
105.41 + static native Window getNativeFocusedWindow();
105.42 +
105.43 + WKeyboardFocusManagerPeer(KeyboardFocusManager manager) {
105.44 + super(manager);
105.45 + }
105.46 +
105.47 + @Override
105.48 + public void setCurrentFocusOwner(Component comp) {
105.49 + setNativeFocusOwner(comp != null ? comp.getPeer() : null);
105.50 + }
105.51 +
105.52 + @Override
105.53 + public Component getCurrentFocusOwner() {
105.54 + return getNativeFocusOwner();
105.55 + }
105.56 +
105.57 + @Override
105.58 + public Window getCurrentFocusedWindow() {
105.59 + return getNativeFocusedWindow();
105.60 + }
105.61 +
105.62 + public static boolean deliverFocus(Component lightweightChild,
105.63 + Component target,
105.64 + boolean temporary,
105.65 + boolean focusedWindowChangeAllowed,
105.66 + long time,
105.67 + CausedFocusEvent.Cause cause)
105.68 + {
105.69 + // TODO: do something to eliminate this forwarding
105.70 + return KeyboardFocusManagerPeerImpl.deliverFocus(lightweightChild,
105.71 + target,
105.72 + temporary,
105.73 + focusedWindowChangeAllowed,
105.74 + time,
105.75 + cause,
105.76 + getNativeFocusOwner());
105.77 + }
105.78 +}
106.1 --- a/src/windows/classes/sun/awt/windows/WPanelPeer.java Tue Apr 14 00:05:07 2009 -0700
106.2 +++ b/src/windows/classes/sun/awt/windows/WPanelPeer.java Tue Apr 14 04:21:02 2009 -0700
106.3 @@ -100,34 +100,6 @@
106.4 return getInsets();
106.5 }
106.6
106.7 - /*
106.8 - * From the DisplayChangedListener interface. Often is
106.9 - * up-called from a WWindowPeer instance.
106.10 - */
106.11 - public void displayChanged() {
106.12 - super.displayChanged();
106.13 - displayChanged((Container)target);
106.14 - }
106.15 -
106.16 - /*
106.17 - * Recursively iterates through all the HW and LW children
106.18 - * of the container and calls displayChanged() for HW peers.
106.19 - * Iteration through children peers only is not enough as the
106.20 - * displayChanged notification may not be propagated to HW
106.21 - * components inside LW containers, see 4452373 for details.
106.22 - */
106.23 - private static void displayChanged(Container target) {
106.24 - Component children[] = ((Container)target).getComponents();
106.25 - for (Component child : children) {
106.26 - ComponentPeer cpeer = child.getPeer();
106.27 - if (cpeer instanceof WComponentPeer) {
106.28 - ((WComponentPeer)cpeer).displayChanged();
106.29 - } else if (child instanceof Container) {
106.30 - displayChanged((Container)child);
106.31 - }
106.32 - }
106.33 - }
106.34 -
106.35 private native void pRestack(Object[] peers);
106.36 private void restack(Container cont, Vector peers) {
106.37 for (int i = 0; i < cont.getComponentCount(); i++) {
107.1 --- a/src/windows/classes/sun/awt/windows/WPrintDialogPeer.java Tue Apr 14 00:05:07 2009 -0700
107.2 +++ b/src/windows/classes/sun/awt/windows/WPrintDialogPeer.java Tue Apr 14 04:21:02 2009 -0700
107.3 @@ -1,5 +1,5 @@
107.4 /*
107.5 - * Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved.
107.6 + * Copyright 1999-2009 Sun Microsystems, Inc. All Rights Reserved.
107.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
107.8 *
107.9 * This code is free software; you can redistribute it and/or modify it
107.10 @@ -27,6 +27,7 @@
107.11
107.12 import java.awt.*;
107.13 import java.awt.peer.DialogPeer;
107.14 +import java.awt.peer.ComponentPeer;
107.15 import java.awt.dnd.DropTarget;
107.16 import java.util.Vector;
107.17 import sun.awt.AppContext;
107.18 @@ -137,23 +138,16 @@
107.19 void invalidate(int x, int y, int width, int height) {}
107.20 public void addDropTarget(DropTarget dt) {}
107.21 public void removeDropTarget(DropTarget dt) {}
107.22 + public void setZOrder(ComponentPeer above) {}
107.23
107.24 /**
107.25 * Initialize JNI field and method ids
107.26 */
107.27 private static native void initIDs();
107.28
107.29 - /**
107.30 - * WPrintDialogPeer doesn't have native pData so we don't do restack on it
107.31 - * @see java.awt.peer.ContainerPeer#restack
107.32 - */
107.33 - public void restack() {
107.34 - }
107.35 -
107.36 - /**
107.37 - * @see java.awt.peer.ContainerPeer#isRestackSupported
107.38 - */
107.39 - public boolean isRestackSupported() {
107.40 - return false;
107.41 - }
107.42 + // The effects are not supported for system dialogs.
107.43 + public void applyShape(sun.java2d.pipe.Region shape) {}
107.44 + public void setOpacity(float opacity) {}
107.45 + public void setOpaque(boolean isOpaque) {}
107.46 + public void updateWindow(java.awt.image.BufferedImage backBuffer) {}
107.47 }
108.1 --- a/src/windows/classes/sun/awt/windows/WScrollPanePeer.java Tue Apr 14 00:05:07 2009 -0700
108.2 +++ b/src/windows/classes/sun/awt/windows/WScrollPanePeer.java Tue Apr 14 04:21:02 2009 -0700
108.3 @@ -269,10 +269,4 @@
108.4 }
108.5 }
108.6
108.7 - /**
108.8 - * @see java.awt.peer.ContainerPeer#restack
108.9 - */
108.10 - public void restack() {
108.11 - // Since ScrollPane can only have one child its restacking does nothing.
108.12 - }
108.13 }
109.1 --- a/src/windows/classes/sun/awt/windows/WToolkit.java Tue Apr 14 00:05:07 2009 -0700
109.2 +++ b/src/windows/classes/sun/awt/windows/WToolkit.java Tue Apr 14 04:21:02 2009 -0700
109.3 @@ -1,5 +1,5 @@
109.4 /*
109.5 - * Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved.
109.6 + * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved.
109.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
109.8 *
109.9 * This code is free software; you can redistribute it and/or modify it
109.10 @@ -494,6 +494,12 @@
109.11 return true;
109.12 }
109.13
109.14 + public KeyboardFocusManagerPeer createKeyboardFocusManagerPeer(KeyboardFocusManager manager)
109.15 + throws HeadlessException
109.16 + {
109.17 + return new WKeyboardFocusManagerPeer(manager);
109.18 + }
109.19 +
109.20 protected native void setDynamicLayoutNative(boolean b);
109.21
109.22 public void setDynamicLayout(boolean b) {
109.23 @@ -975,4 +981,34 @@
109.24 public boolean areExtraMouseButtonsEnabled() throws HeadlessException {
109.25 return areExtraMouseButtonsEnabled;
109.26 }
109.27 +
109.28 + @Override
109.29 + public boolean isWindowOpacitySupported() {
109.30 + // supported in Win2K and later
109.31 + return true;
109.32 + }
109.33 +
109.34 + @Override
109.35 + public boolean isWindowShapingSupported() {
109.36 + return true;
109.37 + }
109.38 +
109.39 + @Override
109.40 + public boolean isWindowTranslucencySupported() {
109.41 + // supported in Win2K and later
109.42 + return true;
109.43 + }
109.44 +
109.45 + @Override
109.46 + public boolean isTranslucencyCapable(GraphicsConfiguration gc) {
109.47 + //XXX: worth checking if 8-bit? Anyway, it doesn't hurt.
109.48 + return true;
109.49 + }
109.50 +
109.51 + // On MS Windows one must use the peer.updateWindow() to implement
109.52 + // non-opaque windows.
109.53 + @Override
109.54 + public boolean needUpdateWindow() {
109.55 + return true;
109.56 + }
109.57 }
110.1 --- a/src/windows/classes/sun/awt/windows/WWindowPeer.java Tue Apr 14 00:05:07 2009 -0700
110.2 +++ b/src/windows/classes/sun/awt/windows/WWindowPeer.java Tue Apr 14 04:21:02 2009 -0700
110.3 @@ -1,5 +1,5 @@
110.4 /*
110.5 - * Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved.
110.6 + * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved.
110.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
110.8 *
110.9 * This code is free software; you can redistribute it and/or modify it
110.10 @@ -31,19 +31,19 @@
110.11
110.12 import java.beans.*;
110.13
110.14 -import java.lang.ref.*;
110.15 import java.lang.reflect.*;
110.16
110.17 -import java.security.*;
110.18 -
110.19 import java.util.*;
110.20 import java.util.List;
110.21 import java.util.logging.*;
110.22
110.23 import sun.awt.*;
110.24 -import sun.awt.image.*;
110.25
110.26 -public class WWindowPeer extends WPanelPeer implements WindowPeer {
110.27 +import sun.java2d.pipe.Region;
110.28 +
110.29 +public class WWindowPeer extends WPanelPeer implements WindowPeer,
110.30 + DisplayChangedListener
110.31 +{
110.32
110.33 private static final Logger log = Logger.getLogger("sun.awt.windows.WWindowPeer");
110.34 private static final Logger screenLog = Logger.getLogger("sun.awt.windows.screen.WWindowPeer");
110.35 @@ -52,6 +52,10 @@
110.36 // extends WWindowPeer, not WDialogPeer
110.37 private WWindowPeer modalBlocker = null;
110.38
110.39 + private boolean isOpaque;
110.40 +
110.41 + private volatile TranslucentWindowPainter painter;
110.42 +
110.43 /*
110.44 * A key used for storing a list of active windows in AppContext. The value
110.45 * is a list of windows, sorted by the time of activation: later a window is
110.46 @@ -73,6 +77,12 @@
110.47 private final static PropertyChangeListener guiDisposedListener =
110.48 new GuiDisposedListener();
110.49
110.50 + /*
110.51 + * Called (on the Toolkit thread) before the appropriate
110.52 + * WindowStateEvent is posted to the EventQueue.
110.53 + */
110.54 + private WindowListener windowListener;
110.55 +
110.56 /**
110.57 * Initialize JNI field IDs
110.58 */
110.59 @@ -91,9 +101,18 @@
110.60 l.remove(this);
110.61 }
110.62 }
110.63 +
110.64 // Remove ourself from the Map of DisplayChangeListeners
110.65 GraphicsConfiguration gc = getGraphicsConfiguration();
110.66 ((Win32GraphicsDevice)gc.getDevice()).removeDisplayChangedListener(this);
110.67 +
110.68 + TranslucentWindowPainter currentPainter = painter;
110.69 + if (currentPainter != null) {
110.70 + currentPainter.flush();
110.71 + // don't set the current one to null here; reduces the chances of
110.72 + // MT issues (like NPEs)
110.73 + }
110.74 +
110.75 super.disposeImpl();
110.76 }
110.77
110.78 @@ -158,6 +177,10 @@
110.79 initActiveWindowsTracking((Window)target);
110.80
110.81 updateIconImages();
110.82 +
110.83 + updateShape();
110.84 + updateOpacity();
110.85 + updateOpaque();
110.86 }
110.87
110.88 native void createAwtWindow(WComponentPeer parent);
110.89 @@ -183,7 +206,6 @@
110.90 // super.displayChanged() in WWindowPeer.displayChanged() regardless of whether
110.91 // GraphicsDevice was really changed, or not. So we need to track it here.
110.92 updateGC();
110.93 - resetTargetGC();
110.94
110.95 realShow();
110.96 updateMinimumSize();
110.97 @@ -191,6 +213,8 @@
110.98 if (((Window)target).isAlwaysOnTopSupported() && alwaysOnTop) {
110.99 setAlwaysOnTop(alwaysOnTop);
110.100 }
110.101 +
110.102 + updateWindow(null);
110.103 }
110.104
110.105 // Synchronize the insets members (here & in helper) with actual window
110.106 @@ -214,25 +238,62 @@
110.107 int[] smallIconRaster, int smw, int smh);
110.108
110.109 synchronized native void reshapeFrame(int x, int y, int width, int height);
110.110 - public boolean requestWindowFocus() {
110.111 - // Win32 window doesn't need this
110.112 - return false;
110.113 +
110.114 + public boolean requestWindowFocus(CausedFocusEvent.Cause cause) {
110.115 + if (!focusAllowedFor()) {
110.116 + return false;
110.117 + }
110.118 + return requestWindowFocus(cause == CausedFocusEvent.Cause.MOUSE_EVENT);
110.119 }
110.120 + public native boolean requestWindowFocus(boolean isMouseEventCause);
110.121
110.122 public boolean focusAllowedFor() {
110.123 - Window target = (Window)this.target;
110.124 - if (!target.isVisible() ||
110.125 - !target.isEnabled() ||
110.126 - !target.isFocusable())
110.127 + Window window = (Window)this.target;
110.128 + if (!window.isVisible() ||
110.129 + !window.isEnabled() ||
110.130 + !window.isFocusableWindow())
110.131 {
110.132 return false;
110.133 }
110.134 -
110.135 if (isModalBlocked()) {
110.136 return false;
110.137 }
110.138 + return true;
110.139 + }
110.140
110.141 - return true;
110.142 + public void hide() {
110.143 + WindowListener listener = windowListener;
110.144 + if (listener != null) {
110.145 + // We're not getting WINDOW_CLOSING from the native code when hiding
110.146 + // the window programmatically. So, create it and notify the listener.
110.147 + listener.windowClosing(new WindowEvent((Window)target, WindowEvent.WINDOW_CLOSING));
110.148 + }
110.149 + super.hide();
110.150 + }
110.151 +
110.152 + // WARNING: it's called on the Toolkit thread!
110.153 + void preprocessPostEvent(AWTEvent event) {
110.154 + if (event instanceof WindowEvent) {
110.155 + WindowListener listener = windowListener;
110.156 + if (listener != null) {
110.157 + switch(event.getID()) {
110.158 + case WindowEvent.WINDOW_CLOSING:
110.159 + listener.windowClosing((WindowEvent)event);
110.160 + break;
110.161 + case WindowEvent.WINDOW_ICONIFIED:
110.162 + listener.windowIconified((WindowEvent)event);
110.163 + break;
110.164 + }
110.165 + }
110.166 + }
110.167 + }
110.168 +
110.169 + synchronized void addWindowListener(WindowListener l) {
110.170 + windowListener = AWTEventMulticaster.add(windowListener, l);
110.171 + }
110.172 +
110.173 + synchronized void removeWindowListener(WindowListener l) {
110.174 + windowListener = AWTEventMulticaster.remove(windowListener, l);
110.175 }
110.176
110.177 public void updateMinimumSize() {
110.178 @@ -273,6 +334,31 @@
110.179 }
110.180 }
110.181
110.182 + private void updateShape() {
110.183 + // Shape shape = ((Window)target).getShape();
110.184 + Shape shape = AWTAccessor.getWindowAccessor().getShape((Window)target);
110.185 + if (shape != null) {
110.186 + applyShape(Region.getInstance(shape, null));
110.187 + }
110.188 + }
110.189 +
110.190 + private void updateOpacity() {
110.191 + // float opacity = ((Window)target).getOpacity();
110.192 + float opacity = AWTAccessor.getWindowAccessor().getOpacity((Window)target);
110.193 + if (opacity < 1.0f) {
110.194 + setOpacity(opacity);
110.195 + }
110.196 + }
110.197 +
110.198 + private void updateOpaque() {
110.199 + this.isOpaque = true;
110.200 + // boolean opaque = ((Window)target).isOpaque();
110.201 + boolean opaque = AWTAccessor.getWindowAccessor().isOpaque((Window)target);
110.202 + if (!opaque) {
110.203 + setOpaque(opaque);
110.204 + }
110.205 + }
110.206 +
110.207 native void setMinSize(int width, int height);
110.208
110.209 /*
110.210 @@ -358,14 +444,6 @@
110.211 });
110.212 }
110.213
110.214 -
110.215 - /*
110.216 - * Called from WCanvasPeer.displayChanged().
110.217 - * Override to do nothing - Window and WWindowPeer GC must never be set to
110.218 - * null!
110.219 - */
110.220 - void clearLocalGC() {}
110.221 -
110.222 public void updateGC() {
110.223 int scrn = getScreenImOn();
110.224 if (screenLog.isLoggable(Level.FINER)) {
110.225 @@ -404,18 +482,36 @@
110.226 oldDev.removeDisplayChangedListener(this);
110.227 newDev.addDisplayChangedListener(this);
110.228 }
110.229 +
110.230 + SunToolkit.executeOnEventHandlerThread((Component)target,
110.231 + new Runnable() {
110.232 + public void run() {
110.233 + AWTAccessor.getComponentAccessor().
110.234 + setGraphicsConfiguration((Component)target, winGraphicsConfig);
110.235 + }
110.236 + });
110.237 }
110.238
110.239 - /*
110.240 - * From the DisplayChangedListener interface
110.241 + /**
110.242 + * From the DisplayChangedListener interface.
110.243 *
110.244 * This method handles a display change - either when the display settings
110.245 * are changed, or when the window has been dragged onto a different
110.246 * display.
110.247 + * Called after a change in the display mode. This event
110.248 + * triggers replacing the surfaceData object (since that object
110.249 + * reflects the current display depth information, which has
110.250 + * just changed).
110.251 */
110.252 public void displayChanged() {
110.253 updateGC();
110.254 - super.displayChanged();
110.255 + }
110.256 +
110.257 + /**
110.258 + * Part of the DisplayChangedListener interface: components
110.259 + * do not need to react to this event
110.260 + */
110.261 + public void paletteChanged() {
110.262 }
110.263
110.264 private native int getScreenImOn();
110.265 @@ -451,8 +547,10 @@
110.266 private volatile int sysH = 0;
110.267
110.268 Rectangle constrainBounds(int x, int y, int width, int height) {
110.269 + GraphicsConfiguration gc = this.winGraphicsConfig;
110.270 +
110.271 // We don't restrict the setBounds() operation if the code is trusted.
110.272 - if (!hasWarningWindow()) {
110.273 + if (!hasWarningWindow() || gc == null) {
110.274 return new Rectangle(x, y, width, height);
110.275 }
110.276
110.277 @@ -461,24 +559,24 @@
110.278 int newW = width;
110.279 int newH = height;
110.280
110.281 - GraphicsConfiguration gc = ((Window)target).getGraphicsConfiguration();
110.282 Rectangle sB = gc.getBounds();
110.283 - Insets sIn = ((Window)target).getToolkit().getScreenInsets(gc);
110.284 + Insets sIn = Toolkit.getDefaultToolkit().getScreenInsets(gc);
110.285
110.286 int screenW = sB.width - sIn.left - sIn.right;
110.287 int screenH = sB.height - sIn.top - sIn.bottom;
110.288
110.289 // If it's undecorated or is not currently visible
110.290 - if (!((Window)target).isVisible() || isTargetUndecorated()) {
110.291 + if (!AWTAccessor.getComponentAccessor().isVisible_NoClientCode(
110.292 + (Component)target) || isTargetUndecorated())
110.293 + {
110.294 // Now check each point is within the visible part of the screen
110.295 int screenX = sB.x + sIn.left;
110.296 int screenY = sB.y + sIn.top;
110.297
110.298 - // First make sure the size is withing the visible part of the screen
110.299 + // First make sure the size is within the visible part of the screen
110.300 if (newW > screenW) {
110.301 newW = screenW;
110.302 }
110.303 -
110.304 if (newH > screenH) {
110.305 newH = screenH;
110.306 }
110.307 @@ -489,7 +587,6 @@
110.308 } else if (newX + newW > screenX + screenW) {
110.309 newX = screenX + screenW - newW;
110.310 }
110.311 -
110.312 if (newY < screenY) {
110.313 newY = screenY;
110.314 } else if (newY + newH > screenY + screenH) {
110.315 @@ -504,7 +601,6 @@
110.316 if (newW > maxW) {
110.317 newW = maxW;
110.318 }
110.319 -
110.320 if (newH > maxH) {
110.321 newH = maxH;
110.322 }
110.323 @@ -513,6 +609,8 @@
110.324 return new Rectangle(newX, newY, newW, newH);
110.325 }
110.326
110.327 + public native void repositionSecurityWarning();
110.328 +
110.329 @Override
110.330 public void setBounds(int x, int y, int width, int height, int op) {
110.331 Rectangle newBounds = constrainBounds(x, y, width, height);
110.332 @@ -525,6 +623,135 @@
110.333 super.setBounds(newBounds.x, newBounds.y, newBounds.width, newBounds.height, op);
110.334 }
110.335
110.336 + @Override
110.337 + public void print(Graphics g) {
110.338 + // We assume we print the whole frame,
110.339 + // so we expect no clip was set previously
110.340 + Shape shape = AWTAccessor.getWindowAccessor().getShape((Window)target);
110.341 + if (shape != null) {
110.342 + g.setClip(shape);
110.343 + }
110.344 + super.print(g);
110.345 + }
110.346 +
110.347 + private void replaceSurfaceDataRecursively(Component c) {
110.348 + if (c instanceof Container) {
110.349 + for (Component child : ((Container)c).getComponents()) {
110.350 + replaceSurfaceDataRecursively(child);
110.351 + }
110.352 + }
110.353 + ComponentPeer cp = c.getPeer();
110.354 + if (cp instanceof WComponentPeer) {
110.355 + ((WComponentPeer)cp).replaceSurfaceDataLater();
110.356 + }
110.357 + }
110.358 +
110.359 + private native void setOpacity(int iOpacity);
110.360 +
110.361 + public void setOpacity(float opacity) {
110.362 + if (!((SunToolkit)((Window)target).getToolkit()).
110.363 + isWindowOpacitySupported())
110.364 + {
110.365 + return;
110.366 + }
110.367 +
110.368 + replaceSurfaceDataRecursively((Component)getTarget());
110.369 +
110.370 + final int maxOpacity = 0xff;
110.371 + int iOpacity = (int)(opacity * maxOpacity);
110.372 + if (iOpacity < 0) {
110.373 + iOpacity = 0;
110.374 + }
110.375 + if (iOpacity > maxOpacity) {
110.376 + iOpacity = maxOpacity;
110.377 + }
110.378 +
110.379 + setOpacity(iOpacity);
110.380 + updateWindow(null);
110.381 + }
110.382 +
110.383 + private native void setOpaqueImpl(boolean isOpaque);
110.384 +
110.385 + public void setOpaque(boolean isOpaque) {
110.386 + Window target = (Window)getTarget();
110.387 +
110.388 + SunToolkit sunToolkit = (SunToolkit)target.getToolkit();
110.389 + if (!sunToolkit.isWindowTranslucencySupported() ||
110.390 + !sunToolkit.isTranslucencyCapable(target.getGraphicsConfiguration()))
110.391 + {
110.392 + return;
110.393 + }
110.394 +
110.395 + boolean opaqueChanged = this.isOpaque != isOpaque;
110.396 + boolean isVistaOS = Win32GraphicsEnvironment.isVistaOS();
110.397 +
110.398 + if (opaqueChanged && !isVistaOS){
110.399 + // non-Vista OS: only replace the surface data if the opacity
110.400 + // status changed (see WComponentPeer.isAccelCapable() for more)
110.401 + replaceSurfaceDataRecursively(target);
110.402 + }
110.403 +
110.404 + this.isOpaque = isOpaque;
110.405 +
110.406 + setOpaqueImpl(isOpaque);
110.407 +
110.408 + if (opaqueChanged) {
110.409 + if (isOpaque) {
110.410 + TranslucentWindowPainter currentPainter = painter;
110.411 + if (currentPainter != null) {
110.412 + currentPainter.flush();
110.413 + painter = null;
110.414 + }
110.415 + } else {
110.416 + painter = TranslucentWindowPainter.createInstance(this);
110.417 + }
110.418 + }
110.419 +
110.420 + if (opaqueChanged && isVistaOS) {
110.421 + // On Vista: setting the window non-opaque makes the window look
110.422 + // rectangular, though still catching the mouse clicks within
110.423 + // its shape only. To restore the correct visual appearance
110.424 + // of the window (i.e. w/ the correct shape) we have to reset
110.425 + // the shape.
110.426 + Shape shape = AWTAccessor.getWindowAccessor().getShape(target);
110.427 + if (shape != null) {
110.428 + AWTAccessor.getWindowAccessor().setShape(target, shape);
110.429 + }
110.430 + }
110.431 +
110.432 + updateWindow(null);
110.433 + }
110.434 +
110.435 + public native void updateWindowImpl(int[] data, int width, int height);
110.436 +
110.437 + public void updateWindow(BufferedImage backBuffer) {
110.438 + if (isOpaque) {
110.439 + return;
110.440 + }
110.441 +
110.442 + TranslucentWindowPainter currentPainter = painter;
110.443 + if (currentPainter != null) {
110.444 + currentPainter.updateWindow(backBuffer);
110.445 + } else if (log.isLoggable(Level.FINER)) {
110.446 + log.log(Level.FINER,
110.447 + "Translucent window painter is null in updateWindow");
110.448 + }
110.449 + }
110.450 +
110.451 + /**
110.452 + * Paints the Applet Warning into the passed Graphics2D. This method is
110.453 + * called by the TranslucentWindowPainter before updating the layered
110.454 + * window.
110.455 + *
110.456 + * @param g Graphics context to paint the warning to
110.457 + * @param w the width of the area
110.458 + * @param h the height of the area
110.459 + * @see TranslucentWindowPainter
110.460 + */
110.461 + public void paintAppletWarning(Graphics2D g, int w, int h) {
110.462 + // REMIND: the applet warning needs to be painted here
110.463 + }
110.464 +
110.465 /*
110.466 * The method maps the list of the active windows to the window's AppContext,
110.467 * then the method registers ActiveWindowListener, GuiDisposedListener listeners;
111.1 --- a/src/windows/classes/sun/java2d/d3d/D3DScreenUpdateManager.java Tue Apr 14 00:05:07 2009 -0700
111.2 +++ b/src/windows/classes/sun/java2d/d3d/D3DScreenUpdateManager.java Tue Apr 14 04:21:02 2009 -0700
111.3 @@ -1,5 +1,5 @@
111.4 /*
111.5 - * Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved.
111.6 + * Copyright 2007-2009 Sun Microsystems, Inc. All Rights Reserved.
111.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
111.8 *
111.9 * This code is free software; you can redistribute it and/or modify it
111.10 @@ -37,6 +37,7 @@
111.11 import java.util.ArrayList;
111.12 import java.util.HashMap;
111.13 import sun.awt.SunToolkit;
111.14 +import sun.awt.AWTAccessor;
111.15 import sun.awt.Win32GraphicsConfig;
111.16 import sun.awt.windows.WComponentPeer;
111.17 import sun.java2d.InvalidPipeException;
111.18 @@ -284,14 +285,12 @@
111.19 * @param peer for which target's the repaint should be issued
111.20 */
111.21 private void repaintPeerTarget(WComponentPeer peer) {
111.22 - // we don't want to call user code on our priveleged
111.23 - // thread, delegate to EDT
111.24 - final Component target = (Component)peer.getTarget();
111.25 - SunToolkit.executeOnEventHandlerThread(target, new Runnable() {
111.26 - public void run() {
111.27 - target.repaint();
111.28 - }
111.29 - });
111.30 + Component target = (Component)peer.getTarget();
111.31 + Rectangle bounds = AWTAccessor.getComponentAccessor().getBounds(target);
111.32 + // the system-level painting operations should call the handlePaint()
111.33 + // method of the WComponentPeer class to repaint the component;
111.34 + // calling repaint() forces AWT to make call to update()
111.35 + peer.handlePaint(0, 0, bounds.width, bounds.height);
111.36 }
111.37
111.38 /**
112.1 --- a/src/windows/classes/sun/java2d/opengl/WGLSurfaceData.java Tue Apr 14 00:05:07 2009 -0700
112.2 +++ b/src/windows/classes/sun/java2d/opengl/WGLSurfaceData.java Tue Apr 14 04:21:02 2009 -0700
112.3 @@ -1,5 +1,5 @@
112.4 /*
112.5 - * Copyright 2004-2008 Sun Microsystems, Inc. All Rights Reserved.
112.6 + * Copyright 2004-2009 Sun Microsystems, Inc. All Rights Reserved.
112.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
112.8 *
112.9 * This code is free software; you can redistribute it and/or modify it
112.10 @@ -72,9 +72,8 @@
112.11 // the OGL pipeline can render directly to the screen and interfere
112.12 // with layered windows, which is why we don't allow accelerated
112.13 // surfaces in this case
112.14 - if (!peer.isAccelCapable())
112.15 - // REMIND: commented until toplevel translucency is implemented
112.16 -// || !SunToolkit.isContainingTopLevelOpaque((Component)peer.getTarget()))
112.17 + if (!peer.isAccelCapable() ||
112.18 + !SunToolkit.isContainingTopLevelOpaque((Component)peer.getTarget()))
112.19 {
112.20 return null;
112.21 }
112.22 @@ -93,9 +92,8 @@
112.23 // the OGL pipeline can render directly to the screen and interfere
112.24 // with layered windows, which is why we don't allow accelerated
112.25 // surfaces in this case
112.26 - if (!peer.isAccelCapable())
112.27 - // REMIND: commented until toplevel translucency is implemented
112.28 -// || !SunToolkit.isContainingTopLevelOpaque((Component)peer.getTarget()))
112.29 + if (!peer.isAccelCapable() ||
112.30 + !SunToolkit.isContainingTopLevelOpaque((Component)peer.getTarget()))
112.31 {
112.32 return null;
112.33 }
113.1 --- a/src/windows/native/sun/awt/utility/rect.h Tue Apr 14 00:05:07 2009 -0700
113.2 +++ b/src/windows/native/sun/awt/utility/rect.h Tue Apr 14 04:21:02 2009 -0700
113.3 @@ -1,5 +1,5 @@
113.4 /*
113.5 - * Copyright 2007 Sun Microsystems, Inc. All Rights Reserved.
113.6 + * Copyright 2007-2009 Sun Microsystems, Inc. All Rights Reserved.
113.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
113.8 *
113.9 * This code is free software; you can redistribute it and/or modify it
113.10 @@ -43,5 +43,15 @@
113.11
113.12 #define RECT_INC_HEIGHT(r) (r).bottom++
113.13
113.14 +#if defined(__cplusplus)
113.15 +extern "C" {
113.16 +#endif
113.17 +
113.18 +int BitmapToYXBandedRectangles(int bitsPerPixel, int width, int height,
113.19 + unsigned char * buf, RECT_T * outBuf);
113.20 +
113.21 +#if defined(__cplusplus)
113.22 +}
113.23 +#endif
113.24
113.25 #endif // _AWT_RECT_H
114.1 --- a/src/windows/native/sun/java2d/d3d/D3DSurfaceData.cpp Tue Apr 14 00:05:07 2009 -0700
114.2 +++ b/src/windows/native/sun/java2d/d3d/D3DSurfaceData.cpp Tue Apr 14 04:21:02 2009 -0700
114.3 @@ -1,5 +1,5 @@
114.4 /*
114.5 - * Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved.
114.6 + * Copyright 2007-2009 Sun Microsystems, Inc. All Rights Reserved.
114.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
114.8 *
114.9 * This code is free software; you can redistribute it and/or modify it
114.10 @@ -613,17 +613,15 @@
114.11
114.12 res = pTmpSurface->LockRect(&lockedRect, NULL, D3DLOCK_NOSYSLOCK);
114.13 if (SUCCEEDED(res)) {
114.14 - // REMIND: commented until translucent window support is integrated
114.15 -// hBitmap =
114.16 -// BitmapUtil::CreateBitmapFromARGBPre(w, h,
114.17 -// lockedRect.Pitch,
114.18 -// (int*)lockedRect.pBits);
114.19 + hBitmap =
114.20 + BitmapUtil::CreateBitmapFromARGBPre(w, h,
114.21 + lockedRect.Pitch,
114.22 + (int*)lockedRect.pBits);
114.23 pTmpSurface->UnlockRect();
114.24 }
114.25 RETURN_STATUS_IF_NULL(hBitmap, JNI_FALSE);
114.26
114.27 - // REMIND: commented until translucent window support is integrated
114.28 -// window->UpdateWindow(env, NULL, w, h, hBitmap);
114.29 + window->UpdateWindow(env, NULL, w, h, hBitmap);
114.30
114.31 // hBitmap is released in UpdateWindow
114.32
115.1 --- a/src/windows/native/sun/java2d/opengl/WGLSurfaceData.c Tue Apr 14 00:05:07 2009 -0700
115.2 +++ b/src/windows/native/sun/java2d/opengl/WGLSurfaceData.c Tue Apr 14 04:21:02 2009 -0700
115.3 @@ -1,5 +1,5 @@
115.4 /*
115.5 - * Copyright 2004-2008 Sun Microsystems, Inc. All Rights Reserved.
115.6 + * Copyright 2004-2009 Sun Microsystems, Inc. All Rights Reserved.
115.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
115.8 *
115.9 * This code is free software; you can redistribute it and/or modify it
115.10 @@ -625,17 +625,15 @@
115.11 j2d_glPixelStorei(GL_PACK_ALIGNMENT, 4);
115.12
115.13 // the pixels read from the surface are already premultiplied
115.14 - // REMIND: commented until translucent window support is integrated
115.15 -// hBitmap = BitmapUtil_CreateBitmapFromARGBPre(w, h, scanStride,
115.16 -// (int*)pDst);
115.17 + hBitmap = BitmapUtil_CreateBitmapFromARGBPre(w, h, scanStride,
115.18 + (int*)pDst);
115.19 free(pDst);
115.20
115.21 if (hBitmap == NULL) {
115.22 return JNI_FALSE;
115.23 }
115.24
115.25 - // REMIND: commented until translucent window support is integrated
115.26 - // AwtWindow_UpdateWindow(env, peer, w, h, hBitmap);
115.27 + AwtWindow_UpdateWindow(env, peer, w, h, hBitmap);
115.28
115.29 // hBitmap is released in UpdateWindow
115.30
116.1 --- a/src/windows/native/sun/windows/ComCtl32Util.cpp Tue Apr 14 00:05:07 2009 -0700
116.2 +++ b/src/windows/native/sun/windows/ComCtl32Util.cpp Tue Apr 14 04:21:02 2009 -0700
116.3 @@ -27,6 +27,7 @@
116.4 #include "ComCtl32Util.h"
116.5
116.6 ComCtl32Util::ComCtl32Util() {
116.7 + m_bToolTipControlInitialized = FALSE;
116.8 }
116.9
116.10 ComCtl32Util::~ComCtl32Util() {
116.11 @@ -36,7 +37,8 @@
116.12 INITCOMMONCONTROLSEX iccex;
116.13 memset(&iccex, 0, sizeof(INITCOMMONCONTROLSEX));
116.14 iccex.dwSize = sizeof(INITCOMMONCONTROLSEX);
116.15 - ::InitCommonControlsEx(&iccex);
116.16 + iccex.dwICC = ICC_TAB_CLASSES;
116.17 + m_bToolTipControlInitialized = ::InitCommonControlsEx(&iccex);
116.18 }
116.19
116.20 WNDPROC ComCtl32Util::SubclassHWND(HWND hwnd, WNDPROC _WindowProc) {
117.1 --- a/src/windows/native/sun/windows/ComCtl32Util.h Tue Apr 14 00:05:07 2009 -0700
117.2 +++ b/src/windows/native/sun/windows/ComCtl32Util.h Tue Apr 14 04:21:02 2009 -0700
117.3 @@ -40,6 +40,10 @@
117.4
117.5 void InitLibraries();
117.6
117.7 + INLINE BOOL IsToolTipControlInitialized() {
117.8 + return m_bToolTipControlInitialized;
117.9 + }
117.10 +
117.11 WNDPROC SubclassHWND(HWND hwnd, WNDPROC _WindowProc);
117.12 // DefWindowProc is the same as returned from SubclassHWND
117.13 void UnsubclassHWND(HWND hwnd, WNDPROC _WindowProc, WNDPROC _DefWindowProc);
117.14 @@ -50,6 +54,8 @@
117.15 ComCtl32Util();
117.16 ~ComCtl32Util();
117.17
117.18 + BOOL m_bToolTipControlInitialized;
117.19 +
117.20 // comctl32.dll version 6 window proc
117.21 static LRESULT CALLBACK SharedWindowProc(HWND hwnd, UINT message,
117.22 WPARAM wParam, LPARAM lParam,
118.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
118.2 +++ b/src/windows/native/sun/windows/DllUtil.cpp Tue Apr 14 04:21:02 2009 -0700
118.3 @@ -0,0 +1,87 @@
118.4 +/*
118.5 + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
118.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
118.7 + *
118.8 + * This code is free software; you can redistribute it and/or modify it
118.9 + * under the terms of the GNU General Public License version 2 only, as
118.10 + * published by the Free Software Foundation. Sun designates this
118.11 + * particular file as subject to the "Classpath" exception as provided
118.12 + * by Sun in the LICENSE file that accompanied this code.
118.13 + *
118.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
118.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
118.16 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
118.17 + * version 2 for more details (a copy is included in the LICENSE file that
118.18 + * accompanied this code).
118.19 + *
118.20 + * You should have received a copy of the GNU General Public License version
118.21 + * 2 along with this work; if not, write to the Free Software Foundation,
118.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
118.23 + *
118.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
118.25 + * CA 95054 USA or visit www.sun.com if you need additional information or
118.26 + * have any questions.
118.27 + */
118.28 +
118.29 +
118.30 +#include "DllUtil.h"
118.31 +
118.32 +// Disable warning about using this in the initializer list.
118.33 +#pragma warning( disable : 4355)
118.34 +
118.35 +DllUtil::~DllUtil()
118.36 +{
118.37 + if (module != NULL) {
118.38 + ::FreeLibrary(module);
118.39 + module = NULL;
118.40 + }
118.41 +}
118.42 +
118.43 +HMODULE DllUtil::GetModule()
118.44 +{
118.45 + if (!module) {
118.46 + module = ::LoadLibrary(name);
118.47 + }
118.48 + return module;
118.49 +}
118.50 +
118.51 +FARPROC DllUtil::GetProcAddress(LPCSTR name)
118.52 +{
118.53 + if (GetModule()) {
118.54 + return ::GetProcAddress(GetModule(), name);
118.55 + }
118.56 + throw LibraryUnavailableException();
118.57 +}
118.58 +
118.59 +DwmAPI & DwmAPI::GetInstance()
118.60 +{
118.61 + static DwmAPI dll;
118.62 + return dll;
118.63 +}
118.64 +
118.65 +DwmAPI::DwmAPI() :
118.66 + DllUtil(_T("DWMAPI.DLL")),
118.67 + DwmIsCompositionEnabledFunction((DllUtil*)this, "DwmIsCompositionEnabled"),
118.68 + DwmGetWindowAttributeFunction((DllUtil*)this, "DwmGetWindowAttribute")
118.69 +{
118.70 +}
118.71 +
118.72 +HRESULT DwmAPI::DwmIsCompositionEnabled(BOOL * pfEnabled)
118.73 +{
118.74 + if (GetInstance().DwmIsCompositionEnabledFunction()) {
118.75 + return GetInstance().DwmIsCompositionEnabledFunction()(pfEnabled);
118.76 + }
118.77 + throw FunctionUnavailableException();
118.78 +}
118.79 +
118.80 +HRESULT DwmAPI::DwmGetWindowAttribute(HWND hwnd, DWORD dwAttribute,
118.81 + PVOID pvAttribute, DWORD cbAttribute)
118.82 +{
118.83 + if (GetInstance().DwmGetWindowAttributeFunction()) {
118.84 + return GetInstance().DwmGetWindowAttributeFunction()(hwnd, dwAttribute,
118.85 + pvAttribute, cbAttribute);
118.86 + }
118.87 + throw FunctionUnavailableException();
118.88 +}
118.89 +
118.90 +
119.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
119.2 +++ b/src/windows/native/sun/windows/DllUtil.h Tue Apr 14 04:21:02 2009 -0700
119.3 @@ -0,0 +1,97 @@
119.4 +/*
119.5 + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
119.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
119.7 + *
119.8 + * This code is free software; you can redistribute it and/or modify it
119.9 + * under the terms of the GNU General Public License version 2 only, as
119.10 + * published by the Free Software Foundation. Sun designates this
119.11 + * particular file as subject to the "Classpath" exception as provided
119.12 + * by Sun in the LICENSE file that accompanied this code.
119.13 + *
119.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
119.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
119.16 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
119.17 + * version 2 for more details (a copy is included in the LICENSE file that
119.18 + * accompanied this code).
119.19 + *
119.20 + * You should have received a copy of the GNU General Public License version
119.21 + * 2 along with this work; if not, write to the Free Software Foundation,
119.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
119.23 + *
119.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
119.25 + * CA 95054 USA or visit www.sun.com if you need additional information or
119.26 + * have any questions.
119.27 + */
119.28 +
119.29 +#ifndef DLLUTIL_H
119.30 +#define DLLUTIL_H
119.31 +
119.32 +#include <tchar.h>
119.33 +#include <windows.h>
119.34 +
119.35 +/**
119.36 + * Utility class to handle dynamically loadable libraries.
119.37 + *
119.38 + * NOTE: THIS CLASS IS NOT THREAD-SAFE!
119.39 + */
119.40 +class DllUtil {
119.41 + public:
119.42 + class Exception {};
119.43 + class LibraryUnavailableException : public Exception {};
119.44 + class FunctionUnavailableException : public Exception {};
119.45 +
119.46 + FARPROC GetProcAddress(LPCSTR name);
119.47 +
119.48 + protected:
119.49 + DllUtil(const TCHAR * name) : name(name), module(NULL) {}
119.50 + virtual ~DllUtil();
119.51 +
119.52 + HMODULE GetModule();
119.53 +
119.54 + template <class FunctionType> class Function {
119.55 + public:
119.56 + Function(DllUtil * dll, LPCSTR name) :
119.57 + dll(dll), name(name), function(NULL) {}
119.58 +
119.59 + inline FunctionType operator () () {
119.60 + if (!function) {
119.61 + function = (FunctionType)dll->GetProcAddress(name);
119.62 + }
119.63 + return function;
119.64 + }
119.65 +
119.66 + private:
119.67 + DllUtil * const dll;
119.68 + LPCSTR name;
119.69 +
119.70 + FunctionType function;
119.71 + };
119.72 +
119.73 + private:
119.74 + const TCHAR * const name;
119.75 + HMODULE module;
119.76 +};
119.77 +
119.78 +class DwmAPI : public DllUtil {
119.79 + public:
119.80 + // See DWMWINDOWATTRIBUTE enum in dwmapi.h
119.81 + static const DWORD DWMWA_EXTENDED_FRAME_BOUNDS = 9;
119.82 +
119.83 + static HRESULT DwmIsCompositionEnabled(BOOL * pfEnabled);
119.84 + static HRESULT DwmGetWindowAttribute(HWND hwnd, DWORD dwAttribute,
119.85 + PVOID pvAttribute, DWORD cbAttribute);
119.86 +
119.87 + private:
119.88 + static DwmAPI & GetInstance();
119.89 + DwmAPI();
119.90 +
119.91 + typedef HRESULT (WINAPI *DwmIsCompositionEnabledType)(BOOL*);
119.92 + Function<DwmIsCompositionEnabledType> DwmIsCompositionEnabledFunction;
119.93 +
119.94 + typedef HRESULT (WINAPI *DwmGetWindowAttributeType)(HWND hwnd, DWORD dwAttribute,
119.95 + PVOID pvAttribute, DWORD cbAttribute);
119.96 + Function<DwmGetWindowAttributeType> DwmGetWindowAttributeFunction;
119.97 +};
119.98 +
119.99 +#endif // DLLUTIL_H
119.100 +
120.1 --- a/src/windows/native/sun/windows/awt.rc Tue Apr 14 00:05:07 2009 -0700
120.2 +++ b/src/windows/native/sun/windows/awt.rc Tue Apr 14 04:21:02 2009 -0700
120.3 @@ -35,6 +35,13 @@
120.4 AWT_ICON ICON DISCARDABLE "awt.ico"
120.5 CHECK_BITMAP BITMAP DISCARDABLE "check.bmp"
120.6
120.7 +// Note: the number of icons used is specified in the
120.8 +// securityWarningIconCounter constant in awt_Toolkit.cpp.
120.9 +SECURITY_WARNING_0 ICON DISCARDABLE "security_warning_bw.ico"
120.10 +SECURITY_WARNING_1 ICON DISCARDABLE "security_warning_int.ico"
120.11 +SECURITY_WARNING_2 ICON DISCARDABLE "security_warning.ico"
120.12 +
120.13 +
120.14 /////////////////////////////////////////////////////////////////////////////
120.15 //
120.16 // Version
121.1 --- a/src/windows/native/sun/windows/awt_BitmapUtil.cpp Tue Apr 14 00:05:07 2009 -0700
121.2 +++ b/src/windows/native/sun/windows/awt_BitmapUtil.cpp Tue Apr 14 04:21:02 2009 -0700
121.3 @@ -1,5 +1,5 @@
121.4 /*
121.5 - * Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
121.6 + * Copyright 2006-2009 Sun Microsystems, Inc. All Rights Reserved.
121.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
121.8 *
121.9 * This code is free software; you can redistribute it and/or modify it
121.10 @@ -28,9 +28,14 @@
121.11 #include <windowsx.h>
121.12 #include <zmouse.h>
121.13
121.14 +#include "GraphicsPrimitiveMgr.h"
121.15 +
121.16 #include "awt.h"
121.17 #include "awt_BitmapUtil.h"
121.18
121.19 +// Platform-dependent RECT_[EQ | SET | INC_HEIGHT] macros
121.20 +#include "utility/rect.h"
121.21 +
121.22 HBITMAP BitmapUtil::CreateTransparencyMaskFromARGB(int width, int height, int* imageData)
121.23 {
121.24 //Scan lines should be aligned to word boundary
121.25 @@ -148,3 +153,222 @@
121.26 ::GdiFlush();
121.27 return hBitmap;
121.28 }
121.29 +
121.30 +/*
121.31 + * Creates 32-bit premultiplied ARGB bitmap from specified ARGBPre data.
121.32 + * This function may not work on OS prior to Win95.
121.33 + * See MSDN articles for CreateDIBitmap, BITMAPINFOHEADER,
121.34 + * BITMAPV4HEADER, BITMAPV5HEADER for additional info.
121.35 + */
121.36 +HBITMAP BitmapUtil::CreateBitmapFromARGBPre(int width, int height,
121.37 + int srcStride,
121.38 + int* imageData)
121.39 +{
121.40 + BITMAPINFOHEADER bmi;
121.41 + void *bitmapBits = NULL;
121.42 +
121.43 + ZeroMemory(&bmi, sizeof(bmi));
121.44 + bmi.biSize = sizeof(bmi);
121.45 + bmi.biWidth = width;
121.46 + bmi.biHeight = -height;
121.47 + bmi.biPlanes = 1;
121.48 + bmi.biBitCount = 32;
121.49 + bmi.biCompression = BI_RGB;
121.50 +
121.51 + HBITMAP hBitmap =
121.52 + ::CreateDIBSection(NULL, (BITMAPINFO *) & bmi, DIB_RGB_COLORS,
121.53 + &bitmapBits, NULL, 0);
121.54 +
121.55 + if (!bitmapBits) {
121.56 + return NULL;
121.57 + }
121.58 +
121.59 + int dstStride = width * 4;
121.60 +
121.61 + if (srcStride == dstStride) {
121.62 + memcpy(bitmapBits, (void*)imageData, srcStride * height);
121.63 + } else if (height > 0) {
121.64 + void *pSrcPixels = (void*)imageData;
121.65 + void *pDstPixels = bitmapBits;
121.66 + do {
121.67 + memcpy(pDstPixels, pSrcPixels, dstStride);
121.68 + pSrcPixels = PtrAddBytes(pSrcPixels, srcStride);
121.69 + pDstPixels = PtrAddBytes(pDstPixels, dstStride);
121.70 + } while (--height > 0);
121.71 + }
121.72 +
121.73 + return hBitmap;
121.74 +}
121.75 +
121.76 +extern "C" {
121.77 +
121.78 +/**
121.79 + * This method is called from the WGL pipeline when it needs to create a bitmap
121.80 + * needed to update the layered window.
121.81 + */
121.82 +HBITMAP BitmapUtil_CreateBitmapFromARGBPre(int width, int height,
121.83 + int srcStride,
121.84 + int* imageData)
121.85 +{
121.86 + return BitmapUtil::CreateBitmapFromARGBPre(width, height,
121.87 + srcStride, imageData);
121.88 +
121.89 +}
121.90 +
121.91 +} /* extern "C" */
121.92 +
121.93 +
121.94 +/**
121.95 + * Transforms the given bitmap into an HRGN representing the transparency
121.96 + * of the bitmap. The bitmap MUST BE 32bpp. Alpha value == 0 is considered
121.97 + * transparent, alpha > 0 - opaque.
121.98 + */
121.99 +HRGN BitmapUtil::BitmapToRgn(HBITMAP hBitmap)
121.100 +{
121.101 + HDC hdc = ::CreateCompatibleDC(NULL);
121.102 + ::SelectObject(hdc, hBitmap);
121.103 +
121.104 + BITMAPINFOEX bi;
121.105 + ::ZeroMemory(&bi, sizeof(bi));
121.106 +
121.107 + bi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
121.108 +
121.109 + BOOL r = ::GetDIBits(hdc, hBitmap, 0, 0, NULL,
121.110 + reinterpret_cast<BITMAPINFO*>(&bi), DIB_RGB_COLORS);
121.111 +
121.112 + if (!r || bi.bmiHeader.biBitCount != 32)
121.113 + {
121.114 + ::DeleteDC(hdc);
121.115 + return NULL;
121.116 + }
121.117 +
121.118 + UINT width = bi.bmiHeader.biWidth;
121.119 + UINT height = abs(bi.bmiHeader.biHeight);
121.120 +
121.121 + BYTE * buf = (BYTE*)safe_Malloc(bi.bmiHeader.biSizeImage);
121.122 + bi.bmiHeader.biHeight = -height;
121.123 + ::GetDIBits(hdc, hBitmap, 0, height, buf,
121.124 + reinterpret_cast<BITMAPINFO*>(&bi), DIB_RGB_COLORS);
121.125 +
121.126 + /* reserving memory for the worst case */
121.127 + RGNDATA * pRgnData = (RGNDATA *) safe_Malloc(sizeof(RGNDATAHEADER) +
121.128 + sizeof(RECT) * (width / 2 + 1) * height);
121.129 + RGNDATAHEADER * pRgnHdr = (RGNDATAHEADER *) pRgnData;
121.130 + pRgnHdr->dwSize = sizeof(RGNDATAHEADER);
121.131 + pRgnHdr->iType = RDH_RECTANGLES;
121.132 + pRgnHdr->nRgnSize = 0;
121.133 + pRgnHdr->rcBound.top = 0;
121.134 + pRgnHdr->rcBound.left = 0;
121.135 + pRgnHdr->rcBound.bottom = height;
121.136 + pRgnHdr->rcBound.right = width;
121.137 +
121.138 + pRgnHdr->nCount = BitmapToYXBandedRectangles(32, width, height, buf,
121.139 + (RECT_T *) (((BYTE *) pRgnData) + sizeof(RGNDATAHEADER)));
121.140 +
121.141 + HRGN rgn = ::ExtCreateRegion(NULL,
121.142 + sizeof(RGNDATAHEADER) + sizeof(RECT_T) * pRgnHdr->nCount,
121.143 + pRgnData);
121.144 +
121.145 + free(pRgnData);
121.146 + ::DeleteDC(hdc);
121.147 + free(buf);
121.148 +
121.149 + return rgn;
121.150 +}
121.151 +
121.152 +/**
121.153 + * Makes a copy of the given bitmap. Blends every pixel of the source
121.154 + * with the given blendColor and alpha. If alpha == 0, the function
121.155 + * simply makes a plain copy of the source without any blending.
121.156 + */
121.157 +HBITMAP BitmapUtil::BlendCopy(HBITMAP hSrcBitmap, COLORREF blendColor,
121.158 + BYTE alpha)
121.159 +{
121.160 + HDC hdc = ::CreateCompatibleDC(NULL);
121.161 + HBITMAP oldBitmap = (HBITMAP)::SelectObject(hdc, hSrcBitmap);
121.162 +
121.163 + BITMAPINFOEX bi;
121.164 + ::ZeroMemory(&bi, sizeof(bi));
121.165 +
121.166 + bi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
121.167 +
121.168 + BOOL r = ::GetDIBits(hdc, hSrcBitmap, 0, 0, NULL,
121.169 + reinterpret_cast<BITMAPINFO*>(&bi), DIB_RGB_COLORS);
121.170 +
121.171 + if (!r || bi.bmiHeader.biBitCount != 32)
121.172 + {
121.173 + ::DeleteDC(hdc);
121.174 + return NULL;
121.175 + }
121.176 +
121.177 + UINT width = bi.bmiHeader.biWidth;
121.178 + UINT height = abs(bi.bmiHeader.biHeight);
121.179 +
121.180 + BYTE * buf = (BYTE*)safe_Malloc(bi.bmiHeader.biSizeImage);
121.181 + bi.bmiHeader.biHeight = -height;
121.182 + ::GetDIBits(hdc, hSrcBitmap, 0, height, buf,
121.183 + reinterpret_cast<BITMAPINFO*>(&bi), DIB_RGB_COLORS);
121.184 +
121.185 + UINT widthBytes = width * bi.bmiHeader.biBitCount / 8;
121.186 + UINT alignedWidth = (((widthBytes - 1) / 4) + 1) * 4;
121.187 + UINT i, j;
121.188 +
121.189 + for (j = 0; j < height; j++) {
121.190 + BYTE *pSrc = (BYTE *) buf + j * alignedWidth;
121.191 + for (i = 0; i < width; i++, pSrc += 4) {
121.192 + // Note: if the current alpha is zero, the other three color
121.193 + // components may (theoretically) contain some uninitialized
121.194 + // data. The developer does not expect to display them,
121.195 + // hence we handle this situation differently.
121.196 + if (pSrc[3] == 0) {
121.197 + pSrc[0] = GetBValue(blendColor) * alpha / 255;
121.198 + pSrc[1] = GetGValue(blendColor) * alpha / 255;
121.199 + pSrc[2] = GetRValue(blendColor) * alpha / 255;
121.200 + pSrc[3] = alpha;
121.201 + } else {
121.202 + pSrc[0] = (GetBValue(blendColor) * alpha / 255) +
121.203 + (pSrc[0] * (255 - alpha) / 255);
121.204 + pSrc[1] = (GetGValue(blendColor) * alpha / 255) +
121.205 + (pSrc[1] * (255 - alpha) / 255);
121.206 + pSrc[2] = (GetRValue(blendColor) * alpha / 255) +
121.207 + (pSrc[2] * (255 - alpha) / 255);
121.208 + pSrc[3] = (alpha * alpha / 255) +
121.209 + (pSrc[3] * (255 - alpha) / 255);
121.210 + }
121.211 + }
121.212 + }
121.213 +
121.214 + HBITMAP hDstBitmap = ::CreateDIBitmap(hdc,
121.215 + reinterpret_cast<BITMAPINFOHEADER*>(&bi),
121.216 + CBM_INIT,
121.217 + buf,
121.218 + reinterpret_cast<BITMAPINFO*>(&bi),
121.219 + DIB_RGB_COLORS
121.220 + );
121.221 +
121.222 + ::SelectObject(hdc, oldBitmap);
121.223 + ::DeleteDC(hdc);
121.224 + free(buf);
121.225 +
121.226 + return hDstBitmap;
121.227 +}
121.228 +
121.229 +/**
121.230 + * Creates a 32 bit ARGB bitmap. Returns the bitmap handle. The *bitmapBits
121.231 + * contains the pointer to the bitmap data or NULL if an error occured.
121.232 + */
121.233 +HBITMAP BitmapUtil::CreateARGBBitmap(int width, int height, void ** bitmapBitsPtr)
121.234 +{
121.235 + BITMAPINFOHEADER bmi;
121.236 +
121.237 + ::ZeroMemory(&bmi, sizeof(bmi));
121.238 + bmi.biSize = sizeof(BITMAPINFOHEADER);
121.239 + bmi.biWidth = width;
121.240 + bmi.biHeight = -height;
121.241 + bmi.biPlanes = 1;
121.242 + bmi.biBitCount = 32;
121.243 + bmi.biCompression = BI_RGB;
121.244 +
121.245 + return ::CreateDIBSection(NULL, (BITMAPINFO *) & bmi, DIB_RGB_COLORS,
121.246 + bitmapBitsPtr, NULL, 0);
121.247 +}
122.1 --- a/src/windows/native/sun/windows/awt_BitmapUtil.h Tue Apr 14 00:05:07 2009 -0700
122.2 +++ b/src/windows/native/sun/windows/awt_BitmapUtil.h Tue Apr 14 04:21:02 2009 -0700
122.3 @@ -1,5 +1,5 @@
122.4 /*
122.5 - * Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
122.6 + * Copyright 2006-2009 Sun Microsystems, Inc. All Rights Reserved.
122.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
122.8 *
122.9 * This code is free software; you can redistribute it and/or modify it
122.10 @@ -45,6 +45,32 @@
122.11 */
122.12 static HBITMAP CreateV4BitmapFromARGB(int width, int height, int* imageData);
122.13
122.14 + /**
122.15 + * Creates 32-bit premultiplied ARGB V4 Bitmap (Win95-compatible) from
122.16 + * specified ARGB Pre input data.
122.17 + */
122.18 + static HBITMAP CreateBitmapFromARGBPre(int width, int height,
122.19 + int srcStride,
122.20 + int* imageData);
122.21 +
122.22 + /**
122.23 + * Transforms the given bitmap into an HRGN representing the transparency
122.24 + * of the bitmap.
122.25 + */
122.26 + static HRGN BitmapToRgn(HBITMAP hBitmap);
122.27 +
122.28 + /**
122.29 + * Makes a copy of the given bitmap. Blends every pixel of the source
122.30 + * with the given blendColor and alpha. If alpha == 0, the function
122.31 + * simply makes a plain copy of the source without any blending.
122.32 + */
122.33 + static HBITMAP BlendCopy(HBITMAP hSrcBitmap, COLORREF blendColor, BYTE alpha);
122.34 +
122.35 + /**
122.36 + * Creates a 32 bit ARGB bitmap. Returns the bitmap handle.
122.37 + * The pointer to the bitmap data is stored into bitmapBitsPtr.
122.38 + */
122.39 + static HBITMAP CreateARGBBitmap(int width, int height, void ** bitmapBitsPtr);
122.40 };
122.41
122.42 #endif
123.1 --- a/src/windows/native/sun/windows/awt_Button.cpp Tue Apr 14 00:05:07 2009 -0700
123.2 +++ b/src/windows/native/sun/windows/awt_Button.cpp Tue Apr 14 04:21:02 2009 -0700
123.3 @@ -1,5 +1,5 @@
123.4 /*
123.5 - * Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved.
123.6 + * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved.
123.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
123.8 *
123.9 * This code is free software; you can redistribute it and/or modify it
123.10 @@ -30,7 +30,6 @@
123.11 #include "awt_Button.h"
123.12 #include "awt_Canvas.h"
123.13 #include "awt_Window.h"
123.14 -#include "awt_KeyboardFocusManager.h"
123.15
123.16 /* IMPORTANT! Read the README.JNI file for notes on JNI converted AWT code.
123.17 */
123.18 @@ -143,19 +142,6 @@
123.19 return c;
123.20 }
123.21
123.22 -BOOL AwtButton::ActMouseMessage(MSG * pMsg) {
123.23 - if (!IsFocusingMessage(pMsg->message)) {
123.24 - return FALSE;
123.25 - }
123.26 -
123.27 - if (pMsg->message == WM_LBUTTONDOWN) {
123.28 - SendMessage(BM_SETSTATE, TRUE, 0);
123.29 - } else if (pMsg->message == WM_LBUTTONUP) {
123.30 - SendMessage(BM_SETSTATE, FALSE, 0);
123.31 - }
123.32 - return TRUE;
123.33 -}
123.34 -
123.35 MsgRouting
123.36 AwtButton::WmMouseDown(UINT flags, int x, int y, int button)
123.37 {
123.38 @@ -204,23 +190,6 @@
123.39 (jint)AwtComponent::GetJavaModifiers());
123.40 }
123.41
123.42 -/* 4531849 fix. Previous to 1.4, mouse clicks and typing space bar on a
123.43 - * Button would notify ActionListeners via WM_COMMAND/WmNotify(). In 1.4, mouse
123.44 - * grabs are done for all presses in order to correctly send drag and release
123.45 - * events. However, WM_COMMAND message aren't sent when the mouse is grabbed,
123.46 - * so ActionListeners for mouse clicks are sent via WmMouseUp/WmNotify().
123.47 - * For some reason, if the right mouse button is held down when left-clicking
123.48 - * on a Button, WM_COMMAND _IS_ sent. This resulted in two ActionEvents being
123.49 - * sent in this case. To fix the problem, we handle typing space bar similar to
123.50 - * left clicks - in WmKeyUp(), and do nothing for WM_COMMAND. -bchristi
123.51 - */
123.52 -MsgRouting
123.53 -AwtButton::WmKeyUp(UINT wkey, UINT repCnt, UINT flags, BOOL system)
123.54 -{
123.55 - MsgRouting mrResult = AwtComponent::WmKeyUp(wkey, repCnt, flags, system);
123.56 - return mrResult;
123.57 -}
123.58 -
123.59 MsgRouting
123.60 AwtButton::OwnerDrawItem(UINT /*ctrlId*/, DRAWITEMSTRUCT& drawInfo)
123.61 {
123.62 @@ -293,18 +262,26 @@
123.63 return mrDoDefault;
123.64 }
123.65
123.66 +BOOL AwtButton::IsFocusingMouseMessage(MSG *pMsg) {
123.67 + return pMsg->message == WM_LBUTTONDOWN || pMsg->message == WM_LBUTTONUP;
123.68 +}
123.69 +
123.70 +BOOL AwtButton::IsFocusingKeyMessage(MSG *pMsg) {
123.71 + return (pMsg->message == WM_KEYDOWN || pMsg->message == WM_KEYUP) &&
123.72 + pMsg->wParam == VK_SPACE;
123.73 +}
123.74 +
123.75 MsgRouting AwtButton::HandleEvent(MSG *msg, BOOL synthetic)
123.76 {
123.77 - if (AwtComponent::sm_focusOwner != GetHWnd() &&
123.78 - (msg->message == WM_LBUTTONDOWN || msg->message == WM_LBUTTONDBLCLK))
123.79 - {
123.80 - JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
123.81 - jobject target = GetTarget(env);
123.82 - env->CallStaticVoidMethod
123.83 - (AwtKeyboardFocusManager::keyboardFocusManagerCls,
123.84 - AwtKeyboardFocusManager::heavyweightButtonDownMID,
123.85 - target, ((jlong)msg->time) & 0xFFFFFFFF);
123.86 - env->DeleteLocalRef(target);
123.87 + if (IsFocusingMouseMessage(msg)) {
123.88 + SendMessage(BM_SETSTATE, msg->message == WM_LBUTTONDOWN ? TRUE : FALSE, 0);
123.89 + delete msg;
123.90 + return mrConsume;
123.91 + }
123.92 + if (IsFocusingKeyMessage(msg)) {
123.93 + SendMessage(BM_SETSTATE, msg->message == WM_KEYDOWN ? TRUE : FALSE, 0);
123.94 + delete msg;
123.95 + return mrConsume;
123.96 }
123.97 return AwtComponent::HandleEvent(msg, synthetic);
123.98 }
124.1 --- a/src/windows/native/sun/windows/awt_Button.h Tue Apr 14 00:05:07 2009 -0700
124.2 +++ b/src/windows/native/sun/windows/awt_Button.h Tue Apr 14 04:21:02 2009 -0700
124.3 @@ -1,5 +1,5 @@
124.4 /*
124.5 - * Copyright 1996-2004 Sun Microsystems, Inc. All Rights Reserved.
124.6 + * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved.
124.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
124.8 *
124.9 * This code is free software; you can redistribute it and/or modify it
124.10 @@ -50,13 +50,13 @@
124.11 /* Windows message handler functions */
124.12 MsgRouting WmMouseDown(UINT flags, int x, int y, int button);
124.13 MsgRouting WmMouseUp(UINT flags, int x, int y, int button);
124.14 - MsgRouting WmKeyUp(UINT vkey, UINT repCnt, UINT flags, BOOL system);
124.15 MsgRouting OwnerDrawItem(UINT ctrlId, DRAWITEMSTRUCT& drawInfo);
124.16 MsgRouting WmPaint(HDC hDC);
124.17
124.18 MsgRouting HandleEvent(MSG *msg, BOOL synthetic);
124.19
124.20 - BOOL ActMouseMessage(MSG * pMsg);
124.21 + BOOL IsFocusingMouseMessage(MSG *pMsg);
124.22 + BOOL IsFocusingKeyMessage(MSG *pMsg);
124.23
124.24 // called on Toolkit thread from JNI
124.25 static void _SetLabel(void *param);
125.1 --- a/src/windows/native/sun/windows/awt_Canvas.cpp Tue Apr 14 00:05:07 2009 -0700
125.2 +++ b/src/windows/native/sun/windows/awt_Canvas.cpp Tue Apr 14 04:21:02 2009 -0700
125.3 @@ -1,5 +1,5 @@
125.4 /*
125.5 - * Copyright 1996-2007 Sun Microsystems, Inc. All Rights Reserved.
125.6 + * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved.
125.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
125.8 *
125.9 * This code is free software; you can redistribute it and/or modify it
125.10 @@ -26,7 +26,6 @@
125.11 #include "awt_Toolkit.h"
125.12 #include "awt_Canvas.h"
125.13 #include "awt_Win32GraphicsConfig.h"
125.14 -#include "awt_KeyboardFocusManager.h"
125.15 #include "awt_Window.h"
125.16
125.17 /* IMPORTANT! Read the README.JNI file for notes on JNI converted AWT code.
125.18 @@ -176,27 +175,9 @@
125.19
125.20 MsgRouting AwtCanvas::HandleEvent(MSG *msg, BOOL synthetic)
125.21 {
125.22 - if (msg->message == WM_LBUTTONDOWN || msg->message == WM_LBUTTONDBLCLK) {
125.23 - /*
125.24 - * Fix for BugTraq ID 4041703: keyDown not being invoked.
125.25 - * Give the focus to a Canvas or Panel if it doesn't have heavyweight
125.26 - * subcomponents so that they will behave the same way as on Solaris
125.27 - * providing a possibility of giving keyboard focus to an empty Applet.
125.28 - * Since ScrollPane doesn't receive focus on mouse press on Solaris,
125.29 - * HandleEvent() is overriden there to do nothing with focus.
125.30 - */
125.31 - if (AwtComponent::sm_focusOwner != GetHWnd() &&
125.32 - ::GetWindow(GetHWnd(), GW_CHILD) == NULL)
125.33 - {
125.34 - JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
125.35 - jobject target = GetTarget(env);
125.36 - env->CallStaticVoidMethod
125.37 - (AwtKeyboardFocusManager::keyboardFocusManagerCls,
125.38 - AwtKeyboardFocusManager::heavyweightButtonDownMID,
125.39 - target, ((jlong)msg->time) & 0xFFFFFFFF);
125.40 - env->DeleteLocalRef(target);
125.41 - AwtSetFocus();
125.42 - }
125.43 + if (IsFocusingMouseMessage(msg)) {
125.44 + delete msg;
125.45 + return mrConsume;
125.46 }
125.47 return AwtComponent::HandleEvent(msg, synthetic);
125.48 }
126.1 --- a/src/windows/native/sun/windows/awt_Checkbox.cpp Tue Apr 14 00:05:07 2009 -0700
126.2 +++ b/src/windows/native/sun/windows/awt_Checkbox.cpp Tue Apr 14 04:21:02 2009 -0700
126.3 @@ -26,7 +26,6 @@
126.4 #include "awt.h"
126.5 #include "awt_Toolkit.h"
126.6 #include "awt_Checkbox.h"
126.7 -#include "awt_KeyboardFocusManager.h"
126.8 #include "awt_Canvas.h"
126.9 #include "awt_Window.h"
126.10
126.11 @@ -143,17 +142,6 @@
126.12 return checkbox;
126.13 }
126.14
126.15 -BOOL AwtCheckbox::ActMouseMessage(MSG* pMsg) {
126.16 - if (!IsFocusingMessage(pMsg->message)) {
126.17 - return FALSE;
126.18 - }
126.19 -
126.20 - if (pMsg->message == WM_LBUTTONDOWN) {
126.21 - SendMessage(BM_SETSTATE, ~SendMessage(BM_GETSTATE, 0, 0), 0);
126.22 - }
126.23 - return TRUE;
126.24 -}
126.25 -
126.26 MsgRouting
126.27 AwtCheckbox::WmMouseUp(UINT flags, int x, int y, int button)
126.28 {
126.29 @@ -329,18 +317,32 @@
126.30 return mrDoDefault;
126.31 }
126.32
126.33 +BOOL AwtCheckbox::IsFocusingMouseMessage(MSG *pMsg) {
126.34 + return pMsg->message == WM_LBUTTONDOWN || pMsg->message == WM_LBUTTONUP;
126.35 +}
126.36 +
126.37 +BOOL AwtCheckbox::IsFocusingKeyMessage(MSG *pMsg) {
126.38 + return (pMsg->message == WM_KEYDOWN || pMsg->message == WM_KEYUP) &&
126.39 + pMsg->wParam == VK_SPACE;
126.40 +}
126.41 +
126.42 MsgRouting AwtCheckbox::HandleEvent(MSG *msg, BOOL synthetic)
126.43 {
126.44 - if (IsFocusable() && AwtComponent::sm_focusOwner != GetHWnd() &&
126.45 - (msg->message == WM_LBUTTONDOWN || msg->message == WM_LBUTTONDBLCLK))
126.46 - {
126.47 - JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
126.48 - jobject target = GetTarget(env);
126.49 - env->CallStaticVoidMethod
126.50 - (AwtKeyboardFocusManager::keyboardFocusManagerCls,
126.51 - AwtKeyboardFocusManager::heavyweightButtonDownMID,
126.52 - target, ((jlong)msg->time) & 0xFFFFFFFF);
126.53 - env->DeleteLocalRef(target);
126.54 + if (IsFocusingMouseMessage(msg)) {
126.55 + SendMessage(BM_SETSTATE, (WPARAM)(msg->message == WM_LBUTTONDOWN ? TRUE : FALSE));
126.56 + delete msg;
126.57 + return mrConsume;
126.58 + }
126.59 + if (IsFocusingKeyMessage(msg)) {
126.60 + SendMessage(BM_SETSTATE, (WPARAM)(msg->message == WM_KEYDOWN ? TRUE : FALSE));
126.61 + if (msg->message == WM_KEYDOWN) {
126.62 + m_fLButtonDowned = TRUE;
126.63 + } else if (m_fLButtonDowned == TRUE) {
126.64 + WmNotify(BN_CLICKED);
126.65 + m_fLButtonDowned = TRUE;
126.66 + }
126.67 + delete msg;
126.68 + return mrConsume;
126.69 }
126.70 return AwtComponent::HandleEvent(msg, synthetic);
126.71 }
127.1 --- a/src/windows/native/sun/windows/awt_Checkbox.h Tue Apr 14 00:05:07 2009 -0700
127.2 +++ b/src/windows/native/sun/windows/awt_Checkbox.h Tue Apr 14 04:21:02 2009 -0700
127.3 @@ -69,7 +69,8 @@
127.4
127.5 MsgRouting HandleEvent(MSG *msg, BOOL synthetic);
127.6
127.7 - BOOL ActMouseMessage(MSG* pMsg);
127.8 + BOOL IsFocusingMouseMessage(MSG *pMsg);
127.9 + BOOL IsFocusingKeyMessage(MSG *pMsg);
127.10
127.11 // called on Toolkit thread from JNI
127.12 static void _SetLabel(void *param);
128.1 --- a/src/windows/native/sun/windows/awt_Choice.cpp Tue Apr 14 00:05:07 2009 -0700
128.2 +++ b/src/windows/native/sun/windows/awt_Choice.cpp Tue Apr 14 04:21:02 2009 -0700
128.3 @@ -23,14 +23,17 @@
128.4 * have any questions.
128.5 */
128.6
128.7 +#include <windowsx.h>
128.8 +
128.9 #include "awt_Toolkit.h"
128.10 #include "awt_Choice.h"
128.11 -#include "awt_KeyboardFocusManager.h"
128.12 #include "awt_Canvas.h"
128.13
128.14 #include "awt_Dimension.h"
128.15 #include "awt_Container.h"
128.16
128.17 +#include "ComCtl32Util.h"
128.18 +
128.19 #include <java_awt_Toolkit.h>
128.20 #include <java_awt_FontMetrics.h>
128.21 #include <java_awt_event_InputEvent.h>
128.22 @@ -71,18 +74,31 @@
128.23 /* Bug #4338368: consume the spurious MouseUp when the choice loses focus */
128.24
128.25 BOOL AwtChoice::skipNextMouseUp = FALSE;
128.26 +
128.27 +BOOL AwtChoice::sm_isMouseMoveInList = FALSE;
128.28 +
128.29 +static const UINT MINIMUM_NUMBER_OF_VISIBLE_ITEMS = 8;
128.30 +
128.31 /*************************************************************************
128.32 * AwtChoice class methods
128.33 */
128.34
128.35 AwtChoice::AwtChoice() {
128.36 - killFocusRouting = mrPassAlong;
128.37 + m_hList = NULL;
128.38 + m_listDefWindowProc = NULL;
128.39 }
128.40
128.41 LPCTSTR AwtChoice::GetClassName() {
128.42 return TEXT("COMBOBOX"); /* System provided combobox class */
128.43 }
128.44
128.45 +void AwtChoice::Dispose() {
128.46 + if (m_hList != NULL && m_listDefWindowProc != NULL) {
128.47 + ComCtl32Util::GetInstance().UnsubclassHWND(m_hList, ListWindowProc, m_listDefWindowProc);
128.48 + }
128.49 + AwtComponent::Dispose();
128.50 +}
128.51 +
128.52 AwtChoice* AwtChoice::Create(jobject peer, jobject parent) {
128.53
128.54
128.55 @@ -162,6 +178,10 @@
128.56 env->SetIntField(target, AwtComponent::widthID, (jint) rc.right);
128.57 env->SetIntField(target, AwtComponent::heightID, (jint) rc.bottom);
128.58
128.59 + if (IS_WINXP) {
128.60 + ::SendMessage(c->GetHWnd(), CB_SETMINVISIBLE, (WPARAM) MINIMUM_NUMBER_OF_VISIBLE_ITEMS, 0);
128.61 + }
128.62 +
128.63 env->DeleteLocalRef(dimension);
128.64 }
128.65 } catch (...) {
128.66 @@ -175,24 +195,13 @@
128.67 return c;
128.68 }
128.69
128.70 -BOOL AwtChoice::ActMouseMessage(MSG* pMsg) {
128.71 - if (!IsFocusingMessage(pMsg->message)) {
128.72 - return FALSE;
128.73 - }
128.74 -
128.75 - if (pMsg->message == WM_LBUTTONDOWN) {
128.76 - SendMessage(CB_SHOWDROPDOWN, ~SendMessage(CB_GETDROPPEDSTATE, 0, 0), 0);
128.77 - }
128.78 - return TRUE;
128.79 -}
128.80 -
128.81 // calculate height of drop-down list part of the combobox
128.82 // to show all the items up to a maximum of eight
128.83 int AwtChoice::GetDropDownHeight()
128.84 {
128.85 int itemHeight =(int)::SendMessage(GetHWnd(), CB_GETITEMHEIGHT, (UINT)0,0);
128.86 int numItemsToShow = (int)::SendMessage(GetHWnd(), CB_GETCOUNT, 0,0);
128.87 - numItemsToShow = numItemsToShow > 8 ? 8 : numItemsToShow;
128.88 + numItemsToShow = min(MINIMUM_NUMBER_OF_VISIBLE_ITEMS, numItemsToShow);
128.89 // drop-down height snaps to nearest line, so add a
128.90 // fudge factor of 1/2 line to ensure last line shows
128.91 return itemHeight*numItemsToShow + itemHeight/2;
128.92 @@ -253,6 +262,7 @@
128.93 }
128.94 return;
128.95 }
128.96 +
128.97 // don't want to interfere with other controls
128.98 if (::GetCapture() == NULL) {
128.99 ::SetCapture(GetHWnd());
128.100 @@ -370,6 +380,58 @@
128.101 env->DeleteLocalRef(target);
128.102 }
128.103
128.104 +static int lastClickX = -1;
128.105 +static int lastClickY = -1;
128.106 +
128.107 +LRESULT CALLBACK AwtChoice::ListWindowProc(HWND hwnd, UINT message,
128.108 + WPARAM wParam, LPARAM lParam)
128.109 +{
128.110 + /*
128.111 + * We don't pass the choice WM_LBUTTONDOWN message. As the result the choice's list
128.112 + * doesn't forward mouse messages it captures. Below we do forward what we need.
128.113 + */
128.114 +
128.115 + TRY;
128.116 +
128.117 + DASSERT(::IsWindow(hwnd));
128.118 +
128.119 + switch (message) {
128.120 + case WM_LBUTTONDOWN: {
128.121 + DWORD curPos = ::GetMessagePos();
128.122 + lastClickX = GET_X_LPARAM(curPos);
128.123 + lastClickY = GET_Y_LPARAM(curPos);
128.124 + break;
128.125 + }
128.126 + case WM_MOUSEMOVE: {
128.127 + RECT rect;
128.128 + ::GetClientRect(hwnd, &rect);
128.129 +
128.130 + POINT pt = {GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)};
128.131 + if (::PtInRect(&rect, pt)) {
128.132 + sm_isMouseMoveInList = TRUE;
128.133 + }
128.134 +
128.135 + POINT lastPt = {lastClickX, lastClickY};
128.136 + ::ScreenToClient(hwnd, &lastPt);
128.137 + if (::PtInRect(&rect, lastPt)) {
128.138 + break; // ignore when dragging inside the list
128.139 + }
128.140 + }
128.141 + case WM_LBUTTONUP: {
128.142 + lastClickX = -1;
128.143 + lastClickY = -1;
128.144 +
128.145 + AwtChoice *c = (AwtChoice *)::GetWindowLongPtr(hwnd, GWLP_USERDATA);
128.146 + if (c != NULL) {
128.147 + // forward the msg to the choice
128.148 + c->WindowProc(message, wParam, lParam);
128.149 + }
128.150 + }
128.151 + }
128.152 + return ComCtl32Util::GetInstance().DefWindowProc(NULL, hwnd, message, wParam, lParam);
128.153 +
128.154 + CATCH_BAD_ALLOC_RET(0);
128.155 +}
128.156
128.157
128.158 MsgRouting AwtChoice::WmNotify(UINT notifyCode)
128.159 @@ -379,15 +441,24 @@
128.160 if (itemSelect != CB_ERR){
128.161 DoCallback("handleAction", "(I)V", itemSelect);
128.162 }
128.163 - } else if (notifyCode == CBN_DROPDOWN && !IsFocusable()) {
128.164 - // While non-focusable Choice is shown all WM_KILLFOCUS messages should be consumed.
128.165 - killFocusRouting = mrConsume;
128.166 - } else if (notifyCode == CBN_CLOSEUP && !IsFocusable()) {
128.167 - // When non-focusable Choice is about to close, send it synthetic WM_KILLFOCUS
128.168 - // message that should be processed by the native widget only. This will allow
128.169 - // the native widget to properly process WM_KILLFOCUS that was earlier consumed.
128.170 - killFocusRouting = mrDoDefault;
128.171 - ::PostMessage(GetHWnd(), WM_KILLFOCUS, (LPARAM)sm_focusOwner, 0);
128.172 + } else if (notifyCode == CBN_DROPDOWN) {
128.173 +
128.174 + if (m_hList == NULL) {
128.175 + COMBOBOXINFO cbi;
128.176 + cbi.cbSize = sizeof(COMBOBOXINFO);
128.177 + ::GetComboBoxInfo(GetHWnd(), &cbi);
128.178 + m_hList = cbi.hwndList;
128.179 + m_listDefWindowProc = ComCtl32Util::GetInstance().SubclassHWND(m_hList, ListWindowProc);
128.180 + DASSERT(::GetWindowLongPtr(m_hList, GWLP_USERDATA) == NULL);
128.181 + ::SetWindowLongPtr(m_hList, GWLP_USERDATA, (LONG_PTR)this);
128.182 + }
128.183 + sm_isMouseMoveInList = FALSE;
128.184 +
128.185 + // Clicking in the dropdown list steals focus from the proxy.
128.186 + // So, set the focus-restore flag up.
128.187 + SetRestoreFocus(TRUE);
128.188 + } else if (notifyCode == CBN_CLOSEUP) {
128.189 + SetRestoreFocus(FALSE);
128.190 }
128.191 return mrDoDefault;
128.192 }
128.193 @@ -414,19 +485,7 @@
128.194 AwtChoice::WmKillFocus(HWND hWndGotFocus)
128.195 {
128.196 skipNextMouseUp = TRUE;
128.197 -
128.198 - switch (killFocusRouting) {
128.199 - case mrConsume:
128.200 - return mrConsume;
128.201 - case mrDoDefault:
128.202 - killFocusRouting = mrPassAlong;
128.203 - return mrDoDefault;
128.204 - case mrPassAlong:
128.205 - return AwtComponent::WmKillFocus(hWndGotFocus);
128.206 - }
128.207 -
128.208 - DASSERT(false); // must never reach here
128.209 - return mrDoDefault;
128.210 + return AwtComponent::WmKillFocus(hWndGotFocus);
128.211 }
128.212
128.213 MsgRouting
128.214 @@ -441,27 +500,17 @@
128.215
128.216 MsgRouting AwtChoice::HandleEvent(MSG *msg, BOOL synthetic)
128.217 {
128.218 - /*
128.219 - * 6366006
128.220 - * Note: the event can be sent in two cases:
128.221 - * 1) The Choice is closed and user clicks on it to drop it down.
128.222 - * 2) The Choice is non-focusable, it's droped down, user
128.223 - * clicks on it (or outside) to close it.
128.224 - * So, if the Choice is in droped down state, we shouldn't call
128.225 - * heavyweightButtonDown() method. Otherwise it will set a typeahead marker
128.226 - * that won't be removed, because no focus events will be generated.
128.227 - */
128.228 - if (AwtComponent::sm_focusOwner != GetHWnd() &&
128.229 - (msg->message == WM_LBUTTONDOWN || msg->message == WM_LBUTTONDBLCLK) &&
128.230 - !IsChoiceOpened())
128.231 + if (IsFocusingMouseMessage(msg)) {
128.232 + SendMessage(CB_SHOWDROPDOWN, ~SendMessage(CB_GETDROPPEDSTATE, 0, 0), 0);
128.233 + delete msg;
128.234 + return mrConsume;
128.235 + }
128.236 + // To simulate the native behavior, we close the list on WM_LBUTTONUP if
128.237 + // WM_MOUSEMOVE has been dedected on the list since it has been dropped down.
128.238 + if (msg->message == WM_LBUTTONUP && SendMessage(CB_GETDROPPEDSTATE, 0, 0) &&
128.239 + sm_isMouseMoveInList)
128.240 {
128.241 - JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
128.242 - jobject target = GetTarget(env);
128.243 - env->CallStaticVoidMethod
128.244 - (AwtKeyboardFocusManager::keyboardFocusManagerCls,
128.245 - AwtKeyboardFocusManager::heavyweightButtonDownMID,
128.246 - target, ((jlong)msg->time) & 0xFFFFFFFF);
128.247 - env->DeleteLocalRef(target);
128.248 + SendMessage(CB_SHOWDROPDOWN, FALSE, 0);
128.249 }
128.250 return AwtComponent::HandleEvent(msg, synthetic);
128.251 }
128.252 @@ -618,6 +667,26 @@
128.253 env->DeleteGlobalRef(choice);
128.254 }
128.255
128.256 +void AwtChoice::_CloseList(void *param)
128.257 +{
128.258 + JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
128.259 +
128.260 + jobject choice = (jobject)param;
128.261 +
128.262 + AwtChoice *c = NULL;
128.263 +
128.264 + PDATA pData;
128.265 + JNI_CHECK_PEER_GOTO(choice, done);
128.266 +
128.267 + c = (AwtChoice *)pData;
128.268 + if (::IsWindow(c->GetHWnd()) && c->SendMessage(CB_GETDROPPEDSTATE, 0, 0)) {
128.269 + c->SendMessage(CB_SHOWDROPDOWN, FALSE, 0);
128.270 + }
128.271 +
128.272 +done:
128.273 + env->DeleteGlobalRef(choice);
128.274 +}
128.275 +
128.276 /************************************************************************
128.277 * WChoicePeer native methods
128.278 */
128.279 @@ -752,6 +821,23 @@
128.280 CATCH_BAD_ALLOC;
128.281 }
128.282
128.283 +/*
128.284 + * Class: sun_awt_windows_WChoicePeer
128.285 + * Method: closeList
128.286 + * Signature: ()V
128.287 + */
128.288 +JNIEXPORT void JNICALL
128.289 +Java_sun_awt_windows_WChoicePeer_closeList(JNIEnv *env, jobject self)
128.290 +{
128.291 + TRY;
128.292 +
128.293 + jobject selfGlobalRef = env->NewGlobalRef(self);
128.294 +
128.295 + AwtToolkit::GetInstance().SyncCall(AwtChoice::_CloseList, (void *)selfGlobalRef);
128.296 + // global ref is deleted in _CloseList
128.297 +
128.298 + CATCH_BAD_ALLOC;
128.299 +}
128.300 } /* extern "C" */
128.301
128.302
129.1 --- a/src/windows/native/sun/windows/awt_Choice.h Tue Apr 14 00:05:07 2009 -0700
129.2 +++ b/src/windows/native/sun/windows/awt_Choice.h Tue Apr 14 04:21:02 2009 -0700
129.3 @@ -43,6 +43,8 @@
129.4 virtual LPCTSTR GetClassName();
129.5 static AwtChoice* Create(jobject peer, jobject hParent);
129.6
129.7 + virtual void Dispose();
129.8 +
129.9 virtual void Reshape(int x, int y, int w, int h);
129.10 void ResetDropDownHeight();
129.11 int GetDropDownHeight();
129.12 @@ -75,9 +77,6 @@
129.13 virtual void SetDragCapture(UINT flags);
129.14 virtual void ReleaseDragCapture(UINT flags);
129.15
129.16 - BOOL ActMouseMessage(MSG * pMsg);
129.17 - INLINE BOOL AwtChoice::IsChoiceOpened() {return SendMessage(CB_GETDROPPEDSTATE, 0, 0);}
129.18 -
129.19 static BOOL mouseCapture;
129.20 static BOOL skipNextMouseUp;
129.21
129.22 @@ -87,11 +86,16 @@
129.23 static void _AddItems(void *param);
129.24 static void _Remove(void *param);
129.25 static void _RemoveAll(void *param);
129.26 + static void _CloseList(void *param);
129.27
129.28 private:
129.29 int GetFieldHeight();
129.30 int GetTotalHeight();
129.31 - MsgRouting killFocusRouting;
129.32 + static BOOL sm_isMouseMoveInList;
129.33 + HWND m_hList;
129.34 + WNDPROC m_listDefWindowProc;
129.35 + static LRESULT CALLBACK ListWindowProc(HWND hwnd, UINT message,
129.36 + WPARAM wParam, LPARAM lParam);
129.37 };
129.38
129.39 #endif /* AWT_CHOICE_H */
130.1 --- a/src/windows/native/sun/windows/awt_Component.cpp Tue Apr 14 00:05:07 2009 -0700
130.2 +++ b/src/windows/native/sun/windows/awt_Component.cpp Tue Apr 14 04:21:02 2009 -0700
130.3 @@ -1,5 +1,5 @@
130.4 /*
130.5 - * Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved.
130.6 + * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved.
130.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
130.8 *
130.9 * This code is free software; you can redistribute it and/or modify it
130.10 @@ -38,7 +38,6 @@
130.11 #include "awt_InputTextInfor.h"
130.12 #include "awt_Insets.h"
130.13 #include "awt_KeyEvent.h"
130.14 -#include "awt_KeyboardFocusManager.h"
130.15 #include "awt_MenuItem.h"
130.16 #include "awt_MouseEvent.h"
130.17 #include "awt_Palette.h"
130.18 @@ -58,7 +57,6 @@
130.19 #include <java_awt_Event.h>
130.20 #include <java_awt_event_KeyEvent.h>
130.21 #include <java_awt_Insets.h>
130.22 -#include <java_awt_KeyboardFocusManager.h>
130.23 #include <sun_awt_windows_WPanelPeer.h>
130.24 #include <java_awt_event_InputEvent.h>
130.25 #include <java_awt_event_InputMethodEvent.h>
130.26 @@ -94,12 +92,13 @@
130.27 BOOL g_bUserHasChangedInputLang = FALSE;
130.28 }
130.29
130.30 -BOOL AwtComponent::sm_suppressFocusAndActivation;
130.31 -HWND AwtComponent::sm_focusOwner;
130.32 -HWND AwtComponent::sm_focusedWindow;
130.33 -HWND AwtComponent::sm_realFocusOpposite;
130.34 +BOOL AwtComponent::sm_suppressFocusAndActivation = FALSE;
130.35 +BOOL AwtComponent::sm_restoreFocusAndActivation = FALSE;
130.36 +HWND AwtComponent::sm_focusOwner = NULL;
130.37 +HWND AwtComponent::sm_focusedWindow = NULL;
130.38 BOOL AwtComponent::sm_bMenuLoop = FALSE;
130.39 AwtComponent* AwtComponent::sm_getComponentCache = NULL;
130.40 +BOOL AwtComponent::sm_inSynthesizeFocus = FALSE;
130.41
130.42 /************************************************************************/
130.43 // Struct for _Reshape() and ReshapeNoCheck() methods
130.44 @@ -123,15 +122,6 @@
130.45 jobject component;
130.46 jobject font;
130.47 };
130.48 -// Struct for _RequestFocus() method
130.49 -struct RequestFocusStruct {
130.50 - jobject component;
130.51 - jobject lightweightChild;
130.52 - jboolean temporary;
130.53 - jboolean focusedWindowChangeAllowed;
130.54 - jlong time;
130.55 - jobject cause;
130.56 -};
130.57 // Struct for _CreatePrintedPixels() method
130.58 struct CreatePrintedPixelsStruct {
130.59 jobject component;
130.60 @@ -149,6 +139,16 @@
130.61 jobject window;
130.62 RECT *insets;
130.63 };
130.64 +// Struct for _SetZOrder function
130.65 +struct SetZOrderStruct {
130.66 + jobject component;
130.67 + jlong above;
130.68 +};
130.69 +// Struct for _SetFocus function
130.70 +struct SetFocusStruct {
130.71 + jobject component;
130.72 + jboolean doSetFocus;
130.73 +};
130.74 /************************************************************************/
130.75
130.76 //////////////////////////////////////////////////////////////////////////
130.77 @@ -199,8 +199,7 @@
130.78 BOOL AwtComponent::sm_rtlReadingOrder =
130.79 PRIMARYLANGID(GetInputLanguage()) == LANG_ARABIC;
130.80
130.81 -UINT AwtComponent::sm_95WheelMessage = WM_NULL;
130.82 -UINT AwtComponent::sm_95WheelSupport = WM_NULL;
130.83 +BOOL AwtComponent::sm_PrimaryDynamicTableBuilt = FALSE;
130.84
130.85 HWND AwtComponent::sm_cursorOn;
130.86 BOOL AwtComponent::m_QueryNewPaletteCalled = FALSE;
130.87 @@ -208,8 +207,6 @@
130.88 CriticalSection windowMoveLock;
130.89 BOOL windowMoveLockHeld = FALSE;
130.90
130.91 -int AwtComponent::sm_wheelRotationAmount = 0;
130.92 -
130.93 /************************************************************************
130.94 * AwtComponent methods
130.95 */
130.96 @@ -237,7 +234,6 @@
130.97 m_InputMethod = NULL;
130.98 m_useNativeCompWindow = TRUE;
130.99 m_PendingLeadByte = 0;
130.100 - m_skipNextSetFocus = FALSE;
130.101 m_bitsCandType = 0;
130.102
130.103 windowMoveLockPosX = 0;
130.104 @@ -250,6 +246,12 @@
130.105 m_bSubclassed = FALSE;
130.106
130.107 m_MessagesProcessing = 0;
130.108 + m_wheelRotationAmount = 0;
130.109 + if (!sm_PrimaryDynamicTableBuilt) {
130.110 + // do it once.
130.111 + AwtComponent::BuildPrimaryDynamicTable();
130.112 + sm_PrimaryDynamicTableBuilt = TRUE;
130.113 + }
130.114 }
130.115
130.116 AwtComponent::~AwtComponent()
130.117 @@ -265,8 +267,7 @@
130.118 * the native one anymore. So we can safely destroy component's
130.119 * handle.
130.120 */
130.121 - AwtToolkit::DestroyComponentHWND(m_hwnd);
130.122 - m_hwnd = NULL;
130.123 + DestroyHWnd();
130.124
130.125 if (sm_getComponentCache == this) {
130.126 sm_getComponentCache = NULL;
130.127 @@ -275,15 +276,8 @@
130.128
130.129 void AwtComponent::Dispose()
130.130 {
130.131 - if (sm_focusOwner == GetHWnd()) {
130.132 - ::SetFocus(NULL);
130.133 - }
130.134 - if (sm_focusedWindow == GetHWnd()) {
130.135 - sm_focusedWindow = NULL;
130.136 - }
130.137 - if (sm_realFocusOpposite == GetHWnd()) {
130.138 - sm_realFocusOpposite = NULL;
130.139 - }
130.140 + // NOTE: in case the component/toplevel was focused, Java should
130.141 + // have already taken care of proper transfering it or clearing.
130.142
130.143 if (m_hdwp != NULL) {
130.144 // end any deferred window positioning, regardless
130.145 @@ -588,6 +582,17 @@
130.146 }
130.147
130.148 /*
130.149 + * Destroy this window's HWND
130.150 + */
130.151 +void AwtComponent::DestroyHWnd() {
130.152 + if (m_hwnd != NULL) {
130.153 + AwtToolkit::DestroyComponentHWND(m_hwnd);
130.154 + //AwtToolkit::DestroyComponent(this);
130.155 + m_hwnd = NULL;
130.156 + }
130.157 +}
130.158 +
130.159 +/*
130.160 * Returns hwnd for target on non Toolkit thread
130.161 */
130.162 HWND
130.163 @@ -888,27 +893,8 @@
130.164
130.165 void AwtComponent::Hide()
130.166 {
130.167 - JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
130.168 - jobject peer = GetPeer(env);
130.169 - BOOL oldValue = sm_suppressFocusAndActivation;
130.170 m_visible = false;
130.171 -
130.172 - // On disposal the focus owner actually loses focus at the moment of hiding.
130.173 - // So, focus change suppression (if requested) should be made here.
130.174 - if (GetHWnd() == sm_focusOwner &&
130.175 - !JNU_CallMethodByName(env, NULL, peer, "isAutoFocusTransferOnDisposal", "()Z").z)
130.176 - {
130.177 - sm_suppressFocusAndActivation = TRUE;
130.178 - // The native system may autotransfer focus on hiding to the parent
130.179 - // of the component. Nevertheless this focus change won't be posted
130.180 - // to the Java level, we're better to avoid this. Anyway, after
130.181 - // the disposal focus should be requested to the right component.
130.182 - ::SetFocus(NULL);
130.183 - sm_focusOwner = NULL;
130.184 - }
130.185 ::ShowWindow(GetHWnd(), SW_HIDE);
130.186 -
130.187 - sm_suppressFocusAndActivation = oldValue;
130.188 }
130.189
130.190 BOOL
130.191 @@ -1252,6 +1238,7 @@
130.192 WIN_MSG(WM_AWT_COMPONENT_SHOW)
130.193 WIN_MSG(WM_AWT_COMPONENT_HIDE)
130.194 WIN_MSG(WM_AWT_COMPONENT_SETFOCUS)
130.195 + WIN_MSG(WM_AWT_WINDOW_SETACTIVE)
130.196 WIN_MSG(WM_AWT_LIST_SETMULTISELECT)
130.197 WIN_MSG(WM_AWT_HANDLE_EVENT)
130.198 WIN_MSG(WM_AWT_PRINT_COMPONENT)
130.199 @@ -1503,67 +1490,54 @@
130.200 sm_bMenuLoop = FALSE;
130.201 break;
130.202
130.203 + // We don't expect any focus messages on non-proxy component,
130.204 + // except those that came from Java.
130.205 case WM_SETFOCUS:
130.206 - mr = (!sm_suppressFocusAndActivation && !m_skipNextSetFocus)
130.207 - ? WmSetFocus((HWND)wParam) : mrConsume;
130.208 - m_skipNextSetFocus = FALSE;
130.209 + if (sm_inSynthesizeFocus) {
130.210 + mr = WmSetFocus((HWND)wParam);
130.211 + } else {
130.212 + mr = mrConsume;
130.213 + }
130.214 break;
130.215 case WM_KILLFOCUS:
130.216 - mr = (!sm_suppressFocusAndActivation)
130.217 - ? WmKillFocus((HWND)wParam) : mrConsume;
130.218 + if (sm_inSynthesizeFocus) {
130.219 + mr = WmKillFocus((HWND)wParam);
130.220 + } else {
130.221 + mr = mrConsume;
130.222 + }
130.223 break;
130.224 - case WM_ACTIVATE:
130.225 - {
130.226 + case WM_ACTIVATE: {
130.227 UINT nState = LOWORD(wParam);
130.228 BOOL fMinimized = (BOOL)HIWORD(wParam);
130.229 + mr = mrConsume;
130.230 +
130.231 if (!sm_suppressFocusAndActivation &&
130.232 (!fMinimized || (nState == WA_INACTIVE)))
130.233 {
130.234 mr = WmActivate(nState, fMinimized, (HWND)lParam);
130.235 - m_skipNextSetFocus = FALSE;
130.236 +
130.237 // When the window is deactivated, send WM_IME_ENDCOMPOSITION
130.238 // message to deactivate the composition window so that
130.239 // it won't receive keyboard input focus.
130.240 if (ImmGetContext() != NULL) {
130.241 DefWindowProc(WM_IME_ENDCOMPOSITION, 0, 0);
130.242 }
130.243 - } else {
130.244 - if (!sm_suppressFocusAndActivation
130.245 - && fMinimized && (nState != WA_INACTIVE))
130.246 - {
130.247 - m_skipNextSetFocus = TRUE;
130.248 - }
130.249 - mr = mrConsume;
130.250 }
130.251 + break;
130.252 }
130.253 - break;
130.254 - case WM_MOUSEACTIVATE: {
130.255 - AwtWindow * window = (AwtWindow*)GetComponent((HWND)wParam);
130.256 - if (window != NULL) {
130.257 - if (!window->IsFocusableWindow()) {
130.258 - // if it is non-focusable window we can return
130.259 - // MA_NOACTIVATExxx and it will not be activated. We
130.260 - // return NOACTIVATE for a client part of the window so we
130.261 - // receive mouse event responsible for activation. We
130.262 - // return NOACTIVEA for Frame's non-client so user be able
130.263 - // to resize and move frames by title and borders. We
130.264 - // return NOACTIVATEANDEAT for Window non-client area as
130.265 - // there is noone to listen for this event.
130.266 - mr = mrConsume;
130.267 - if ((window == this) && LOWORD(lParam) != HTCLIENT ) {
130.268 - if (window->IsSimpleWindow()) {
130.269 - retValue = MA_NOACTIVATEANDEAT;
130.270 - } else {
130.271 - retValue = MA_NOACTIVATE;
130.272 - }
130.273 - } else {
130.274 - retValue = MA_NOACTIVATE;
130.275 - }
130.276 - }
130.277 - }
130.278 - break;
130.279 - }
130.280 -
130.281 + case WM_MOUSEACTIVATE: {
130.282 + AwtWindow *window = GetContainer();
130.283 + if (window && window->IsFocusableWindow()) {
130.284 + // AWT/Swing will later request focus to a proper component
130.285 + // on handling the Java mouse event. Anyway, we have to
130.286 + // activate the window here as it works both for AWT & Swing.
130.287 + // Do it in our own fassion,
130.288 + window->AwtSetActiveWindow(TRUE, LOWORD(lParam)/*hittest*/);
130.289 + }
130.290 + mr = mrConsume;
130.291 + retValue = MA_NOACTIVATE;
130.292 + break;
130.293 + }
130.294 case WM_CTLCOLORMSGBOX:
130.295 case WM_CTLCOLOREDIT:
130.296 case WM_CTLCOLORLISTBOX:
130.297 @@ -1920,7 +1894,15 @@
130.298 break;
130.299
130.300 case WM_AWT_COMPONENT_SETFOCUS:
130.301 - retValue = (LRESULT)WmComponentSetFocus((WmComponentSetFocusData *)wParam);
130.302 + if ((BOOL)wParam) {
130.303 + retValue = SynthesizeWmSetFocus(GetHWnd(), NULL);
130.304 + } else {
130.305 + retValue = SynthesizeWmKillFocus(GetHWnd(), NULL);
130.306 + }
130.307 + mr = mrConsume;
130.308 + break;
130.309 + case WM_AWT_WINDOW_SETACTIVE:
130.310 + retValue = (LRESULT)((AwtWindow*)this)->AwtSetActiveWindow((BOOL)wParam);
130.311 mr = mrConsume;
130.312 break;
130.313
130.314 @@ -2048,188 +2030,16 @@
130.315
130.316 MsgRouting AwtComponent::WmSetFocus(HWND hWndLostFocus)
130.317 {
130.318 - if (sm_focusOwner == GetHWnd()) {
130.319 - sm_realFocusOpposite = NULL;
130.320 - return mrConsume;
130.321 - }
130.322 -
130.323 - HWND toplevelHWnd = AwtComponent::GetTopLevelParentForWindow(GetHWnd());
130.324 - AwtComponent *comp = AwtComponent::GetComponent(toplevelHWnd);
130.325 -
130.326 - if (comp && comp->IsEmbeddedFrame() &&
130.327 - !((AwtFrame*)comp)->activateEmbeddedFrameOnSetFocus(hWndLostFocus))
130.328 - {
130.329 - // Fix for 6562716.
130.330 - // In order that AwtSetFocus() returns FALSE.
130.331 - sm_suppressFocusAndActivation = TRUE;
130.332 - ::SetFocus(NULL);
130.333 - sm_suppressFocusAndActivation = FALSE;
130.334 -
130.335 - return mrConsume;
130.336 - }
130.337 -
130.338 - sm_focusOwner = GetHWnd();
130.339 - sm_focusedWindow = toplevelHWnd;
130.340 -
130.341 - if (sm_realFocusOpposite != NULL) {
130.342 - hWndLostFocus = sm_realFocusOpposite;
130.343 - sm_realFocusOpposite = NULL;
130.344 - }
130.345 -
130.346 - sm_wheelRotationAmount = 0;
130.347 -
130.348 - SendFocusEvent(java_awt_event_FocusEvent_FOCUS_GAINED, hWndLostFocus);
130.349 -
130.350 + m_wheelRotationAmount = 0;
130.351 return mrDoDefault;
130.352 }
130.353
130.354 MsgRouting AwtComponent::WmKillFocus(HWND hWndGotFocus)
130.355 {
130.356 - if (sm_focusOwner != NULL && sm_focusOwner == hWndGotFocus) {
130.357 - return mrConsume;
130.358 - }
130.359 -
130.360 - if (sm_focusOwner != GetHWnd()) {
130.361 - if (sm_focusOwner != NULL) {
130.362 - if (hWndGotFocus != NULL &&
130.363 - AwtComponent::GetComponent(hWndGotFocus) != NULL)
130.364 - {
130.365 - sm_realFocusOpposite = sm_focusOwner;
130.366 - }
130.367 - ::SendMessage(sm_focusOwner, WM_KILLFOCUS, (WPARAM)hWndGotFocus,
130.368 - 0);
130.369 - }
130.370 - return mrConsume;
130.371 - }
130.372 -
130.373 - AwtComponent *comp = AwtComponent::GetComponent(sm_focusedWindow);
130.374 -
130.375 - if (comp && comp->IsEmbeddedFrame()) {
130.376 - ((AwtFrame*)comp)->deactivateEmbeddedFrameOnKillFocus(hWndGotFocus);
130.377 - }
130.378 -
130.379 - sm_focusOwner = NULL;
130.380 - sm_wheelRotationAmount = 0;
130.381 -
130.382 - SendFocusEvent(java_awt_event_FocusEvent_FOCUS_LOST, hWndGotFocus);
130.383 + m_wheelRotationAmount = 0;
130.384 return mrDoDefault;
130.385 }
130.386
130.387 -jboolean
130.388 -AwtComponent::WmComponentSetFocus(WmComponentSetFocusData *data)
130.389 -{
130.390 - JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
130.391 - if (env->EnsureLocalCapacity(1) < 0) {
130.392 - env->DeleteGlobalRef(data->lightweightChild);
130.393 - delete data;
130.394 - return JNI_FALSE;
130.395 - }
130.396 -
130.397 - jboolean result = JNI_FALSE;
130.398 -
130.399 - BOOL setSuppressFocusAndActivation = FALSE;
130.400 -
130.401 - /*
130.402 - * This is a fix for 4628933.
130.403 - * If sm_suppressFocusAndActivation is TRUE here then
130.404 - * this means that we dispatch WM_COMPONENT_SET_FOCUS inside
130.405 - * dispatching bounce activation, this unlikely but possible.
130.406 - * So we reset sm_suppressFocusAndActivation to give a chance
130.407 - * to dispatch focus events which will generate due this focus
130.408 - * request to Java.
130.409 - *
130.410 - * son@sparc.spb.su
130.411 - */
130.412 - if (sm_suppressFocusAndActivation) {
130.413 - sm_suppressFocusAndActivation = FALSE;
130.414 - setSuppressFocusAndActivation = TRUE;
130.415 - }
130.416 -
130.417 - jobject heavyweight = GetTarget(env);
130.418 - jint retval = env->CallStaticIntMethod
130.419 - (AwtKeyboardFocusManager::keyboardFocusManagerCls,
130.420 - AwtKeyboardFocusManager::shouldNativelyFocusHeavyweightMID,
130.421 - heavyweight, data->lightweightChild, data->temporary,
130.422 - data->focusedWindowChangeAllowed, data->time, data->cause);
130.423 -
130.424 - if (retval == java_awt_KeyboardFocusManager_SNFH_SUCCESS_HANDLED) {
130.425 - result = JNI_TRUE;
130.426 - } else if (retval == java_awt_KeyboardFocusManager_SNFH_SUCCESS_PROCEED) {
130.427 - result = (AwtSetFocus()) ? JNI_TRUE : JNI_FALSE;
130.428 - if (result == JNI_FALSE) {
130.429 - env->CallStaticVoidMethod
130.430 - (AwtKeyboardFocusManager::keyboardFocusManagerCls,
130.431 - AwtKeyboardFocusManager::removeLastFocusRequestMID,
130.432 - heavyweight);
130.433 - }
130.434 - } else {
130.435 - DASSERT(retval == java_awt_KeyboardFocusManager_SNFH_FAILURE);
130.436 - result = JNI_FALSE;
130.437 - }
130.438 - env->DeleteLocalRef(heavyweight);
130.439 -
130.440 - /*
130.441 - * Set sm_suppressFocusAndActivation back to TRUE if needed.
130.442 - * Fix for 4628933 (son@sparc.spb.su)
130.443 - */
130.444 - if (setSuppressFocusAndActivation) {
130.445 - sm_suppressFocusAndActivation = TRUE;
130.446 - }
130.447 -
130.448 - env->DeleteGlobalRef(data->lightweightChild);
130.449 - delete data;
130.450 - return result;
130.451 -}
130.452 -
130.453 -BOOL
130.454 -AwtComponent::AwtSetFocus()
130.455 -{
130.456 - HWND hwnd = GetHWnd();
130.457 -
130.458 - if (sm_focusOwner == hwnd) {
130.459 - return TRUE;
130.460 - }
130.461 -
130.462 - HWND fgWindow = ::GetForegroundWindow();
130.463 - if (NULL != fgWindow) {
130.464 - DWORD fgProcessID;
130.465 - ::GetWindowThreadProcessId(fgWindow, &fgProcessID);
130.466 -
130.467 - if (fgProcessID != ::GetCurrentProcessId()
130.468 - && !AwtToolkit::GetInstance().IsEmbedderProcessId(fgProcessID))
130.469 - {
130.470 - // fix for 6458497. we shouldn't request focus if it is out of both
130.471 - // our and embedder process.
130.472 - return FALSE;
130.473 - }
130.474 - }
130.475 -
130.476 - AwtWindow *pCont = GetContainer();
130.477 - AwtFrame *owner = pCont ? pCont->GetOwningFrameOrDialog() : NULL;
130.478 -
130.479 - if (owner == NULL) {
130.480 - ::SetFocus(hwnd);
130.481 - if (::GetFocus() != hwnd) {
130.482 - return FALSE;
130.483 - }
130.484 - } else {
130.485 - HWND oldFocusOwner = sm_focusOwner;
130.486 - if (oldFocusOwner != NULL) {
130.487 - ::SendMessage(oldFocusOwner, WM_KILLFOCUS, (WPARAM)hwnd, 0);
130.488 - }
130.489 -
130.490 - sm_suppressFocusAndActivation = TRUE;
130.491 - ::SetActiveWindow(owner->GetHWnd());
130.492 - ::SetFocus(owner->GetProxyFocusOwner());
130.493 - sm_suppressFocusAndActivation = FALSE;
130.494 -
130.495 - sm_focusedWindow = GetTopLevelParentForWindow(GetHWnd());
130.496 - ::SendMessage(hwnd, WM_SETFOCUS, (WPARAM)oldFocusOwner, 0);
130.497 - }
130.498 -
130.499 - return TRUE;
130.500 -}
130.501 -
130.502 MsgRouting AwtComponent::WmCtlColor(HDC hDC, HWND hCtrl,
130.503 UINT ctlColor, HBRUSH& retBrush)
130.504 {
130.505 @@ -2524,7 +2334,6 @@
130.506 AwtWindow::GetGrabbedWindow()->Ungrab();
130.507 }
130.508 }
130.509 -
130.510 return mrConsume;
130.511 }
130.512
130.513 @@ -2638,11 +2447,11 @@
130.514 BOOL result;
130.515 UINT platformLines;
130.516
130.517 - sm_wheelRotationAmount += wheelRotation;
130.518 + m_wheelRotationAmount += wheelRotation;
130.519
130.520 // AWT interprets wheel rotation differently than win32, so we need to
130.521 // decode wheel amount.
130.522 - jint roundedWheelRotation = sm_wheelRotationAmount / (-1 * WHEEL_DELTA);
130.523 + jint roundedWheelRotation = m_wheelRotationAmount / (-1 * WHEEL_DELTA);
130.524 jdouble preciseWheelRotation = (jdouble) wheelRotation / (-1 * WHEEL_DELTA);
130.525
130.526 MSG msg;
130.527 @@ -2668,7 +2477,9 @@
130.528 eventPt.x, eventPt.y, GetJavaModifiers(), 0, 0, scrollType,
130.529 scrollLines, roundedWheelRotation, preciseWheelRotation, &msg);
130.530
130.531 - sm_wheelRotationAmount %= WHEEL_DELTA;
130.532 + m_wheelRotationAmount %= WHEEL_DELTA;
130.533 + // this message could be propagated up to the parent chain
130.534 + // by the mouse message post processors
130.535 return mrConsume;
130.536 }
130.537
130.538 @@ -3088,6 +2899,19 @@
130.539 {0,0}
130.540 };
130.541
130.542 +// The full map of the current keyboard state including
130.543 +// windows virtual key, scancode, java virtual key, and unicode
130.544 +// for this key sans modifiers.
130.545 +// All but first element may be 0.
130.546 +// XXX in the update releases this is an addition to the unchanged existing code
130.547 +struct DynPrimaryKeymapEntry {
130.548 + UINT wkey;
130.549 + UINT scancode;
130.550 + UINT jkey;
130.551 + WCHAR unicode;
130.552 +};
130.553 +
130.554 +static DynPrimaryKeymapEntry dynPrimaryKeymap[256];
130.555
130.556 void
130.557 AwtComponent::InitDynamicKeyMapTable()
130.558 @@ -3096,6 +2920,8 @@
130.559
130.560 if (!kbdinited) {
130.561 AwtComponent::BuildDynamicKeyMapTable();
130.562 + // We cannot build it here since JNI is not available yet:
130.563 + //AwtComponent::BuildPrimaryDynamicTable();
130.564 kbdinited = TRUE;
130.565 }
130.566 }
130.567 @@ -3321,7 +3147,11 @@
130.568
130.569 for (int j = 0; dynamicKeyMapTable[j].windowsKey != 0; j++) {
130.570 if (dynamicKeyMapTable[j].windowsKey == windowsKey) {
130.571 - return dynamicKeyMapTable[j].javaKey;
130.572 + if (dynamicKeyMapTable[j].javaKey != java_awt_event_KeyEvent_VK_UNDEFINED) {
130.573 + return dynamicKeyMapTable[j].javaKey;
130.574 + }else{
130.575 + break;
130.576 + }
130.577 }
130.578 }
130.579
130.580 @@ -3398,6 +3228,122 @@
130.581
130.582 return FALSE;
130.583 }
130.584 +static void
130.585 +resetKbdState( BYTE kstate[256]) {
130.586 + BYTE tmpState[256];
130.587 + WCHAR wc[2];
130.588 + memmove(tmpState, kstate, sizeof(kstate));
130.589 + tmpState[VK_SHIFT] = 0;
130.590 + tmpState[VK_CONTROL] = 0;
130.591 + tmpState[VK_MENU] = 0;
130.592 +
130.593 + ::ToUnicodeEx(VK_SPACE,::MapVirtualKey(VK_SPACE, 0), tmpState, wc, 2, 0, GetKeyboardLayout(0));
130.594 +}
130.595 +
130.596 +// XXX in the update releases this is an addition to the unchanged existing code
130.597 +// After the call, a table will have a unicode associated with a windows virtual keycode
130.598 +// sans modifiers. With some further simplification, one can
130.599 +// derive java keycode from it, and anyway we will pass this unicode value
130.600 +// all the way up in a comment to a KeyEvent.
130.601 +void
130.602 +AwtComponent::BuildPrimaryDynamicTable() {
130.603 + JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
130.604 + // XXX: how about that?
130.605 + //CriticalSection::Lock l(GetLock());
130.606 + //if (GetPeer(env) == NULL) {
130.607 + // /* event received during termination. */
130.608 + // return;
130.609 + //}
130.610 +
130.611 + HKL hkl = GetKeyboardLayout();
130.612 + UINT sc = 0;
130.613 + BYTE kbdState[AwtToolkit::KB_STATE_SIZE];
130.614 + memset(kbdState, 0, sizeof (kbdState));
130.615 +
130.616 + // Use JNI call to obtain java key code. We should keep a list
130.617 + // of currently available keycodes in a single place.
130.618 + static jclass extKeyCodesCls;
130.619 + if( extKeyCodesCls == NULL) {
130.620 + jclass extKeyCodesClsLocal = env->FindClass("sun/awt/ExtendedKeyCodes");
130.621 + DASSERT(extKeyCodesClsLocal);
130.622 + if (extKeyCodesClsLocal == NULL) {
130.623 + /* exception already thrown */
130.624 + return;
130.625 + }
130.626 + extKeyCodesCls = (jclass)env->NewGlobalRef(extKeyCodesClsLocal);
130.627 + env->DeleteLocalRef(extKeyCodesClsLocal);
130.628 + }
130.629 + static jmethodID getExtendedKeyCodeForChar;
130.630 + if (getExtendedKeyCodeForChar == NULL) {
130.631 + getExtendedKeyCodeForChar =
130.632 + env->GetStaticMethodID(extKeyCodesCls, "getExtendedKeyCodeForChar", "(I)I");
130.633 + DASSERT(getExtendedKeyCodeForChar);
130.634 + }
130.635 + jint extJKC; //extended Java key code
130.636 +
130.637 + for (UINT i = 0; i < 256; i++) {
130.638 + dynPrimaryKeymap[i].wkey = i;
130.639 + dynPrimaryKeymap[i].jkey = java_awt_event_KeyEvent_VK_UNDEFINED;
130.640 + dynPrimaryKeymap[i].unicode = 0;
130.641 +
130.642 + if ((sc = MapVirtualKey (i, 0)) == 0) {
130.643 + dynPrimaryKeymap[i].scancode = 0;
130.644 + continue;
130.645 + }
130.646 + dynPrimaryKeymap[i].scancode = sc;
130.647 +
130.648 + // XXX process cases like VK_SHIFT etc.
130.649 + kbdState[i] = 0x80; // "key pressed".
130.650 + WCHAR wc[16];
130.651 + int k = ::ToUnicodeEx(i, sc, kbdState, wc, 16, 0, hkl);
130.652 + if (k == 1) {
130.653 + // unicode
130.654 + dynPrimaryKeymap[i].unicode = wc[0];
130.655 + if (dynPrimaryKeymap[i].jkey == java_awt_event_KeyEvent_VK_UNDEFINED) {
130.656 + // Convert unicode to java keycode.
130.657 + //dynPrimaryKeymap[i].jkey = ((UINT)(wc[0]) + 0x01000000);
130.658 + //
130.659 + //XXX If this key in on the keypad, we should force a special value equal to
130.660 + //XXX an old java keycode: but how to say if it is a keypad key?
130.661 + //XXX We'll do it in WmKeyUp/Down.
130.662 + extJKC = env->CallStaticIntMethod(extKeyCodesCls,
130.663 + getExtendedKeyCodeForChar, (jint)(wc[0]));
130.664 + dynPrimaryKeymap[i].jkey = extJKC;
130.665 + }
130.666 + }else if (k == -1) {
130.667 + // dead key: use charToDeadVKTable
130.668 + dynPrimaryKeymap[i].unicode = wc[0];
130.669 + resetKbdState( kbdState );
130.670 + for (const CharToVKEntry *map = charToDeadVKTable; map->c != 0; ++map) {
130.671 + if (wc[0] == map->c) {
130.672 + dynPrimaryKeymap[i].jkey = map->javaKey;
130.673 + break;
130.674 + }
130.675 + }
130.676 + } else if (k == 0) {
130.677 + // reset
130.678 + resetKbdState( kbdState );
130.679 + }else {
130.680 + printf ("++++Whats that? wkey 0x%x (%d)\n", i,i);
130.681 + }
130.682 + kbdState[i] = 0; // "key unpressed"
130.683 + }
130.684 +}
130.685 +void
130.686 +AwtComponent::UpdateDynPrimaryKeymap(UINT wkey, UINT jkeyLegacy, jint keyLocation, UINT modifiers)
130.687 +{
130.688 + if( wkey && wkey < 256 ) {
130.689 + if(keyLocation == java_awt_event_KeyEvent_KEY_LOCATION_NUMPAD) {
130.690 + // At the creation time,
130.691 + // dynPrimaryKeymap cannot distinguish between e.g. "/" and "NumPad /"
130.692 + dynPrimaryKeymap[wkey].jkey = jkeyLegacy;
130.693 + }
130.694 + if(dynPrimaryKeymap[wkey].jkey == java_awt_event_KeyEvent_VK_UNDEFINED) {
130.695 + // E.g. it is non-unicode key
130.696 + dynPrimaryKeymap[wkey].jkey = jkeyLegacy;
130.697 + }
130.698 + }
130.699 +}
130.700
130.701 UINT AwtComponent::WindowsKeyToJavaChar(UINT wkey, UINT modifiers, TransOps ops)
130.702 {
130.703 @@ -3554,10 +3500,12 @@
130.704 jint keyLocation = GetKeyLocation(wkey, flags);
130.705 UINT jkey = WindowsKeyToJavaKey(wkey, modifiers);
130.706 UINT character = WindowsKeyToJavaChar(wkey, modifiers, SAVE);
130.707 + UpdateDynPrimaryKeymap(wkey, jkey, keyLocation, modifiers);
130.708 +
130.709
130.710 SendKeyEventToFocusOwner(java_awt_event_KeyEvent_KEY_PRESSED,
130.711 TimeHelper::windowsToUTC(msg.time), jkey, character,
130.712 - modifiers, keyLocation, &msg);
130.713 + modifiers, keyLocation, (jlong)wkey, &msg);
130.714
130.715 // bugid 4724007: Windows does not create a WM_CHAR for the Del key
130.716 // for some reason, so we need to create the KEY_TYPED event on the
130.717 @@ -3569,7 +3517,7 @@
130.718 TimeHelper::windowsToUTC(msg.time),
130.719 java_awt_event_KeyEvent_VK_UNDEFINED,
130.720 character, modifiers,
130.721 - java_awt_event_KeyEvent_KEY_LOCATION_UNKNOWN);
130.722 + java_awt_event_KeyEvent_KEY_LOCATION_UNKNOWN, (jlong)0);
130.723 }
130.724
130.725 return mrConsume;
130.726 @@ -3594,10 +3542,11 @@
130.727 jint keyLocation = GetKeyLocation(wkey, flags);
130.728 UINT jkey = WindowsKeyToJavaKey(wkey, modifiers);
130.729 UINT character = WindowsKeyToJavaChar(wkey, modifiers, LOAD);
130.730 + UpdateDynPrimaryKeymap(wkey, jkey, keyLocation, modifiers);
130.731
130.732 SendKeyEventToFocusOwner(java_awt_event_KeyEvent_KEY_RELEASED,
130.733 TimeHelper::windowsToUTC(msg.time), jkey, character,
130.734 - modifiers, keyLocation, &msg);
130.735 + modifiers, keyLocation, (jlong)wkey, &msg);
130.736 return mrConsume;
130.737 }
130.738
130.739 @@ -3613,6 +3562,7 @@
130.740 m_idLang = LOWORD(hKeyboardLayout); // lower word of HKL is LANGID
130.741 m_CodePage = LangToCodePage(m_idLang);
130.742 BuildDynamicKeyMapTable(); // compute new mappings for VK_OEM
130.743 + BuildPrimaryDynamicTable();
130.744 return mrConsume; // do not propagate to children
130.745 }
130.746
130.747 @@ -3643,7 +3593,7 @@
130.748 TimeHelper::windowsToUTC(msg.time),
130.749 java_awt_event_KeyEvent_VK_UNDEFINED,
130.750 unicodeChar, modifiers,
130.751 - java_awt_event_KeyEvent_KEY_LOCATION_UNKNOWN,
130.752 + java_awt_event_KeyEvent_KEY_LOCATION_UNKNOWN, (jlong)0,
130.753 &msg);
130.754 return mrConsume;
130.755 }
130.756 @@ -3712,7 +3662,7 @@
130.757 TimeHelper::windowsToUTC(msg.time),
130.758 java_awt_event_KeyEvent_VK_UNDEFINED,
130.759 unicodeChar, modifiers,
130.760 - java_awt_event_KeyEvent_KEY_LOCATION_UNKNOWN,
130.761 + java_awt_event_KeyEvent_KEY_LOCATION_UNKNOWN, (jlong)0,
130.762 &msg);
130.763 return mrConsume;
130.764 }
130.765 @@ -4033,14 +3983,15 @@
130.766
130.767 HWND AwtComponent::GetProxyFocusOwner()
130.768 {
130.769 - AwtWindow * window = GetContainer();
130.770 + AwtWindow *window = GetContainer();
130.771 if (window != 0) {
130.772 - AwtFrame * owner = window->GetOwningFrameOrDialog();
130.773 + AwtFrame *owner = window->GetOwningFrameOrDialog();
130.774 if (owner != 0) {
130.775 return owner->GetProxyFocusOwner();
130.776 + } else if (!window->IsSimpleWindow()) { // isn't an owned simple window
130.777 + return ((AwtFrame*)window)->GetProxyFocusOwner();
130.778 }
130.779 }
130.780 -
130.781 return (HWND)NULL;
130.782 }
130.783
130.784 @@ -4562,6 +4513,25 @@
130.785 return hdc;
130.786 }
130.787
130.788 +void AwtComponent::FillBackground(HDC hMemoryDC, SIZE &size)
130.789 +{
130.790 + RECT eraseR = { 0, 0, size.cx, size.cy };
130.791 + VERIFY(::FillRect(hMemoryDC, &eraseR, GetBackgroundBrush()));
130.792 +}
130.793 +
130.794 +void AwtComponent::FillAlpha(void *bitmapBits, SIZE &size, BYTE alpha)
130.795 +{
130.796 + if (bitmapBits) {
130.797 + DWORD* dest = (DWORD*)bitmapBits;
130.798 + //XXX: might be optimized to use one loop (cy*cx -> 0).
130.799 + for (int i = 0; i < size.cy; i++ ) {
130.800 + for (int j = 0; j < size.cx; j++ ) {
130.801 + ((BYTE*)(dest++))[3] = alpha;
130.802 + }
130.803 + }
130.804 + }
130.805 +}
130.806 +
130.807 jintArray AwtComponent::CreatePrintedPixels(SIZE &loc, SIZE &size) {
130.808 JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
130.809
130.810 @@ -4619,26 +4589,53 @@
130.811 return pixelArray;
130.812 }
130.813
130.814 -void *
130.815 -AwtComponent::GetNativeFocusOwner() {
130.816 +void* AwtComponent::SetNativeFocusOwner(void *self) {
130.817 + if (self == NULL) {
130.818 + // It means that the KFM wants to set focus to null
130.819 + sm_focusOwner = NULL;
130.820 + return NULL;
130.821 + }
130.822 +
130.823 + JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
130.824 +
130.825 + AwtComponent *c = NULL;
130.826 + jobject peer = (jobject)self;
130.827 +
130.828 + PDATA pData;
130.829 + JNI_CHECK_NULL_GOTO(peer, "peer", ret);
130.830 + pData = JNI_GET_PDATA(peer);
130.831 + if (pData == NULL) {
130.832 + goto ret;
130.833 + }
130.834 + c = (AwtComponent *)pData;
130.835 +
130.836 +ret:
130.837 + if (c && ::IsWindow(c->GetHWnd())) {
130.838 + sm_focusOwner = c->GetHWnd();
130.839 + AwtFrame *owner = (AwtFrame*)GetComponent(c->GetProxyToplevelContainer());
130.840 + if (owner) {
130.841 + owner->SetLastProxiedFocusOwner(sm_focusOwner);
130.842 + }
130.843 + } else {
130.844 + sm_focusOwner = NULL;
130.845 + }
130.846 + env->DeleteGlobalRef(peer);
130.847 + return NULL;
130.848 +}
130.849 +
130.850 +void* AwtComponent::GetNativeFocusedWindow() {
130.851 + JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
130.852 + AwtComponent *comp =
130.853 + AwtComponent::GetComponent(AwtComponent::GetFocusedWindow());
130.854 + return (comp != NULL) ? comp->GetTargetAsGlobalRef(env) : NULL;
130.855 +}
130.856 +
130.857 +void* AwtComponent::GetNativeFocusOwner() {
130.858 JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
130.859 AwtComponent *comp =
130.860 AwtComponent::GetComponent(AwtComponent::sm_focusOwner);
130.861 return (comp != NULL) ? comp->GetTargetAsGlobalRef(env) : NULL;
130.862 }
130.863 -void *
130.864 -AwtComponent::GetNativeFocusedWindow() {
130.865 - JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
130.866 - AwtComponent *comp =
130.867 - AwtComponent::GetComponent(AwtComponent::sm_focusedWindow);
130.868 - return (comp != NULL) ? comp->GetTargetAsGlobalRef(env) : NULL;
130.869 -}
130.870 -void
130.871 -AwtComponent::ClearGlobalFocusOwner() {
130.872 - if (AwtComponent::sm_focusOwner != NULL) {
130.873 - ::SetFocus(NULL);
130.874 - }
130.875 -}
130.876
130.877 AwtComponent* AwtComponent::SearchChild(UINT id) {
130.878 ChildListItem* child;
130.879 @@ -4674,7 +4671,7 @@
130.880 }
130.881
130.882 void AwtComponent::SendKeyEvent(jint id, jlong when, jint raw, jint cooked,
130.883 - jint modifiers, jint keyLocation, MSG *pMsg)
130.884 + jint modifiers, jint keyLocation, jlong nativeCode, MSG *pMsg)
130.885 {
130.886 JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
130.887 CriticalSection::Lock l(GetLock());
130.888 @@ -4711,6 +4708,18 @@
130.889 if (safe_ExceptionOccurred(env)) env->ExceptionDescribe();
130.890 DASSERT(!safe_ExceptionOccurred(env));
130.891 DASSERT(keyEvent != NULL);
130.892 + env->SetLongField(keyEvent, AwtKeyEvent::rawCodeID, nativeCode);
130.893 + if( nativeCode && nativeCode < 256 ) {
130.894 + env->SetLongField(keyEvent, AwtKeyEvent::primaryLevelUnicodeID, (jlong)(dynPrimaryKeymap[nativeCode].unicode));
130.895 + env->SetLongField(keyEvent, AwtKeyEvent::extendedKeyCodeID, (jlong)(dynPrimaryKeymap[nativeCode].jkey));
130.896 + if( nativeCode < 255 ) {
130.897 + env->SetLongField(keyEvent, AwtKeyEvent::scancodeID, (jlong)(dynPrimaryKeymap[nativeCode].scancode));
130.898 + }else if( pMsg != NULL ) {
130.899 + // unknown key with virtual keycode 0xFF.
130.900 + // Its scancode is not in the table, pickup it from the message.
130.901 + env->SetLongField(keyEvent, AwtKeyEvent::scancodeID, (jlong)(HIWORD(pMsg->lParam) & 0xFF));
130.902 + }
130.903 + }
130.904 if (pMsg != NULL) {
130.905 AwtAWTEvent::saveMSG(env, pMsg, keyEvent);
130.906 }
130.907 @@ -4724,16 +4733,17 @@
130.908 AwtComponent::SendKeyEventToFocusOwner(jint id, jlong when,
130.909 jint raw, jint cooked,
130.910 jint modifiers, jint keyLocation,
130.911 + jlong nativeCode,
130.912 MSG *msg)
130.913 {
130.914 /*
130.915 * if focus owner is null, but focused window isn't
130.916 * we will send key event to focused window
130.917 */
130.918 - HWND hwndTarget = ((sm_focusOwner != NULL) ? sm_focusOwner : sm_focusedWindow);
130.919 + HWND hwndTarget = ((sm_focusOwner != NULL) ? sm_focusOwner : AwtComponent::GetFocusedWindow());
130.920
130.921 if (hwndTarget == GetHWnd()) {
130.922 - SendKeyEvent(id, when, raw, cooked, modifiers, keyLocation, msg);
130.923 + SendKeyEvent(id, when, raw, cooked, modifiers, keyLocation, nativeCode, msg);
130.924 } else {
130.925 AwtComponent *target = NULL;
130.926 if (hwndTarget != NULL) {
130.927 @@ -4744,7 +4754,7 @@
130.928 }
130.929 if (target != NULL) {
130.930 target->SendKeyEvent(id, when, raw, cooked, modifiers,
130.931 - keyLocation, msg);
130.932 + keyLocation, nativeCode, msg);
130.933 }
130.934 }
130.935 }
130.936 @@ -5158,14 +5168,7 @@
130.937 jint x = (env)->GetIntField(mouseEvent, AwtMouseEvent::xID);
130.938 jint y = (env)->GetIntField(mouseEvent, AwtMouseEvent::yID);
130.939 MSG* msg = CreateMessage(message, wParam, MAKELPARAM(x, y), x, y);
130.940 - // If the window is not focusable but if this is a focusing
130.941 - // message we should skip it then and perform our own actions.
130.942 - AwtWindow *pCont = GetContainer();
130.943 - if ((pCont && pCont->IsFocusableWindow()) || !ActMouseMessage(msg)) {
130.944 - PostHandleEventMessage(msg, TRUE);
130.945 - } else {
130.946 - delete msg;
130.947 - }
130.948 + PostHandleEventMessage(msg, TRUE);
130.949 }
130.950
130.951 BOOL AwtComponent::InheritsNativeMouseWheelBehavior() {return false;}
130.952 @@ -5251,15 +5254,14 @@
130.953
130.954 void AwtComponent::Enable(BOOL bEnable)
130.955 {
130.956 - sm_suppressFocusAndActivation = TRUE;
130.957 -
130.958 if (bEnable && IsTopLevel()) {
130.959 // we should not enable blocked toplevels
130.960 bEnable = !::IsWindow(AwtWindow::GetModalBlocker(GetHWnd()));
130.961 }
130.962 + // Shouldn't trigger native focus change
130.963 + // (only the proxy may be the native focus owner).
130.964 ::EnableWindow(GetHWnd(), bEnable);
130.965
130.966 - sm_suppressFocusAndActivation = FALSE;
130.967 CriticalSection::Lock l(GetLock());
130.968 VerifyState();
130.969 }
130.970 @@ -5286,23 +5288,12 @@
130.971 }
130.972 }
130.973
130.974 -/**
130.975 - * Special procedure responsible for performing the actions which
130.976 - * usually happen with component when mouse buttons are being
130.977 - * pressed. It is required in case of non-focusable components - we
130.978 - * don't pass mouse messages directly to the windows because otherwise
130.979 - * it will try to focus component first which we don't want. This
130.980 - * function receives MSG and should return TRUE if it processed the
130.981 - * message and no furhter processing is allowed, FALSE otherwise.
130.982 - * Default implementation returns TRUE it is the message on which
130.983 - * Windows try to focus the component. Descendant components write
130.984 - * their own implementation of this procedure.
130.985 - */
130.986 -BOOL AwtComponent::ActMouseMessage(MSG * pMsg) {
130.987 - if (IsFocusingMessage(pMsg->message)) {
130.988 - return TRUE;
130.989 - }
130.990 - return FALSE;
130.991 +BOOL AwtComponent::IsFocusingMouseMessage(MSG *pMsg) {
130.992 + return pMsg->message == WM_LBUTTONDOWN || pMsg->message == WM_LBUTTONDBLCLK;
130.993 +}
130.994 +
130.995 +BOOL AwtComponent::IsFocusingKeyMessage(MSG *pMsg) {
130.996 + return pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_SPACE;
130.997 }
130.998
130.999 void AwtComponent::_Show(void *param)
130.1000 @@ -5640,22 +5631,12 @@
130.1001 return;
130.1002 }
130.1003
130.1004 - /* Post the message directly to the subclassed component. */
130.1005 - if (self && (pData = JNI_GET_PDATA(self))) {
130.1006 - AwtComponent* p = (AwtComponent*)pData;
130.1007 - // If the window is not focusable but if this is a focusing
130.1008 - // message we should skip it then and perform our own actions.
130.1009 - AwtWindow *pCont = (AwtWindow*)(p->GetContainer());
130.1010 - if ((pCont && pCont->IsFocusableWindow()) ||
130.1011 - !p->ActMouseMessage(&msg))
130.1012 - {
130.1013 - // Create copy for local msg
130.1014 - MSG* pCopiedMsg = new MSG;
130.1015 - memmove(pCopiedMsg, &msg, sizeof(MSG));
130.1016 - // Event handler deletes msg
130.1017 - p->PostHandleEventMessage(pCopiedMsg, FALSE);
130.1018 - }
130.1019 - }
130.1020 + // Create copy for local msg
130.1021 + MSG* pCopiedMsg = new MSG;
130.1022 + memmove(pCopiedMsg, &msg, sizeof(MSG));
130.1023 + // Event handler deletes msg
130.1024 + p->PostHandleEventMessage(pCopiedMsg, FALSE);
130.1025 +
130.1026 env->DeleteGlobalRef(self);
130.1027 env->DeleteGlobalRef(event);
130.1028 delete nhes;
130.1029 @@ -5777,19 +5758,15 @@
130.1030 delete sfs;
130.1031 }
130.1032
130.1033 -jboolean AwtComponent::_RequestFocus(void *param)
130.1034 +// Sets or kills focus for a component.
130.1035 +void AwtComponent::_SetFocus(void *param)
130.1036 {
130.1037 JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
130.1038
130.1039 - RequestFocusStruct *rfs = (RequestFocusStruct *)param;
130.1040 - jobject self = rfs->component;
130.1041 - jobject lightweightChild = rfs->lightweightChild;
130.1042 - jboolean temporary = rfs->temporary;
130.1043 - jboolean focusedWindowChangeAllowed = rfs->focusedWindowChangeAllowed;
130.1044 - jlong time = rfs->time;
130.1045 - jobject cause = rfs->cause;
130.1046 -
130.1047 - jboolean result = JNI_FALSE;
130.1048 + SetFocusStruct *sfs = (SetFocusStruct *)param;
130.1049 + jobject self = sfs->component;
130.1050 + jboolean doSetFocus = sfs->doSetFocus;
130.1051 +
130.1052 AwtComponent *c = NULL;
130.1053
130.1054 PDATA pData;
130.1055 @@ -5801,25 +5778,13 @@
130.1056 }
130.1057
130.1058 c = (AwtComponent *)pData;
130.1059 - if (::IsWindow(c->GetHWnd()))
130.1060 - {
130.1061 - WmComponentSetFocusData *data = new WmComponentSetFocusData;
130.1062 - data->lightweightChild = env->NewGlobalRef(lightweightChild);
130.1063 - data->temporary = temporary;
130.1064 - data->focusedWindowChangeAllowed = focusedWindowChangeAllowed;
130.1065 - data->time = time;
130.1066 - data->cause = cause;
130.1067 - result = (jboolean)c->SendMessage(WM_AWT_COMPONENT_SETFOCUS, (WPARAM)data, 0);
130.1068 - // data and global ref in it are deleted in WmComponentSetFocus
130.1069 + if (::IsWindow(c->GetHWnd())) {
130.1070 + c->SendMessage(WM_AWT_COMPONENT_SETFOCUS, (WPARAM)doSetFocus, 0);
130.1071 }
130.1072 ret:
130.1073 env->DeleteGlobalRef(self);
130.1074 - env->DeleteGlobalRef(lightweightChild);
130.1075 - env->DeleteGlobalRef(cause);
130.1076 -
130.1077 - delete rfs;
130.1078 -
130.1079 - return result;
130.1080 +
130.1081 + delete sfs;
130.1082 }
130.1083
130.1084 void AwtComponent::_Start(void *param)
130.1085 @@ -6082,9 +6047,9 @@
130.1086 HWND selfWnd = comps[0]->GetHWnd();
130.1087 HWND parentWnd = comps[1]->GetHWnd();
130.1088 if (::IsWindow(selfWnd) && ::IsWindow(parentWnd)) {
130.1089 - sm_suppressFocusAndActivation = TRUE;
130.1090 + // Shouldn't trigger native focus change
130.1091 + // (only the proxy may be the native focus owner).
130.1092 ::SetParent(selfWnd, parentWnd);
130.1093 - sm_suppressFocusAndActivation = FALSE;
130.1094 }
130.1095 }
130.1096 delete[] comps;
130.1097 @@ -6107,15 +6072,12 @@
130.1098
130.1099 AwtComponent *c = NULL;
130.1100
130.1101 -
130.1102 -
130.1103 PDATA pData;
130.1104 JNI_CHECK_PEER_GOTO(self, ret);
130.1105 +
130.1106 c = (AwtComponent *)pData;
130.1107 - if (::IsWindow(c->GetHWnd()))
130.1108 - {
130.1109 + if (::IsWindow(c->GetHWnd())) {
130.1110 HRGN hRgn = NULL;
130.1111 -
130.1112 if (region || x1 || x2 || y1 || y2) {
130.1113 // If all the params are zeros, the shape must be simply reset.
130.1114 // Otherwise, convert it into a region.
130.1115 @@ -6157,6 +6119,33 @@
130.1116 delete data;
130.1117 }
130.1118
130.1119 +void AwtComponent::_SetZOrder(void *param) {
130.1120 + JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
130.1121 +
130.1122 + SetZOrderStruct *data = (SetZOrderStruct *)param;
130.1123 + jobject self = data->component;
130.1124 + HWND above = HWND_TOP;
130.1125 + if (data->above != 0) {
130.1126 + above = reinterpret_cast<HWND>(data->above);
130.1127 + }
130.1128 +
130.1129 + AwtComponent *c = NULL;
130.1130 +
130.1131 + PDATA pData;
130.1132 + JNI_CHECK_PEER_GOTO(self, ret);
130.1133 +
130.1134 + c = (AwtComponent *)pData;
130.1135 + if (::IsWindow(c->GetHWnd())) {
130.1136 + ::SetWindowPos(c->GetHWnd(), above, 0, 0, 0, 0,
130.1137 + SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_DEFERERASE | SWP_ASYNCWINDOWPOS);
130.1138 + }
130.1139 +
130.1140 +ret:
130.1141 + env->DeleteGlobalRef(self);
130.1142 +
130.1143 + delete data;
130.1144 +}
130.1145 +
130.1146 void AwtComponent::PostUngrabEvent() {
130.1147 JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
130.1148 jobject target = GetTarget(env);
130.1149 @@ -6173,6 +6162,14 @@
130.1150 }
130.1151 }
130.1152
130.1153 +void AwtComponent::SetFocusedWindow(HWND window)
130.1154 +{
130.1155 + HWND old = sm_focusedWindow;
130.1156 + sm_focusedWindow = window;
130.1157 +
130.1158 + AwtWindow::FocusedWindowChanged(old, window);
130.1159 +}
130.1160 +
130.1161 /************************************************************************
130.1162 * Component native methods
130.1163 */
130.1164 @@ -6587,31 +6584,25 @@
130.1165
130.1166 /*
130.1167 * Class: sun_awt_windows_WComponentPeer
130.1168 - * Method: requestFocus
130.1169 - * Signature: (Ljava/awt/Component;ZZJ)Z
130.1170 + * Method: focusGained
130.1171 + * Signature: (Z)
130.1172 */
130.1173 -JNIEXPORT jboolean JNICALL Java_sun_awt_windows_WComponentPeer__1requestFocus
130.1174 - (JNIEnv *env, jobject self, jobject lightweightChild, jboolean temporary,
130.1175 - jboolean focusedWindowChangeAllowed, jlong time, jobject cause)
130.1176 +JNIEXPORT void JNICALL Java_sun_awt_windows_WComponentPeer_setFocus
130.1177 + (JNIEnv *env, jobject self, jboolean doSetFocus)
130.1178 {
130.1179 TRY;
130.1180
130.1181 jobject selfGlobalRef = env->NewGlobalRef(self);
130.1182 - jobject lightweightChildGlobalRef = env->NewGlobalRef(lightweightChild);
130.1183 -
130.1184 - RequestFocusStruct *rfs = new RequestFocusStruct;
130.1185 - rfs->component = selfGlobalRef;
130.1186 - rfs->lightweightChild = lightweightChildGlobalRef;
130.1187 - rfs->temporary = temporary;
130.1188 - rfs->focusedWindowChangeAllowed = focusedWindowChangeAllowed;
130.1189 - rfs->time = time;
130.1190 - rfs->cause = env->NewGlobalRef(cause);
130.1191 -
130.1192 - return (jboolean)AwtToolkit::GetInstance().SyncCall(
130.1193 - (void*(*)(void*))AwtComponent::_RequestFocus, rfs);
130.1194 - // global refs and rfs are deleted in _RequestFocus
130.1195 -
130.1196 - CATCH_BAD_ALLOC_RET(JNI_FALSE);
130.1197 +
130.1198 + SetFocusStruct *sfs = new SetFocusStruct;
130.1199 + sfs->component = selfGlobalRef;
130.1200 + sfs->doSetFocus = doSetFocus;
130.1201 +
130.1202 + AwtToolkit::GetInstance().SyncCall(
130.1203 + (void*(*)(void*))AwtComponent::_SetFocus, sfs);
130.1204 + // global refs and self are deleted in _SetFocus
130.1205 +
130.1206 + CATCH_BAD_ALLOC;
130.1207 }
130.1208
130.1209 /*
130.1210 @@ -6823,25 +6814,6 @@
130.1211 CATCH_BAD_ALLOC_RET(NULL);
130.1212 }
130.1213
130.1214 -JNIEXPORT jboolean JNICALL
130.1215 -Java_sun_awt_windows_WComponentPeer_processSynchronousLightweightTransfer(JNIEnv *env, jclass cls,
130.1216 - jobject heavyweight,
130.1217 - jobject descendant,
130.1218 - jboolean temporary,
130.1219 - jboolean focusedWindowChangeAllowed,
130.1220 - jlong time)
130.1221 -{
130.1222 - TRY;
130.1223 -
130.1224 - return env->CallStaticBooleanMethod(AwtKeyboardFocusManager::keyboardFocusManagerCls,
130.1225 - AwtKeyboardFocusManager::processSynchronousTransfer,
130.1226 - heavyweight, descendant, temporary,
130.1227 - focusedWindowChangeAllowed,
130.1228 - time);
130.1229 -
130.1230 - CATCH_BAD_ALLOC_RET(JNI_TRUE);
130.1231 -}
130.1232 -
130.1233 JNIEXPORT void JNICALL
130.1234 Java_sun_awt_windows_WComponentPeer_pSetParent(JNIEnv* env, jobject self, jobject parent) {
130.1235 TRY;
130.1236 @@ -6883,6 +6855,21 @@
130.1237 CATCH_BAD_ALLOC;
130.1238 }
130.1239
130.1240 +JNIEXPORT void JNICALL
130.1241 +Java_sun_awt_windows_WComponentPeer_setZOrder(JNIEnv* env, jobject self, jlong above)
130.1242 +{
130.1243 + TRY;
130.1244 +
130.1245 + SetZOrderStruct * data = new SetZOrderStruct;
130.1246 + data->component = env->NewGlobalRef(self);
130.1247 + data->above = above;
130.1248 +
130.1249 + AwtToolkit::GetInstance().SyncCall(AwtComponent::_SetZOrder, data);
130.1250 + // global refs and data are deleted in _SetLower
130.1251 +
130.1252 + CATCH_BAD_ALLOC;
130.1253 +}
130.1254 +
130.1255 } /* extern "C" */
130.1256
130.1257
131.1 --- a/src/windows/native/sun/windows/awt_Component.h Tue Apr 14 00:05:07 2009 -0700
131.2 +++ b/src/windows/native/sun/windows/awt_Component.h Tue Apr 14 04:21:02 2009 -0700
131.3 @@ -1,5 +1,5 @@
131.4 /*
131.5 - * Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved.
131.6 + * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved.
131.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
131.8 *
131.9 * This code is free software; you can redistribute it and/or modify it
131.10 @@ -78,8 +78,6 @@
131.11
131.12 class AwtDropTarget;
131.13
131.14 -struct WmComponentSetFocusData;
131.15 -
131.16 /*
131.17 * Message routing codes
131.18 */
131.19 @@ -139,12 +137,13 @@
131.20 virtual void RegisterClass();
131.21 virtual void UnregisterClass();
131.22
131.23 - void CreateHWnd(JNIEnv *env, LPCWSTR title,
131.24 + virtual void CreateHWnd(JNIEnv *env, LPCWSTR title,
131.25 DWORD windowStyle, DWORD windowExStyle,
131.26 int x, int y, int w, int h,
131.27 HWND hWndParent, HMENU hMenu,
131.28 COLORREF colorForeground, COLORREF colorBackground,
131.29 jobject peer);
131.30 + virtual void DestroyHWnd();
131.31 void InitPeerGraphicsConfig(JNIEnv *env, jobject peer);
131.32
131.33 virtual void Dispose();
131.34 @@ -221,17 +220,10 @@
131.35 virtual BOOL IsContainer() { return FALSE;} // Plain components can't
131.36
131.37 /**
131.38 - * Perform some actions which by default are being performed by Default Window procedure of
131.39 - * this window class
131.40 - * For detailed comments see implementation in awt_Component.cpp
131.41 + * Returns TRUE if this message will trigger native focus change, FALSE otherwise.
131.42 */
131.43 - virtual BOOL ActMouseMessage(MSG * pMsg);
131.44 - /**
131.45 - * Returns TRUE if this message will this component to become focused. Returns FALSE otherwise.
131.46 - */
131.47 - inline BOOL IsFocusingMessage(UINT message) {
131.48 - return message == WM_LBUTTONDOWN || message == WM_LBUTTONUP || message == WM_LBUTTONDBLCLK;
131.49 - }
131.50 + virtual BOOL IsFocusingKeyMessage(MSG *pMsg);
131.51 + virtual BOOL IsFocusingMouseMessage(MSG *pMsg);
131.52
131.53 BOOL IsFocusable();
131.54
131.55 @@ -373,7 +365,7 @@
131.56 }
131.57
131.58 void SendKeyEventToFocusOwner(jint id, jlong when, jint raw, jint cooked,
131.59 - jint modifiers, jint keyLocation,
131.60 + jint modifiers, jint keyLocation, jlong nativeCode,
131.61 MSG *msg = NULL);
131.62 /*
131.63 * Allocate and initialize a new java.awt.event.KeyEvent, and
131.64 @@ -381,7 +373,7 @@
131.65 * from the target.
131.66 */
131.67 void SendKeyEvent(jint id, jlong when, jint raw, jint cooked,
131.68 - jint modifiers, jint keyLocation,
131.69 + jint modifiers, jint keyLocation, jlong nativeCode,
131.70 MSG *msg = NULL);
131.71
131.72 /*
131.73 @@ -431,13 +423,6 @@
131.74 */
131.75 virtual BOOL InheritsNativeMouseWheelBehavior();
131.76
131.77 - /* Functions for MouseWheel support on Windows95
131.78 - * These should only be called if running on 95
131.79 - */
131.80 - static void Wheel95Init();
131.81 - INLINE static UINT Wheel95GetMsg() {return sm_95WheelMessage;}
131.82 - static UINT Wheel95GetScrLines();
131.83 -
131.84 /* Determines whether the component is obscured by another window */
131.85 // Called on Toolkit thread
131.86 static jboolean _IsObscured(void *param);
131.87 @@ -457,6 +442,7 @@
131.88 static UINT GetButtonMK(int mouseButton);
131.89 static UINT WindowsKeyToJavaKey(UINT windowsKey, UINT modifiers);
131.90 static void JavaKeyToWindowsKey(UINT javaKey, UINT *windowsKey, UINT *modifiers, UINT originalWindowsKey);
131.91 + static void UpdateDynPrimaryKeymap(UINT wkey, UINT jkeyLegacy, jint keyLocation, UINT modifiers);
131.92
131.93 INLINE static void AwtComponent::JavaKeyToWindowsKey(UINT javaKey,
131.94 UINT *windowsKey, UINT *modifiers)
131.95 @@ -480,6 +466,12 @@
131.96 HIMC ImmGetContext();
131.97 HIMC ImmAssociateContext(HIMC himc);
131.98 HWND GetProxyFocusOwner();
131.99 +
131.100 + INLINE HWND GetProxyToplevelContainer() {
131.101 + HWND proxyHWnd = GetProxyFocusOwner();
131.102 + return ::GetAncestor(proxyHWnd, GA_ROOT); // a browser in case of EmbeddedFrame
131.103 + }
131.104 +
131.105 void CallProxyDefWindowProc(UINT message,
131.106 WPARAM wParam,
131.107 LPARAM lParam,
131.108 @@ -517,11 +509,6 @@
131.109 virtual MsgRouting WmShowWindow(BOOL show, UINT status);
131.110 virtual MsgRouting WmSetFocus(HWND hWndLost);
131.111 virtual MsgRouting WmKillFocus(HWND hWndGot);
131.112 - jboolean WmComponentSetFocus(WmComponentSetFocusData *data);
131.113 - // Use instead of ::SetFocus to maintain special focusing semantics for
131.114 - // Windows which are not Frames/Dialogs.
131.115 - BOOL AwtSetFocus();
131.116 -
131.117 virtual MsgRouting WmCtlColor(HDC hDC, HWND hCtrl,
131.118 UINT ctlColor, HBRUSH& retBrush);
131.119 virtual MsgRouting WmHScroll(UINT scrollCode, UINT pos, HWND hScrollBar);
131.120 @@ -611,10 +598,6 @@
131.121
131.122 jintArray CreatePrintedPixels(SIZE &loc, SIZE &size);
131.123
131.124 - static void * GetNativeFocusOwner();
131.125 - static void * GetNativeFocusedWindow();
131.126 - static void ClearGlobalFocusOwner();
131.127 -
131.128 /*
131.129 * HWND, AwtComponent and Java Peer interaction
131.130 *
131.131 @@ -673,7 +656,6 @@
131.132 static void _SetForeground(void *param);
131.133 static void _SetBackground(void *param);
131.134 static void _SetFont(void *param);
131.135 - static jboolean _RequestFocus(void *param);
131.136 static void _Start(void *param);
131.137 static void _BeginValidate(void *param);
131.138 static void _EndValidate(void *param);
131.139 @@ -683,10 +665,40 @@
131.140 static jintArray _CreatePrintedPixels(void *param);
131.141 static jboolean _NativeHandlesWheelScrolling(void *param);
131.142 static void _SetRectangularShape(void *param);
131.143 + static void _SetZOrder(void *param);
131.144
131.145 static HWND sm_focusOwner;
131.146 +
131.147 +private:
131.148 static HWND sm_focusedWindow;
131.149
131.150 +public:
131.151 + static inline HWND GetFocusedWindow() { return sm_focusedWindow; }
131.152 + static void SetFocusedWindow(HWND window);
131.153 +
131.154 + static void _SetFocus(void *param);
131.155 +
131.156 + static void *SetNativeFocusOwner(void *self);
131.157 + static void *GetNativeFocusedWindow();
131.158 + static void *GetNativeFocusOwner();
131.159 +
131.160 + static BOOL sm_inSynthesizeFocus;
131.161 +
131.162 + // Execute on Toolkit only.
131.163 + INLINE static LRESULT SynthesizeWmSetFocus(HWND targetHWnd, HWND oppositeHWnd) {
131.164 + sm_inSynthesizeFocus = TRUE;
131.165 + LRESULT res = ::SendMessage(targetHWnd, WM_SETFOCUS, (WPARAM)oppositeHWnd, 0);
131.166 + sm_inSynthesizeFocus = FALSE;
131.167 + return res;
131.168 + }
131.169 + // Execute on Toolkit only.
131.170 + INLINE static LRESULT SynthesizeWmKillFocus(HWND targetHWnd, HWND oppositeHWnd) {
131.171 + sm_inSynthesizeFocus = TRUE;
131.172 + LRESULT res = ::SendMessage(targetHWnd, WM_KILLFOCUS, (WPARAM)oppositeHWnd, 0);
131.173 + sm_inSynthesizeFocus = FALSE;
131.174 + return res;
131.175 + }
131.176 +
131.177 static BOOL sm_bMenuLoop;
131.178 static INLINE BOOL isMenuLoopActive() {
131.179 return sm_bMenuLoop;
131.180 @@ -710,14 +722,25 @@
131.181 BOOL m_visible; /* copy of Component.visible */
131.182
131.183 static BOOL sm_suppressFocusAndActivation;
131.184 - static HWND sm_realFocusOpposite;
131.185 + static BOOL sm_restoreFocusAndActivation;
131.186 +
131.187 + /*
131.188 + * The function sets the focus-restore flag ON/OFF.
131.189 + * When the flag is ON, focus is restored immidiately after the proxy loses it.
131.190 + * All focus messages are suppressed. It's also assumed that sm_focusedWindow and
131.191 + * sm_focusOwner don't change after the flag is set ON and before it's set OFF.
131.192 + */
131.193 + static INLINE void SetRestoreFocus(BOOL doSet) {
131.194 + sm_suppressFocusAndActivation = doSet;
131.195 + sm_restoreFocusAndActivation = doSet;
131.196 + }
131.197
131.198 virtual void SetDragCapture(UINT flags);
131.199 virtual void ReleaseDragCapture(UINT flags);
131.200
131.201 - // 95 support for mouse wheel
131.202 - static UINT sm_95WheelMessage;
131.203 - static UINT sm_95WheelSupport;
131.204 + //These functions are overridden in AwtWindow to handle non-opaque windows.
131.205 + virtual void FillBackground(HDC hMemoryDC, SIZE &size);
131.206 + virtual void FillAlpha(void *bitmapBits, SIZE &size, BYTE alpha);
131.207
131.208 private:
131.209 /* A bitmask keeps the button's numbers as MK_LBUTTON, MK_MBUTTON, MK_RBUTTON
131.210 @@ -761,6 +784,8 @@
131.211 static BOOL sm_rtl;
131.212 static BOOL sm_rtlReadingOrder;
131.213
131.214 + static BOOL sm_PrimaryDynamicTableBuilt;
131.215 +
131.216 jobject m_InputMethod;
131.217 BOOL m_useNativeCompWindow;
131.218 LPARAM m_bitsCandType;
131.219 @@ -780,8 +805,6 @@
131.220
131.221 static BOOL m_QueryNewPaletteCalled;
131.222
131.223 - BOOL m_skipNextSetFocus;
131.224 -
131.225 static AwtComponent* sm_getComponentCache; // a cache for the GetComponent(..) method.
131.226
131.227 int windowMoveLockPosX;
131.228 @@ -790,7 +813,7 @@
131.229 int windowMoveLockPosCY;
131.230
131.231 // 6524352: support finer-resolution
131.232 - static int sm_wheelRotationAmount;
131.233 + int m_wheelRotationAmount;
131.234
131.235 /*
131.236 * The association list of children's IDs and corresponding components.
131.237 @@ -826,6 +849,7 @@
131.238 AwtComponent* SearchChild(UINT id);
131.239 void RemoveChild(UINT id) ;
131.240 static BOOL IsNavigationKey(UINT wkey);
131.241 + static void BuildPrimaryDynamicTable();
131.242
131.243 ChildListItem* m_childList;
131.244
131.245 @@ -876,14 +900,6 @@
131.246 void RealizePalettes(int screen);
131.247 };
131.248
131.249 -struct WmComponentSetFocusData {
131.250 - jobject lightweightChild;
131.251 - jboolean temporary;
131.252 - jboolean focusedWindowChangeAllowed;
131.253 - jlong time;
131.254 - jobject cause;
131.255 -};
131.256 -
131.257 void ReleaseDCList(HWND hwnd, DCList &list);
131.258 void MoveDCToPassiveList(HDC hDC);
131.259
132.1 --- a/src/windows/native/sun/windows/awt_Dialog.cpp Tue Apr 14 00:05:07 2009 -0700
132.2 +++ b/src/windows/native/sun/windows/awt_Dialog.cpp Tue Apr 14 04:21:02 2009 -0700
132.3 @@ -230,25 +230,8 @@
132.4 if (::IsIconic(hWnd)) {
132.5 ::ShowWindow(hWnd, SW_RESTORE);
132.6 }
132.7 - HWND topMostBlocker = blocker;
132.8 - HWND toolkitHWnd = AwtToolkit::GetInstance().GetHWnd();
132.9 - while (::IsWindow(blocker)) {
132.10 - topMostBlocker = blocker;
132.11 - // fix for 6494032: restore the blocker if it was minimized
132.12 - // together with its parent frame; in such cases the check
132.13 - // ::IsIconic() for the blocker returns false, so we use
132.14 - // ::IsWindowVisible() instead
132.15 - if (!::IsWindowVisible(topMostBlocker) &&
132.16 - (topMostBlocker != toolkitHWnd))
132.17 - {
132.18 - ::ShowWindow(topMostBlocker, SW_SHOWNA);
132.19 - }
132.20 - ::BringWindowToTop(blocker);
132.21 - blocker = AwtWindow::GetModalBlocker(blocker);
132.22 - }
132.23 - if (topMostBlocker != toolkitHWnd) {
132.24 - ::SetForegroundWindow(topMostBlocker);
132.25 - }
132.26 + PopupAllDialogs(blocker, TRUE, ::GetForegroundWindow(), FALSE);
132.27 + // return 1 to prevent the system from allowing the operation
132.28 return 1;
132.29 }
132.30 return CallNextHookEx(0, code, wParam, lParam);
132.31 @@ -271,30 +254,11 @@
132.32 (wParam == WM_NCRBUTTONDOWN))
132.33 {
132.34 HWND blocker = AwtWindow::GetModalBlocker(AwtComponent::GetTopLevelParentForWindow(hWnd));
132.35 - HWND topMostBlocker = blocker;
132.36 - HWND prevForegroundWindow = ::GetForegroundWindow();
132.37 if (::IsWindow(blocker)) {
132.38 - ::BringWindowToTop(hWnd);
132.39 - }
132.40 - while (::IsWindow(blocker)) {
132.41 - topMostBlocker = blocker;
132.42 - ::BringWindowToTop(blocker);
132.43 - blocker = AwtWindow::GetModalBlocker(blocker);
132.44 - }
132.45 - if (::IsWindow(topMostBlocker)) {
132.46 - // no beep/flash if the mouse was clicked in the taskbar menu
132.47 - // or the dialog is currently inactive
132.48 - if ((::WindowFromPoint(mhs->pt) == hWnd) &&
132.49 - (prevForegroundWindow == topMostBlocker))
132.50 - {
132.51 - ::MessageBeep(MB_OK);
132.52 - // some heuristics: 3 times x 64 milliseconds
132.53 - AwtWindow::FlashWindowEx(topMostBlocker, 3, 64, FLASHW_CAPTION);
132.54 - }
132.55 - if (topMostBlocker != AwtToolkit::GetInstance().GetHWnd()) {
132.56 - ::BringWindowToTop(topMostBlocker);
132.57 - ::SetForegroundWindow(topMostBlocker);
132.58 - }
132.59 + BOOL onTaskbar = !(::WindowFromPoint(mhs->pt) == hWnd);
132.60 + PopupAllDialogs(hWnd, FALSE, ::GetForegroundWindow(), onTaskbar);
132.61 + // return a nonzero value to prevent the system from passing
132.62 + // the message to the target window procedure
132.63 return 1;
132.64 }
132.65 }
132.66 @@ -303,6 +267,63 @@
132.67 return CallNextHookEx(0, nCode, wParam, lParam);
132.68 }
132.69
132.70 +/*
132.71 + * The function goes through the heirarchy of the blocker dialogs and
132.72 + * popups all the dialogs. Note that the function starts from the top
132.73 + * blocker dialog and goes down to the dialog which is the bottom dialog.
132.74 + * Using another traversal may cause to the flickering issue as a bottom
132.75 + * dialog will cover a top dialog for some period of time.
132.76 + */
132.77 +void AwtDialog::PopupAllDialogs(HWND dialog, BOOL isModalHook, HWND prevFGWindow, BOOL onTaskbar)
132.78 +{
132.79 + HWND blocker = AwtWindow::GetModalBlocker(dialog);
132.80 + BOOL isBlocked = ::IsWindow(blocker);
132.81 + if (isBlocked) {
132.82 + PopupAllDialogs(blocker, isModalHook, prevFGWindow, onTaskbar);
132.83 + }
132.84 + PopupOneDialog(dialog, blocker, isModalHook, prevFGWindow, onTaskbar);
132.85 +}
132.86 +
132.87 +/*
132.88 + * The function popups the dialog, it distinguishes non-blocked dialogs
132.89 + * and activates the dialogs (sets as foreground window). If the dialog is
132.90 + * blocked, then it changes the Z-order of the dialog.
132.91 + */
132.92 +void AwtDialog::PopupOneDialog(HWND dialog, HWND blocker, BOOL isModalHook, HWND prevFGWindow, BOOL onTaskbar)
132.93 +{
132.94 + if (dialog == AwtToolkit::GetInstance().GetHWnd()) {
132.95 + return;
132.96 + }
132.97 +
132.98 + // fix for 6494032
132.99 + if (isModalHook && !::IsWindowVisible(dialog)) {
132.100 + ::ShowWindow(dialog, SW_SHOWNA);
132.101 + }
132.102 +
132.103 + BOOL isBlocked = ::IsWindow(blocker);
132.104 + UINT flags = SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE;
132.105 +
132.106 + if (isBlocked) {
132.107 + ::SetWindowPos(dialog, blocker, 0, 0, 0, 0, flags);
132.108 + } else {
132.109 + ::SetWindowPos(dialog, HWND_TOP, 0, 0, 0, 0, flags);
132.110 + // no beep/flash if the mouse was clicked in the taskbar menu
132.111 + // or the dialog is currently inactive
132.112 + if (!isModalHook && !onTaskbar && (dialog == prevFGWindow)) {
132.113 + AnimateModalBlocker(dialog);
132.114 + }
132.115 + ::BringWindowToTop(dialog);
132.116 + ::SetForegroundWindow(dialog);
132.117 + }
132.118 +}
132.119 +
132.120 +void AwtDialog::AnimateModalBlocker(HWND window)
132.121 +{
132.122 + ::MessageBeep(MB_OK);
132.123 + // some heuristics: 3 times x 64 milliseconds
132.124 + AwtWindow::FlashWindowEx(window, 3, 64, FLASHW_CAPTION);
132.125 +}
132.126 +
132.127 LRESULT CALLBACK AwtDialog::MouseHookProc_NonTT(int nCode,
132.128 WPARAM wParam, LPARAM lParam)
132.129 {
133.1 --- a/src/windows/native/sun/windows/awt_Dialog.h Tue Apr 14 00:05:07 2009 -0700
133.2 +++ b/src/windows/native/sun/windows/awt_Dialog.h Tue Apr 14 04:21:02 2009 -0700
133.3 @@ -76,7 +76,7 @@
133.4 * Thus we don't have to perform any transitive (a blocker of a blocker) checks.
133.5 */
133.6 INLINE virtual BOOL IsFocusedWindowModalBlocker() {
133.7 - return (sm_focusedWindow != NULL) && (GetModalBlocker(sm_focusedWindow) == GetHWnd());
133.8 + return (AwtComponent::GetFocusedWindow() != NULL) && (GetModalBlocker(AwtComponent::GetFocusedWindow()) == GetHWnd());
133.9 }
133.10
133.11 // finds and activates some window after the modal dialog is hidden
133.12 @@ -113,6 +113,9 @@
133.13 */
133.14 static void ModalPerformActivation(HWND hWnd);
133.15
133.16 + static void PopupAllDialogs(HWND dialog, BOOL isModalHook, HWND prevFGWindow, BOOL onTaskbar);
133.17 + static void PopupOneDialog(HWND dialog, HWND blocker, BOOL isModalHook, HWND prevFGWindow, BOOL onTaskbar);
133.18 +
133.19 public:
133.20
133.21 // WH_CBT hook procedure used in modality, prevents modal
133.22 @@ -129,6 +132,8 @@
133.23 // example on browser's thread when running in Java Plugin
133.24 static LRESULT CALLBACK MouseHookProc_NonTT(int code,
133.25 WPARAM wParam, LPARAM lParam);
133.26 +
133.27 + static void AnimateModalBlocker(HWND window);
133.28 };
133.29
133.30 #endif /* AWT_DIALOG_H */
134.1 --- a/src/windows/native/sun/windows/awt_FileDialog.cpp Tue Apr 14 00:05:07 2009 -0700
134.2 +++ b/src/windows/native/sun/windows/awt_FileDialog.cpp Tue Apr 14 04:21:02 2009 -0700
134.3 @@ -101,7 +101,8 @@
134.4 }
134.5 }
134.6
134.7 - return ComCtl32Util::GetInstance().DefWindowProc(NULL, hWnd, message, wParam, lParam);
134.8 + WNDPROC lpfnWndProc = (WNDPROC)(::GetProp(hWnd, NativeDialogWndProcProp));
134.9 + return ComCtl32Util::GetInstance().DefWindowProc(lpfnWndProc, hWnd, message, wParam, lParam);
134.10 }
134.11
134.12 static UINT_PTR CALLBACK
134.13 @@ -135,16 +136,19 @@
134.14 }
134.15
134.16 // subclass dialog's parent to receive additional messages
134.17 - ComCtl32Util::GetInstance().SubclassHWND(parent,
134.18 - FileDialogWndProc);
134.19 + WNDPROC lpfnWndProc = ComCtl32Util::GetInstance().SubclassHWND(parent,
134.20 + FileDialogWndProc);
134.21 + ::SetProp(parent, NativeDialogWndProcProp, reinterpret_cast<HANDLE>(lpfnWndProc));
134.22
134.23 break;
134.24 }
134.25 case WM_DESTROY: {
134.26 + WNDPROC lpfnWndProc = (WNDPROC)(::GetProp(parent, NativeDialogWndProcProp));
134.27 ComCtl32Util::GetInstance().UnsubclassHWND(parent,
134.28 FileDialogWndProc,
134.29 - NULL);
134.30 + lpfnWndProc);
134.31 ::RemoveProp(parent, ModalDialogPeerProp);
134.32 + ::RemoveProp(parent, NativeDialogWndProcProp);
134.33 break;
134.34 }
134.35 case WM_NOTIFY: {
135.1 --- a/src/windows/native/sun/windows/awt_Frame.cpp Tue Apr 14 00:05:07 2009 -0700
135.2 +++ b/src/windows/native/sun/windows/awt_Frame.cpp Tue Apr 14 04:21:02 2009 -0700
135.3 @@ -1,5 +1,5 @@
135.4 /*
135.5 - * Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved.
135.6 + * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved.
135.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
135.8 *
135.9 * This code is free software; you can redistribute it and/or modify it
135.10 @@ -39,8 +39,6 @@
135.11 #include <sun_awt_windows_WEmbeddedFramePeer.h>
135.12
135.13
135.14 -BOOL isAppActive = FALSE;
135.15 -
135.16 /* IMPORTANT! Read the README.JNI file for notes on JNI converted AWT code.
135.17 */
135.18
135.19 @@ -90,8 +88,10 @@
135.20 */
135.21
135.22 jfieldID AwtFrame::handleID;
135.23 -jfieldID AwtFrame::stateID;
135.24 +
135.25 jfieldID AwtFrame::undecoratedID;
135.26 +jmethodID AwtFrame::getExtendedStateMID;
135.27 +jmethodID AwtFrame::setExtendedStateMID;
135.28
135.29 jmethodID AwtFrame::activateEmbeddingTopLevelMID;
135.30
135.31 @@ -110,6 +110,7 @@
135.32 m_isInputMethodWindow = FALSE;
135.33 m_isUndecorated = FALSE;
135.34 m_proxyFocusOwner = NULL;
135.35 + m_lastProxiedFocusOwner = NULL;
135.36 m_actualFocusedWindow = NULL;
135.37 m_iconic = FALSE;
135.38 m_zoomed = FALSE;
135.39 @@ -232,7 +233,7 @@
135.40 frame->InitPeerGraphicsConfig(env, self);
135.41 AwtToolkit::GetInstance().RegisterEmbedderProcessId(hwndParent);
135.42 } else {
135.43 - jint state = env->GetIntField(target, AwtFrame::stateID);
135.44 + jint state = env->CallIntMethod(self, AwtFrame::getExtendedStateMID);
135.45 DWORD exStyle;
135.46 DWORD style;
135.47
135.48 @@ -285,7 +286,6 @@
135.49 ::GetSysColor(COLOR_WINDOWTEXT),
135.50 ::GetSysColor(COLOR_WINDOWFRAME),
135.51 self);
135.52 -
135.53 /*
135.54 * Reshape here instead of during create, so that a
135.55 * WM_NCCALCSIZE is sent.
135.56 @@ -319,12 +319,13 @@
135.57 AwtComponent::GetComponentImpl(::GetParent(hwnd));
135.58
135.59 if (!parent || parent->GetProxyFocusOwner() != hwnd ||
135.60 - message == AwtComponent::WmAwtIsComponent)
135.61 + message == AwtComponent::WmAwtIsComponent ||
135.62 + message == WM_GETOBJECT)
135.63 {
135.64 return ComCtl32Util::GetInstance().DefWindowProc(NULL, hwnd, message, wParam, lParam);
135.65 }
135.66
135.67 - AwtComponent *p = NULL;
135.68 + AwtComponent *focusOwner = NULL;
135.69 // IME and input language related messages need to be sent to a window
135.70 // which has the Java input focus
135.71 switch (message) {
135.72 @@ -342,16 +343,37 @@
135.73 case WM_IME_KEYUP:
135.74 case WM_INPUTLANGCHANGEREQUEST:
135.75 case WM_INPUTLANGCHANGE:
135.76 - p = AwtComponent::GetComponent(sm_focusOwner);
135.77 - if (p != NULL) {
135.78 - return p->WindowProc(message, wParam, lParam);
135.79 + // TODO: when a Choice's list is dropped down and we're scrolling in
135.80 + // the list WM_MOUSEWHEEL messages come to the poxy, not to the list. Why?
135.81 + case WM_MOUSEWHEEL:
135.82 + focusOwner = AwtComponent::GetComponent(parent->GetLastProxiedFocusOwner());
135.83 + if (focusOwner != NULL) {
135.84 + return focusOwner->WindowProc(message, wParam, lParam);
135.85 }
135.86 break;
135.87 + case WM_SETFOCUS:
135.88 + if (!sm_suppressFocusAndActivation && parent->IsEmbeddedFrame()) {
135.89 + parent->AwtSetActiveWindow();
135.90 + }
135.91 + return 0;
135.92 + case WM_KILLFOCUS:
135.93 + if (!sm_suppressFocusAndActivation && parent->IsEmbeddedFrame()) {
135.94 + AwtWindow::SynthesizeWmActivate(FALSE, parent->GetHWnd(), NULL);
135.95 +
135.96 + } else if (sm_restoreFocusAndActivation) {
135.97 + if (AwtComponent::GetFocusedWindow() != NULL) {
135.98 + AwtWindow *focusedWindow = (AwtWindow*)GetComponent(AwtComponent::GetFocusedWindow());
135.99 + if (focusedWindow != NULL) {
135.100 + // Will just silently restore native focus & activation.
135.101 + focusedWindow->AwtSetActiveWindow();
135.102 + }
135.103 + }
135.104 + }
135.105 + return 0;
135.106 case 0x0127: // WM_CHANGEUISTATE
135.107 case 0x0128: // WM_UPDATEUISTATE
135.108 return 0;
135.109 }
135.110 -
135.111 return parent->WindowProc(message, wParam, lParam);
135.112
135.113 CATCH_BAD_ALLOC_RET(0);
135.114 @@ -554,7 +576,6 @@
135.115 if (m_grabbedWindow != NULL/* && !m_grabbedWindow->IsOneOfOwnersOf(this)*/) {
135.116 m_grabbedWindow->Ungrab();
135.117 }
135.118 -
135.119 if (!IsFocusableWindow() && (button & LEFT_BUTTON)) {
135.120 switch (hitTest) {
135.121 case HTTOP:
135.122 @@ -586,11 +607,6 @@
135.123 return AwtWindow::WmNcMouseDown(hitTest, x, y, button);
135.124 }
135.125
135.126 -MsgRouting AwtFrame::WmWindowPosChanged(LPARAM windowPos) {
135.127 - return mrDoDefault;
135.128 -}
135.129 -
135.130 -
135.131 // Override AwtWindow::Reshape() to handle minimized/maximized
135.132 // frames (see 6525850, 4065534)
135.133 void AwtFrame::Reshape(int x, int y, int width, int height)
135.134 @@ -827,6 +843,11 @@
135.135
135.136 MsgRouting AwtFrame::WmSize(UINT type, int w, int h)
135.137 {
135.138 + currentWmSizeState = type;
135.139 + if (currentWmSizeState == SIZE_MINIMIZED) {
135.140 + UpdateSecurityWarningVisibility();
135.141 + }
135.142 +
135.143 if (m_ignoreWmSize) {
135.144 return mrDoDefault;
135.145 }
135.146 @@ -883,6 +904,11 @@
135.147 if (changed != 0) {
135.148 DTRACE_PRINTLN2("AwtFrame::WmSize: reporting state change %x -> %x",
135.149 oldState, newState);
135.150 +
135.151 + // sync target with peer
135.152 + JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
135.153 + env->CallVoidMethod(GetPeer(env), AwtFrame::setExtendedStateMID, newState);
135.154 +
135.155 // report (de)iconification to old clients
135.156 if (changed & java_awt_Frame_ICONIFIED) {
135.157 if (newState & java_awt_Frame_ICONIFIED) {
135.158 @@ -907,33 +933,16 @@
135.159 MsgRouting AwtFrame::WmActivate(UINT nState, BOOL fMinimized, HWND opposite)
135.160 {
135.161 jint type;
135.162 - BOOL doActivateFrame = TRUE;
135.163
135.164 if (nState != WA_INACTIVE) {
135.165 - if (!::IsWindow(AwtWindow::GetModalBlocker(GetHWnd()))) {
135.166 - ::SetFocus(NULL); // The KeyboardFocusManager will set focus later
135.167 - type = java_awt_event_WindowEvent_WINDOW_GAINED_FOCUS;
135.168 - isAppActive = TRUE;
135.169 - sm_focusedWindow = GetHWnd();
135.170 + if (::IsWindow(AwtWindow::GetModalBlocker(GetHWnd())) ||
135.171 + CheckActivateActualFocusedWindow(opposite))
135.172 + {
135.173 + return mrConsume;
135.174 + }
135.175 + type = java_awt_event_WindowEvent_WINDOW_GAINED_FOCUS;
135.176 + AwtComponent::SetFocusedWindow(GetHWnd());
135.177
135.178 - /*
135.179 - * Fix for 4823903.
135.180 - * If the window to be focused is actually not this Frame
135.181 - * and it's visible then send it WM_ACTIVATE.
135.182 - */
135.183 - if (m_actualFocusedWindow != NULL) {
135.184 - HWND hwnd = m_actualFocusedWindow->GetHWnd();
135.185 -
135.186 - if (hwnd != NULL && ::IsWindowVisible(hwnd)) {
135.187 -
135.188 - ::SendMessage(hwnd, WM_ACTIVATE, MAKEWPARAM(nState, fMinimized), (LPARAM)opposite);
135.189 - doActivateFrame = FALSE;
135.190 - }
135.191 - m_actualFocusedWindow = NULL;
135.192 - }
135.193 - } else {
135.194 - doActivateFrame = FALSE;
135.195 - }
135.196 } else {
135.197 if (!::IsWindow(AwtWindow::GetModalBlocker(opposite))) {
135.198 // If deactivation happens because of press on grabbing
135.199 @@ -955,37 +964,63 @@
135.200 }
135.201 }
135.202 }
135.203 -
135.204 - // If actual focused window is not this Frame
135.205 - if (sm_focusedWindow != GetHWnd()) {
135.206 -
135.207 - // Check that the Frame is going to be really inactive (i.e. the opposite is not its owned window)
135.208 - if (opposite != NULL) {
135.209 - AwtWindow *wOpposite = (AwtWindow *)AwtComponent::GetComponent(opposite);
135.210 -
135.211 - if (wOpposite != NULL &&
135.212 - wOpposite->GetOwningFrameOrDialog() != this)
135.213 - {
135.214 - AwtWindow *window = (AwtWindow *)AwtComponent::GetComponent(sm_focusedWindow);
135.215 -
135.216 - // If actual focused window is one of Frame's owned windows
135.217 - if (window != NULL && window->GetOwningFrameOrDialog() == this) {
135.218 - m_actualFocusedWindow = window;
135.219 - }
135.220 - }
135.221 - }
135.222 - }
135.223 + CheckRetainActualFocusedWindow(opposite);
135.224
135.225 type = java_awt_event_WindowEvent_WINDOW_LOST_FOCUS;
135.226 - isAppActive = FALSE;
135.227 - sm_focusedWindow = NULL;
135.228 + AwtComponent::SetFocusedWindow(NULL);
135.229 + sm_focusOwner = NULL;
135.230 }
135.231 }
135.232
135.233 - if (doActivateFrame) {
135.234 - SendWindowEvent(type, opposite);
135.235 + SendWindowEvent(type, opposite);
135.236 + return mrConsume;
135.237 +}
135.238 +
135.239 +BOOL AwtFrame::CheckActivateActualFocusedWindow(HWND deactivatedOpositeHWnd)
135.240 +{
135.241 + if (m_actualFocusedWindow != NULL) {
135.242 + HWND hwnd = m_actualFocusedWindow->GetHWnd();
135.243 + if (hwnd != NULL && ::IsWindowVisible(hwnd)) {
135.244 + SynthesizeWmActivate(TRUE, hwnd, deactivatedOpositeHWnd);
135.245 + return TRUE;
135.246 + }
135.247 + m_actualFocusedWindow = NULL;
135.248 }
135.249 - return mrConsume;
135.250 + return FALSE;
135.251 +}
135.252 +
135.253 +void AwtFrame::CheckRetainActualFocusedWindow(HWND activatedOpositeHWnd)
135.254 +{
135.255 + // If actual focused window is not this Frame
135.256 + if (AwtComponent::GetFocusedWindow() != GetHWnd()) {
135.257 + // Make sure the actual focused window is an owned window of this frame
135.258 + AwtWindow *focusedWindow = (AwtWindow *)AwtComponent::GetComponent(AwtComponent::GetFocusedWindow());
135.259 + if (focusedWindow != NULL && focusedWindow->GetOwningFrameOrDialog() == this) {
135.260 +
135.261 + // Check that the opposite window is not this frame, nor an owned window of this frame
135.262 + if (activatedOpositeHWnd != NULL) {
135.263 + AwtWindow *oppositeWindow = (AwtWindow *)AwtComponent::GetComponent(activatedOpositeHWnd);
135.264 + if (oppositeWindow && oppositeWindow != this &&
135.265 + oppositeWindow->GetOwningFrameOrDialog() != this)
135.266 + {
135.267 + m_actualFocusedWindow = focusedWindow;
135.268 + }
135.269 + } else {
135.270 + m_actualFocusedWindow = focusedWindow;
135.271 + }
135.272 + }
135.273 + }
135.274 +}
135.275 +
135.276 +BOOL AwtFrame::AwtSetActiveWindow(BOOL isMouseEventCause, UINT hittest)
135.277 +{
135.278 + if (hittest == HTCLIENT) {
135.279 + // Don't let the actualFocusedWindow to steal focus if:
135.280 + // a) the frame is clicked in its client area;
135.281 + // b) focus is requested to some of the frame's child.
135.282 + m_actualFocusedWindow = NULL;
135.283 + }
135.284 + return AwtWindow::AwtSetActiveWindow(isMouseEventCause);
135.285 }
135.286
135.287 MsgRouting AwtFrame::WmEnterMenuLoop(BOOL isTrackPopupMenu)
135.288 @@ -1161,60 +1196,6 @@
135.289 return 0L;
135.290 }
135.291
135.292 -/*
135.293 - * hWndLostFocus - the opposite component
135.294 - * Returns TRUE if WM_SETFOCUS may be processed further, otherwise FALSE.
135.295 - */
135.296 -BOOL AwtFrame::activateEmbeddedFrameOnSetFocus(HWND hWndLostFocus) {
135.297 -
135.298 - // If the EmbeddedFrame is not yet active, then this is either:
135.299 - // - requesting focus on smth in the EmbeddedFrame, or
135.300 - // - Alt hitting in IE while its menu is active (see 6374321).
135.301 - // In both these cases we get WM_SETFOCUS without WM_ACTIVATE
135.302 - // on the EmbeddedFrame.
135.303 - if (sm_focusedWindow != GetHWnd()) {
135.304 - HWND oppositeToplevelHWnd = AwtComponent::GetTopLevelParentForWindow(hWndLostFocus);
135.305 -
135.306 - // As we get WM_SETFOCUS from the native system we expect
135.307 - // the native toplevel be set to the active window.
135.308 - HWND activeWindowHWnd = ::GetActiveWindow();
135.309 - DASSERT(activeWindowHWnd == ::GetAncestor(GetHWnd(), GA_ROOT));
135.310 -
135.311 - // See 6538154.
135.312 - ::BringWindowToTop(activeWindowHWnd);
135.313 - ::SetForegroundWindow(activeWindowHWnd);
135.314 -
135.315 - SynthesizeWmActivate(TRUE, oppositeToplevelHWnd);
135.316 -
135.317 - return FALSE;
135.318 - }
135.319 - // If the EmbeddedFrame is already active, then this is a mouse click
135.320 - // or activation (by Alt-Tab, start etc).
135.321 - return TRUE;
135.322 -}
135.323 -
135.324 -/*
135.325 - * hWndGotFocus - the opposite component
135.326 - * Returns TRUE if WM_KILLFOCUS may be processed further, otherwise FALSE.
135.327 - */
135.328 -BOOL AwtFrame::deactivateEmbeddedFrameOnKillFocus(HWND hWndGotFocus) {
135.329 - HWND oppositeToplevelHWnd = AwtComponent::GetTopLevelParentForWindow(hWndGotFocus);
135.330 -
135.331 - if (oppositeToplevelHWnd != sm_focusedWindow) {
135.332 - SynthesizeWmActivate(FALSE, oppositeToplevelHWnd);
135.333 - }
135.334 - return TRUE;
135.335 -}
135.336 -
135.337 -/*
135.338 - * Execute on Toolkit only.
135.339 - */
135.340 -void AwtFrame::SynthesizeWmActivate(BOOL doActivate, HWND opposite) {
135.341 - if (::IsWindowVisible(GetHWnd())) {
135.342 - ::SendMessage(GetHWnd(), WM_ACTIVATE, MAKEWPARAM(doActivate ? WA_ACTIVE : WA_INACTIVE, FALSE), (LPARAM) opposite);
135.343 - }
135.344 -}
135.345 -
135.346 void AwtFrame::_SynthesizeWmActivate(void *param)
135.347 {
135.348 JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
135.349 @@ -1229,7 +1210,7 @@
135.350 JNI_CHECK_PEER_GOTO(self, ret);
135.351 frame = (AwtFrame *)pData;
135.352
135.353 - frame->SynthesizeWmActivate(doActivate, NULL);
135.354 + SynthesizeWmActivate(doActivate, frame->GetHWnd(), NULL);
135.355 ret:
135.356 env->DeleteGlobalRef(self);
135.357
135.358 @@ -1594,7 +1575,7 @@
135.359 extern "C" {
135.360
135.361 /*
135.362 - * Class: sun_awt_windows_WFramePeer
135.363 + * Class: java_awt_Frame
135.364 * Method: initIDs
135.365 * Signature: ()V
135.366 */
135.367 @@ -1603,9 +1584,6 @@
135.368 {
135.369 TRY;
135.370
135.371 - AwtFrame::stateID = env->GetFieldID(cls, "state", "I");
135.372 - DASSERT(AwtFrame::stateID != NULL);
135.373 -
135.374 AwtFrame::undecoratedID = env->GetFieldID(cls,"undecorated","Z");
135.375 DASSERT(AwtFrame::undecoratedID != NULL);
135.376
135.377 @@ -1614,6 +1592,25 @@
135.378
135.379 /*
135.380 * Class: sun_awt_windows_WFramePeer
135.381 + * Method: initIDs
135.382 + * Signature: ()V
135.383 + */
135.384 +JNIEXPORT void JNICALL
135.385 +Java_sun_awt_windows_WFramePeer_initIDs(JNIEnv *env, jclass cls)
135.386 +{
135.387 + TRY;
135.388 +
135.389 + AwtFrame::setExtendedStateMID = env->GetMethodID(cls, "setExtendedState", "(I)V");
135.390 + AwtFrame::getExtendedStateMID = env->GetMethodID(cls, "getExtendedState", "()I");
135.391 +
135.392 + DASSERT(AwtFrame::setExtendedStateMID);
135.393 + DASSERT(AwtFrame::getExtendedStateMID);
135.394 +
135.395 + CATCH_BAD_ALLOC;
135.396 +}
135.397 +
135.398 +/*
135.399 + * Class: sun_awt_windows_WFramePeer
135.400 * Method: setState
135.401 * Signature: (I)V
135.402 */
136.1 --- a/src/windows/native/sun/windows/awt_Frame.h Tue Apr 14 00:05:07 2009 -0700
136.2 +++ b/src/windows/native/sun/windows/awt_Frame.h Tue Apr 14 04:21:02 2009 -0700
136.3 @@ -1,5 +1,5 @@
136.4 /*
136.5 - * Copyright 1996-2007 Sun Microsystems, Inc. All Rights Reserved.
136.6 + * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved.
136.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
136.8 *
136.9 * This code is free software; you can redistribute it and/or modify it
136.10 @@ -48,14 +48,14 @@
136.11 FRAME_SETMENUBAR
136.12 };
136.13
136.14 - /* int handle field for sun.awt.windows.WEmbeddedFrame */
136.15 + /* java.awt.Frame fields and method IDs */
136.16 + static jfieldID undecoratedID;
136.17 +
136.18 + /* sun.awt.windows.WEmbeddedFrame fields and method IDs */
136.19 static jfieldID handleID;
136.20
136.21 - /* int state field for java.awt.Frame */
136.22 - static jfieldID stateID;
136.23 -
136.24 - /* boolean undecorated field for java.awt.Frame */
136.25 - static jfieldID undecoratedID;
136.26 + static jmethodID setExtendedStateMID;
136.27 + static jmethodID getExtendedStateMID;
136.28
136.29 /* method id for WEmbeddedFrame.requestActivate() method */
136.30 static jmethodID activateEmbeddingTopLevelMID;
136.31 @@ -108,7 +108,6 @@
136.32 MsgRouting WmNcMouseDown(WPARAM hitTest, int x, int y, int button);
136.33 MsgRouting WmNcMouseUp(WPARAM hitTest, int x, int y, int button);
136.34 MsgRouting WmGetIcon(WPARAM iconType, LRESULT& retVal);
136.35 - MsgRouting WmWindowPosChanged(LPARAM windowPos);
136.36 MsgRouting WmShowWindow(BOOL show, UINT status);
136.37
136.38 virtual MsgRouting WmSysCommand(UINT uCmdType, int xPos, int yPos);
136.39 @@ -133,11 +132,6 @@
136.40 // adjusts the IME candidate window position if needed
136.41 void AdjustCandidateWindowPos();
136.42
136.43 - void SynthesizeWmActivate(BOOL doActivate, HWND opposite);
136.44 -
136.45 - BOOL activateEmbeddedFrameOnSetFocus(HWND hWndLostFocus);
136.46 - BOOL deactivateEmbeddedFrameOnKillFocus(HWND hWndGotFocus);
136.47 -
136.48 // invoked on Toolkit thread
136.49 static jobject _GetBoundsPrivate(void *param);
136.50
136.51 @@ -153,6 +147,14 @@
136.52
136.53 virtual void Reshape(int x, int y, int width, int height);
136.54
136.55 + virtual BOOL AwtSetActiveWindow(BOOL isMouseEventCause = FALSE, UINT hittest = HTCLIENT);
136.56 +
136.57 + void CheckRetainActualFocusedWindow(HWND activatedOpositeHWnd);
136.58 + BOOL CheckActivateActualFocusedWindow(HWND deactivatedOpositeHWnd);
136.59 +
136.60 + INLINE HWND GetLastProxiedFocusOwner() { return m_lastProxiedFocusOwner; }
136.61 + INLINE void SetLastProxiedFocusOwner(HWND hwnd) { m_lastProxiedFocusOwner = hwnd; }
136.62 +
136.63 protected:
136.64 /* The frame is undecorated. */
136.65 BOOL m_isUndecorated;
136.66 @@ -189,6 +191,10 @@
136.67 or an AwtDialog (or one of its children) has the logical input focus. */
136.68 HWND m_proxyFocusOwner;
136.69
136.70 + /* Retains the last/current sm_focusOwner proxied. Actually, it should be
136.71 + * a component of an owned window last/currently active. */
136.72 + HWND m_lastProxiedFocusOwner;
136.73 +
136.74 /*
136.75 * Fix for 4823903.
136.76 * Retains a focus proxied window to set the focus correctly
137.1 --- a/src/windows/native/sun/windows/awt_InputMethod.cpp Tue Apr 14 00:05:07 2009 -0700
137.2 +++ b/src/windows/native/sun/windows/awt_InputMethod.cpp Tue Apr 14 04:21:02 2009 -0700
137.3 @@ -1,5 +1,5 @@
137.4 /*
137.5 - * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved.
137.6 + * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
137.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
137.8 *
137.9 * This code is free software; you can redistribute it and/or modify it
137.10 @@ -176,7 +176,7 @@
137.11 java_awt_event_KeyEvent_CHAR_UNDEFINED,
137.12 unicodeChar,
137.13 modifiers,
137.14 - java_awt_event_KeyEvent_KEY_LOCATION_UNKNOWN,
137.15 + java_awt_event_KeyEvent_KEY_LOCATION_UNKNOWN, (jlong)0,
137.16 &msg);
137.17 } else {
137.18 MSG* pCopiedMsg = new MSG;
138.1 --- a/src/windows/native/sun/windows/awt_KeyEvent.cpp Tue Apr 14 00:05:07 2009 -0700
138.2 +++ b/src/windows/native/sun/windows/awt_KeyEvent.cpp Tue Apr 14 04:21:02 2009 -0700
138.3 @@ -1,5 +1,5 @@
138.4 /*
138.5 - * Copyright 1998-1999 Sun Microsystems, Inc. All Rights Reserved.
138.6 + * Copyright 1998-2009 Sun Microsystems, Inc. All Rights Reserved.
138.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
138.8 *
138.9 * This code is free software; you can redistribute it and/or modify it
138.10 @@ -32,6 +32,10 @@
138.11
138.12 jfieldID AwtKeyEvent::keyCodeID;
138.13 jfieldID AwtKeyEvent::keyCharID;
138.14 +jfieldID AwtKeyEvent::rawCodeID;
138.15 +jfieldID AwtKeyEvent::primaryLevelUnicodeID;
138.16 +jfieldID AwtKeyEvent::scancodeID;
138.17 +jfieldID AwtKeyEvent::extendedKeyCodeID;
138.18
138.19 /************************************************************************
138.20 * AwtKeyEvent native methods
138.21 @@ -45,9 +49,18 @@
138.22
138.23 AwtKeyEvent::keyCodeID = env->GetFieldID(cls, "keyCode", "I");
138.24 AwtKeyEvent::keyCharID = env->GetFieldID(cls, "keyChar", "C");
138.25 + AwtKeyEvent::rawCodeID = env->GetFieldID(cls, "rawCode", "J");
138.26 + AwtKeyEvent::primaryLevelUnicodeID = env->GetFieldID(cls, "primaryLevelUnicode", "J");
138.27 + AwtKeyEvent::scancodeID = env->GetFieldID(cls, "scancode", "J");
138.28 + AwtKeyEvent::extendedKeyCodeID = env->GetFieldID(cls, "extendedKeyCode", "J");
138.29 +
138.30
138.31 DASSERT(AwtKeyEvent::keyCodeID != NULL);
138.32 DASSERT(AwtKeyEvent::keyCharID != NULL);
138.33 + DASSERT(AwtKeyEvent::rawCodeID != NULL);
138.34 + DASSERT(AwtKeyEvent::primaryLevelUnicodeID != NULL);
138.35 + DASSERT(AwtKeyEvent::scancodeID != NULL);
138.36 + DASSERT(AwtKeyEvent::extendedKeyCodeID != NULL);
138.37
138.38 CATCH_BAD_ALLOC;
138.39 }
139.1 --- a/src/windows/native/sun/windows/awt_KeyEvent.h Tue Apr 14 00:05:07 2009 -0700
139.2 +++ b/src/windows/native/sun/windows/awt_KeyEvent.h Tue Apr 14 04:21:02 2009 -0700
139.3 @@ -39,7 +39,10 @@
139.4 /* java.awt.KeyEvent field ids */
139.5 static jfieldID keyCodeID;
139.6 static jfieldID keyCharID;
139.7 -
139.8 + static jfieldID rawCodeID;
139.9 + static jfieldID primaryLevelUnicodeID;
139.10 + static jfieldID scancodeID;
139.11 + static jfieldID extendedKeyCodeID;
139.12 };
139.13
139.14 #endif // AWT_KEYEVENT_H
140.1 --- a/src/windows/native/sun/windows/awt_KeyboardFocusManager.cpp Tue Apr 14 00:05:07 2009 -0700
140.2 +++ b/src/windows/native/sun/windows/awt_KeyboardFocusManager.cpp Tue Apr 14 04:21:02 2009 -0700
140.3 @@ -1,5 +1,5 @@
140.4 /*
140.5 - * Copyright 2000-2004 Sun Microsystems, Inc. All Rights Reserved.
140.6 + * Copyright 2000-2009 Sun Microsystems, Inc. All Rights Reserved.
140.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
140.8 *
140.9 * This code is free software; you can redistribute it and/or modify it
140.10 @@ -24,30 +24,20 @@
140.11 */
140.12
140.13 #include "awt.h"
140.14 -#include "awt_KeyboardFocusManager.h"
140.15 #include "awt_Component.h"
140.16 #include "awt_Toolkit.h"
140.17 #include <java_awt_KeyboardFocusManager.h>
140.18 -
140.19 -jclass AwtKeyboardFocusManager::keyboardFocusManagerCls;
140.20 -jmethodID AwtKeyboardFocusManager::shouldNativelyFocusHeavyweightMID;
140.21 -jmethodID AwtKeyboardFocusManager::heavyweightButtonDownMID;
140.22 -jmethodID AwtKeyboardFocusManager::markClearGlobalFocusOwnerMID;
140.23 -jmethodID AwtKeyboardFocusManager::removeLastFocusRequestMID;
140.24 -jfieldID AwtKeyboardFocusManager::isProxyActive;
140.25 -jmethodID AwtKeyboardFocusManager::processSynchronousTransfer;
140.26 +#include <jni.h>
140.27
140.28 static jobject getNativeFocusState(JNIEnv *env, void*(*ftn)()) {
140.29 - jobject lFocusState = NULL;
140.30 + jobject gFocusState = (jobject)AwtToolkit::GetInstance().SyncCall(ftn);
140.31
140.32 - jobject gFocusState = reinterpret_cast<jobject>(AwtToolkit::GetInstance().
140.33 - InvokeFunction(ftn));
140.34 if (gFocusState != NULL) {
140.35 - lFocusState = env->NewLocalRef(gFocusState);
140.36 + jobject lFocusState = env->NewLocalRef(gFocusState);
140.37 env->DeleteGlobalRef(gFocusState);
140.38 + return lFocusState;
140.39 }
140.40 -
140.41 - return lFocusState;
140.42 + return NULL;
140.43 }
140.44
140.45 extern "C" {
140.46 @@ -61,53 +51,35 @@
140.47 Java_java_awt_KeyboardFocusManager_initIDs
140.48 (JNIEnv *env, jclass cls)
140.49 {
140.50 +}
140.51 +
140.52 +/*
140.53 + * Class: sun_awt_windows_WKeyboardFocusManagerPeer
140.54 + * Method: setNativeFocusOwner
140.55 + * Signature: (Lsun/awt/windows/WComponentPeer)
140.56 + */
140.57 +JNIEXPORT void JNICALL
140.58 +Java_sun_awt_windows_WKeyboardFocusManagerPeer_setNativeFocusOwner
140.59 + (JNIEnv *env, jclass cls, jobject compPeer)
140.60 +{
140.61 TRY;
140.62
140.63 - AwtKeyboardFocusManager::keyboardFocusManagerCls = (jclass)
140.64 - env->NewGlobalRef(cls);
140.65 - AwtKeyboardFocusManager::shouldNativelyFocusHeavyweightMID =
140.66 - env->GetStaticMethodID(cls, "shouldNativelyFocusHeavyweight",
140.67 - "(Ljava/awt/Component;Ljava/awt/Component;ZZJLsun/awt/CausedFocusEvent$Cause;)I");
140.68 - AwtKeyboardFocusManager::heavyweightButtonDownMID =
140.69 - env->GetStaticMethodID(cls, "heavyweightButtonDown",
140.70 - "(Ljava/awt/Component;J)V");
140.71 - AwtKeyboardFocusManager::markClearGlobalFocusOwnerMID =
140.72 - env->GetStaticMethodID(cls, "markClearGlobalFocusOwner",
140.73 - "()Ljava/awt/Window;");
140.74 - AwtKeyboardFocusManager::removeLastFocusRequestMID =
140.75 - env->GetStaticMethodID(cls, "removeLastFocusRequest",
140.76 - "(Ljava/awt/Component;)V");
140.77 + jobject peerGlobalRef = env->NewGlobalRef(compPeer);
140.78
140.79 - AwtKeyboardFocusManager::processSynchronousTransfer =
140.80 - env->GetStaticMethodID(cls, "processSynchronousLightweightTransfer",
140.81 - "(Ljava/awt/Component;Ljava/awt/Component;ZZJ)Z");
140.82 + AwtToolkit::GetInstance().SyncCall(AwtComponent::SetNativeFocusOwner,
140.83 + (void*)peerGlobalRef);
140.84 + // peerGlobalRef is deleted in SetNativeFocusOwner
140.85
140.86 - jclass keyclass = env->FindClass("java/awt/event/KeyEvent");
140.87 - DASSERT (keyclass != NULL);
140.88 -
140.89 - AwtKeyboardFocusManager::isProxyActive =
140.90 - env->GetFieldID(keyclass, "isProxyActive", "Z");
140.91 -
140.92 - env->DeleteLocalRef(keyclass);
140.93 -
140.94 - DASSERT(AwtKeyboardFocusManager::keyboardFocusManagerCls != NULL);
140.95 - DASSERT(AwtKeyboardFocusManager::shouldNativelyFocusHeavyweightMID !=
140.96 - NULL);
140.97 - DASSERT(AwtKeyboardFocusManager::heavyweightButtonDownMID != NULL);
140.98 - DASSERT(AwtKeyboardFocusManager::markClearGlobalFocusOwnerMID != NULL);
140.99 - DASSERT(AwtKeyboardFocusManager::removeLastFocusRequestMID != NULL);
140.100 - DASSERT(AwtKeyboardFocusManager::processSynchronousTransfer != NULL);
140.101 CATCH_BAD_ALLOC;
140.102 }
140.103
140.104 -
140.105 /*
140.106 - * Class: sun_awt_KeyboardFocusManagerPeerImpl
140.107 + * Class: sun_awt_windows_WKeyboardFocusManagerPeer
140.108 * Method: getNativeFocusOwner
140.109 - * Signature: ()Ljava/awt/Component;
140.110 + * Signature: (Lsun/awt/windows/WComponentPeer)
140.111 */
140.112 JNIEXPORT jobject JNICALL
140.113 -Java_sun_awt_KeyboardFocusManagerPeerImpl_getNativeFocusOwner
140.114 +Java_sun_awt_windows_WKeyboardFocusManagerPeer_getNativeFocusOwner
140.115 (JNIEnv *env, jclass cls)
140.116 {
140.117 TRY;
140.118 @@ -118,12 +90,12 @@
140.119 }
140.120
140.121 /*
140.122 - * Class: sun_awt_KeyboardFocusManagerPeerImpl
140.123 + * Class: sun_awt_windows_WKeyboardFocusManagerPeer
140.124 * Method: getNativeFocusedWindow
140.125 * Signature: ()Ljava/awt/Window;
140.126 */
140.127 JNIEXPORT jobject JNICALL
140.128 -Java_sun_awt_KeyboardFocusManagerPeerImpl_getNativeFocusedWindow
140.129 +Java_sun_awt_windows_WKeyboardFocusManagerPeer_getNativeFocusedWindow
140.130 (JNIEnv *env, jclass cls)
140.131 {
140.132 TRY;
140.133 @@ -132,21 +104,4 @@
140.134
140.135 CATCH_BAD_ALLOC_RET(NULL);
140.136 }
140.137 -
140.138 -/*
140.139 - * Class: sun_awt_KeyboardFocusManagerPeerImpl
140.140 - * Method: clearNativeGlobalFocusOwner
140.141 - * Signature: (Ljava/awt/Window;)V
140.142 - */
140.143 -JNIEXPORT void JNICALL
140.144 -Java_sun_awt_KeyboardFocusManagerPeerImpl_clearNativeGlobalFocusOwner
140.145 - (JNIEnv *env, jobject self, jobject activeWindow)
140.146 -{
140.147 - TRY;
140.148 -
140.149 - AwtToolkit::GetInstance().InvokeFunction
140.150 - ((void*(*)(void))AwtComponent::ClearGlobalFocusOwner);
140.151 -
140.152 - CATCH_BAD_ALLOC;
140.153 }
140.154 -}
141.1 --- a/src/windows/native/sun/windows/awt_KeyboardFocusManager.h Tue Apr 14 00:05:07 2009 -0700
141.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
141.3 @@ -1,43 +0,0 @@
141.4 -/*
141.5 - * Copyright 2001-2002 Sun Microsystems, Inc. All Rights Reserved.
141.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
141.7 - *
141.8 - * This code is free software; you can redistribute it and/or modify it
141.9 - * under the terms of the GNU General Public License version 2 only, as
141.10 - * published by the Free Software Foundation. Sun designates this
141.11 - * particular file as subject to the "Classpath" exception as provided
141.12 - * by Sun in the LICENSE file that accompanied this code.
141.13 - *
141.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
141.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
141.16 - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
141.17 - * version 2 for more details (a copy is included in the LICENSE file that
141.18 - * accompanied this code).
141.19 - *
141.20 - * You should have received a copy of the GNU General Public License version
141.21 - * 2 along with this work; if not, write to the Free Software Foundation,
141.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
141.23 - *
141.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
141.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
141.26 - * have any questions.
141.27 - */
141.28 -
141.29 -#ifndef AWT_KEYBOARDFOCUSMANAGER_H
141.30 -#define AWT_KEYBOARDFOCUSMANAGER_H
141.31 -
141.32 -#include <jni.h>
141.33 -
141.34 -class AwtKeyboardFocusManager {
141.35 -public:
141.36 -
141.37 - static jclass keyboardFocusManagerCls;
141.38 - static jmethodID shouldNativelyFocusHeavyweightMID;
141.39 - static jmethodID heavyweightButtonDownMID;
141.40 - static jmethodID markClearGlobalFocusOwnerMID;
141.41 - static jmethodID removeLastFocusRequestMID;
141.42 - static jfieldID isProxyActive;
141.43 - static jmethodID processSynchronousTransfer;
141.44 -};
141.45 -
141.46 -#endif // AWT_KEYBOARDFOCUSMANAGER_H
142.1 --- a/src/windows/native/sun/windows/awt_List.cpp Tue Apr 14 00:05:07 2009 -0700
142.2 +++ b/src/windows/native/sun/windows/awt_List.cpp Tue Apr 14 04:21:02 2009 -0700
142.3 @@ -1,5 +1,5 @@
142.4 /*
142.5 - * Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved.
142.6 + * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved.
142.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
142.8 *
142.9 * This code is free software; you can redistribute it and/or modify it
142.10 @@ -24,7 +24,6 @@
142.11 */
142.12
142.13 #include "awt_List.h"
142.14 -#include "awt_KeyboardFocusManager.h"
142.15 #include "awt_Canvas.h"
142.16 #include "awt_Dimension.h"
142.17 #include "awt_Toolkit.h"
142.18 @@ -154,28 +153,6 @@
142.19 return c;
142.20 }
142.21
142.22 -BOOL AwtList::ActMouseMessage(MSG * pMsg) {
142.23 - if (!IsFocusingMessage(pMsg->message)) {
142.24 - return FALSE;
142.25 - }
142.26 -
142.27 - if (pMsg->message == WM_LBUTTONDOWN) {
142.28 - LONG item = static_cast<LONG>(SendListMessage(LB_ITEMFROMPOINT, 0, pMsg->lParam));
142.29 - if (item != LB_ERR) {
142.30 - if (isMultiSelect) {
142.31 - if (IsItemSelected(item)) {
142.32 - Deselect(item);
142.33 - } else {
142.34 - Select(item);
142.35 - }
142.36 - } else {
142.37 - Select(item);
142.38 - }
142.39 - }
142.40 - }
142.41 - return TRUE;
142.42 -}
142.43 -
142.44 void AwtList::SetDragCapture(UINT flags)
142.45 {
142.46 // don't want to interfere with other controls
142.47 @@ -473,17 +450,11 @@
142.48 }
142.49
142.50 /*
142.51 - * Fix for 6240202. List being inside a non-focusable Window (or non-focusable List
142.52 - * being a single component inside a focusable Window) won't trigger ActionEvent by
142.53 - * double click. All focus events will be filtered (in the AWT focus hook) for such
142.54 - * a Window containing the List. In such a case OS Windows won't generate WM_COMMAND
142.55 - * (and no WmNotify() will be called for the List). Here we call WmCommand()
142.56 - * synthetically.
142.57 + * As we consume WM_LBUTONDOWN the list won't trigger ActionEvent by double click.
142.58 + * We trigger it ourselves. (see also 6240202)
142.59 */
142.60 int clickCount = GetClickCount();
142.61 - if (button == LEFT_BUTTON && clickCount >= 2 && clickCount % 2 == 0 &&
142.62 - !GetContainer()->IsFocusableWindow())
142.63 - {
142.64 + if (button == LEFT_BUTTON && clickCount >= 2 && clickCount % 2 == 0) {
142.65 WmCommand(0, GetListHandle(), LBN_DBLCLK);
142.66 }
142.67 return mrResult;
142.68 @@ -500,67 +471,32 @@
142.69 return mrConsume;
142.70 }
142.71
142.72 -// Override WmSetFocus and WmKillFocus so that they operate on the List handle
142.73 -// instead of the wrapper handle. Otherwise, the methods are the same as their
142.74 -// AwtComponent counterparts.
142.75 -
142.76 -MsgRouting AwtList::WmSetFocus(HWND hWndLostFocus) {
142.77 - if (sm_focusOwner == GetListHandle()) {
142.78 - sm_realFocusOpposite = NULL;
142.79 - return mrConsume;
142.80 - }
142.81 -
142.82 - sm_focusOwner = GetListHandle();
142.83 -
142.84 - if (sm_realFocusOpposite != NULL) {
142.85 - hWndLostFocus = sm_realFocusOpposite;
142.86 - sm_realFocusOpposite = NULL;
142.87 - }
142.88 -
142.89 - SendFocusEvent(java_awt_event_FocusEvent_FOCUS_GAINED, hWndLostFocus);
142.90 -
142.91 - return mrDoDefault;
142.92 -}
142.93 -
142.94 -MsgRouting AwtList::WmKillFocus(HWND hWndGotFocus) {
142.95 - if (sm_focusOwner != NULL && sm_focusOwner == hWndGotFocus) {
142.96 - return mrConsume;
142.97 - }
142.98 -
142.99 - if (sm_focusOwner != GetListHandle()) {
142.100 - if (sm_focusOwner != NULL) {
142.101 - if (hWndGotFocus != NULL &&
142.102 - AwtComponent::GetComponent(hWndGotFocus) != NULL)
142.103 - {
142.104 - sm_realFocusOpposite = sm_focusOwner;
142.105 - }
142.106 - ::SendMessage(sm_focusOwner, WM_KILLFOCUS, (WPARAM)hWndGotFocus,
142.107 - 0);
142.108 - }
142.109 - return mrConsume;
142.110 - }
142.111 -
142.112 - sm_focusOwner = NULL;
142.113 -
142.114 - SendFocusEvent(java_awt_event_FocusEvent_FOCUS_LOST, hWndGotFocus);
142.115 -
142.116 - return mrDoDefault;
142.117 +BOOL AwtList::IsFocusingMouseMessage(MSG *pMsg)
142.118 +{
142.119 + return pMsg->message == WM_LBUTTONDOWN || pMsg->message == WM_LBUTTONDBLCLK;
142.120 }
142.121
142.122 MsgRouting AwtList::HandleEvent(MSG *msg, BOOL synthetic)
142.123 {
142.124 - if (AwtComponent::sm_focusOwner != GetListHandle() &&
142.125 - (msg->message == WM_LBUTTONDOWN || msg->message == WM_LBUTTONDBLCLK))
142.126 - {
142.127 - JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
142.128 - jobject target = GetTarget(env);
142.129 - env->CallStaticVoidMethod
142.130 - (AwtKeyboardFocusManager::keyboardFocusManagerCls,
142.131 - AwtKeyboardFocusManager::heavyweightButtonDownMID,
142.132 - target, ((jlong)msg->time) & 0xFFFFFFFF);
142.133 - env->DeleteLocalRef(target);
142.134 + if (IsFocusingMouseMessage(msg)) {
142.135 + LONG item = static_cast<LONG>(SendListMessage(LB_ITEMFROMPOINT, 0, msg->lParam));
142.136 + if (item != LB_ERR) {
142.137 + if (isMultiSelect) {
142.138 + if (IsItemSelected(item)) {
142.139 + Deselect(item);
142.140 + } else {
142.141 + Select(item);
142.142 + }
142.143 + } else {
142.144 + Select(item);
142.145 + }
142.146 + }
142.147 + delete msg;
142.148 + return mrConsume;
142.149 }
142.150 -
142.151 + if (msg->message == WM_KEYDOWN && msg->wParam == VK_RETURN) {
142.152 + WmNotify(LBN_DBLCLK);
142.153 + }
142.154 return AwtComponent::HandleEvent(msg, synthetic);
142.155 }
142.156
142.157 @@ -607,15 +543,6 @@
142.158 return mrDoDefault;
142.159 }
142.160
142.161 -MsgRouting
142.162 -AwtList::WmKeyDown(UINT wkey, UINT repCnt, UINT flags, BOOL system)
142.163 -{
142.164 - if (wkey == VK_RETURN) {
142.165 - WmNotify(LBN_DBLCLK);
142.166 - }
142.167 - return AwtComponent::WmKeyDown(wkey, repCnt, flags, system);
142.168 -}
142.169 -
142.170 BOOL AwtList::InheritsNativeMouseWheelBehavior() {return true;}
142.171
142.172 jint AwtList::_GetMaxWidth(void *param)
143.1 --- a/src/windows/native/sun/windows/awt_List.h Tue Apr 14 00:05:07 2009 -0700
143.2 +++ b/src/windows/native/sun/windows/awt_List.h Tue Apr 14 04:21:02 2009 -0700
143.3 @@ -1,5 +1,5 @@
143.4 /*
143.5 - * Copyright 1996-2006 Sun Microsystems, Inc. All Rights Reserved.
143.6 + * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved.
143.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
143.8 *
143.9 * This code is free software; you can redistribute it and/or modify it
143.10 @@ -97,8 +97,6 @@
143.11 }
143.12 }
143.13
143.14 - BOOL ActMouseMessage(MSG* pMsg);
143.15 -
143.16 // Netscape : Change the font on the list and redraw the
143.17 // items nicely.
143.18 virtual void SetFont(AwtFont *pFont);
143.19 @@ -116,7 +114,6 @@
143.20 MsgRouting WmMouseDown(UINT flags, int x, int y, int button);
143.21 MsgRouting WmMouseUp(UINT flags, int x, int y, int button);
143.22 MsgRouting WmNotify(UINT notifyCode);
143.23 - MsgRouting WmKeyDown(UINT vkey, UINT repCnt, UINT flags, BOOL system);
143.24
143.25 /* for multifont list */
143.26 MsgRouting OwnerDrawItem(UINT ctrlId, DRAWITEMSTRUCT& drawInfo);
143.27 @@ -127,8 +124,6 @@
143.28
143.29 MsgRouting WmCtlColor(HDC hDC, HWND hCtrl, UINT ctlColor,
143.30 HBRUSH& retBrush);
143.31 - MsgRouting WmSetFocus(HWND hWndLostFocus);
143.32 - MsgRouting WmKillFocus(HWND hWndGotFocus);
143.33
143.34 MsgRouting HandleEvent(MSG *msg, BOOL synthetic);
143.35
143.36 @@ -170,6 +165,8 @@
143.37
143.38 virtual BOOL InheritsNativeMouseWheelBehavior();
143.39
143.40 + virtual BOOL IsFocusingMouseMessage(MSG *pMsg);
143.41 +
143.42 // some methods called on Toolkit thread
143.43 static jint _GetMaxWidth(void *param);
143.44 static void _UpdateMaxItemWidth(void *param);
144.1 --- a/src/windows/native/sun/windows/awt_Panel.cpp Tue Apr 14 00:05:07 2009 -0700
144.2 +++ b/src/windows/native/sun/windows/awt_Panel.cpp Tue Apr 14 04:21:02 2009 -0700
144.3 @@ -34,70 +34,6 @@
144.4
144.5 jfieldID AwtPanel::insets_ID;
144.6
144.7 -static char* AWTPANEL_RESTACK_MSG_1 = "Peers array is null";
144.8 -static char* AWTPANEL_RESTACK_MSG_2 = "Peer null in JNI";
144.9 -static char* AWTPANEL_RESTACK_MSG_3 = "Native resources unavailable";
144.10 -static char* AWTPANEL_RESTACK_MSG_4 = "Child peer is null";
144.11 -
144.12 -void* AwtPanel::Restack(void * param) {
144.13 - TRY;
144.14 -
144.15 - JNIEnv* env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
144.16 - jobjectArray peers = (jobjectArray)param;
144.17 -
144.18 - int peerCount = env->GetArrayLength(peers);
144.19 - if (peerCount < 1) {
144.20 - env->DeleteGlobalRef(peers);
144.21 - return AWTPANEL_RESTACK_MSG_1;
144.22 - }
144.23 -
144.24 - jobject self = env->GetObjectArrayElement(peers, 0);
144.25 - // It's entirely possible that our native resources have been destroyed
144.26 - // before our java peer - if we're dispose()d, for instance.
144.27 - // Alert caller w/ IllegalComponentStateException.
144.28 - if (self == NULL) {
144.29 - env->DeleteGlobalRef(peers);
144.30 - return AWTPANEL_RESTACK_MSG_2;
144.31 - }
144.32 - PDATA pData = JNI_GET_PDATA(self);
144.33 - if (pData == NULL) {
144.34 - env->DeleteGlobalRef(peers);
144.35 - env->DeleteLocalRef(self);
144.36 - return AWTPANEL_RESTACK_MSG_3;
144.37 - }
144.38 -
144.39 - AwtPanel* panel = (AwtPanel*)pData;
144.40 -
144.41 - HWND prevWindow = 0;
144.42 -
144.43 - for (int i = 1; i < peerCount; i++) {
144.44 - jobject peer = env->GetObjectArrayElement(peers, i);
144.45 - if (peer == NULL) {
144.46 - // Nonsense
144.47 - env->DeleteGlobalRef(peers);
144.48 - env->DeleteLocalRef(self);
144.49 - return AWTPANEL_RESTACK_MSG_4;
144.50 - }
144.51 - PDATA child_pData = JNI_GET_PDATA(peer);
144.52 - if (child_pData == NULL) {
144.53 - env->DeleteLocalRef(peer);
144.54 - env->DeleteGlobalRef(peers);
144.55 - env->DeleteLocalRef(self);
144.56 - return AWTPANEL_RESTACK_MSG_3;
144.57 - }
144.58 - AwtComponent* child_comp = (AwtComponent*)child_pData;
144.59 - ::SetWindowPos(child_comp->GetHWnd(), prevWindow, 0, 0, 0, 0,
144.60 - SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_DEFERERASE | SWP_ASYNCWINDOWPOS);
144.61 - prevWindow = child_comp->GetHWnd();
144.62 - env->DeleteLocalRef(peer);
144.63 - }
144.64 - env->DeleteGlobalRef(peers);
144.65 - env->DeleteLocalRef(self);
144.66 -
144.67 - CATCH_BAD_ALLOC_RET("Allocation error");
144.68 - return NULL;
144.69 -}
144.70 -
144.71 /************************************************************************
144.72 * AwtPanel native methods
144.73 */
144.74 @@ -116,18 +52,4 @@
144.75 CATCH_BAD_ALLOC;
144.76 }
144.77
144.78 -JNIEXPORT void JNICALL
144.79 -Java_sun_awt_windows_WPanelPeer_pRestack(JNIEnv *env, jobject self, jobjectArray peers) {
144.80 -
144.81 - TRY;
144.82 -
144.83 - const char * error = (const char*)AwtToolkit::GetInstance().InvokeFunction(AwtPanel::Restack, env->NewGlobalRef(peers));
144.84 - if (error != NULL) {
144.85 - JNU_ThrowByName(env, "java/awt/IllegalComponentStateException", error);
144.86 - }
144.87 -
144.88 - CATCH_BAD_ALLOC;
144.89 -}
144.90 -
144.91 -
144.92 } /* extern "C" */
145.1 --- a/src/windows/native/sun/windows/awt_Panel.h Tue Apr 14 00:05:07 2009 -0700
145.2 +++ b/src/windows/native/sun/windows/awt_Panel.h Tue Apr 14 04:21:02 2009 -0700
145.3 @@ -35,11 +35,8 @@
145.4
145.5 class AwtPanel {
145.6 public:
145.7 - static void* Restack(void * param);
145.8 -
145.9 /* java.awt.Panel field ids */
145.10 static jfieldID insets_ID;
145.11 -
145.12 };
145.13
145.14 #endif // AWT_PANEL_H
146.1 --- a/src/windows/native/sun/windows/awt_PrintDialog.cpp Tue Apr 14 00:05:07 2009 -0700
146.2 +++ b/src/windows/native/sun/windows/awt_PrintDialog.cpp Tue Apr 14 04:21:02 2009 -0700
146.3 @@ -65,7 +65,8 @@
146.4 }
146.5 }
146.6
146.7 - return ComCtl32Util::GetInstance().DefWindowProc(NULL, hWnd, message, wParam, lParam);
146.8 + WNDPROC lpfnWndProc = (WNDPROC)(::GetProp(hWnd, NativeDialogWndProcProp));
146.9 + return ComCtl32Util::GetInstance().DefWindowProc(lpfnWndProc, hWnd, message, wParam, lParam);
146.10 }
146.11
146.12 static UINT_PTR CALLBACK
146.13 @@ -87,7 +88,7 @@
146.14 DWORD style = ::GetClassLong(hdlg, GCL_STYLE);
146.15 ::SetClassLong(hdlg,GCL_STYLE, style & ~CS_SAVEBITS);
146.16
146.17 - ::SetFocus(hdlg);
146.18 + ::SetFocus(hdlg); // will not break synthetic focus as hdlg is a native toplevel
146.19
146.20 // set appropriate icon for parentless dialogs
146.21 jobject awtParent = env->GetObjectField(peer, AwtPrintDialog::parentID);
146.22 @@ -99,16 +100,19 @@
146.23 }
146.24
146.25 // subclass dialog's parent to receive additional messages
146.26 - ComCtl32Util::GetInstance().SubclassHWND(hdlg,
146.27 - PrintDialogWndProc);
146.28 + WNDPROC lpfnWndProc = ComCtl32Util::GetInstance().SubclassHWND(hdlg,
146.29 + PrintDialogWndProc);
146.30 + ::SetProp(hdlg, NativeDialogWndProcProp, reinterpret_cast<HANDLE>(lpfnWndProc));
146.31
146.32 break;
146.33 }
146.34 case WM_DESTROY: {
146.35 + WNDPROC lpfnWndProc = (WNDPROC)(::GetProp(hdlg, NativeDialogWndProcProp));
146.36 ComCtl32Util::GetInstance().UnsubclassHWND(hdlg,
146.37 PrintDialogWndProc,
146.38 - NULL);
146.39 + lpfnWndProc);
146.40 ::RemoveProp(hdlg, ModalDialogPeerProp);
146.41 + ::RemoveProp(hdlg, NativeDialogWndProcProp);
146.42 break;
146.43 }
146.44 }
147.1 --- a/src/windows/native/sun/windows/awt_PrintJob.cpp Tue Apr 14 00:05:07 2009 -0700
147.2 +++ b/src/windows/native/sun/windows/awt_PrintJob.cpp Tue Apr 14 04:21:02 2009 -0700
147.3 @@ -2885,7 +2885,8 @@
147.4 }
147.5 }
147.6
147.7 - return ComCtl32Util::GetInstance().DefWindowProc(NULL, hWnd, message, wParam, lParam);
147.8 + WNDPROC lpfnWndProc = (WNDPROC)(::GetProp(hWnd, NativeDialogWndProcProp));
147.9 + return ComCtl32Util::GetInstance().DefWindowProc(lpfnWndProc, hWnd, message, wParam, lParam);
147.10 }
147.11
147.12 /**
147.13 @@ -2919,16 +2920,19 @@
147.14 }
147.15
147.16 // subclass dialog's parent to receive additional messages
147.17 - ComCtl32Util::GetInstance().SubclassHWND(hDlg,
147.18 - PageDialogWndProc);
147.19 + WNDPROC lpfnWndProc = ComCtl32Util::GetInstance().SubclassHWND(hDlg,
147.20 + PageDialogWndProc);
147.21 + ::SetProp(hDlg, NativeDialogWndProcProp, reinterpret_cast<HANDLE>(lpfnWndProc));
147.22
147.23 break;
147.24 }
147.25 case WM_DESTROY: {
147.26 + WNDPROC lpfnWndProc = (WNDPROC)(::GetProp(hDlg, NativeDialogWndProcProp));
147.27 ComCtl32Util::GetInstance().UnsubclassHWND(hDlg,
147.28 PageDialogWndProc,
147.29 - NULL);
147.30 + lpfnWndProc);
147.31 ::RemoveProp(hDlg, ModalDialogPeerProp);
147.32 + ::RemoveProp(hDlg, NativeDialogWndProcProp);
147.33 break;
147.34 }
147.35 }
148.1 --- a/src/windows/native/sun/windows/awt_ScrollPane.cpp Tue Apr 14 00:05:07 2009 -0700
148.2 +++ b/src/windows/native/sun/windows/awt_ScrollPane.cpp Tue Apr 14 04:21:02 2009 -0700
148.3 @@ -1,5 +1,5 @@
148.4 /*
148.5 - * Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved.
148.6 + * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved.
148.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
148.8 *
148.9 * This code is free software; you can redistribute it and/or modify it
148.10 @@ -361,13 +361,6 @@
148.11 DASSERT(!safe_ExceptionOccurred(env));
148.12 }
148.13
148.14 -BOOL AwtScrollPane::ActMouseMessage(MSG* pMsg) {
148.15 - if (!IsFocusingMessage(pMsg->message)) {
148.16 - return FALSE;
148.17 - }
148.18 - return TRUE;
148.19 -}
148.20 -
148.21 MsgRouting
148.22 AwtScrollPane::WmNcHitTest(UINT x, UINT y, LRESULT& retVal)
148.23 {
148.24 @@ -412,13 +405,10 @@
148.25 return mrConsume;
148.26 }
148.27
148.28 -/*
148.29 - * Fix for BugTraq ID 4041703: keyDown not being invoked.
148.30 - * This method overrides AwtCanvas::HandleEvent() since we
148.31 - * don't want ScrollPanel to receive focus on mouse press.
148.32 - */
148.33 MsgRouting AwtScrollPane::HandleEvent(MSG *msg, BOOL synthetic)
148.34 {
148.35 + // SunAwtScrollPane control doesn't cause activation on mouse/key events,
148.36 + // so we can safely (for synthetic focus) pass them to the system proc.
148.37 return AwtComponent::HandleEvent(msg, synthetic);
148.38 }
148.39
149.1 --- a/src/windows/native/sun/windows/awt_ScrollPane.h Tue Apr 14 00:05:07 2009 -0700
149.2 +++ b/src/windows/native/sun/windows/awt_ScrollPane.h Tue Apr 14 04:21:02 2009 -0700
149.3 @@ -1,5 +1,5 @@
149.4 /*
149.5 - * Copyright 1996-2006 Sun Microsystems, Inc. All Rights Reserved.
149.6 + * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved.
149.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
149.8 *
149.9 * This code is free software; you can redistribute it and/or modify it
149.10 @@ -65,7 +65,6 @@
149.11 virtual void Reshape(int x, int y, int w, int h);
149.12 virtual void BeginValidate() {}
149.13 virtual void EndValidate() {}
149.14 - BOOL ActMouseMessage(MSG* pMsg);
149.15
149.16 /*
149.17 * Fix for bug 4046446
150.1 --- a/src/windows/native/sun/windows/awt_Scrollbar.cpp Tue Apr 14 00:05:07 2009 -0700
150.2 +++ b/src/windows/native/sun/windows/awt_Scrollbar.cpp Tue Apr 14 04:21:02 2009 -0700
150.3 @@ -1,5 +1,5 @@
150.4 /*
150.5 - * Copyright 1996-2006 Sun Microsystems, Inc. All Rights Reserved.
150.6 + * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved.
150.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
150.8 *
150.9 * This code is free software; you can redistribute it and/or modify it
150.10 @@ -27,7 +27,6 @@
150.11 #include "awt_Scrollbar.h"
150.12 #include "awt_Canvas.h"
150.13 #include "awt_Window.h"
150.14 -#include "awt_KeyboardFocusManager.h"
150.15
150.16 /* IMPORTANT! Read the README.JNI file for notes on JNI converted AWT code.
150.17 */
150.18 @@ -61,7 +60,6 @@
150.19 m_orientation = SB_HORZ;
150.20 m_lineIncr = 0;
150.21 m_pageIncr = 0;
150.22 - m_ignoreFocusEvents = FALSE;
150.23 m_prevCallback = NULL;
150.24 m_prevCallbackPos = 0;
150.25 ms_instanceCounter++;
150.26 @@ -221,7 +219,6 @@
150.27 return retValue;
150.28 }
150.29
150.30 -
150.31 MsgRouting
150.32 AwtScrollbar::WmNcHitTest(UINT x, UINT y, LRESULT& retVal)
150.33 {
150.34 @@ -265,17 +262,10 @@
150.35 MsgRouting
150.36 AwtScrollbar::HandleEvent(MSG *msg, BOOL synthetic)
150.37 {
150.38 - if (msg->message == WM_LBUTTONDOWN || msg->message == WM_LBUTTONDBLCLK) {
150.39 - if (IsFocusable() && AwtComponent::sm_focusOwner != GetHWnd()) {
150.40 - JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
150.41 - jobject target = GetTarget(env);
150.42 - env->CallStaticVoidMethod
150.43 - (AwtKeyboardFocusManager::keyboardFocusManagerCls,
150.44 - AwtKeyboardFocusManager::heavyweightButtonDownMID,
150.45 - target, ((jlong)msg->time) & 0xFFFFFFFF);
150.46 - env->DeleteLocalRef(target);
150.47 - AwtSetFocus();
150.48 - }
150.49 + // SCROLLBAR control doesn't cause activation on mouse/key events,
150.50 + // so we can safely (for synthetic focus) pass them to the system proc.
150.51 +
150.52 + if (IsFocusingMouseMessage(msg)) {
150.53 // Left button press was already routed to default window
150.54 // procedure in the WmMouseDown above. Propagating synthetic
150.55 // press seems like a bad idea as internal message loop
150.56 @@ -283,54 +273,19 @@
150.57 delete msg;
150.58 return mrConsume;
150.59 }
150.60 - else {
150.61 - return AwtComponent::HandleEvent(msg, synthetic);
150.62 - }
150.63 + return AwtComponent::HandleEvent(msg, synthetic);
150.64 }
150.65
150.66 -
150.67 // Work around a windows bug descrbed in KB article Q73839. Reset
150.68 // focus on scrollbars to update focus indicator. The article advises
150.69 -// to disable/enable the scrollbar, but simply resetting the focus is
150.70 -// sufficient.
150.71 +// to disable/enable the scrollbar.
150.72 void
150.73 AwtScrollbar::UpdateFocusIndicator()
150.74 {
150.75 if (IsFocusable()) {
150.76 - m_ignoreFocusEvents = TRUE;
150.77 - ::SetFocus(NULL);
150.78 - AwtSetFocus();
150.79 - m_ignoreFocusEvents = FALSE;
150.80 - }
150.81 -}
150.82 -
150.83 -MsgRouting
150.84 -AwtScrollbar::WmKillFocus(HWND hWndGot)
150.85 -{
150.86 - if (m_ignoreFocusEvents) {
150.87 - // We are voluntary giving up focus and will get it back
150.88 - // immediately. This is necessary to force windows to update
150.89 - // the focus indicator.
150.90 - sm_focusOwner = NULL;
150.91 - return mrDoDefault;
150.92 - }
150.93 - else {
150.94 - return AwtComponent::WmKillFocus(hWndGot);
150.95 - }
150.96 -}
150.97 -
150.98 -MsgRouting
150.99 -AwtScrollbar::WmSetFocus(HWND hWndLost)
150.100 -{
150.101 - if (m_ignoreFocusEvents) {
150.102 - // We have voluntary gave up focus and are getting it back
150.103 - // now. This is necessary to force windows to update the
150.104 - // focus indicator.
150.105 - sm_focusOwner = GetHWnd();
150.106 - return mrDoDefault;
150.107 - }
150.108 - else {
150.109 - return AwtComponent::WmSetFocus(hWndLost);
150.110 + // todo: doesn't work
150.111 + SendMessage((WPARAM)ESB_DISABLE_BOTH);
150.112 + SendMessage((WPARAM)ESB_ENABLE_BOTH);
150.113 }
150.114 }
150.115
151.1 --- a/src/windows/native/sun/windows/awt_Scrollbar.h Tue Apr 14 00:05:07 2009 -0700
151.2 +++ b/src/windows/native/sun/windows/awt_Scrollbar.h Tue Apr 14 04:21:02 2009 -0700
151.3 @@ -1,5 +1,5 @@
151.4 /*
151.5 - * Copyright 1996-2006 Sun Microsystems, Inc. All Rights Reserved.
151.6 + * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved.
151.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
151.8 *
151.9 * This code is free software; you can redistribute it and/or modify it
151.10 @@ -69,10 +69,6 @@
151.11 virtual MsgRouting WmHScroll(UINT scrollCode, UINT pos, HWND hScrollBar);
151.12 virtual MsgRouting WmVScroll(UINT scrollCode, UINT pos, HWND hScrollBar);
151.13
151.14 - // Work around KB Q73839 bug.
151.15 - virtual MsgRouting WmSetFocus(HWND hWndLost);
151.16 - virtual MsgRouting WmKillFocus(HWND hWndGot);
151.17 -
151.18 // Prevent KB Q102552 race.
151.19 virtual MsgRouting WmMouseDown(UINT flags, int x, int y, int button);
151.20 virtual MsgRouting WmNcHitTest(UINT x, UINT y, LRESULT& retVal);
151.21 @@ -91,7 +87,6 @@
151.22 int m_pageIncr;
151.23
151.24 // Work around KB Q73839 bug.
151.25 - BOOL m_ignoreFocusEvents;
151.26 void UpdateFocusIndicator();
151.27
151.28 // Don't do redundant callbacks.
152.1 --- a/src/windows/native/sun/windows/awt_TextArea.cpp Tue Apr 14 00:05:07 2009 -0700
152.2 +++ b/src/windows/native/sun/windows/awt_TextArea.cpp Tue Apr 14 04:21:02 2009 -0700
152.3 @@ -1,5 +1,5 @@
152.4 /*
152.5 - * Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved.
152.6 + * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved.
152.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
152.8 *
152.9 * This code is free software; you can redistribute it and/or modify it
152.10 @@ -26,9 +26,9 @@
152.11 #include "awt_Toolkit.h"
152.12 #include "awt_TextArea.h"
152.13 #include "awt_TextComponent.h"
152.14 -#include "awt_KeyboardFocusManager.h"
152.15 #include "awt_Canvas.h"
152.16 #include "awt_Window.h"
152.17 +#include "awt_Frame.h"
152.18
152.19 /* IMPORTANT! Read the README.JNI file for notes on JNI converted AWT code.
152.20 */
152.21 @@ -362,13 +362,6 @@
152.22 DASSERT(::IsWindow(::GetParent(hWnd)));
152.23
152.24 switch (message) {
152.25 - case WM_SETFOCUS:
152.26 - ::SendMessage(::GetParent(hWnd), EM_HIDESELECTION, FALSE, 0);
152.27 - break;
152.28 - case WM_KILLFOCUS:
152.29 - ::SendMessage(::GetParent(hWnd), EM_HIDESELECTION, TRUE, 0);
152.30 - break;
152.31 -
152.32 case WM_UNDO:
152.33 case WM_CUT:
152.34 case WM_COPY:
152.35 @@ -400,7 +393,6 @@
152.36
152.37 MsgRouting
152.38 AwtTextArea::WmContextMenu(HWND hCtrl, UINT xPos, UINT yPos) {
152.39 -
152.40 /* Use the system provided edit control class to generate context menu. */
152.41 if (m_hEditCtrl == NULL) {
152.42 DWORD dwStyle = WS_CHILD;
152.43 @@ -494,22 +486,11 @@
152.44 VERIFY(::ClientToScreen(GetHWnd(), &p));
152.45 }
152.46
152.47 - ::SendMessage(m_hEditCtrl, WM_CONTEXTMENU, (WPARAM)m_hEditCtrl,
152.48 - MAKELPARAM(p.x, p.y));
152.49 - /*
152.50 - * After the context menu is dismissed focus is owned by the edit contol.
152.51 - * Return focus to parent.
152.52 - */
152.53 - if (IsFocusable() && AwtComponent::sm_focusOwner != GetHWnd()) {
152.54 - JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
152.55 - jobject target = GetTarget(env);
152.56 - env->CallStaticVoidMethod
152.57 - (AwtKeyboardFocusManager::keyboardFocusManagerCls,
152.58 - AwtKeyboardFocusManager::heavyweightButtonDownMID,
152.59 - target, TimeHelper::getMessageTimeUTC());
152.60 - env->DeleteLocalRef(target);
152.61 - AwtSetFocus();
152.62 - }
152.63 + // The context menu steals focus from the proxy.
152.64 + // So, set the focus-restore flag up.
152.65 + SetRestoreFocus(TRUE);
152.66 + ::SendMessage(m_hEditCtrl, WM_CONTEXTMENU, (WPARAM)m_hEditCtrl, MAKELPARAM(p.x, p.y));
152.67 + SetRestoreFocus(FALSE);
152.68
152.69 return mrConsume;
152.70 }
152.71 @@ -558,20 +539,11 @@
152.72 * By consuming WM_MOUSEMOVE messages we also don't give
152.73 * the RichEdit control a chance to recognize a drag gesture
152.74 * and initiate its own drag-n-drop operation.
152.75 + *
152.76 + * The workaround also allows us to implement synthetic focus mechanism.
152.77 + *
152.78 */
152.79 - if (msg->message == WM_LBUTTONDOWN || msg->message == WM_LBUTTONDBLCLK) {
152.80 -
152.81 - if (IsFocusable() && AwtComponent::sm_focusOwner != GetHWnd()) {
152.82 - JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
152.83 - jobject target = GetTarget(env);
152.84 - env->CallStaticVoidMethod
152.85 - (AwtKeyboardFocusManager::keyboardFocusManagerCls,
152.86 - AwtKeyboardFocusManager::heavyweightButtonDownMID,
152.87 - target, ((jlong)msg->time) & 0xFFFFFFFF);
152.88 - env->DeleteLocalRef(target);
152.89 - AwtSetFocus();
152.90 - }
152.91 -
152.92 + if (IsFocusingMouseMessage(msg)) {
152.93 CHARRANGE cr;
152.94
152.95 LONG lCurPos = EditGetCharFromPos(msg->pt);
152.96 @@ -717,6 +689,7 @@
152.97 p.x = -1;
152.98 p.y = -1;
152.99 }
152.100 +
152.101 if (!::PostMessage(GetHWnd(), WM_CONTEXTMENU, (WPARAM)GetHWnd(),
152.102 MAKELPARAM(p.x, p.y))) {
152.103 JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
152.104 @@ -724,6 +697,8 @@
152.105 env->ExceptionDescribe();
152.106 env->ExceptionClear();
152.107 }
152.108 + delete msg;
152.109 + return mrConsume;
152.110 } else if (msg->message == WM_MOUSEWHEEL) {
152.111 // 4417236: If there is an old version of RichEd32.dll which
152.112 // does not provide the mouse wheel scrolling we have to
153.1 --- a/src/windows/native/sun/windows/awt_TextComponent.cpp Tue Apr 14 00:05:07 2009 -0700
153.2 +++ b/src/windows/native/sun/windows/awt_TextComponent.cpp Tue Apr 14 04:21:02 2009 -0700
153.3 @@ -1,5 +1,5 @@
153.4 /*
153.5 - * Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved.
153.6 + * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved.
153.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
153.8 *
153.9 * This code is free software; you can redistribute it and/or modify it
153.10 @@ -25,7 +25,6 @@
153.11
153.12 #include "awt_Toolkit.h"
153.13 #include "awt_TextComponent.h"
153.14 -#include "awt_KeyboardFocusManager.h"
153.15 #include "awt_Canvas.h"
153.16
153.17 #include "jni.h"
153.18 @@ -62,9 +61,9 @@
153.19
153.20 AwtTextComponent::AwtTextComponent() {
153.21 m_synthetic = FALSE;
153.22 - m_lStartPos = -1;
153.23 - m_lEndPos = -1;
153.24 - m_lLastPos = -1;
153.25 + m_lStartPos = -1;
153.26 + m_lEndPos = -1;
153.27 + m_lLastPos = -1;
153.28 m_isLFonly = FALSE;
153.29 m_EOLchecked = FALSE;
153.30 // javaEventsMask = 0; // accessibility support
153.31 @@ -74,10 +73,6 @@
153.32 return TEXT("EDIT"); /* System provided edit control class */
153.33 }
153.34
153.35 -BOOL AwtTextComponent::ActMouseMessage(MSG* pMsg) {
153.36 - return FALSE;
153.37 -}
153.38 -
153.39 /* Set a suitable font to IME against the component font. */
153.40 void AwtTextComponent::SetFont(AwtFont* font)
153.41 {
153.42 @@ -143,23 +138,16 @@
153.43 return mrDoDefault;
153.44 }
153.45
153.46 +BOOL AwtTextComponent::IsFocusingMouseMessage(MSG *pMsg)
153.47 +{
153.48 + return pMsg->message == WM_LBUTTONDOWN || pMsg->message == WM_LBUTTONDBLCLK;
153.49 +}
153.50 +
153.51 MsgRouting
153.52 AwtTextComponent::HandleEvent(MSG *msg, BOOL synthetic)
153.53 {
153.54 MsgRouting returnVal;
153.55
153.56 - if (AwtComponent::sm_focusOwner != GetHWnd() && IsFocusable() &&
153.57 - (msg->message == WM_LBUTTONDOWN || msg->message == WM_LBUTTONDBLCLK))
153.58 - {
153.59 - JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
153.60 - jobject target = GetTarget(env);
153.61 - env->CallStaticVoidMethod
153.62 - (AwtKeyboardFocusManager::keyboardFocusManagerCls,
153.63 - AwtKeyboardFocusManager::heavyweightButtonDownMID,
153.64 - target, ((jlong)msg->time) & 0xFFFFFFFF);
153.65 - env->DeleteLocalRef(target);
153.66 - }
153.67 -
153.68 /*
153.69 * Store the 'synthetic' parameter so that the WM_PASTE security check
153.70 * happens only for synthetic events.
154.1 --- a/src/windows/native/sun/windows/awt_TextComponent.h Tue Apr 14 00:05:07 2009 -0700
154.2 +++ b/src/windows/native/sun/windows/awt_TextComponent.h Tue Apr 14 04:21:02 2009 -0700
154.3 @@ -1,5 +1,5 @@
154.4 /*
154.5 - * Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved.
154.6 + * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved.
154.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
154.8 *
154.9 * This code is free software; you can redistribute it and/or modify it
154.10 @@ -69,8 +69,6 @@
154.11 // called on Toolkit thread from JNI
154.12 static jstring _GetText(void *param);
154.13
154.14 - BOOL ActMouseMessage(MSG* pMsg);
154.15 -
154.16 void SetFont(AwtFont* font);
154.17
154.18 /*
154.19 @@ -80,6 +78,8 @@
154.20 MsgRouting HandleEvent(MSG *msg, BOOL synthetic);
154.21 MsgRouting WmPaste();
154.22
154.23 + virtual BOOL IsFocusingMouseMessage(MSG *pMsg);
154.24 +
154.25 /* To be fully implemented in a future release
154.26
154.27 MsgRouting WmKeyDown(UINT wkey, UINT repCnt,
154.28 @@ -125,7 +125,6 @@
154.29 LONG m_lEndPos;
154.30 LONG m_lLastPos;
154.31
154.32 -
154.33 HFONT m_hFont;
154.34 //im --- end
154.35
155.1 --- a/src/windows/native/sun/windows/awt_TextField.cpp Tue Apr 14 00:05:07 2009 -0700
155.2 +++ b/src/windows/native/sun/windows/awt_TextField.cpp Tue Apr 14 04:21:02 2009 -0700
155.3 @@ -1,5 +1,5 @@
155.4 /*
155.5 - * Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved.
155.6 + * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved.
155.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
155.8 *
155.9 * This code is free software; you can redistribute it and/or modify it
155.10 @@ -26,7 +26,6 @@
155.11 #include "awt_Toolkit.h"
155.12 #include "awt_TextField.h"
155.13 #include "awt_TextComponent.h"
155.14 -#include "awt_KeyboardFocusManager.h"
155.15 #include "awt_Canvas.h"
155.16
155.17 /* IMPORTANT! Read the README.JNI file for notes on JNI converted AWT code.
155.18 @@ -150,135 +149,130 @@
155.19 * By consuming WM_MOUSEMOVE messages we also don't give
155.20 * the RichEdit control a chance to recognize a drag gesture
155.21 * and initiate its own drag-n-drop operation.
155.22 + *
155.23 + * The workaround also allows us to implement synthetic focus mechanism.
155.24 */
155.25 - /**
155.26 - * In non-focusable mode we don't pass mouse messages to native window thus making user unable
155.27 - * to select the text. Below is the code from awt_TextArea.cpp which implements selection
155.28 - * functionality. For safety this code is only being executed in non-focusable mode.
155.29 - */
155.30 - if (!IsFocusable()) {
155.31 - if (msg->message == WM_LBUTTONDOWN || msg->message == WM_LBUTTONDBLCLK) {
155.32 + if (IsFocusingMouseMessage(msg)) {
155.33 + CHARRANGE cr;
155.34 +
155.35 + LONG lCurPos = EditGetCharFromPos(msg->pt);
155.36 +
155.37 + EditGetSel(cr);
155.38 + /*
155.39 + * NOTE: Plain EDIT control always clears selection on mouse
155.40 + * button press. We are clearing the current selection only if
155.41 + * the mouse pointer is not over the selected region.
155.42 + * In this case we sacrifice backward compatibility
155.43 + * to allow dnd of the current selection.
155.44 + */
155.45 + if (msg->message == WM_LBUTTONDBLCLK) {
155.46 + SetStartSelectionPos(static_cast<LONG>(SendMessage(
155.47 + EM_FINDWORDBREAK, WB_MOVEWORDLEFT, lCurPos)));
155.48 + SetEndSelectionPos(static_cast<LONG>(SendMessage(
155.49 + EM_FINDWORDBREAK, WB_MOVEWORDRIGHT, lCurPos)));
155.50 + } else {
155.51 + SetStartSelectionPos(lCurPos);
155.52 + SetEndSelectionPos(lCurPos);
155.53 + }
155.54 + cr.cpMin = GetStartSelectionPos();
155.55 + cr.cpMax = GetEndSelectionPos();
155.56 + EditSetSel(cr);
155.57 +
155.58 + delete msg;
155.59 + return mrConsume;
155.60 + } else if (msg->message == WM_LBUTTONUP) {
155.61 +
155.62 + /*
155.63 + * If the left mouse button is pressed on the selected region
155.64 + * we don't clear the current selection. We clear it on button
155.65 + * release instead. This is to allow dnd of the current selection.
155.66 + */
155.67 + if (GetStartSelectionPos() == -1 && GetEndSelectionPos() == -1) {
155.68 CHARRANGE cr;
155.69
155.70 LONG lCurPos = EditGetCharFromPos(msg->pt);
155.71
155.72 - EditGetSel(cr);
155.73 + cr.cpMin = lCurPos;
155.74 + cr.cpMax = lCurPos;
155.75 + EditSetSel(cr);
155.76 + }
155.77 +
155.78 + /*
155.79 + * Cleanup the state variables when left mouse button is released.
155.80 + * These state variables are designed to reflect the selection state
155.81 + * while the left mouse button is pressed and be set to -1 otherwise.
155.82 + */
155.83 + SetStartSelectionPos(-1);
155.84 + SetEndSelectionPos(-1);
155.85 + SetLastSelectionPos(-1);
155.86 +
155.87 + delete msg;
155.88 + return mrConsume;
155.89 + } else if (msg->message == WM_MOUSEMOVE && (msg->wParam & MK_LBUTTON)) {
155.90 +
155.91 + /*
155.92 + * We consume WM_MOUSEMOVE while the left mouse button is pressed,
155.93 + * so we have to simulate autoscrolling when mouse is moved outside
155.94 + * of the client area.
155.95 + */
155.96 + POINT p;
155.97 + RECT r;
155.98 + BOOL bScrollLeft = FALSE;
155.99 + BOOL bScrollRight = FALSE;
155.100 + BOOL bScrollUp = FALSE;
155.101 + BOOL bScrollDown = FALSE;
155.102 +
155.103 + p.x = msg->pt.x;
155.104 + p.y = msg->pt.y;
155.105 + VERIFY(::GetClientRect(GetHWnd(), &r));
155.106 +
155.107 + if (p.x < 0) {
155.108 + bScrollLeft = TRUE;
155.109 + p.x = 0;
155.110 + } else if (p.x > r.right) {
155.111 + bScrollRight = TRUE;
155.112 + p.x = r.right - 1;
155.113 + }
155.114 + LONG lCurPos = EditGetCharFromPos(p);
155.115 +
155.116 + if (GetStartSelectionPos() != -1 &&
155.117 + GetEndSelectionPos() != -1 &&
155.118 + lCurPos != GetLastSelectionPos()) {
155.119 +
155.120 + CHARRANGE cr;
155.121 +
155.122 + SetLastSelectionPos(lCurPos);
155.123 +
155.124 + cr.cpMin = GetStartSelectionPos();
155.125 + cr.cpMax = GetLastSelectionPos();
155.126 +
155.127 + EditSetSel(cr);
155.128 + }
155.129 +
155.130 + if (bScrollLeft == TRUE || bScrollRight == TRUE) {
155.131 + SCROLLINFO si;
155.132 + memset(&si, 0, sizeof(si));
155.133 + si.cbSize = sizeof(si);
155.134 + si.fMask = SIF_PAGE | SIF_POS | SIF_RANGE;
155.135 +
155.136 + VERIFY(::GetScrollInfo(GetHWnd(), SB_HORZ, &si));
155.137 + if (bScrollLeft == TRUE) {
155.138 + si.nPos = si.nPos - si.nPage / 2;
155.139 + si.nPos = max(si.nMin, si.nPos);
155.140 + } else if (bScrollRight == TRUE) {
155.141 + si.nPos = si.nPos + si.nPage / 2;
155.142 + si.nPos = min(si.nPos, si.nMax);
155.143 + }
155.144 /*
155.145 - * NOTE: Plain EDIT control always clears selection on mouse
155.146 - * button press. We are clearing the current selection only if
155.147 - * the mouse pointer is not over the selected region.
155.148 - * In this case we sacrifice backward compatibility
155.149 - * to allow dnd of the current selection.
155.150 + * Okay to use 16-bit position since RichEdit control adjusts
155.151 + * its scrollbars so that their range is always 16-bit.
155.152 */
155.153 - if (msg->message == WM_LBUTTONDBLCLK) {
155.154 - SetStartSelectionPos(static_cast<LONG>(SendMessage(
155.155 - EM_FINDWORDBREAK, WB_MOVEWORDLEFT, lCurPos)));
155.156 - SetEndSelectionPos(static_cast<LONG>(SendMessage(
155.157 - EM_FINDWORDBREAK, WB_MOVEWORDRIGHT, lCurPos)));
155.158 - } else {
155.159 - SetStartSelectionPos(lCurPos);
155.160 - SetEndSelectionPos(lCurPos);
155.161 - }
155.162 - cr.cpMin = GetStartSelectionPos();
155.163 - cr.cpMax = GetEndSelectionPos();
155.164 - EditSetSel(cr);
155.165 -
155.166 - delete msg;
155.167 - return mrConsume;
155.168 - } else if (msg->message == WM_LBUTTONUP) {
155.169 -
155.170 - /*
155.171 - * If the left mouse button is pressed on the selected region
155.172 - * we don't clear the current selection. We clear it on button
155.173 - * release instead. This is to allow dnd of the current selection.
155.174 - */
155.175 - if (GetStartSelectionPos() == -1 && GetEndSelectionPos() == -1) {
155.176 - CHARRANGE cr;
155.177 -
155.178 - LONG lCurPos = EditGetCharFromPos(msg->pt);
155.179 -
155.180 - cr.cpMin = lCurPos;
155.181 - cr.cpMax = lCurPos;
155.182 - EditSetSel(cr);
155.183 - }
155.184 -
155.185 - /*
155.186 - * Cleanup the state variables when left mouse button is released.
155.187 - * These state variables are designed to reflect the selection state
155.188 - * while the left mouse button is pressed and be set to -1 otherwise.
155.189 - */
155.190 - SetStartSelectionPos(-1);
155.191 - SetEndSelectionPos(-1);
155.192 - SetLastSelectionPos(-1);
155.193 -
155.194 - delete msg;
155.195 - return mrConsume;
155.196 - } else if (msg->message == WM_MOUSEMOVE && (msg->wParam & MK_LBUTTON)) {
155.197 -
155.198 - /*
155.199 - * We consume WM_MOUSEMOVE while the left mouse button is pressed,
155.200 - * so we have to simulate autoscrolling when mouse is moved outside
155.201 - * of the client area.
155.202 - */
155.203 - POINT p;
155.204 - RECT r;
155.205 - BOOL bScrollLeft = FALSE;
155.206 - BOOL bScrollRight = FALSE;
155.207 - BOOL bScrollUp = FALSE;
155.208 - BOOL bScrollDown = FALSE;
155.209 -
155.210 - p.x = msg->pt.x;
155.211 - p.y = msg->pt.y;
155.212 - VERIFY(::GetClientRect(GetHWnd(), &r));
155.213 -
155.214 - if (p.x < 0) {
155.215 - bScrollLeft = TRUE;
155.216 - p.x = 0;
155.217 - } else if (p.x > r.right) {
155.218 - bScrollRight = TRUE;
155.219 - p.x = r.right - 1;
155.220 - }
155.221 - LONG lCurPos = EditGetCharFromPos(p);
155.222 -
155.223 - if (GetStartSelectionPos() != -1 &&
155.224 - GetEndSelectionPos() != -1 &&
155.225 - lCurPos != GetLastSelectionPos()) {
155.226 -
155.227 - CHARRANGE cr;
155.228 -
155.229 - SetLastSelectionPos(lCurPos);
155.230 -
155.231 - cr.cpMin = GetStartSelectionPos();
155.232 - cr.cpMax = GetLastSelectionPos();
155.233 -
155.234 - EditSetSel(cr);
155.235 - }
155.236 -
155.237 - if (bScrollLeft == TRUE || bScrollRight == TRUE) {
155.238 - SCROLLINFO si;
155.239 - memset(&si, 0, sizeof(si));
155.240 - si.cbSize = sizeof(si);
155.241 - si.fMask = SIF_PAGE | SIF_POS | SIF_RANGE;
155.242 -
155.243 - VERIFY(::GetScrollInfo(GetHWnd(), SB_HORZ, &si));
155.244 - if (bScrollLeft == TRUE) {
155.245 - si.nPos = si.nPos - si.nPage / 2;
155.246 - si.nPos = max(si.nMin, si.nPos);
155.247 - } else if (bScrollRight == TRUE) {
155.248 - si.nPos = si.nPos + si.nPage / 2;
155.249 - si.nPos = min(si.nPos, si.nMax);
155.250 - }
155.251 - /*
155.252 - * Okay to use 16-bit position since RichEdit control adjusts
155.253 - * its scrollbars so that their range is always 16-bit.
155.254 - */
155.255 - DASSERT(abs(si.nPos) < 0x8000);
155.256 - SendMessage(WM_HSCROLL,
155.257 - MAKEWPARAM(SB_THUMBPOSITION, LOWORD(si.nPos)));
155.258 - }
155.259 - delete msg;
155.260 - return mrConsume;
155.261 + DASSERT(abs(si.nPos) < 0x8000);
155.262 + SendMessage(WM_HSCROLL,
155.263 + MAKEWPARAM(SB_THUMBPOSITION, LOWORD(si.nPos)));
155.264 }
155.265 + delete msg;
155.266 + return mrConsume;
155.267 }
155.268 /*
155.269 * Store the 'synthetic' parameter so that the WM_PASTE security check
156.1 --- a/src/windows/native/sun/windows/awt_Toolkit.cpp Tue Apr 14 00:05:07 2009 -0700
156.2 +++ b/src/windows/native/sun/windows/awt_Toolkit.cpp Tue Apr 14 04:21:02 2009 -0700
156.3 @@ -56,6 +56,7 @@
156.4 #include "debug_mem.h"
156.5
156.6 #include "ComCtl32Util.h"
156.7 +#include "DllUtil.h"
156.8
156.9 #include "D3DPipelineManager.h"
156.10
156.11 @@ -334,6 +335,8 @@
156.12 m_mouseDown = FALSE;
156.13
156.14 m_hGetMessageHook = 0;
156.15 + m_hMouseLLHook = 0;
156.16 + m_lastWindowUnderMouse = NULL;
156.17 m_timer = 0;
156.18
156.19 m_cmdIDs = new AwtCmdIDList();
156.20 @@ -483,6 +486,7 @@
156.21 tk.UnregisterClass();
156.22
156.23 ::UnhookWindowsHookEx(tk.m_hGetMessageHook);
156.24 + UninstallMouseLowLevelHook();
156.25
156.26 tk.m_mainThreadId = 0;
156.27
156.28 @@ -960,6 +964,79 @@
156.29 CATCH_BAD_ALLOC_RET(0);
156.30 }
156.31
156.32 +void AwtToolkit::InstallMouseLowLevelHook()
156.33 +{
156.34 + // We need the low-level hook since we need to process mouse move
156.35 + // messages outside of our windows.
156.36 + m_hMouseLLHook = ::SetWindowsHookEx(WH_MOUSE_LL,
156.37 + (HOOKPROC)MouseLowLevelHook,
156.38 + GetModuleHandle(), NULL);
156.39 +
156.40 + // Reset the old value
156.41 + m_lastWindowUnderMouse = NULL;
156.42 +}
156.43 +
156.44 +void AwtToolkit::UninstallMouseLowLevelHook()
156.45 +{
156.46 + if (m_hMouseLLHook != 0) {
156.47 + ::UnhookWindowsHookEx(m_hMouseLLHook);
156.48 + m_hMouseLLHook = 0;
156.49 + }
156.50 +}
156.51 +
156.52 +LRESULT CALLBACK AwtToolkit::MouseLowLevelHook(int code,
156.53 + WPARAM wParam, LPARAM lParam)
156.54 +{
156.55 + TRY;
156.56 +
156.57 + if (code >= 0 && wParam == WM_MOUSEMOVE) {
156.58 + POINT pt = ((MSLLHOOKSTRUCT*)lParam)->pt;
156.59 +
156.60 + // We can't use GA_ROOTOWNER since in this case we'll go up to
156.61 + // the root Java toplevel, not the actual owned toplevel.
156.62 + HWND hwnd = ::GetAncestor(::WindowFromPoint(pt), GA_ROOT);
156.63 +
156.64 + AwtToolkit& tk = AwtToolkit::GetInstance();
156.65 +
156.66 + if (tk.m_lastWindowUnderMouse != hwnd) {
156.67 + AwtWindow *fw = NULL, *tw = NULL;
156.68 +
156.69 + if (tk.m_lastWindowUnderMouse) {
156.70 + fw = (AwtWindow*)
156.71 + AwtComponent::GetComponent(tk.m_lastWindowUnderMouse);
156.72 + }
156.73 + if (hwnd) {
156.74 + tw = (AwtWindow*)AwtComponent::GetComponent(hwnd);
156.75 + }
156.76 +
156.77 + tk.m_lastWindowUnderMouse = hwnd;
156.78 +
156.79 + if (fw) {
156.80 + fw->UpdateSecurityWarningVisibility();
156.81 + }
156.82 + // ... however, because we use GA_ROOT, we may find the warningIcon
156.83 + // which is not a Java windows.
156.84 + if (AwtWindow::IsWarningWindow(hwnd)) {
156.85 + hwnd = ::GetParent(hwnd);
156.86 + if (hwnd) {
156.87 + tw = (AwtWindow*)AwtComponent::GetComponent(hwnd);
156.88 + }
156.89 + tk.m_lastWindowUnderMouse = hwnd;
156.90 + }
156.91 + if (tw) {
156.92 + tw->UpdateSecurityWarningVisibility();
156.93 + }
156.94 +
156.95 +
156.96 + }
156.97 + }
156.98 +
156.99 + return ::CallNextHookEx(AwtToolkit::GetInstance().m_hMouseLLHook, code,
156.100 + wParam, lParam);
156.101 +
156.102 + CATCH_BAD_ALLOC_RET(0);
156.103 +}
156.104 +
156.105 /*
156.106 * The main message loop
156.107 */
156.108 @@ -1376,6 +1453,47 @@
156.109 return defaultIconSm;
156.110 }
156.111
156.112 +HICON AwtToolkit::GetSecurityWarningIcon(UINT index, UINT w, UINT h)
156.113 +{
156.114 + //Note: should not exceed 10 because of the current implementation.
156.115 + static const int securityWarningIconCounter = 3;
156.116 +
156.117 + static HICON securityWarningIcon[securityWarningIconCounter] = {NULL, NULL, NULL};;
156.118 + static UINT securityWarningIconWidth[securityWarningIconCounter] = {0, 0, 0};
156.119 + static UINT securityWarningIconHeight[securityWarningIconCounter] = {0, 0, 0};
156.120 +
156.121 + index = AwtToolkit::CalculateWave(index, securityWarningIconCounter);
156.122 +
156.123 + if (securityWarningIcon[index] == NULL ||
156.124 + w != securityWarningIconWidth[index] ||
156.125 + h != securityWarningIconHeight[index])
156.126 + {
156.127 + if (securityWarningIcon[index] != NULL)
156.128 + {
156.129 + ::DestroyIcon(securityWarningIcon[index]);
156.130 + }
156.131 +
156.132 + static const wchar_t securityWarningIconName[] = L"SECURITY_WARNING_";
156.133 + wchar_t iconResourceName[sizeof(securityWarningIconName) + 2];
156.134 + ::ZeroMemory(iconResourceName, sizeof(iconResourceName));
156.135 + wcscpy(iconResourceName, securityWarningIconName);
156.136 +
156.137 + wchar_t strIndex[2];
156.138 + ::ZeroMemory(strIndex, sizeof(strIndex));
156.139 + strIndex[0] = L'0' + index;
156.140 +
156.141 + wcscat(iconResourceName, strIndex);
156.142 +
156.143 + securityWarningIcon[index] = (HICON)::LoadImage(GetModuleHandle(),
156.144 + iconResourceName,
156.145 + IMAGE_ICON, w, h, LR_DEFAULTCOLOR);
156.146 + securityWarningIconWidth[index] = w;
156.147 + securityWarningIconHeight[index] = h;
156.148 + }
156.149 +
156.150 + return securityWarningIcon[index];
156.151 +}
156.152 +
156.153 void AwtToolkit::SetHeapCheck(long flag) {
156.154 if (flag) {
156.155 printf("heap checking not supported with this build\n");
156.156 @@ -1428,6 +1546,49 @@
156.157 (JNIEnv*)JNU_GetEnv(jvm, JNI_VERSION_1_2) : m_env;
156.158 }
156.159
156.160 +BOOL AwtToolkit::GetScreenInsets(int screenNum, RECT * rect)
156.161 +{
156.162 + /* if primary display */
156.163 + if (screenNum == 0) {
156.164 + RECT rRW;
156.165 + if (::SystemParametersInfo(SPI_GETWORKAREA,0,(void *) &rRW,0) == TRUE) {
156.166 + rect->top = rRW.top;
156.167 + rect->left = rRW.left;
156.168 + rect->bottom = ::GetSystemMetrics(SM_CYSCREEN) - rRW.bottom;
156.169 + rect->right = ::GetSystemMetrics(SM_CXSCREEN) - rRW.right;
156.170 + return TRUE;
156.171 + }
156.172 + }
156.173 + /* if additional display */
156.174 + else {
156.175 + MONITORINFO *miInfo;
156.176 + miInfo = AwtWin32GraphicsDevice::GetMonitorInfo(screenNum);
156.177 + if (miInfo) {
156.178 + rect->top = miInfo->rcWork.top - miInfo->rcMonitor.top;
156.179 + rect->left = miInfo->rcWork.left - miInfo->rcMonitor.left;
156.180 + rect->bottom = miInfo->rcMonitor.bottom - miInfo->rcWork.bottom;
156.181 + rect->right = miInfo->rcMonitor.right - miInfo->rcWork.right;
156.182 + return TRUE;
156.183 + }
156.184 + }
156.185 + return FALSE;
156.186 +}
156.187 +
156.188 +
156.189 +void AwtToolkit::GetWindowRect(HWND hWnd, LPRECT lpRect)
156.190 +{
156.191 + try {
156.192 + if (S_OK == DwmAPI::DwmGetWindowAttribute(hWnd,
156.193 + DwmAPI::DWMWA_EXTENDED_FRAME_BOUNDS,
156.194 + lpRect, sizeof(*lpRect)))
156.195 + {
156.196 + return;
156.197 + }
156.198 + } catch (const DllUtil::Exception &) {}
156.199 +
156.200 + ::GetWindowRect(hWnd, lpRect);
156.201 +}
156.202 +
156.203 /************************************************************************
156.204 * Toolkit native methods
156.205 */
156.206 @@ -1756,7 +1917,6 @@
156.207 CATCH_BAD_ALLOC_RET(0);
156.208 }
156.209
156.210 -
156.211 /*
156.212 * Class: sun_awt_windows_WToolkit
156.213 * Method: getSreenInsets
156.214 @@ -1768,34 +1928,17 @@
156.215 jint screen)
156.216 {
156.217 jobject insets = NULL;
156.218 - RECT rRW;
156.219 - LPMONITORINFO miInfo;
156.220 + RECT rect;
156.221
156.222 TRY;
156.223
156.224 -/* if primary display */
156.225 - if (screen == 0) {
156.226 - if (::SystemParametersInfo(SPI_GETWORKAREA,0,(void *) &rRW,0) == TRUE) {
156.227 - insets = env->NewObject(env->FindClass("java/awt/Insets"),
156.228 - AwtToolkit::insetsMID,
156.229 - rRW.top,
156.230 - rRW.left,
156.231 - ::GetSystemMetrics(SM_CYSCREEN) - rRW.bottom,
156.232 - ::GetSystemMetrics(SM_CXSCREEN) - rRW.right);
156.233 - }
156.234 - }
156.235 -
156.236 -/* if additional display */
156.237 - else {
156.238 - miInfo = AwtWin32GraphicsDevice::GetMonitorInfo(screen);
156.239 - if (miInfo) {
156.240 - insets = env->NewObject(env->FindClass("java/awt/Insets"),
156.241 + if (AwtToolkit::GetScreenInsets(screen, &rect)) {
156.242 + insets = env->NewObject(env->FindClass("java/awt/Insets"),
156.243 AwtToolkit::insetsMID,
156.244 - miInfo->rcWork.top - miInfo->rcMonitor.top,
156.245 - miInfo->rcWork.left - miInfo->rcMonitor.left,
156.246 - miInfo->rcMonitor.bottom - miInfo->rcWork.bottom,
156.247 - miInfo->rcMonitor.right - miInfo->rcWork.right);
156.248 - }
156.249 + rect.top,
156.250 + rect.left,
156.251 + rect.bottom,
156.252 + rect.right);
156.253 }
156.254
156.255 if (safe_ExceptionOccurred(env)) {
157.1 --- a/src/windows/native/sun/windows/awt_Toolkit.h Tue Apr 14 00:05:07 2009 -0700
157.2 +++ b/src/windows/native/sun/windows/awt_Toolkit.h Tue Apr 14 04:21:02 2009 -0700
157.3 @@ -210,6 +210,8 @@
157.4 LPARAM lParam);
157.5 static LRESULT CALLBACK ForegroundIdleFilter(int code, WPARAM wParam,
157.6 LPARAM lParam);
157.7 + static LRESULT CALLBACK MouseLowLevelHook(int code, WPARAM wParam,
157.8 + LPARAM lParam);
157.9
157.10 INLINE static AwtToolkit& GetInstance() { return theInstance; }
157.11 INLINE void SetPeer(JNIEnv *env, jobject wToolkit) {
157.12 @@ -311,6 +313,30 @@
157.13 HICON GetAwtIcon();
157.14 HICON GetAwtIconSm();
157.15
157.16 + // Calculate a wave-like value out of the integer 'value' and
157.17 + // the specified period.
157.18 + // The argument 'value' is an integer 0, 1, 2, ... *infinity*.
157.19 + //
157.20 + // Examples:
157.21 + // Period == 3
157.22 + // Generated sequence: 0 1 2 1 0 .....
157.23 + //
157.24 + // Period == 4
157.25 + // Generated sequence: 0 1 2 3 2 1 0 .....
157.26 + static inline UINT CalculateWave(UINT value, const UINT period) {
157.27 + if (period < 2) {
157.28 + return 0;
157.29 + }
157.30 + // -2 is necessary to avoid repeating extreme values (0 and period-1)
157.31 + value %= period * 2 -2;
157.32 + if (value >= period) {
157.33 + value = period * 2 -2 - value;
157.34 + }
157.35 + return value;
157.36 + }
157.37 +
157.38 + HICON GetSecurityWarningIcon(UINT index, UINT w, UINT h);
157.39 +
157.40 /* Turns on/off dialog modality for the system. */
157.41 INLINE AwtDialog* SetModal(AwtDialog* frame) {
157.42 AwtDialog* previousDialog = m_pModalDialog;
157.43 @@ -368,6 +394,7 @@
157.44 BOOL m_mouseDown;
157.45
157.46 HHOOK m_hGetMessageHook;
157.47 + HHOOK m_hMouseLLHook;
157.48 UINT_PTR m_timer;
157.49
157.50 class AwtCmdIDList* m_cmdIDs;
157.51 @@ -411,6 +438,24 @@
157.52 public:
157.53 static void SetEnv(JNIEnv *env);
157.54 static JNIEnv* GetEnv();
157.55 +
157.56 + static BOOL GetScreenInsets(int screenNum, RECT * rect);
157.57 +
157.58 + // If the DWM is active, this function uses
157.59 + // DwmGetWindowAttribute()/DWMWA_EXTENDED_FRAME_BOUNDS.
157.60 + // Otherwise, fall back to regular ::GetWindowRect().
157.61 + // See 6711576 for more details.
157.62 + static void GetWindowRect(HWND hWnd, LPRECT lpRect);
157.63 +
157.64 + private:
157.65 + // The window handle of a toplevel window last seen under the mouse cursor.
157.66 + // See MouseLowLevelHook() for details.
157.67 + HWND m_lastWindowUnderMouse;
157.68 + public:
157.69 + HWND GetWindowUnderMouse() { return m_lastWindowUnderMouse; }
157.70 +
157.71 + void InstallMouseLowLevelHook();
157.72 + void UninstallMouseLowLevelHook();
157.73 };
157.74
157.75 /*
158.1 --- a/src/windows/native/sun/windows/awt_Win32GraphicsEnv.cpp Tue Apr 14 00:05:07 2009 -0700
158.2 +++ b/src/windows/native/sun/windows/awt_Win32GraphicsEnv.cpp Tue Apr 14 04:21:02 2009 -0700
158.3 @@ -29,6 +29,7 @@
158.4 #include "awt_Win32GraphicsDevice.h"
158.5 #include "Devices.h"
158.6 #include "WindowsFlags.h"
158.7 +#include "DllUtil.h"
158.8
158.9 BOOL DWMIsCompositionEnabled();
158.10
158.11 @@ -89,13 +90,8 @@
158.12 /**
158.13 * Returns true if dwm composition is enabled, false if it is not applicable
158.14 * (if the OS is not Vista) or dwm composition is disabled.
158.15 - *
158.16 - * Note: since DWM composition state changes are very rare we load/unload the
158.17 - * dll on every change.
158.18 */
158.19 BOOL DWMIsCompositionEnabled() {
158.20 - typedef HRESULT (WINAPI DwmIsCompositionEnabledFunc)(BOOL*);
158.21 -
158.22 // cheaper to check than whether it's vista or not
158.23 if (dwmIsCompositionEnabled != DWM_COMP_UNDEFINED) {
158.24 return (BOOL)dwmIsCompositionEnabled;
158.25 @@ -107,32 +103,22 @@
158.26 }
158.27
158.28 BOOL bRes = FALSE;
158.29 - HMODULE hDwmApiDll = ::LoadLibrary(TEXT("dwmapi.dll"));
158.30
158.31 - if (hDwmApiDll != NULL) {
158.32 - DwmIsCompositionEnabledFunc *lpDwmIsCompEnabled =
158.33 - (DwmIsCompositionEnabledFunc*)
158.34 - GetProcAddress(hDwmApiDll, "DwmIsCompositionEnabled");
158.35 - if (lpDwmIsCompEnabled != NULL) {
158.36 - BOOL bEnabled;
158.37 - HRESULT res = lpDwmIsCompEnabled(&bEnabled);
158.38 - if (SUCCEEDED(res)) {
158.39 - bRes = bEnabled;
158.40 - J2dTraceLn1(J2D_TRACE_VERBOSE, " composition enabled: %d",bRes);
158.41 - } else {
158.42 - J2dTraceLn1(J2D_TRACE_ERROR,
158.43 - "IsDWMCompositionEnabled: error %x when detecting"\
158.44 - "if composition is enabled", res);
158.45 - }
158.46 + try {
158.47 + BOOL bEnabled;
158.48 + HRESULT res = DwmAPI::DwmIsCompositionEnabled(&bEnabled);
158.49 + if (SUCCEEDED(res)) {
158.50 + bRes = bEnabled;
158.51 + J2dTraceLn1(J2D_TRACE_VERBOSE, " composition enabled: %d",bRes);
158.52 } else {
158.53 - J2dTraceLn(J2D_TRACE_ERROR,
158.54 - "IsDWMCompositionEnabled: no DwmIsCompositionEnabled() "\
158.55 - "in dwmapi.dll");
158.56 + J2dTraceLn1(J2D_TRACE_ERROR,
158.57 + "IsDWMCompositionEnabled: error %x when detecting"\
158.58 + "if composition is enabled", res);
158.59 }
158.60 - ::FreeLibrary(hDwmApiDll);
158.61 - } else {
158.62 + } catch (const DllUtil::Exception &) {
158.63 J2dTraceLn(J2D_TRACE_ERROR,
158.64 - "IsDWMCompositionEnabled: error opening dwmapi.dll");
158.65 + "IsDWMCompositionEnabled: no DwmIsCompositionEnabled() "\
158.66 + "in dwmapi.dll or dwmapi.dll cannot be loaded");
158.67 }
158.68
158.69 dwmIsCompositionEnabled = bRes;
159.1 --- a/src/windows/native/sun/windows/awt_Window.cpp Tue Apr 14 00:05:07 2009 -0700
159.2 +++ b/src/windows/native/sun/windows/awt_Window.cpp Tue Apr 14 04:21:02 2009 -0700
159.3 @@ -1,5 +1,5 @@
159.4 /*
159.5 - * Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved.
159.6 + * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved.
159.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
159.8 *
159.9 * This code is free software; you can redistribute it and/or modify it
159.10 @@ -25,9 +25,12 @@
159.11
159.12 #include "awt.h"
159.13
159.14 +#include <jlong.h>
159.15 +
159.16 #include "awt_Component.h"
159.17 #include "awt_Container.h"
159.18 #include "awt_Frame.h"
159.19 +#include "awt_Dialog.h"
159.20 #include "awt_Insets.h"
159.21 #include "awt_Panel.h"
159.22 #include "awt_Toolkit.h"
159.23 @@ -35,6 +38,7 @@
159.24 #include "awt_Win32GraphicsDevice.h"
159.25 #include "awt_BitmapUtil.h"
159.26 #include "awt_IconCursor.h"
159.27 +#include "ComCtl32Util.h"
159.28
159.29 #include "java_awt_Insets.h"
159.30 #include <java_awt_Container.h>
159.31 @@ -88,7 +92,6 @@
159.32 jint x, y;
159.33 jint w, h;
159.34 };
159.35 -
159.36 // struct for _SetIconImagesData
159.37 struct SetIconImagesDataStruct {
159.38 jobject window;
159.39 @@ -97,7 +100,6 @@
159.40 jintArray smallIconRaster;
159.41 jint smw, smh;
159.42 };
159.43 -
159.44 // struct for _SetMinSize() method
159.45 // and other methods setting sizes
159.46 struct SizeStruct {
159.47 @@ -114,6 +116,34 @@
159.48 jobject window;
159.49 jlong blockerHWnd;
159.50 };
159.51 +// struct for _SetOpacity() method
159.52 +struct OpacityStruct {
159.53 + jobject window;
159.54 + jint iOpacity;
159.55 +};
159.56 +// struct for _SetOpaque() method
159.57 +struct OpaqueStruct {
159.58 + jobject window;
159.59 + jboolean isOpaque;
159.60 +};
159.61 +// struct for _UpdateWindow() method
159.62 +struct UpdateWindowStruct {
159.63 + jobject window;
159.64 + jintArray data;
159.65 + HBITMAP hBitmap;
159.66 + jint width, height;
159.67 +};
159.68 +// Struct for _RequestWindowFocus() method
159.69 +struct RequestWindowFocusStruct {
159.70 + jobject component;
159.71 + jboolean isMouseEventCause;
159.72 +};
159.73 +// struct for _RepositionSecurityWarning() method
159.74 +struct RepositionSecurityWarningStruct {
159.75 + jobject window;
159.76 +};
159.77 +
159.78 +
159.79 /************************************************************************
159.80 * AwtWindow fields
159.81 */
159.82 @@ -121,17 +151,23 @@
159.83 jfieldID AwtWindow::warningStringID;
159.84 jfieldID AwtWindow::locationByPlatformID;
159.85 jfieldID AwtWindow::autoRequestFocusID;
159.86 +jfieldID AwtWindow::securityWarningWidthID;
159.87 +jfieldID AwtWindow::securityWarningHeightID;
159.88
159.89 jfieldID AwtWindow::sysXID;
159.90 jfieldID AwtWindow::sysYID;
159.91 jfieldID AwtWindow::sysWID;
159.92 jfieldID AwtWindow::sysHID;
159.93
159.94 +jmethodID AwtWindow::getWarningStringMID;
159.95 +jmethodID AwtWindow::calculateSecurityWarningPositionMID;
159.96 +
159.97 int AwtWindow::ms_instanceCounter = 0;
159.98 HHOOK AwtWindow::ms_hCBTFilter;
159.99 AwtWindow * AwtWindow::m_grabbedWindow = NULL;
159.100 HWND AwtWindow::sm_retainingHierarchyZOrderInShow = NULL;
159.101 BOOL AwtWindow::sm_resizing = FALSE;
159.102 +UINT AwtWindow::untrustedWindowsCounter = 0;
159.103
159.104 /************************************************************************
159.105 * AwtWindow class methods
159.106 @@ -162,10 +198,34 @@
159.107 ::SetWindowsHookEx(WH_CBT, (HOOKPROC)AwtWindow::CBTFilter,
159.108 0, AwtToolkit::MainThread());
159.109 }
159.110 +
159.111 + m_opaque = TRUE;
159.112 + m_opacity = 0xff;
159.113 +
159.114 +
159.115 + warningString = NULL;
159.116 + warningWindow = NULL;
159.117 + securityTooltipWindow = NULL;
159.118 + securityWarningAnimationStage = 0;
159.119 + currentWmSizeState = SIZE_RESTORED;
159.120 +
159.121 + hContentBitmap = NULL;
159.122 +
159.123 + ::InitializeCriticalSection(&contentBitmapCS);
159.124 }
159.125
159.126 AwtWindow::~AwtWindow()
159.127 {
159.128 + if (warningString != NULL) {
159.129 + delete [] warningString;
159.130 + }
159.131 + ::EnterCriticalSection(&contentBitmapCS);
159.132 + if (hContentBitmap != NULL) {
159.133 + ::DeleteObject(hContentBitmap);
159.134 + hContentBitmap = NULL;
159.135 + }
159.136 + ::LeaveCriticalSection(&contentBitmapCS);
159.137 + ::DeleteCriticalSection(&contentBitmapCS);
159.138 }
159.139
159.140 void AwtWindow::Dispose()
159.141 @@ -204,10 +264,10 @@
159.142 }
159.143 m_grabbed = TRUE;
159.144 m_grabbedWindow = this;
159.145 - if (sm_focusedWindow == NULL && IsFocusableWindow()) {
159.146 + if (AwtComponent::GetFocusedWindow() == NULL && IsFocusableWindow()) {
159.147 // we shouldn't perform grab in this case (see 4841881 & 6539458)
159.148 Ungrab();
159.149 - } else if (GetHWnd() != sm_focusedWindow) {
159.150 + } else if (GetHWnd() != AwtComponent::GetFocusedWindow()) {
159.151 _ToFront(env->NewGlobalRef(GetPeer(env)));
159.152 // Global ref was deleted in _ToFront
159.153 }
159.154 @@ -301,12 +361,40 @@
159.155 return mrDoDefault;
159.156 }
159.157
159.158 +void AwtWindow::RepositionSecurityWarning(JNIEnv *env)
159.159 +{
159.160 + RECT rect;
159.161 + CalculateWarningWindowBounds(env, &rect);
159.162 +
159.163 + ::SetWindowPos(warningWindow, HWND_NOTOPMOST,
159.164 + rect.left, rect.top,
159.165 + rect.right - rect.left, rect.bottom - rect.top,
159.166 + SWP_ASYNCWINDOWPOS | SWP_NOACTIVATE | SWP_NOZORDER
159.167 + );
159.168 +}
159.169 +
159.170 MsgRouting AwtWindow::WmWindowPosChanged(LPARAM windowPos) {
159.171 - if (IsRetainingHierarchyZOrder() && ((WINDOWPOS *)windowPos)->flags & SWP_SHOWWINDOW) {
159.172 + WINDOWPOS * wp = (WINDOWPOS *)windowPos;
159.173 +
159.174 + if (IsRetainingHierarchyZOrder() && wp->flags & SWP_SHOWWINDOW) {
159.175 // By this time all the windows from the hierarchy are already notified about z-order change.
159.176 // Thus we may and we should reset the trigger in order not to affect other changes.
159.177 sm_retainingHierarchyZOrderInShow = NULL;
159.178 }
159.179 +
159.180 + // Reposition the warning window
159.181 + if (IsUntrusted() && warningWindow != NULL) {
159.182 + if (wp->flags & SWP_HIDEWINDOW) {
159.183 + UpdateSecurityWarningVisibility();
159.184 + }
159.185 +
159.186 + RepositionSecurityWarning((JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2));
159.187 +
159.188 + if (wp->flags & SWP_SHOWWINDOW) {
159.189 + UpdateSecurityWarningVisibility();
159.190 + }
159.191 + }
159.192 +
159.193 return mrDoDefault;
159.194 }
159.195
159.196 @@ -326,21 +414,597 @@
159.197 lpwc->cbWndExtra = DLGWINDOWEXTRA;
159.198 }
159.199
159.200 +bool AwtWindow::IsWarningWindow(HWND hWnd)
159.201 +{
159.202 + const UINT len = 128;
159.203 + TCHAR windowClassName[len];
159.204 +
159.205 + ::RealGetWindowClass(hWnd, windowClassName, len);
159.206 + return 0 == _tcsncmp(windowClassName,
159.207 + AwtWindow::GetWarningWindowClassName(), len);
159.208 +}
159.209 +
159.210 LRESULT CALLBACK AwtWindow::CBTFilter(int nCode, WPARAM wParam, LPARAM lParam)
159.211 {
159.212 if (nCode == HCBT_ACTIVATE || nCode == HCBT_SETFOCUS) {
159.213 - AwtComponent *comp = AwtComponent::GetComponent((HWND)wParam);
159.214 -
159.215 - if (comp != NULL && comp->IsTopLevel()) {
159.216 - AwtWindow* win = (AwtWindow*)comp;
159.217 - if (!win->IsFocusableWindow() || win->m_filterFocusAndActivation) {
159.218 - return 1; // Don't change focus/activation.
159.219 + HWND hWnd = (HWND)wParam;
159.220 + AwtComponent *comp = AwtComponent::GetComponent(hWnd);
159.221 +
159.222 + if (comp == NULL) {
159.223 + // Check if it's a security warning icon
159.224 + // See: 5091224, 6181725, 6732583
159.225 + if (AwtWindow::IsWarningWindow(hWnd)) {
159.226 + return 1;
159.227 + }
159.228 + } else {
159.229 + if (comp->IsTopLevel()) {
159.230 + AwtWindow* win = (AwtWindow*)comp;
159.231 +
159.232 + if (!win->IsFocusableWindow() ||
159.233 + win->m_filterFocusAndActivation)
159.234 + {
159.235 + return 1; // Don't change focus/activation.
159.236 + }
159.237 }
159.238 }
159.239 }
159.240 return ::CallNextHookEx(AwtWindow::ms_hCBTFilter, nCode, wParam, lParam);
159.241 }
159.242
159.243 +void AwtWindow::InitSecurityWarningSize(JNIEnv *env)
159.244 +{
159.245 + warningWindowWidth = ::GetSystemMetrics(SM_CXSMICON);
159.246 + warningWindowHeight = ::GetSystemMetrics(SM_CYSMICON);
159.247 +
159.248 + jobject target = GetTarget(env);
159.249 +
159.250 + env->SetIntField(target, AwtWindow::securityWarningWidthID,
159.251 + warningWindowWidth);
159.252 + env->SetIntField(target, AwtWindow::securityWarningHeightID,
159.253 + warningWindowHeight);
159.254 +
159.255 + env->DeleteLocalRef(target);
159.256 +}
159.257 +
159.258 +void AwtWindow::CreateHWnd(JNIEnv *env, LPCWSTR title,
159.259 + DWORD windowStyle,
159.260 + DWORD windowExStyle,
159.261 + int x, int y, int w, int h,
159.262 + HWND hWndParent, HMENU hMenu,
159.263 + COLORREF colorForeground,
159.264 + COLORREF colorBackground,
159.265 + jobject peer)
159.266 +{
159.267 + // Retrieve the warning string
159.268 + // Note: we need to get it before CreateHWnd() happens because
159.269 + // the isUntrusted() method may be invoked while the HWND
159.270 + // is being created in response to some window messages.
159.271 + jobject target = env->GetObjectField(peer, AwtObject::targetID);
159.272 + jstring javaWarningString =
159.273 + (jstring)env->CallObjectMethod(target, AwtWindow::getWarningStringMID);
159.274 +
159.275 + if (javaWarningString != NULL) {
159.276 + size_t length = env->GetStringLength(javaWarningString) + 1;
159.277 + warningString = new WCHAR[length];
159.278 + env->GetStringRegion(javaWarningString, 0,
159.279 + static_cast<jsize>(length - 1), warningString);
159.280 + warningString[length-1] = L'\0';
159.281 +
159.282 + env->DeleteLocalRef(javaWarningString);
159.283 + }
159.284 + env->DeleteLocalRef(target);
159.285 +
159.286 + AwtCanvas::CreateHWnd(env, title,
159.287 + windowStyle,
159.288 + windowExStyle,
159.289 + x, y, w, h,
159.290 + hWndParent, hMenu,
159.291 + colorForeground,
159.292 + colorBackground,
159.293 + peer);
159.294 +
159.295 + // Now we need to create the warning window.
159.296 + CreateWarningWindow(env);
159.297 +}
159.298 +
159.299 +void AwtWindow::CreateWarningWindow(JNIEnv *env)
159.300 +{
159.301 + if (!IsUntrusted()) {
159.302 + return;
159.303 + }
159.304 +
159.305 + if (++AwtWindow::untrustedWindowsCounter == 1) {
159.306 + AwtToolkit::GetInstance().InstallMouseLowLevelHook();
159.307 + }
159.308 +
159.309 + InitSecurityWarningSize(env);
159.310 +
159.311 + RECT rect;
159.312 + CalculateWarningWindowBounds(env, &rect);
159.313 +
159.314 + RegisterWarningWindowClass();
159.315 + warningWindow = ::CreateWindowEx(
159.316 + WS_EX_NOACTIVATE | WS_EX_LAYERED,
159.317 + GetWarningWindowClassName(),
159.318 + warningString,
159.319 + WS_POPUP,
159.320 + rect.left, rect.top,
159.321 + rect.right - rect.left, rect.bottom - rect.top,
159.322 + GetHWnd(), // owner
159.323 + NULL, // menu
159.324 + AwtToolkit::GetInstance().GetModuleHandle(),
159.325 + NULL // lParam
159.326 + );
159.327 + if (warningWindow == NULL) {
159.328 + //XXX: actually this is bad... We didn't manage to create the widow.
159.329 + return;
159.330 + }
159.331 +
159.332 + HICON hIcon = GetSecurityWarningIcon();
159.333 +
159.334 + ICONINFO ii;
159.335 + ::GetIconInfo(hIcon, &ii);
159.336 +
159.337 + //Note: we assume that every security icon has exactly the same shape.
159.338 + HRGN rgn = BitmapUtil::BitmapToRgn(ii.hbmColor);
159.339 + if (rgn) {
159.340 + ::SetWindowRgn(warningWindow, rgn, TRUE);
159.341 + }
159.342 +
159.343 + // Now we need to create the tooltip control for this window.
159.344 + if (!ComCtl32Util::GetInstance().IsToolTipControlInitialized()) {
159.345 + return;
159.346 + }
159.347 +
159.348 + securityTooltipWindow = ::CreateWindowEx(
159.349 + WS_EX_TOPMOST,
159.350 + TOOLTIPS_CLASS,
159.351 + NULL,
159.352 + WS_POPUP | TTS_NOPREFIX | TTS_ALWAYSTIP,
159.353 + CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
159.354 + warningWindow,
159.355 + NULL,
159.356 + AwtToolkit::GetInstance().GetModuleHandle(),
159.357 + NULL
159.358 + );
159.359 +
159.360 + ::SetWindowPos(securityTooltipWindow,
159.361 + HWND_TOPMOST, 0, 0, 0, 0,
159.362 + SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
159.363 +
159.364 +
159.365 + // We currently don't expect changing the size of the window,
159.366 + // hence we may not care of updating the TOOL position/size.
159.367 + ::GetClientRect(warningWindow, &rect);
159.368 +
159.369 + TOOLINFO ti;
159.370 +
159.371 + ti.cbSize = sizeof(ti);
159.372 + ti.uFlags = TTF_SUBCLASS;
159.373 + ti.hwnd = warningWindow;
159.374 + ti.hinst = AwtToolkit::GetInstance().GetModuleHandle();
159.375 + ti.uId = 0;
159.376 + ti.lpszText = warningString;
159.377 + ti.rect.left = rect.left;
159.378 + ti.rect.top = rect.top;
159.379 + ti.rect.right = rect.right;
159.380 + ti.rect.bottom = rect.bottom;
159.381 +
159.382 + ::SendMessage(securityTooltipWindow, TTM_ADDTOOL,
159.383 + 0, (LPARAM) (LPTOOLINFO) &ti);
159.384 +}
159.385 +
159.386 +void AwtWindow::DestroyWarningWindow()
159.387 +{
159.388 + if (!IsUntrusted()) {
159.389 + return;
159.390 + }
159.391 + if (--AwtWindow::untrustedWindowsCounter == 0) {
159.392 + AwtToolkit::GetInstance().UninstallMouseLowLevelHook();
159.393 + }
159.394 + if (warningWindow != NULL) {
159.395 + // Note that the warningWindow is an owned window, and hence
159.396 + // it would be destroyed automatically. However, the window
159.397 + // class may only be unregistered if there's no any single
159.398 + // window left using this class. Thus, we're destroying the
159.399 + // warning window manually. Note that the tooltip window
159.400 + // will be destroyed automatically because it's an owned
159.401 + // window as well.
159.402 + ::DestroyWindow(warningWindow);
159.403 + warningWindow = NULL;
159.404 + securityTooltipWindow = NULL;
159.405 + UnregisterWarningWindowClass();
159.406 + }
159.407 +}
159.408 +
159.409 +void AwtWindow::DestroyHWnd()
159.410 +{
159.411 + DestroyWarningWindow();
159.412 + AwtCanvas::DestroyHWnd();
159.413 +}
159.414 +
159.415 +LPCTSTR AwtWindow::GetWarningWindowClassName()
159.416 +{
159.417 + return TEXT("SunAwtWarningWindow");
159.418 +}
159.419 +
159.420 +void AwtWindow::FillWarningWindowClassInfo(WNDCLASS *lpwc)
159.421 +{
159.422 + lpwc->style = 0L;
159.423 + lpwc->lpfnWndProc = (WNDPROC)WarningWindowProc;
159.424 + lpwc->cbClsExtra = 0;
159.425 + lpwc->cbWndExtra = 0;
159.426 + lpwc->hInstance = AwtToolkit::GetInstance().GetModuleHandle(),
159.427 + lpwc->hIcon = AwtToolkit::GetInstance().GetAwtIcon();
159.428 + lpwc->hCursor = ::LoadCursor(NULL, IDC_ARROW);
159.429 + lpwc->hbrBackground = NULL;
159.430 + lpwc->lpszMenuName = NULL;
159.431 + lpwc->lpszClassName = AwtWindow::GetWarningWindowClassName();
159.432 +}
159.433 +
159.434 +void AwtWindow::RegisterWarningWindowClass()
159.435 +{
159.436 + WNDCLASS wc;
159.437 +
159.438 + ::ZeroMemory(&wc, sizeof(wc));
159.439 +
159.440 + if (!::GetClassInfo(AwtToolkit::GetInstance().GetModuleHandle(),
159.441 + AwtWindow::GetWarningWindowClassName(), &wc))
159.442 + {
159.443 + AwtWindow::FillWarningWindowClassInfo(&wc);
159.444 + ATOM atom = ::RegisterClass(&wc);
159.445 + DASSERT(atom != 0);
159.446 + }
159.447 +}
159.448 +
159.449 +void AwtWindow::UnregisterWarningWindowClass()
159.450 +{
159.451 + ::UnregisterClass(AwtWindow::GetWarningWindowClassName(), AwtToolkit::GetInstance().GetModuleHandle());
159.452 +}
159.453 +
159.454 +HICON AwtWindow::GetSecurityWarningIcon()
159.455 +{
159.456 + HICON ico = AwtToolkit::GetInstance().GetSecurityWarningIcon(securityWarningAnimationStage,
159.457 + warningWindowWidth, warningWindowHeight);
159.458 + return ico;
159.459 +}
159.460 +
159.461 +// This function calculates the bounds of the warning window and stores them
159.462 +// into the RECT structure pointed by the argument rect.
159.463 +void AwtWindow::CalculateWarningWindowBounds(JNIEnv *env, LPRECT rect)
159.464 +{
159.465 + RECT windowBounds;
159.466 + AwtToolkit::GetWindowRect(GetHWnd(), &windowBounds);
159.467 +
159.468 + jobject target = GetTarget(env);
159.469 + jobject point2D = env->CallObjectMethod(target,
159.470 + calculateSecurityWarningPositionMID,
159.471 + (jdouble)windowBounds.left, (jdouble)windowBounds.top,
159.472 + (jdouble)(windowBounds.right - windowBounds.left),
159.473 + (jdouble)(windowBounds.bottom - windowBounds.top));
159.474 + env->DeleteLocalRef(target);
159.475 +
159.476 + static jclass point2DClassID = NULL;
159.477 + static jmethodID point2DGetXMID = NULL;
159.478 + static jmethodID point2DGetYMID = NULL;
159.479 +
159.480 + if (point2DClassID == NULL) {
159.481 + jclass point2DClassIDLocal = env->FindClass("java/awt/geom/Point2D");
159.482 + point2DClassID = (jclass)env->NewGlobalRef(point2DClassIDLocal);
159.483 + env->DeleteLocalRef(point2DClassIDLocal);
159.484 + }
159.485 +
159.486 + if (point2DGetXMID == NULL) {
159.487 + point2DGetXMID = env->GetMethodID(point2DClassID, "getX", "()D");
159.488 + }
159.489 + if (point2DGetYMID == NULL) {
159.490 + point2DGetYMID = env->GetMethodID(point2DClassID, "getY", "()D");
159.491 + }
159.492 +
159.493 +
159.494 + int x = (int)env->CallDoubleMethod(point2D, point2DGetXMID);
159.495 + int y = (int)env->CallDoubleMethod(point2D, point2DGetYMID);
159.496 +
159.497 + env->DeleteLocalRef(point2D);
159.498 +
159.499 + //Make sure the warning is not far from the window bounds
159.500 + x = max(x, windowBounds.left - (int)warningWindowWidth - 2);
159.501 + x = min(x, windowBounds.right + (int)warningWindowWidth + 2);
159.502 +
159.503 + y = max(y, windowBounds.top - (int)warningWindowHeight - 2);
159.504 + y = min(y, windowBounds.bottom + (int)warningWindowHeight + 2);
159.505 +
159.506 + // Now make sure the warning window is visible on the screen
159.507 + HMONITOR hmon = MonitorFromWindow(GetHWnd(), MONITOR_DEFAULTTOPRIMARY);
159.508 + DASSERT(hmon != NULL);
159.509 +
159.510 + RECT monitorBounds;
159.511 + RECT monitorInsets;
159.512 +
159.513 + MonitorBounds(hmon, &monitorBounds);
159.514 + if (!AwtToolkit::GetScreenInsets(m_screenNum, &monitorInsets)) {
159.515 + ::ZeroMemory(&monitorInsets, sizeof(monitorInsets));
159.516 + }
159.517 +
159.518 + x = max(x, monitorBounds.left + monitorInsets.left);
159.519 + x = min(x, monitorBounds.right - monitorInsets.right - (int)warningWindowWidth);
159.520 +
159.521 + y = max(y, monitorBounds.top + monitorInsets.top);
159.522 + y = min(y, monitorBounds.bottom - monitorInsets.bottom - (int)warningWindowHeight);
159.523 +
159.524 + rect->left = x;
159.525 + rect->top = y;
159.526 + rect->right = rect->left + warningWindowWidth;
159.527 + rect->bottom = rect->top + warningWindowHeight;
159.528 +}
159.529 +
159.530 +LRESULT CALLBACK AwtWindow::WarningWindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
159.531 +{
159.532 + switch (uMsg) {
159.533 + case WM_PAINT:
159.534 + PaintWarningWindow(hwnd);
159.535 + return 0;
159.536 +
159.537 + case WM_MOUSEACTIVATE:
159.538 + {
159.539 + // Retrive the owner of the warning window.
159.540 + HWND javaWindow = ::GetParent(hwnd);
159.541 + if (javaWindow) {
159.542 + // If the window is blocked by a modal dialog, substitute
159.543 + // its handle with the topmost blocker.
159.544 + HWND topmostBlocker = GetTopmostModalBlocker(javaWindow);
159.545 + if (::IsWindow(topmostBlocker)) {
159.546 + javaWindow = topmostBlocker;
159.547 + }
159.548 +
159.549 + ::BringWindowToTop(javaWindow);
159.550 +
159.551 + AwtWindow * window =
159.552 + (AwtWindow*)AwtComponent::GetComponent(javaWindow);
159.553 + if (window == NULL) {
159.554 + // Quite unlikely to go into here, but it's way better
159.555 + // than getting a crash.
159.556 + ::SetForegroundWindow(javaWindow);
159.557 + } else {
159.558 + // Activate the window if it is focusable and inactive
159.559 + if (window->IsFocusableWindow() &&
159.560 + javaWindow != ::GetActiveWindow()) {
159.561 + ::SetForegroundWindow(javaWindow);
159.562 + } else {
159.563 + // ...otherwise just start the animation.
159.564 + window->StartSecurityAnimation(akShow);
159.565 + }
159.566 + }
159.567 +
159.568 + // In every case if there's a top-most blocker, we need to
159.569 + // enable modal animation.
159.570 + if (::IsWindow(topmostBlocker)) {
159.571 + AwtDialog::AnimateModalBlocker(topmostBlocker);
159.572 + }
159.573 + }
159.574 + return MA_NOACTIVATEANDEAT;
159.575 + }
159.576 + }
159.577 + return ::DefWindowProc(hwnd, uMsg, wParam, lParam);
159.578 +}
159.579 +
159.580 +void AwtWindow::PaintWarningWindow(HWND warningWindow)
159.581 +{
159.582 + RECT updateRect;
159.583 +
159.584 + if (!::GetUpdateRect(warningWindow, &updateRect, FALSE)) {
159.585 + // got nothing to update
159.586 + return;
159.587 + }
159.588 +
159.589 + PAINTSTRUCT ps;
159.590 + HDC hdc = ::BeginPaint(warningWindow, &ps);
159.591 + if (hdc == NULL) {
159.592 + // indicates an error
159.593 + return;
159.594 + }
159.595 +
159.596 + PaintWarningWindow(warningWindow, hdc);
159.597 +
159.598 + ::EndPaint(warningWindow, &ps);
159.599 +}
159.600 +
159.601 +void AwtWindow::PaintWarningWindow(HWND warningWindow, HDC hdc)
159.602 +{
159.603 + HWND javaWindow = ::GetParent(warningWindow);
159.604 +
159.605 + AwtWindow * window = (AwtWindow*)AwtComponent::GetComponent(javaWindow);
159.606 + if (window == NULL) {
159.607 + return;
159.608 + }
159.609 +
159.610 + ::DrawIconEx(hdc, 0, 0, window->GetSecurityWarningIcon(),
159.611 + window->warningWindowWidth, window->warningWindowHeight,
159.612 + 0, NULL, DI_NORMAL);
159.613 +}
159.614 +
159.615 +static const UINT_PTR IDT_AWT_SECURITYANIMATION = 0x102;
159.616 +
159.617 +// Approximately 6 times a second. 0.75 seconds total.
159.618 +static const UINT securityAnimationTimerElapse = 150;
159.619 +static const UINT securityAnimationMaxIterations = 5;
159.620 +
159.621 +void AwtWindow::RepaintWarningWindow()
159.622 +{
159.623 + HDC hdc = ::GetDC(warningWindow);
159.624 + PaintWarningWindow(warningWindow, hdc);
159.625 + ::ReleaseDC(warningWindow, hdc);
159.626 +}
159.627 +
159.628 +void AwtWindow::StartSecurityAnimation(AnimationKind kind)
159.629 +{
159.630 + if (!IsUntrusted()) {
159.631 + return;
159.632 + }
159.633 + if (warningWindow == NULL) {
159.634 + return;
159.635 + }
159.636 +
159.637 + securityAnimationKind = kind;
159.638 +
159.639 + securityWarningAnimationStage = 1;
159.640 + ::SetTimer(GetHWnd(), IDT_AWT_SECURITYANIMATION,
159.641 + securityAnimationTimerElapse, NULL);
159.642 +
159.643 + if (securityAnimationKind == akShow) {
159.644 + ::SetWindowPos(warningWindow, HWND_NOTOPMOST, 0, 0, 0, 0,
159.645 + SWP_NOACTIVATE | SWP_NOSIZE | SWP_NOMOVE |
159.646 + SWP_SHOWWINDOW);
159.647 +
159.648 + ::SetLayeredWindowAttributes(warningWindow, RGB(0, 0, 0),
159.649 + 0xFF, LWA_ALPHA);
159.650 + ::RedrawWindow(warningWindow, NULL, NULL,
159.651 + RDW_ERASE | RDW_INVALIDATE | RDW_FRAME | RDW_ALLCHILDREN);
159.652 + }
159.653 +}
159.654 +
159.655 +void AwtWindow::StopSecurityAnimation()
159.656 +{
159.657 + if (!IsUntrusted()) {
159.658 + return;
159.659 + }
159.660 + if (warningWindow == NULL) {
159.661 + return;
159.662 + }
159.663 +
159.664 + securityWarningAnimationStage = 0;
159.665 + ::KillTimer(GetHWnd(), IDT_AWT_SECURITYANIMATION);
159.666 +
159.667 + switch (securityAnimationKind) {
159.668 + case akHide:
159.669 + case akPreHide:
159.670 + ::SetWindowPos(warningWindow, HWND_NOTOPMOST, 0, 0, 0, 0,
159.671 + SWP_NOACTIVATE | SWP_NOSIZE | SWP_NOMOVE |
159.672 + SWP_HIDEWINDOW);
159.673 + break;
159.674 + case akShow:
159.675 + RepaintWarningWindow();
159.676 + break;
159.677 + }
159.678 +
159.679 + securityAnimationKind = akNone;
159.680 +}
159.681 +
159.682 +MsgRouting AwtWindow::WmTimer(UINT_PTR timerID)
159.683 +{
159.684 + if (timerID != IDT_AWT_SECURITYANIMATION) {
159.685 + return mrPassAlong;
159.686 + }
159.687 +
159.688 + if (securityWarningAnimationStage == 0) {
159.689 + return mrConsume;
159.690 + }
159.691 +
159.692 + securityWarningAnimationStage++;
159.693 + if (securityWarningAnimationStage >= securityAnimationMaxIterations) {
159.694 + if (securityAnimationKind == akPreHide) {
159.695 + // chain real hiding
159.696 + StartSecurityAnimation(akHide);
159.697 + } else {
159.698 + StopSecurityAnimation();
159.699 + }
159.700 + } else {
159.701 + switch (securityAnimationKind) {
159.702 + case akHide:
159.703 + {
159.704 + BYTE opacity = ((int)0xFF *
159.705 + (securityAnimationMaxIterations -
159.706 + securityWarningAnimationStage)) /
159.707 + securityAnimationMaxIterations;
159.708 + ::SetLayeredWindowAttributes(warningWindow,
159.709 + RGB(0, 0, 0), opacity, LWA_ALPHA);
159.710 + }
159.711 + break;
159.712 + case akShow:
159.713 + case akNone: // quite unlikely, but quite safe
159.714 + RepaintWarningWindow();
159.715 + break;
159.716 + }
159.717 + }
159.718 +
159.719 + return mrConsume;
159.720 +}
159.721 +
159.722 +// The security warning is visible if:
159.723 +// 1. The window has the keyboard window focus, OR
159.724 +// 2. The mouse pointer is located within the window bounds,
159.725 +// or within the security warning icon.
159.726 +void AwtWindow::UpdateSecurityWarningVisibility()
159.727 +{
159.728 + if (!IsUntrusted()) {
159.729 + return;
159.730 + }
159.731 + if (warningWindow == NULL) {
159.732 + return;
159.733 + }
159.734 +
159.735 + bool show = false;
159.736 +
159.737 + if (IsVisible() && currentWmSizeState != SIZE_MINIMIZED) {
159.738 + if (AwtComponent::GetFocusedWindow() == GetHWnd()) {
159.739 + show = true;
159.740 + }
159.741 +
159.742 + HWND hwnd = AwtToolkit::GetInstance().GetWindowUnderMouse();
159.743 + if (hwnd == GetHWnd()) {
159.744 + show = true;
159.745 + }
159.746 + if (hwnd == warningWindow) {
159.747 + show = true;
159.748 + }
159.749 + }
159.750 +
159.751 + if (show && (!::IsWindowVisible(warningWindow) ||
159.752 + securityAnimationKind == akHide ||
159.753 + securityAnimationKind == akPreHide)) {
159.754 + StartSecurityAnimation(akShow);
159.755 + }
159.756 + if (!show && ::IsWindowVisible(warningWindow)) {
159.757 + StartSecurityAnimation(akPreHide);
159.758 + }
159.759 +}
159.760 +
159.761 +void AwtWindow::FocusedWindowChanged(HWND from, HWND to)
159.762 +{
159.763 + AwtWindow * fw = (AwtWindow *)AwtComponent::GetComponent(from);
159.764 + AwtWindow * tw = (AwtWindow *)AwtComponent::GetComponent(to);
159.765 +
159.766 + if (fw != NULL) {
159.767 + fw->UpdateSecurityWarningVisibility();
159.768 + }
159.769 + if (tw != NULL) {
159.770 + tw->UpdateSecurityWarningVisibility();
159.771 +
159.772 + // Flash on receiving the keyboard focus even if the warning
159.773 + // has already been shown (e.g. by hovering with the mouse)
159.774 + tw->StartSecurityAnimation(akShow);
159.775 + }
159.776 +}
159.777 +
159.778 +void AwtWindow::_RepositionSecurityWarning(void* param)
159.779 +{
159.780 + JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
159.781 +
159.782 + RepositionSecurityWarningStruct *rsws =
159.783 + (RepositionSecurityWarningStruct *)param;
159.784 + jobject self = rsws->window;
159.785 +
159.786 + PDATA pData;
159.787 + JNI_CHECK_PEER_GOTO(self, ret);
159.788 + AwtWindow *window = (AwtWindow *)pData;
159.789 +
159.790 + window->RepositionSecurityWarning(env);
159.791 +
159.792 + ret:
159.793 + env->DeleteGlobalRef(self);
159.794 + delete rsws;
159.795 +}
159.796 +
159.797 /* Create a new AwtWindow object and window. */
159.798 AwtWindow* AwtWindow::Create(jobject self, jobject parent)
159.799 {
159.800 @@ -372,7 +1036,7 @@
159.801 window->m_isRetainingHierarchyZOrder = TRUE;
159.802 }
159.803 DWORD style = WS_CLIPCHILDREN | WS_POPUP;
159.804 - DWORD exStyle = 0;
159.805 + DWORD exStyle = WS_EX_NOACTIVATE;
159.806 if (GetRTL()) {
159.807 exStyle |= WS_EX_RIGHT | WS_EX_LEFTSCROLLBAR;
159.808 if (GetRTLReadingOrder())
159.809 @@ -620,23 +1284,6 @@
159.810 ::GetClientRect(GetHWnd(), &inside);
159.811 ::GetWindowRect(GetHWnd(), &outside);
159.812
159.813 - jobject target = GetTarget(env);
159.814 - jstring warningString =
159.815 - (jstring)(env)->GetObjectField(target, AwtWindow::warningStringID);
159.816 - if (warningString != NULL) {
159.817 - ::CopyRect(&inside, &outside);
159.818 - DefWindowProc(WM_NCCALCSIZE, FALSE, (LPARAM)&inside);
159.819 - /*
159.820 - * Fix for BugTraq ID 4304024.
159.821 - * Calculate client rectangle in client coordinates.
159.822 - */
159.823 - VERIFY(::OffsetRect(&inside, -inside.left, -inside.top));
159.824 - extraBottomInsets = ::GetSystemMetrics(SM_CYCAPTION) +
159.825 - ((GetStyle() & WS_THICKFRAME) ? 2 : -2);
159.826 - }
159.827 - env->DeleteLocalRef(target);
159.828 - env->DeleteLocalRef(warningString);
159.829 -
159.830 /* Update our inset member */
159.831 if (outside.right - outside.left > 0 && outside.bottom - outside.top > 0) {
159.832 ::MapWindowPoints(GetHWnd(), 0, (LPPOINT)&inside, 2);
159.833 @@ -863,45 +1510,93 @@
159.834 env->DeleteLocalRef(event);
159.835 }
159.836
159.837 +BOOL AwtWindow::AwtSetActiveWindow(BOOL isMouseEventCause, UINT hittest)
159.838 +{
159.839 + // Fix for 6458497.
159.840 + // Retreat if current foreground window is out of both our and embedder process.
159.841 + // The exception is when activation is requested due to a mouse event.
159.842 + if (!isMouseEventCause) {
159.843 + HWND fgWindow = ::GetForegroundWindow();
159.844 + if (NULL != fgWindow) {
159.845 + DWORD fgProcessID;
159.846 + ::GetWindowThreadProcessId(fgWindow, &fgProcessID);
159.847 + if (fgProcessID != ::GetCurrentProcessId()
159.848 + && !AwtToolkit::GetInstance().IsEmbedderProcessId(fgProcessID))
159.849 + {
159.850 + return FALSE;
159.851 + }
159.852 + }
159.853 + }
159.854 +
159.855 + HWND proxyContainerHWnd = GetProxyToplevelContainer();
159.856 + HWND proxyHWnd = GetProxyFocusOwner();
159.857 +
159.858 + if (proxyContainerHWnd == NULL || proxyHWnd == NULL) {
159.859 + return FALSE;
159.860 + }
159.861 +
159.862 + // Activate the proxy toplevel container
159.863 + if (::GetActiveWindow() != proxyContainerHWnd) {
159.864 + sm_suppressFocusAndActivation = TRUE;
159.865 + ::BringWindowToTop(proxyContainerHWnd);
159.866 + ::SetForegroundWindow(proxyContainerHWnd);
159.867 + sm_suppressFocusAndActivation = FALSE;
159.868 +
159.869 + if (::GetActiveWindow() != proxyContainerHWnd) {
159.870 + return FALSE; // activation has been rejected
159.871 + }
159.872 + }
159.873 +
159.874 + // Focus the proxy itself
159.875 + if (::GetFocus() != proxyHWnd) {
159.876 + sm_suppressFocusAndActivation = TRUE;
159.877 + ::SetFocus(proxyHWnd);
159.878 + sm_suppressFocusAndActivation = FALSE;
159.879 +
159.880 + if (::GetFocus() != proxyHWnd) {
159.881 + return FALSE; // focus has been rejected (that is unlikely)
159.882 + }
159.883 + }
159.884 +
159.885 + const HWND focusedWindow = AwtComponent::GetFocusedWindow();
159.886 + if (focusedWindow != GetHWnd()) {
159.887 + if (focusedWindow != NULL) {
159.888 + // Deactivate the old focused window
159.889 + AwtWindow::SynthesizeWmActivate(FALSE, focusedWindow, GetHWnd());
159.890 + }
159.891 + // Activate the new focused window.
159.892 + AwtWindow::SynthesizeWmActivate(TRUE, GetHWnd(), focusedWindow);
159.893 + }
159.894 + return TRUE;
159.895 +}
159.896 +
159.897 MsgRouting AwtWindow::WmActivate(UINT nState, BOOL fMinimized, HWND opposite)
159.898 {
159.899 jint type;
159.900
159.901 if (nState != WA_INACTIVE) {
159.902 - ::SetFocus((sm_focusOwner == NULL ||
159.903 - AwtComponent::GetTopLevelParentForWindow(sm_focusOwner) !=
159.904 - GetHWnd()) ? NULL : sm_focusOwner);
159.905 type = java_awt_event_WindowEvent_WINDOW_GAINED_FOCUS;
159.906 - AwtToolkit::GetInstance().
159.907 - InvokeFunctionLater(BounceActivation, this);
159.908 - sm_focusedWindow = GetHWnd();
159.909 + AwtComponent::SetFocusedWindow(GetHWnd());
159.910 } else {
159.911 + // The owner is not necassarily getting WM_ACTIVATE(WA_INACTIVE).
159.912 + // So, initiate retaining the actualFocusedWindow.
159.913 + AwtFrame *owner = GetOwningFrameOrDialog();
159.914 + if (owner) {
159.915 + owner->CheckRetainActualFocusedWindow(opposite);
159.916 + }
159.917 +
159.918 if (m_grabbedWindow != NULL && !m_grabbedWindow->IsOneOfOwnersOf(this)) {
159.919 m_grabbedWindow->Ungrab();
159.920 }
159.921 type = java_awt_event_WindowEvent_WINDOW_LOST_FOCUS;
159.922 - sm_focusedWindow = NULL;
159.923 + AwtComponent::SetFocusedWindow(NULL);
159.924 + sm_focusOwner = NULL;
159.925 }
159.926
159.927 SendWindowEvent(type, opposite);
159.928 return mrConsume;
159.929 }
159.930
159.931 -void AwtWindow::BounceActivation(void *self) {
159.932 - AwtWindow *wSelf = (AwtWindow *)self;
159.933 -
159.934 - if (::GetActiveWindow() == wSelf->GetHWnd()) {
159.935 - AwtFrame *owner = wSelf->GetOwningFrameOrDialog();
159.936 -
159.937 - if (owner != NULL) {
159.938 - sm_suppressFocusAndActivation = TRUE;
159.939 - ::SetActiveWindow(owner->GetHWnd());
159.940 - ::SetFocus(owner->GetProxyFocusOwner());
159.941 - sm_suppressFocusAndActivation = FALSE;
159.942 - }
159.943 - }
159.944 -}
159.945 -
159.946 MsgRouting AwtWindow::WmCreate()
159.947 {
159.948 return mrDoDefault;
159.949 @@ -925,17 +1620,20 @@
159.950 {
159.951 /*
159.952 * Original fix for 4810575. Modified for 6386592.
159.953 - * If an owned window (not frame/dialog) gets disposed we should synthesize
159.954 + * If a simple window gets disposed we should synthesize
159.955 * WM_ACTIVATE for its nearest owner. This is not performed by default because
159.956 * the owner frame/dialog is natively active.
159.957 */
159.958 HWND hwndSelf = GetHWnd();
159.959 - HWND hwndParent = ::GetParent(hwndSelf);
159.960 -
159.961 - if (!show && IsSimpleWindow() && hwndSelf == sm_focusedWindow &&
159.962 - hwndParent != NULL && ::IsWindowVisible(hwndParent))
159.963 + HWND hwndOwner = ::GetParent(hwndSelf);
159.964 +
159.965 + if (!show && IsSimpleWindow() && hwndSelf == AwtComponent::GetFocusedWindow() &&
159.966 + hwndOwner != NULL && ::IsWindowVisible(hwndOwner))
159.967 {
159.968 - ::PostMessage(hwndParent, WM_ACTIVATE, (WPARAM)WA_ACTIVE, (LPARAM)hwndSelf);
159.969 + AwtFrame *owner = (AwtFrame*)AwtComponent::GetComponent(hwndOwner);
159.970 + if (owner != NULL) {
159.971 + owner->AwtSetActiveWindow();
159.972 + }
159.973 }
159.974
159.975 //Fixed 4842599: REGRESSION: JPopupMenu not Hidden Properly After Iconified and Deiconified
159.976 @@ -1034,7 +1732,10 @@
159.977 */
159.978 MsgRouting AwtWindow::WmSize(UINT type, int w, int h)
159.979 {
159.980 + currentWmSizeState = type;
159.981 +
159.982 if (type == SIZE_MINIMIZED) {
159.983 + UpdateSecurityWarningVisibility();
159.984 return mrDoDefault;
159.985 }
159.986
159.987 @@ -1098,103 +1799,18 @@
159.988 if (env->EnsureLocalCapacity(2) < 0) {
159.989 return mrConsume;
159.990 }
159.991 - jobject target = GetTarget(env);
159.992 - jstring warningString =
159.993 - (jstring)(env)->GetObjectField(target, AwtWindow::warningStringID);
159.994 - if (warningString != NULL) {
159.995 - RECT r;
159.996 - ::CopyRect(&r, &lpncsp->rgrc[0]);
159.997 - retVal = static_cast<UINT>(DefWindowProc(WM_NCCALCSIZE, fCalcValidRects,
159.998 - reinterpret_cast<LPARAM>(lpncsp)));
159.999 -
159.1000 - /* Adjust non-client area for warning banner space. */
159.1001 - m_warningRect.left = lpncsp->rgrc[0].left;
159.1002 - m_warningRect.right = lpncsp->rgrc[0].right;
159.1003 - m_warningRect.bottom = lpncsp->rgrc[0].bottom;
159.1004 - m_warningRect.top =
159.1005 - m_warningRect.bottom - ::GetSystemMetrics(SM_CYCAPTION);
159.1006 - if (GetStyle() & WS_THICKFRAME) {
159.1007 - m_warningRect.top -= 2;
159.1008 - } else {
159.1009 - m_warningRect.top += 2;
159.1010 - }
159.1011 -
159.1012 - lpncsp->rgrc[0].bottom = (m_warningRect.top >= lpncsp->rgrc[0].top)
159.1013 - ? m_warningRect.top
159.1014 - : lpncsp->rgrc[0].top;
159.1015 -
159.1016 - /* Convert to window-relative coordinates. */
159.1017 - ::OffsetRect(&m_warningRect, -r.left, -r.top);
159.1018 -
159.1019 - /* Notify target of Insets change. */
159.1020 - if (HasValidRect()) {
159.1021 - UpdateInsets(NULL);
159.1022 - }
159.1023 -
159.1024 - mrRetVal = mrConsume;
159.1025 - } else {
159.1026 - // WM_NCCALCSIZE is usually in response to a resize, but
159.1027 - // also can be triggered by SetWindowPos(SWP_FRAMECHANGED),
159.1028 - // which means the insets will have changed - rnk 4/7/1998
159.1029 - retVal = static_cast<UINT>(DefWindowProc(
159.1030 - WM_NCCALCSIZE, fCalcValidRects, reinterpret_cast<LPARAM>(lpncsp)));
159.1031 - if (HasValidRect()) {
159.1032 - UpdateInsets(NULL);
159.1033 - }
159.1034 - mrRetVal = mrConsume;
159.1035 + // WM_NCCALCSIZE is usually in response to a resize, but
159.1036 + // also can be triggered by SetWindowPos(SWP_FRAMECHANGED),
159.1037 + // which means the insets will have changed - rnk 4/7/1998
159.1038 + retVal = static_cast<UINT>(DefWindowProc(
159.1039 + WM_NCCALCSIZE, fCalcValidRects, reinterpret_cast<LPARAM>(lpncsp)));
159.1040 + if (HasValidRect()) {
159.1041 + UpdateInsets(NULL);
159.1042 }
159.1043 - env->DeleteLocalRef(target);
159.1044 - env->DeleteLocalRef(warningString);
159.1045 + mrRetVal = mrConsume;
159.1046 return mrRetVal;
159.1047 }
159.1048
159.1049 -MsgRouting AwtWindow::WmNcPaint(HRGN hrgn)
159.1050 -{
159.1051 - DefWindowProc(WM_NCPAINT, (WPARAM)hrgn, 0);
159.1052 -
159.1053 - JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
159.1054 - if (env->EnsureLocalCapacity(2) < 0) {
159.1055 - return mrConsume;
159.1056 - }
159.1057 - jobject target = GetTarget(env);
159.1058 - jstring warningString =
159.1059 - (jstring)(env)->GetObjectField(target, AwtWindow::warningStringID);
159.1060 - if (warningString != NULL) {
159.1061 - RECT r;
159.1062 - ::CopyRect(&r, &m_warningRect);
159.1063 - HDC hDC = ::GetWindowDC(GetHWnd());
159.1064 - DASSERT(hDC);
159.1065 - int iSaveDC = ::SaveDC(hDC);
159.1066 - VERIFY(::SelectClipRgn(hDC, NULL) != NULL);
159.1067 - VERIFY(::FillRect(hDC, &m_warningRect, (HBRUSH)::GetStockObject(BLACK_BRUSH)));
159.1068 -
159.1069 - if (GetStyle() & WS_THICKFRAME) {
159.1070 - /* draw edge */
159.1071 - VERIFY(::DrawEdge(hDC, &r, EDGE_RAISED, BF_TOP));
159.1072 - r.top += 2;
159.1073 - VERIFY(::DrawEdge(hDC, &r, EDGE_SUNKEN, BF_RECT));
159.1074 - ::InflateRect(&r, -2, -2);
159.1075 - }
159.1076 -
159.1077 - /* draw warning text */
159.1078 - LPCWSTR text = JNU_GetStringPlatformChars(env, warningString, NULL);
159.1079 - VERIFY(::SetBkColor(hDC, ::GetSysColor(COLOR_BTNFACE)) != CLR_INVALID);
159.1080 - VERIFY(::SetTextColor(hDC, ::GetSysColor(COLOR_BTNTEXT)) != CLR_INVALID);
159.1081 - VERIFY(::SelectObject(hDC, ::GetStockObject(DEFAULT_GUI_FONT)) != NULL);
159.1082 - VERIFY(::SetTextAlign(hDC, TA_LEFT | TA_BOTTOM) != GDI_ERROR);
159.1083 - VERIFY(::ExtTextOut(hDC, r.left+2, r.bottom-1,
159.1084 - ETO_CLIPPED | ETO_OPAQUE,
159.1085 - &r, text, static_cast<UINT>(wcslen(text)), NULL));
159.1086 - VERIFY(::RestoreDC(hDC, iSaveDC));
159.1087 - ::ReleaseDC(GetHWnd(), hDC);
159.1088 - JNU_ReleaseStringPlatformChars(env, warningString, text);
159.1089 - }
159.1090 -
159.1091 - env->DeleteLocalRef(target);
159.1092 - env->DeleteLocalRef(warningString);
159.1093 - return mrConsume;
159.1094 -}
159.1095 -
159.1096 MsgRouting AwtWindow::WmNcHitTest(UINT x, UINT y, LRESULT& retVal)
159.1097 {
159.1098 // If this window is blocked by modal dialog, return HTCLIENT for any point of it.
159.1099 @@ -1420,6 +2036,19 @@
159.1100 }
159.1101 }
159.1102
159.1103 +HWND AwtWindow::GetTopmostModalBlocker(HWND window)
159.1104 +{
159.1105 + HWND ret, blocker = NULL;
159.1106 +
159.1107 + do {
159.1108 + ret = blocker;
159.1109 + blocker = AwtWindow::GetModalBlocker(window);
159.1110 + window = blocker;
159.1111 + } while (::IsWindow(blocker));
159.1112 +
159.1113 + return ret;
159.1114 +}
159.1115 +
159.1116 void AwtWindow::FlashWindowEx(HWND hWnd, UINT count, DWORD timeout, DWORD flags) {
159.1117 FLASHWINFO fi;
159.1118 fi.cbSize = sizeof(fi);
159.1119 @@ -1430,6 +2059,38 @@
159.1120 ::FlashWindowEx(&fi);
159.1121 }
159.1122
159.1123 +jboolean
159.1124 +AwtWindow::_RequestWindowFocus(void *param)
159.1125 +{
159.1126 + JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
159.1127 +
159.1128 + RequestWindowFocusStruct *rfs = (RequestWindowFocusStruct *)param;
159.1129 + jobject self = rfs->component;
159.1130 + jboolean isMouseEventCause = rfs->isMouseEventCause;
159.1131 +
159.1132 + jboolean result = JNI_FALSE;
159.1133 + AwtWindow *window = NULL;
159.1134 +
159.1135 + PDATA pData;
159.1136 + JNI_CHECK_NULL_GOTO(self, "peer", ret);
159.1137 + pData = JNI_GET_PDATA(self);
159.1138 + if (pData == NULL) {
159.1139 + // do nothing just return false
159.1140 + goto ret;
159.1141 + }
159.1142 +
159.1143 + window = (AwtWindow *)pData;
159.1144 + if (::IsWindow(window->GetHWnd())) {
159.1145 + result = (jboolean)window->SendMessage(WM_AWT_WINDOW_SETACTIVE, (WPARAM)isMouseEventCause, 0);
159.1146 + }
159.1147 +ret:
159.1148 + env->DeleteGlobalRef(self);
159.1149 +
159.1150 + delete rfs;
159.1151 +
159.1152 + return result;
159.1153 +}
159.1154 +
159.1155 void AwtWindow::_ToFront(void *param)
159.1156 {
159.1157 JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
159.1158 @@ -1839,6 +2500,216 @@
159.1159 //Does nothing for windows, is overriden for frames and dialogs
159.1160 }
159.1161
159.1162 +void AwtWindow::RedrawWindow()
159.1163 +{
159.1164 + if (isOpaque()) {
159.1165 + ::RedrawWindow(GetHWnd(), NULL, NULL,
159.1166 + RDW_ERASE | RDW_INVALIDATE | RDW_FRAME | RDW_ALLCHILDREN);
159.1167 + } else {
159.1168 + ::EnterCriticalSection(&contentBitmapCS);
159.1169 + if (hContentBitmap != NULL) {
159.1170 + UpdateWindowImpl(contentWidth, contentHeight, hContentBitmap);
159.1171 + }
159.1172 + ::LeaveCriticalSection(&contentBitmapCS);
159.1173 + }
159.1174 +}
159.1175 +
159.1176 +void AwtWindow::SetTranslucency(BYTE opacity, BOOL opaque)
159.1177 +{
159.1178 + BYTE old_opacity = getOpacity();
159.1179 + BOOL old_opaque = isOpaque();
159.1180 +
159.1181 + if (opacity == old_opacity && opaque == old_opaque) {
159.1182 + return;
159.1183 + }
159.1184 +
159.1185 + setOpacity(opacity);
159.1186 + setOpaque(opaque);
159.1187 +
159.1188 + HWND hwnd = GetHWnd();
159.1189 +
159.1190 + LONG ex_style = ::GetWindowLong(hwnd, GWL_EXSTYLE);
159.1191 +
159.1192 + if (opaque != old_opaque) {
159.1193 + ::EnterCriticalSection(&contentBitmapCS);
159.1194 + if (hContentBitmap != NULL) {
159.1195 + ::DeleteObject(hContentBitmap);
159.1196 + hContentBitmap = NULL;
159.1197 + }
159.1198 + ::LeaveCriticalSection(&contentBitmapCS);
159.1199 + }
159.1200 +
159.1201 + if (opaque && opacity == 0xff) {
159.1202 + // Turn off all the effects
159.1203 + ::SetWindowLong(hwnd, GWL_EXSTYLE, ex_style & ~WS_EX_LAYERED);
159.1204 + // Ask the window to repaint itself and all the children
159.1205 + RedrawWindow();
159.1206 + } else {
159.1207 + // We're going to enable some effects
159.1208 + if (!(ex_style & WS_EX_LAYERED)) {
159.1209 + ::SetWindowLong(hwnd, GWL_EXSTYLE, ex_style | WS_EX_LAYERED);
159.1210 + } else {
159.1211 + if ((opaque && opacity < 0xff) ^ (old_opaque && old_opacity < 0xff)) {
159.1212 + // _One_ of the modes uses the SetLayeredWindowAttributes.
159.1213 + // Need to reset the style in this case.
159.1214 + // If both modes are simple (i.e. just changing the opacity level),
159.1215 + // no need to reset the style.
159.1216 + ::SetWindowLong(hwnd, GWL_EXSTYLE, ex_style & ~WS_EX_LAYERED);
159.1217 + ::SetWindowLong(hwnd, GWL_EXSTYLE, ex_style | WS_EX_LAYERED);
159.1218 + }
159.1219 + }
159.1220 +
159.1221 + if (opaque) {
159.1222 + // Simple opacity mode
159.1223 + ::SetLayeredWindowAttributes(hwnd, RGB(0, 0, 0), opacity, LWA_ALPHA);
159.1224 + }
159.1225 + }
159.1226 +}
159.1227 +
159.1228 +static HBITMAP CreateBitmapFromRaster(JNIEnv* env, jintArray raster, jint w, jint h)
159.1229 +{
159.1230 + HBITMAP image = NULL;
159.1231 + if (raster != NULL) {
159.1232 + int* rasterBuffer = NULL;
159.1233 + try {
159.1234 + rasterBuffer = (int *)env->GetPrimitiveArrayCritical(raster, 0);
159.1235 + JNI_CHECK_NULL_GOTO(rasterBuffer, "raster data", done);
159.1236 + image = BitmapUtil::CreateBitmapFromARGBPre(w, h, w*4, rasterBuffer);
159.1237 + } catch (...) {
159.1238 + if (rasterBuffer != NULL) {
159.1239 + env->ReleasePrimitiveArrayCritical(raster, rasterBuffer, 0);
159.1240 + }
159.1241 + throw;
159.1242 + }
159.1243 + if (rasterBuffer != NULL) {
159.1244 + env->ReleasePrimitiveArrayCritical(raster, rasterBuffer, 0);
159.1245 + }
159.1246 + }
159.1247 +done:
159.1248 + return image;
159.1249 +}
159.1250 +
159.1251 +void AwtWindow::UpdateWindowImpl(int width, int height, HBITMAP hBitmap)
159.1252 +{
159.1253 + if (isOpaque()) {
159.1254 + return;
159.1255 + }
159.1256 +
159.1257 + HWND hWnd = GetHWnd();
159.1258 + HDC hdcDst = ::GetDC(NULL);
159.1259 + HDC hdcSrc = ::CreateCompatibleDC(NULL);
159.1260 + HBITMAP hOldBitmap = (HBITMAP)::SelectObject(hdcSrc, hBitmap);
159.1261 +
159.1262 + //XXX: this code doesn't paint the children (say, the java.awt.Button)!
159.1263 + //So, if we ever want to support HWs here, we need to repaint them
159.1264 + //in some other way...
159.1265 + //::SendMessage(hWnd, WM_PRINT, (WPARAM)hdcSrc, /*PRF_CHECKVISIBLE |*/
159.1266 + // PRF_CHILDREN /*| PRF_CLIENT | PRF_NONCLIENT*/);
159.1267 +
159.1268 + POINT ptSrc;
159.1269 + ptSrc.x = ptSrc.y = 0;
159.1270 +
159.1271 + RECT rect;
159.1272 + POINT ptDst;
159.1273 + SIZE size;
159.1274 +
159.1275 + ::GetWindowRect(hWnd, &rect);
159.1276 + ptDst.x = rect.left;
159.1277 + ptDst.y = rect.top;
159.1278 + size.cx = width;
159.1279 + size.cy = height;
159.1280 +
159.1281 + BLENDFUNCTION bf;
159.1282 +
159.1283 + bf.SourceConstantAlpha = getOpacity();
159.1284 + bf.AlphaFormat = AC_SRC_ALPHA;
159.1285 + bf.BlendOp = AC_SRC_OVER;
159.1286 + bf.BlendFlags = 0;
159.1287 +
159.1288 + ::UpdateLayeredWindow(hWnd, hdcDst, &ptDst, &size, hdcSrc, &ptSrc,
159.1289 + RGB(0, 0, 0), &bf, ULW_ALPHA);
159.1290 +
159.1291 + ::ReleaseDC(NULL, hdcDst);
159.1292 + ::SelectObject(hdcSrc, hOldBitmap);
159.1293 + ::DeleteDC(hdcSrc);
159.1294 +}
159.1295 +
159.1296 +void AwtWindow::UpdateWindow(JNIEnv* env, jintArray data, int width, int height,
159.1297 + HBITMAP hNewBitmap)
159.1298 +{
159.1299 + if (isOpaque()) {
159.1300 + return;
159.1301 + }
159.1302 +
159.1303 + HBITMAP hBitmap;
159.1304 + if (hNewBitmap == NULL) {
159.1305 + if (data == NULL) {
159.1306 + return;
159.1307 + }
159.1308 + hBitmap = CreateBitmapFromRaster(env, data, width, height);
159.1309 + if (hBitmap == NULL) {
159.1310 + return;
159.1311 + }
159.1312 + } else {
159.1313 + hBitmap = hNewBitmap;
159.1314 + }
159.1315 +
159.1316 + ::EnterCriticalSection(&contentBitmapCS);
159.1317 + if (hContentBitmap != NULL) {
159.1318 + ::DeleteObject(hContentBitmap);
159.1319 + }
159.1320 + hContentBitmap = hBitmap;
159.1321 + contentWidth = width;
159.1322 + contentHeight = height;
159.1323 + UpdateWindowImpl(width, height, hBitmap);
159.1324 + ::LeaveCriticalSection(&contentBitmapCS);
159.1325 +}
159.1326 +
159.1327 +void AwtWindow::FillBackground(HDC hMemoryDC, SIZE &size)
159.1328 +{
159.1329 + if (isOpaque()) {
159.1330 + AwtCanvas::FillBackground(hMemoryDC, size);
159.1331 + }
159.1332 +}
159.1333 +
159.1334 +void AwtWindow::FillAlpha(void *bitmapBits, SIZE &size, BYTE alpha)
159.1335 +{
159.1336 + if (isOpaque()) {
159.1337 + AwtCanvas::FillAlpha(bitmapBits, size, alpha);
159.1338 + }
159.1339 +}
159.1340 +
159.1341 +/*
159.1342 + * Fixed 6353381: it's improved fix for 4792958
159.1343 + * which was backed-out to avoid 5059656
159.1344 + */
159.1345 +BOOL AwtWindow::HasValidRect()
159.1346 +{
159.1347 + RECT inside;
159.1348 + RECT outside;
159.1349 +
159.1350 + if (::IsIconic(GetHWnd())) {
159.1351 + return FALSE;
159.1352 + }
159.1353 +
159.1354 + ::GetClientRect(GetHWnd(), &inside);
159.1355 + ::GetWindowRect(GetHWnd(), &outside);
159.1356 +
159.1357 + BOOL isZeroClientArea = (inside.right == 0 && inside.bottom == 0);
159.1358 + BOOL isInvalidLocation = ((outside.left == -32000 && outside.top == -32000) || // Win2k && WinXP
159.1359 + (outside.left == 32000 && outside.top == 32000) || // Win95 && Win98
159.1360 + (outside.left == 3000 && outside.top == 3000)); // Win95 && Win98
159.1361 +
159.1362 + // the bounds correspond to iconic state
159.1363 + if (isZeroClientArea && isInvalidLocation)
159.1364 + {
159.1365 + return FALSE;
159.1366 + }
159.1367 +
159.1368 + return TRUE;
159.1369 +}
159.1370 +
159.1371 +
159.1372 void AwtWindow::_SetIconImagesData(void * param)
159.1373 {
159.1374 JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
159.1375 @@ -1940,11 +2811,14 @@
159.1376
159.1377 window->m_isFocusableWindow = isFocusableWindow;
159.1378
159.1379 - if (!window->m_isFocusableWindow) {
159.1380 - LONG isPopup = window->GetStyle() & WS_POPUP;
159.1381 - window->SetStyleEx(window->GetStyleEx() | (isPopup ? 0 : WS_EX_APPWINDOW) | AWT_WS_EX_NOACTIVATE);
159.1382 - } else {
159.1383 - window->SetStyleEx(window->GetStyleEx() & ~WS_EX_APPWINDOW & ~AWT_WS_EX_NOACTIVATE);
159.1384 + // A simple window is permanently set to WS_EX_NOACTIVATE
159.1385 + if (!window->IsSimpleWindow()) {
159.1386 + if (!window->m_isFocusableWindow) {
159.1387 + LONG isPopup = window->GetStyle() & WS_POPUP;
159.1388 + window->SetStyleEx(window->GetStyleEx() | (isPopup ? 0 : WS_EX_APPWINDOW) | WS_EX_NOACTIVATE);
159.1389 + } else {
159.1390 + window->SetStyleEx(window->GetStyleEx() & ~WS_EX_APPWINDOW & ~WS_EX_NOACTIVATE);
159.1391 + }
159.1392 }
159.1393
159.1394 ret:
159.1395 @@ -2009,36 +2883,68 @@
159.1396 env->DeleteGlobalRef(self);
159.1397 }
159.1398
159.1399 -/*
159.1400 - * Fixed 6353381: it's improved fix for 4792958
159.1401 - * which was backed-out to avoid 5059656
159.1402 - */
159.1403 -BOOL AwtWindow::HasValidRect()
159.1404 +void AwtWindow::_SetOpacity(void* param)
159.1405 {
159.1406 - RECT inside;
159.1407 - RECT outside;
159.1408 -
159.1409 - if (::IsIconic(GetHWnd())) {
159.1410 - return FALSE;
159.1411 + JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
159.1412 +
159.1413 + OpacityStruct *os = (OpacityStruct *)param;
159.1414 + jobject self = os->window;
159.1415 + BYTE iOpacity = (BYTE)os->iOpacity;
159.1416 +
159.1417 + PDATA pData;
159.1418 + JNI_CHECK_PEER_GOTO(self, ret);
159.1419 + AwtWindow *window = (AwtWindow *)pData;
159.1420 +
159.1421 + window->SetTranslucency(iOpacity, window->isOpaque());
159.1422 +
159.1423 + ret:
159.1424 + env->DeleteGlobalRef(self);
159.1425 + delete os;
159.1426 +}
159.1427 +
159.1428 +void AwtWindow::_SetOpaque(void* param)
159.1429 +{
159.1430 + JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
159.1431 +
159.1432 + OpaqueStruct *os = (OpaqueStruct *)param;
159.1433 + jobject self = os->window;
159.1434 + BOOL isOpaque = (BOOL)os->isOpaque;
159.1435 +
159.1436 + PDATA pData;
159.1437 + JNI_CHECK_PEER_GOTO(self, ret);
159.1438 + AwtWindow *window = (AwtWindow *)pData;
159.1439 +
159.1440 + window->SetTranslucency(window->getOpacity(), isOpaque);
159.1441 +
159.1442 + ret:
159.1443 + env->DeleteGlobalRef(self);
159.1444 + delete os;
159.1445 +}
159.1446 +
159.1447 +void AwtWindow::_UpdateWindow(void* param)
159.1448 +{
159.1449 + JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
159.1450 +
159.1451 + UpdateWindowStruct *uws = (UpdateWindowStruct *)param;
159.1452 + jobject self = uws->window;
159.1453 + jintArray data = uws->data;
159.1454 +
159.1455 + PDATA pData;
159.1456 + JNI_CHECK_PEER_GOTO(self, ret);
159.1457 + AwtWindow *window = (AwtWindow *)pData;
159.1458 +
159.1459 + window->UpdateWindow(env, data, (int)uws->width, (int)uws->height,
159.1460 + uws->hBitmap);
159.1461 +
159.1462 + ret:
159.1463 + env->DeleteGlobalRef(self);
159.1464 + if (data != NULL) {
159.1465 + env->DeleteGlobalRef(data);
159.1466 }
159.1467 -
159.1468 - ::GetClientRect(GetHWnd(), &inside);
159.1469 - ::GetWindowRect(GetHWnd(), &outside);
159.1470 -
159.1471 - BOOL isZeroClientArea = (inside.right == 0 && inside.bottom == 0);
159.1472 - BOOL isInvalidLocation = ((outside.left == -32000 && outside.top == -32000) || // Win2k && WinXP
159.1473 - (outside.left == 32000 && outside.top == 32000) || // Win95 && Win98
159.1474 - (outside.left == 3000 && outside.top == 3000)); // Win95 && Win98
159.1475 -
159.1476 - // the bounds correspond to iconic state
159.1477 - if (isZeroClientArea && isInvalidLocation)
159.1478 - {
159.1479 - return FALSE;
159.1480 - }
159.1481 -
159.1482 - return TRUE;
159.1483 + delete uws;
159.1484 }
159.1485
159.1486 +
159.1487 extern "C" {
159.1488
159.1489 /*
159.1490 @@ -2055,8 +2961,16 @@
159.1491 env->GetFieldID(cls, "warningString", "Ljava/lang/String;");
159.1492 AwtWindow::locationByPlatformID =
159.1493 env->GetFieldID(cls, "locationByPlatform", "Z");
159.1494 + AwtWindow::securityWarningWidthID =
159.1495 + env->GetFieldID(cls, "securityWarningWidth", "I");
159.1496 + AwtWindow::securityWarningHeightID =
159.1497 + env->GetFieldID(cls, "securityWarningHeight", "I");
159.1498 + AwtWindow::getWarningStringMID =
159.1499 + env->GetMethodID(cls, "getWarningString", "()Ljava/lang/String;");
159.1500 AwtWindow::autoRequestFocusID =
159.1501 env->GetFieldID(cls, "autoRequestFocus", "Z");
159.1502 + AwtWindow::calculateSecurityWarningPositionMID =
159.1503 + env->GetMethodID(cls, "calculateSecurityWarningPosition", "(DDDD)Ljava/awt/geom/Point2D;");
159.1504
159.1505 CATCH_BAD_ALLOC;
159.1506 }
159.1507 @@ -2489,4 +3403,138 @@
159.1508 CATCH_BAD_ALLOC;
159.1509 }
159.1510
159.1511 +/*
159.1512 + * Class: sun_awt_windows_WWindowPeer
159.1513 + * Method: setOpacity
159.1514 + * Signature: (I)V
159.1515 + */
159.1516 +JNIEXPORT void JNICALL
159.1517 +Java_sun_awt_windows_WWindowPeer_setOpacity(JNIEnv *env, jobject self,
159.1518 + jint iOpacity)
159.1519 +{
159.1520 + TRY;
159.1521 +
159.1522 + OpacityStruct *os = new OpacityStruct;
159.1523 + os->window = env->NewGlobalRef(self);
159.1524 + os->iOpacity = iOpacity;
159.1525 +
159.1526 + AwtToolkit::GetInstance().SyncCall(AwtWindow::_SetOpacity, os);
159.1527 + // global refs and mds are deleted in _SetMinSize
159.1528 +
159.1529 + CATCH_BAD_ALLOC;
159.1530 +}
159.1531 +
159.1532 +/*
159.1533 + * Class: sun_awt_windows_WWindowPeer
159.1534 + * Method: setOpaqueImpl
159.1535 + * Signature: (Z)V
159.1536 + */
159.1537 +JNIEXPORT void JNICALL
159.1538 +Java_sun_awt_windows_WWindowPeer_setOpaqueImpl(JNIEnv *env, jobject self,
159.1539 + jboolean isOpaque)
159.1540 +{
159.1541 + TRY;
159.1542 +
159.1543 + OpaqueStruct *os = new OpaqueStruct;
159.1544 + os->window = env->NewGlobalRef(self);
159.1545 + os->isOpaque = isOpaque;
159.1546 +
159.1547 + AwtToolkit::GetInstance().SyncCall(AwtWindow::_SetOpaque, os);
159.1548 + // global refs and mds are deleted in _SetMinSize
159.1549 +
159.1550 + CATCH_BAD_ALLOC;
159.1551 +}
159.1552 +
159.1553 +/*
159.1554 + * Class: sun_awt_windows_WWindowPeer
159.1555 + * Method: updateWindowImpl
159.1556 + * Signature: ([III)V
159.1557 + */
159.1558 +JNIEXPORT void JNICALL
159.1559 +Java_sun_awt_windows_WWindowPeer_updateWindowImpl(JNIEnv *env, jobject self,
159.1560 + jintArray data,
159.1561 + jint width, jint height)
159.1562 +{
159.1563 + TRY;
159.1564 +
159.1565 + UpdateWindowStruct *uws = new UpdateWindowStruct;
159.1566 + uws->window = env->NewGlobalRef(self);
159.1567 + uws->data = (jintArray)env->NewGlobalRef(data);
159.1568 + uws->hBitmap = NULL;
159.1569 + uws->width = width;
159.1570 + uws->height = height;
159.1571 +
159.1572 + AwtToolkit::GetInstance().InvokeFunction(AwtWindow::_UpdateWindow, uws);
159.1573 + // global refs and mds are deleted in _UpdateWindow
159.1574 +
159.1575 + CATCH_BAD_ALLOC;
159.1576 +}
159.1577 +
159.1578 +/**
159.1579 + * This method is called from the WGL pipeline when it needs to update
159.1580 + * the layered window WindowPeer's C++ level object.
159.1581 + */
159.1582 +void AwtWindow_UpdateWindow(JNIEnv *env, jobject peer,
159.1583 + jint width, jint height, HBITMAP hBitmap)
159.1584 +{
159.1585 + TRY;
159.1586 +
159.1587 + UpdateWindowStruct *uws = new UpdateWindowStruct;
159.1588 + uws->window = env->NewGlobalRef(peer);
159.1589 + uws->data = NULL;
159.1590 + uws->hBitmap = hBitmap;
159.1591 + uws->width = width;
159.1592 + uws->height = height;
159.1593 +
159.1594 + AwtToolkit::GetInstance().InvokeFunction(AwtWindow::_UpdateWindow, uws);
159.1595 + // global refs and mds are deleted in _UpdateWindow
159.1596 +
159.1597 + CATCH_BAD_ALLOC;
159.1598 +}
159.1599 +
159.1600 +/*
159.1601 + * Class: sun_awt_windows_WComponentPeer
159.1602 + * Method: requestFocus
159.1603 + * Signature: (Z)Z
159.1604 + */
159.1605 +JNIEXPORT jboolean JNICALL Java_sun_awt_windows_WWindowPeer_requestWindowFocus
159.1606 + (JNIEnv *env, jobject self, jboolean isMouseEventCause)
159.1607 +{
159.1608 + TRY;
159.1609 +
159.1610 + jobject selfGlobalRef = env->NewGlobalRef(self);
159.1611 +
159.1612 + RequestWindowFocusStruct *rfs = new RequestWindowFocusStruct;
159.1613 + rfs->component = selfGlobalRef;
159.1614 + rfs->isMouseEventCause = isMouseEventCause;
159.1615 +
159.1616 + return (jboolean)AwtToolkit::GetInstance().SyncCall(
159.1617 + (void*(*)(void*))AwtWindow::_RequestWindowFocus, rfs);
159.1618 + // global refs and rfs are deleted in _RequestWindowFocus
159.1619 +
159.1620 + CATCH_BAD_ALLOC_RET(JNI_FALSE);
159.1621 +}
159.1622 +
159.1623 +/*
159.1624 + * Class: sun_awt_windows_WWindowPeer
159.1625 + * Method: repositionSecurityWarning
159.1626 + * Signature: ()V
159.1627 + */
159.1628 +JNIEXPORT void JNICALL
159.1629 +Java_sun_awt_windows_WWindowPeer_repositionSecurityWarning(JNIEnv *env,
159.1630 + jobject self)
159.1631 +{
159.1632 + TRY;
159.1633 +
159.1634 + RepositionSecurityWarningStruct *rsws =
159.1635 + new RepositionSecurityWarningStruct;
159.1636 + rsws->window = env->NewGlobalRef(self);
159.1637 +
159.1638 + AwtToolkit::GetInstance().InvokeFunction(
159.1639 + AwtWindow::_RepositionSecurityWarning, rsws);
159.1640 + // global refs and mds are deleted in _RepositionSecurityWarning
159.1641 +
159.1642 + CATCH_BAD_ALLOC;
159.1643 +}
159.1644 +
159.1645 } /* extern "C" */
160.1 --- a/src/windows/native/sun/windows/awt_Window.h Tue Apr 14 00:05:07 2009 -0700
160.2 +++ b/src/windows/native/sun/windows/awt_Window.h Tue Apr 14 04:21:02 2009 -0700
160.3 @@ -1,5 +1,5 @@
160.4 /*
160.5 - * Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved.
160.6 + * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved.
160.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
160.8 *
160.9 * This code is free software; you can redistribute it and/or modify it
160.10 @@ -34,14 +34,12 @@
160.11 // property name tagging windows disabled by modality
160.12 static LPCTSTR ModalBlockerProp = TEXT("SunAwtModalBlockerProp");
160.13 static LPCTSTR ModalDialogPeerProp = TEXT("SunAwtModalDialogPeerProp");
160.14 +static LPCTSTR NativeDialogWndProcProp = TEXT("SunAwtNativeDialogWndProcProp");
160.15
160.16 #ifndef WH_MOUSE_LL
160.17 #define WH_MOUSE_LL 14
160.18 #endif
160.19
160.20 -// WS_EX_NOACTIVATE is not defined in the headers we build with
160.21 -#define AWT_WS_EX_NOACTIVATE 0x08000000L
160.22 -
160.23 class AwtFrame;
160.24
160.25 /************************************************************************
160.26 @@ -56,6 +54,8 @@
160.27 static jfieldID locationByPlatformID;
160.28 static jfieldID screenID; /* screen number passed over from WindowPeer */
160.29 static jfieldID autoRequestFocusID;
160.30 + static jfieldID securityWarningWidthID;
160.31 + static jfieldID securityWarningHeightID;
160.32
160.33 // The coordinates at the peer.
160.34 static jfieldID sysXID;
160.35 @@ -63,6 +63,9 @@
160.36 static jfieldID sysWID;
160.37 static jfieldID sysHID;
160.38
160.39 + static jmethodID getWarningStringMID;
160.40 + static jmethodID calculateSecurityWarningPositionMID;
160.41 +
160.42 AwtWindow();
160.43 virtual ~AwtWindow();
160.44
160.45 @@ -152,11 +155,12 @@
160.46 static void SetModalBlocker(HWND window, HWND blocker);
160.47 static void SetAndActivateModalBlocker(HWND window, HWND blocker);
160.48
160.49 + static HWND GetTopmostModalBlocker(HWND window);
160.50 +
160.51 /*
160.52 * Windows message handler functions
160.53 */
160.54 virtual MsgRouting WmActivate(UINT nState, BOOL fMinimized, HWND opposite);
160.55 - static void BounceActivation(void *self); // used by WmActivate
160.56 virtual MsgRouting WmCreate();
160.57 virtual MsgRouting WmClose();
160.58 virtual MsgRouting WmDestroy();
160.59 @@ -169,19 +173,36 @@
160.60 virtual MsgRouting WmSettingChange(UINT wFlag, LPCTSTR pszSection);
160.61 virtual MsgRouting WmNcCalcSize(BOOL fCalcValidRects,
160.62 LPNCCALCSIZE_PARAMS lpncsp, LRESULT& retVal);
160.63 - virtual MsgRouting WmNcPaint(HRGN hrgn);
160.64 virtual MsgRouting WmNcHitTest(UINT x, UINT y, LRESULT& retVal);
160.65 virtual MsgRouting WmNcMouseDown(WPARAM hitTest, int x, int y, int button);
160.66 virtual MsgRouting WmGetIcon(WPARAM iconType, LRESULT& retVal);
160.67 virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
160.68 virtual MsgRouting WmWindowPosChanging(LPARAM windowPos);
160.69 virtual MsgRouting WmWindowPosChanged(LPARAM windowPos);
160.70 + virtual MsgRouting WmTimer(UINT_PTR timerID);
160.71
160.72 virtual MsgRouting HandleEvent(MSG *msg, BOOL synthetic);
160.73 virtual void WindowResized();
160.74
160.75 + static jboolean _RequestWindowFocus(void *param);
160.76 +
160.77 + virtual BOOL AwtSetActiveWindow(BOOL isMouseEventCause = FALSE, UINT hittest = HTCLIENT);
160.78 +
160.79 + // Execute on Toolkit only.
160.80 + INLINE static LRESULT SynthesizeWmActivate(BOOL doActivate, HWND targetHWnd, HWND oppositeHWnd) {
160.81 + if (::IsWindowVisible(targetHWnd)) {
160.82 + return ::SendMessage(targetHWnd, WM_ACTIVATE,
160.83 + MAKEWPARAM(doActivate ? WA_ACTIVE : WA_INACTIVE, FALSE),
160.84 + (LPARAM) oppositeHWnd);
160.85 + }
160.86 + return 1; // if not processed
160.87 + }
160.88 +
160.89 void moveToDefaultLocation(); /* moves Window to X,Y specified by Window Manger */
160.90
160.91 + void UpdateWindow(JNIEnv* env, jintArray data, int width, int height,
160.92 + HBITMAP hNewBitmap = NULL);
160.93 +
160.94 INLINE virtual BOOL IsTopLevel() { return TRUE; }
160.95 static AwtWindow * GetGrabbedWindow() { return m_grabbedWindow; }
160.96
160.97 @@ -204,11 +225,25 @@
160.98 static void _SetModalExcludedNativeProp(void *param);
160.99 static void _ModalDisable(void *param);
160.100 static void _ModalEnable(void *param);
160.101 + static void _SetOpacity(void* param);
160.102 + static void _SetOpaque(void* param);
160.103 + static void _UpdateWindow(void* param);
160.104 + static void _RepositionSecurityWarning(void* param);
160.105
160.106 inline static BOOL IsResizing() {
160.107 return sm_resizing;
160.108 }
160.109
160.110 + virtual void CreateHWnd(JNIEnv *env, LPCWSTR title,
160.111 + DWORD windowStyle, DWORD windowExStyle,
160.112 + int x, int y, int w, int h,
160.113 + HWND hWndParent, HMENU hMenu,
160.114 + COLORREF colorForeground, COLORREF colorBackground,
160.115 + jobject peer);
160.116 + virtual void DestroyHWnd();
160.117 +
160.118 + static void FocusedWindowChanged(HWND from, HWND to);
160.119 +
160.120 private:
160.121 static int ms_instanceCounter;
160.122 static HHOOK ms_hCBTFilter;
160.123 @@ -228,6 +263,79 @@
160.124 // from its hierarchy when shown. Currently applied to instances of
160.125 // javax/swing/Popup$HeavyWeightWindow class.
160.126
160.127 + BYTE m_opacity; // The opacity level. == 0xff by default (when opacity mode is disabled)
160.128 + BOOL m_opaque; // Whether the window uses the perpixel translucency (false), or not (true).
160.129 +
160.130 + inline BYTE getOpacity() {
160.131 + return m_opacity;
160.132 + }
160.133 + inline void setOpacity(BYTE opacity) {
160.134 + m_opacity = opacity;
160.135 + }
160.136 +
160.137 + inline BOOL isOpaque() {
160.138 + return m_opaque;
160.139 + }
160.140 + inline void setOpaque(BOOL opaque) {
160.141 + m_opaque = opaque;
160.142 + }
160.143 +
160.144 + CRITICAL_SECTION contentBitmapCS;
160.145 + HBITMAP hContentBitmap;
160.146 + UINT contentWidth;
160.147 + UINT contentHeight;
160.148 +
160.149 + void SetTranslucency(BYTE opacity, BOOL opaque);
160.150 + void UpdateWindow(int width, int height, HBITMAP hBitmap);
160.151 + void UpdateWindowImpl(int width, int height, HBITMAP hBitmap);
160.152 + void RedrawWindow();
160.153 +
160.154 + static UINT untrustedWindowsCounter;
160.155 +
160.156 + WCHAR * warningString;
160.157 +
160.158 + // The warning icon
160.159 + HWND warningWindow;
160.160 + // The tooltip that appears when hovering the icon
160.161 + HWND securityTooltipWindow;
160.162 +
160.163 + UINT warningWindowWidth;
160.164 + UINT warningWindowHeight;
160.165 + void InitSecurityWarningSize(JNIEnv *env);
160.166 + HICON GetSecurityWarningIcon();
160.167 +
160.168 + void CreateWarningWindow(JNIEnv *env);
160.169 + void DestroyWarningWindow();
160.170 + static LPCTSTR GetWarningWindowClassName();
160.171 + void FillWarningWindowClassInfo(WNDCLASS *lpwc);
160.172 + void RegisterWarningWindowClass();
160.173 + void UnregisterWarningWindowClass();
160.174 + static LRESULT CALLBACK WarningWindowProc(
160.175 + HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
160.176 +
160.177 + static void PaintWarningWindow(HWND warningWindow);
160.178 + static void PaintWarningWindow(HWND warningWindow, HDC hdc);
160.179 + void RepaintWarningWindow();
160.180 + void CalculateWarningWindowBounds(JNIEnv *env, LPRECT rect);
160.181 +
160.182 + void AnimateSecurityWarning(bool enable);
160.183 + UINT securityWarningAnimationStage;
160.184 +
160.185 + enum AnimationKind {
160.186 + akNone, akShow, akPreHide, akHide
160.187 + };
160.188 +
160.189 + AnimationKind securityAnimationKind;
160.190 +
160.191 + void StartSecurityAnimation(AnimationKind kind);
160.192 + void StopSecurityAnimation();
160.193 +
160.194 + void RepositionSecurityWarning(JNIEnv *env);
160.195 +
160.196 +public:
160.197 + void UpdateSecurityWarningVisibility();
160.198 + static bool IsWarningWindow(HWND hWnd);
160.199 +
160.200 protected:
160.201 BOOL m_isResizable;
160.202 static AwtWindow* m_grabbedWindow; // Current grabbing window
160.203 @@ -236,6 +344,16 @@
160.204 BOOL m_iconInherited; /* TRUE if icon is inherited from the owner */
160.205 BOOL m_filterFocusAndActivation; /* Used in the WH_CBT hook */
160.206
160.207 + //These are used in AwtComponent::CreatePrintedPixels. They are overridden
160.208 + //here to handle non-opaque windows.
160.209 + virtual void FillBackground(HDC hMemoryDC, SIZE &size);
160.210 + virtual void FillAlpha(void *bitmapBits, SIZE &size, BYTE alpha);
160.211 +
160.212 + inline BOOL IsUntrusted() {
160.213 + return warningString != NULL;
160.214 + }
160.215 +
160.216 + UINT currentWmSizeState;
160.217
160.218 private:
160.219 int m_screenNum;
161.1 --- a/src/windows/native/sun/windows/awtmsg.h Tue Apr 14 00:05:07 2009 -0700
161.2 +++ b/src/windows/native/sun/windows/awtmsg.h Tue Apr 14 04:21:02 2009 -0700
161.3 @@ -1,5 +1,5 @@
161.4 /*
161.5 - * Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved.
161.6 + * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved.
161.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
161.8 *
161.9 * This code is free software; you can redistribute it and/or modify it
161.10 @@ -194,6 +194,7 @@
161.11 WM_AWT_COMPONENT_SHOW,
161.12 WM_AWT_COMPONENT_HIDE,
161.13 WM_AWT_COMPONENT_SETFOCUS,
161.14 + WM_AWT_WINDOW_SETACTIVE,
161.15 WM_AWT_LIST_SETMULTISELECT,
161.16 WM_AWT_HANDLE_EVENT,
161.17 WM_AWT_PRINT_COMPONENT,
162.1 Binary file src/windows/native/sun/windows/security_warning.ico has changed
163.1 Binary file src/windows/native/sun/windows/security_warning_bw.ico has changed
164.1 Binary file src/windows/native/sun/windows/security_warning_int.ico has changed
165.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
165.2 +++ b/test/com/sun/awt/SecurityWarning/GetSizeShouldNotReturnZero.java Tue Apr 14 04:21:02 2009 -0700
165.3 @@ -0,0 +1,392 @@
165.4 +/*
165.5 + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
165.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
165.7 + *
165.8 + * This code is free software; you can redistribute it and/or modify it
165.9 + * under the terms of the GNU General Public License version 2 only, as
165.10 + * published by the Free Software Foundation.
165.11 + *
165.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
165.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
165.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
165.15 + * version 2 for more details (a copy is included in the LICENSE file that
165.16 + * accompanied this code).
165.17 + *
165.18 + * You should have received a copy of the GNU General Public License version
165.19 + * 2 along with this work; if not, write to the Free Software Foundation,
165.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
165.21 + *
165.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
165.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
165.24 + * have any questions.
165.25 + */
165.26 +
165.27 +/*
165.28 + @test %W% %E%
165.29 + @bug 6818312
165.30 + @summary The size returned by SecurityWarning.getSize() should not be zero
165.31 + @author anthony.petrov@sun.com: area=awt.toplevel
165.32 + @library ../../../../java/awt/regtesthelpers
165.33 + @build Util
165.34 + @run main GetSizeShouldNotReturnZero
165.35 +*/
165.36 +
165.37 +/**
165.38 + * GetSizeShouldNotReturnZero.java
165.39 + *
165.40 + * summary: The size returned by SecurityWarning.getSize() should not be zero
165.41 + */
165.42 +
165.43 +import java.awt.*;
165.44 +import java.awt.event.*;
165.45 +import java.security.Permission;
165.46 +import test.java.awt.regtesthelpers.Util;
165.47 +import com.sun.awt.SecurityWarning;
165.48 +
165.49 +public class GetSizeShouldNotReturnZero
165.50 +{
165.51 + private static void init()
165.52 + {
165.53 + String[] instructions =
165.54 + {
165.55 + "This is an AUTOMATIC test, simply wait until it is done.",
165.56 + "The result (passed or failed) will be shown in the",
165.57 + "message window below."
165.58 + };
165.59 + Sysout.createDialog( );
165.60 + Sysout.printInstructions( instructions );
165.61 +
165.62 +
165.63 + // Install the security manager so that all subsequently created
165.64 + // windows display the security warning.
165.65 + System.setSecurityManager(new SecurityManager() {
165.66 +
165.67 + @Override
165.68 + public void checkPermission(Permission perm) {
165.69 + }
165.70 +
165.71 + @Override
165.72 + public boolean checkTopLevelWindow(Object window) {
165.73 + return false;
165.74 + }
165.75 + });
165.76 +
165.77 + Frame f = new Frame();
165.78 + f.setSize(100, 100);
165.79 + f.setVisible(true);
165.80 +
165.81 + Robot robot = Util.createRobot();
165.82 + Util.waitForIdle(robot);
165.83 +
165.84 + Dimension size = SecurityWarning.getSize(f);
165.85 + if (size.width == 0 || size.height == 0) {
165.86 + fail("Reported security warning size: " + size);
165.87 + return;
165.88 + }
165.89 + pass();
165.90 + }//End init()
165.91 +
165.92 +
165.93 +
165.94 + /*****************************************************
165.95 + * Standard Test Machinery Section
165.96 + * DO NOT modify anything in this section -- it's a
165.97 + * standard chunk of code which has all of the
165.98 + * synchronisation necessary for the test harness.
165.99 + * By keeping it the same in all tests, it is easier
165.100 + * to read and understand someone else's test, as
165.101 + * well as insuring that all tests behave correctly
165.102 + * with the test harness.
165.103 + * There is a section following this for test-
165.104 + * classes
165.105 + ******************************************************/
165.106 + private static boolean theTestPassed = false;
165.107 + private static boolean testGeneratedInterrupt = false;
165.108 + private static String failureMessage = "";
165.109 +
165.110 + private static Thread mainThread = null;
165.111 +
165.112 + private static int sleepTime = 300000;
165.113 +
165.114 + // Not sure about what happens if multiple of this test are
165.115 + // instantiated in the same VM. Being static (and using
165.116 + // static vars), it aint gonna work. Not worrying about
165.117 + // it for now.
165.118 + public static void main( String args[] ) throws InterruptedException
165.119 + {
165.120 + mainThread = Thread.currentThread();
165.121 + try
165.122 + {
165.123 + init();
165.124 + }
165.125 + catch( TestPassedException e )
165.126 + {
165.127 + //The test passed, so just return from main and harness will
165.128 + // interepret this return as a pass
165.129 + return;
165.130 + }
165.131 + //At this point, neither test pass nor test fail has been
165.132 + // called -- either would have thrown an exception and ended the
165.133 + // test, so we know we have multiple threads.
165.134 +
165.135 + //Test involves other threads, so sleep and wait for them to
165.136 + // called pass() or fail()
165.137 + try
165.138 + {
165.139 + Thread.sleep( sleepTime );
165.140 + //Timed out, so fail the test
165.141 + throw new RuntimeException( "Timed out after " + sleepTime/1000 + " seconds" );
165.142 + }
165.143 + catch (InterruptedException e)
165.144 + {
165.145 + //The test harness may have interrupted the test. If so, rethrow the exception
165.146 + // so that the harness gets it and deals with it.
165.147 + if( ! testGeneratedInterrupt ) throw e;
165.148 +
165.149 + //reset flag in case hit this code more than once for some reason (just safety)
165.150 + testGeneratedInterrupt = false;
165.151 +
165.152 + if ( theTestPassed == false )
165.153 + {
165.154 + throw new RuntimeException( failureMessage );
165.155 + }
165.156 + }
165.157 +
165.158 + }//main
165.159 +
165.160 + public static synchronized void setTimeoutTo( int seconds )
165.161 + {
165.162 + sleepTime = seconds * 1000;
165.163 + }
165.164 +
165.165 + public static synchronized void pass()
165.166 + {
165.167 + Sysout.println( "The test passed." );
165.168 + Sysout.println( "The test is over, hit Ctl-C to stop Java VM" );
165.169 + //first check if this is executing in main thread
165.170 + if ( mainThread == Thread.currentThread() )
165.171 + {
165.172 + //Still in the main thread, so set the flag just for kicks,
165.173 + // and throw a test passed exception which will be caught
165.174 + // and end the test.
165.175 + theTestPassed = true;
165.176 + throw new TestPassedException();
165.177 + }
165.178 + theTestPassed = true;
165.179 + testGeneratedInterrupt = true;
165.180 + mainThread.interrupt();
165.181 + }//pass()
165.182 +
165.183 + public static synchronized void fail()
165.184 + {
165.185 + //test writer didn't specify why test failed, so give generic
165.186 + fail( "it just plain failed! :-)" );
165.187 + }
165.188 +
165.189 + public static synchronized void fail( String whyFailed )
165.190 + {
165.191 + Sysout.println( "The test failed: " + whyFailed );
165.192 + Sysout.println( "The test is over, hit Ctl-C to stop Java VM" );
165.193 + //check if this called from main thread
165.194 + if ( mainThread == Thread.currentThread() )
165.195 + {
165.196 + //If main thread, fail now 'cause not sleeping
165.197 + throw new RuntimeException( whyFailed );
165.198 + }
165.199 + theTestPassed = false;
165.200 + testGeneratedInterrupt = true;
165.201 + failureMessage = whyFailed;
165.202 + mainThread.interrupt();
165.203 + }//fail()
165.204 +
165.205 +}// class GetSizeShouldNotReturnZero
165.206 +
165.207 +//This exception is used to exit from any level of call nesting
165.208 +// when it's determined that the test has passed, and immediately
165.209 +// end the test.
165.210 +class TestPassedException extends RuntimeException
165.211 +{
165.212 +}
165.213 +
165.214 +//*********** End Standard Test Machinery Section **********
165.215 +
165.216 +
165.217 +//************ Begin classes defined for the test ****************
165.218 +
165.219 +// if want to make listeners, here is the recommended place for them, then instantiate
165.220 +// them in init()
165.221 +
165.222 +/* Example of a class which may be written as part of a test
165.223 +class NewClass implements anInterface
165.224 + {
165.225 + static int newVar = 0;
165.226 +
165.227 + public void eventDispatched(AWTEvent e)
165.228 + {
165.229 + //Counting events to see if we get enough
165.230 + eventCount++;
165.231 +
165.232 + if( eventCount == 20 )
165.233 + {
165.234 + //got enough events, so pass
165.235 +
165.236 + GetSizeShouldNotReturnZero.pass();
165.237 + }
165.238 + else if( tries == 20 )
165.239 + {
165.240 + //tried too many times without getting enough events so fail
165.241 +
165.242 + GetSizeShouldNotReturnZero.fail();
165.243 + }
165.244 +
165.245 + }// eventDispatched()
165.246 +
165.247 + }// NewClass class
165.248 +
165.249 +*/
165.250 +
165.251 +
165.252 +//************** End classes defined for the test *******************
165.253 +
165.254 +
165.255 +
165.256 +
165.257 +/****************************************************
165.258 + Standard Test Machinery
165.259 + DO NOT modify anything below -- it's a standard
165.260 + chunk of code whose purpose is to make user
165.261 + interaction uniform, and thereby make it simpler
165.262 + to read and understand someone else's test.
165.263 + ****************************************************/
165.264 +
165.265 +/**
165.266 + This is part of the standard test machinery.
165.267 + It creates a dialog (with the instructions), and is the interface
165.268 + for sending text messages to the user.
165.269 + To print the instructions, send an array of strings to Sysout.createDialog
165.270 + WithInstructions method. Put one line of instructions per array entry.
165.271 + To display a message for the tester to see, simply call Sysout.println
165.272 + with the string to be displayed.
165.273 + This mimics System.out.println but works within the test harness as well
165.274 + as standalone.
165.275 + */
165.276 +
165.277 +class Sysout
165.278 +{
165.279 + private static TestDialog dialog;
165.280 +
165.281 + public static void createDialogWithInstructions( String[] instructions )
165.282 + {
165.283 + dialog = new TestDialog( new Frame(), "Instructions" );
165.284 + dialog.printInstructions( instructions );
165.285 + dialog.setVisible(true);
165.286 + println( "Any messages for the tester will display here." );
165.287 + }
165.288 +
165.289 + public static void createDialog( )
165.290 + {
165.291 + dialog = new TestDialog( new Frame(), "Instructions" );
165.292 + String[] defInstr = { "Instructions will appear here. ", "" } ;
165.293 + dialog.printInstructions( defInstr );
165.294 + dialog.setVisible(true);
165.295 + println( "Any messages for the tester will display here." );
165.296 + }
165.297 +
165.298 +
165.299 + public static void printInstructions( String[] instructions )
165.300 + {
165.301 + dialog.printInstructions( instructions );
165.302 + }
165.303 +
165.304 +
165.305 + public static void println( String messageIn )
165.306 + {
165.307 + dialog.displayMessage( messageIn );
165.308 + System.out.println(messageIn);
165.309 + }
165.310 +
165.311 +}// Sysout class
165.312 +
165.313 +/**
165.314 + This is part of the standard test machinery. It provides a place for the
165.315 + test instructions to be displayed, and a place for interactive messages
165.316 + to the user to be displayed.
165.317 + To have the test instructions displayed, see Sysout.
165.318 + To have a message to the user be displayed, see Sysout.
165.319 + Do not call anything in this dialog directly.
165.320 + */
165.321 +class TestDialog extends Dialog
165.322 +{
165.323 +
165.324 + TextArea instructionsText;
165.325 + TextArea messageText;
165.326 + int maxStringLength = 80;
165.327 +
165.328 + //DO NOT call this directly, go through Sysout
165.329 + public TestDialog( Frame frame, String name )
165.330 + {
165.331 + super( frame, name );
165.332 + int scrollBoth = TextArea.SCROLLBARS_BOTH;
165.333 + instructionsText = new TextArea( "", 15, maxStringLength, scrollBoth );
165.334 + add( "North", instructionsText );
165.335 +
165.336 + messageText = new TextArea( "", 5, maxStringLength, scrollBoth );
165.337 + add("Center", messageText);
165.338 +
165.339 + pack();
165.340 +
165.341 + setVisible(true);
165.342 + }// TestDialog()
165.343 +
165.344 + //DO NOT call this directly, go through Sysout
165.345 + public void printInstructions( String[] instructions )
165.346 + {
165.347 + //Clear out any current instructions
165.348 + instructionsText.setText( "" );
165.349 +
165.350 + //Go down array of instruction strings
165.351 +
165.352 + String printStr, remainingStr;
165.353 + for( int i=0; i < instructions.length; i++ )
165.354 + {
165.355 + //chop up each into pieces maxSringLength long
165.356 + remainingStr = instructions[ i ];
165.357 + while( remainingStr.length() > 0 )
165.358 + {
165.359 + //if longer than max then chop off first max chars to print
165.360 + if( remainingStr.length() >= maxStringLength )
165.361 + {
165.362 + //Try to chop on a word boundary
165.363 + int posOfSpace = remainingStr.
165.364 + lastIndexOf( ' ', maxStringLength - 1 );
165.365 +
165.366 + if( posOfSpace <= 0 ) posOfSpace = maxStringLength - 1;
165.367 +
165.368 + printStr = remainingStr.substring( 0, posOfSpace + 1 );
165.369 + remainingStr = remainingStr.substring( posOfSpace + 1 );
165.370 + }
165.371 + //else just print
165.372 + else
165.373 + {
165.374 + printStr = remainingStr;
165.375 + remainingStr = "";
165.376 + }
165.377 +
165.378 + instructionsText.append( printStr + "\n" );
165.379 +
165.380 + }// while
165.381 +
165.382 + }// for
165.383 +
165.384 + }//printInstructions()
165.385 +
165.386 + //DO NOT call this directly, go through Sysout
165.387 + public void displayMessage( String messageIn )
165.388 + {
165.389 + messageText.append( messageIn + "\n" );
165.390 + System.out.println(messageIn);
165.391 + }
165.392 +
165.393 +}// TestDialog class
165.394 +
165.395 +
166.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
166.2 +++ b/test/com/sun/awt/Translucency/TranslucentJAppletTest/TranslucentJAppletTest.java Tue Apr 14 04:21:02 2009 -0700
166.3 @@ -0,0 +1,103 @@
166.4 +/*
166.5 + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved.
166.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
166.7 + *
166.8 + * This code is free software; you can redistribute it and/or modify it
166.9 + * under the terms of the GNU General Public License version 2 only, as
166.10 + * published by the Free Software Foundation.
166.11 + *
166.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
166.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
166.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
166.15 + * version 2 for more details (a copy is included in the LICENSE file that
166.16 + * accompanied this code).
166.17 + *
166.18 + * You should have received a copy of the GNU General Public License version
166.19 + * 2 along with this work; if not, write to the Free Software Foundation,
166.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
166.21 + *
166.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
166.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
166.24 + * have any questions.
166.25 + */
166.26 +
166.27 +/*
166.28 + * @test %I% %E%
166.29 + * @bug 6683728
166.30 + * @summary Tests that a JApplet in a translucent JFrame works properly
166.31 + * @author Kenneth.Russell@sun.com: area=Graphics
166.32 + * @compile -XDignore.symbol.file=true TranslucentJAppletTest.java
166.33 + * @run main/manual/othervm TranslucentJAppletTest
166.34 + */
166.35 +
166.36 +import java.awt.*;
166.37 +import java.awt.image.*;
166.38 +
166.39 +import javax.swing.*;
166.40 +
166.41 +public class TranslucentJAppletTest {
166.42 +
166.43 + private static JFrame frame;
166.44 + private static volatile boolean paintComponentCalled = false;
166.45 +
166.46 + private static void initAndShowGUI() {
166.47 + frame = new JFrame();
166.48 + JApplet applet = new JApplet();
166.49 + JPanel panel = new JPanel() {
166.50 + protected void paintComponent(Graphics g) {
166.51 + paintComponentCalled = true;
166.52 + g.setColor(Color.RED);
166.53 + g.fillOval(0, 0, getWidth(), getHeight());
166.54 + }
166.55 + };
166.56 + panel.setDoubleBuffered(false);
166.57 + panel.setOpaque(false);
166.58 + applet.add(panel);
166.59 + frame.add(applet);
166.60 + frame.setBounds(100, 100, 200, 200);
166.61 + frame.setUndecorated(true);
166.62 + com.sun.awt.AWTUtilities.setWindowOpaque(frame, false);
166.63 + frame.setVisible(true);
166.64 + }
166.65 +
166.66 + public static void main(String[] args)
166.67 + throws Exception
166.68 + {
166.69 + sun.awt.SunToolkit tk = (sun.awt.SunToolkit)Toolkit.getDefaultToolkit();
166.70 +
166.71 + Robot r = new Robot();
166.72 + Color color1 = r.getPixelColor(100, 100); // (0, 0) in frame coordinates
166.73 +
166.74 + SwingUtilities.invokeAndWait(new Runnable() {
166.75 + public void run() {
166.76 + initAndShowGUI();
166.77 + }
166.78 + });
166.79 + tk.realSync();
166.80 +
166.81 + if (!paintComponentCalled) {
166.82 + throw new RuntimeException("Test FAILED: panel's paintComponent() method is not called");
166.83 + }
166.84 +
166.85 + Color newColor1 = r.getPixelColor(100, 100);
166.86 + // unfortunately, robot.getPixelColor() doesn't work for some unknown reason
166.87 + // Color newColor2 = r.getPixelColor(200, 200);
166.88 + BufferedImage bim = r.createScreenCapture(new Rectangle(200, 200, 1, 1));
166.89 + Color newColor2 = new Color(bim.getRGB(0, 0));
166.90 +
166.91 + // Frame must be transparent at (100, 100) in screen coords
166.92 + if (!color1.equals(newColor1)) {
166.93 + System.err.println("color1 = " + color1);
166.94 + System.err.println("newColor1 = " + newColor1);
166.95 + throw new RuntimeException("Test FAILED: frame pixel at (0, 0) is not transparent");
166.96 + }
166.97 +
166.98 + // Frame must be RED at (200, 200) in screen coords
166.99 + if (!newColor2.equals(Color.RED)) {
166.100 + System.err.println("newColor2 = " + newColor2);
166.101 + throw new RuntimeException("Test FAILED: frame pixel at (100, 100) is not red (transparent?)");
166.102 + }
166.103 +
166.104 + System.out.println("Test PASSED");
166.105 + }
166.106 +}
167.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
167.2 +++ b/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TSFrame.java Tue Apr 14 04:21:02 2009 -0700
167.3 @@ -0,0 +1,306 @@
167.4 +/*
167.5 + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved.
167.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
167.7 + *
167.8 + * This code is free software; you can redistribute it and/or modify it
167.9 + * under the terms of the GNU General Public License version 2 only, as
167.10 + * published by the Free Software Foundation. Sun designates this
167.11 + * particular file as subject to the "Classpath" exception as provided
167.12 + * by Sun in the LICENSE file that accompanied this code.
167.13 + *
167.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
167.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
167.16 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
167.17 + * version 2 for more details (a copy is included in the LICENSE file that
167.18 + * accompanied this code).
167.19 + *
167.20 + * You should have received a copy of the GNU General Public License version
167.21 + * 2 along with this work; if not, write to the Free Software Foundation,
167.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
167.23 + *
167.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
167.25 + * CA 95054 USA or visit www.sun.com if you need additional information or
167.26 + * have any questions.
167.27 + */
167.28 +
167.29 +import com.sun.awt.AWTUtilities;
167.30 +import static com.sun.awt.AWTUtilities.Translucency.*;
167.31 +import java.awt.BorderLayout;
167.32 +import java.awt.Color;
167.33 +import java.awt.Dimension;
167.34 +import java.awt.Frame;
167.35 +import java.awt.Graphics;
167.36 +import java.awt.GraphicsConfiguration;
167.37 +import java.awt.GraphicsEnvironment;
167.38 +import java.awt.RenderingHints;
167.39 +import java.awt.event.MouseAdapter;
167.40 +import java.awt.event.MouseEvent;
167.41 +import java.awt.event.WindowAdapter;
167.42 +import java.awt.event.WindowEvent;
167.43 +import java.awt.Canvas;
167.44 +import java.awt.Component;
167.45 +import java.awt.GradientPaint;
167.46 +import java.awt.Graphics2D;
167.47 +import java.awt.Paint;
167.48 +import java.util.Random;
167.49 +import java.awt.geom.Ellipse2D;
167.50 +import javax.swing.JApplet;
167.51 +import javax.swing.JButton;
167.52 +import javax.swing.JComponent;
167.53 +import javax.swing.JFrame;
167.54 +import javax.swing.JPanel;
167.55 +import javax.swing.SwingUtilities;
167.56 +
167.57 +public class TSFrame {
167.58 +
167.59 + static volatile boolean done = false;
167.60 +
167.61 + static final boolean useSwing = System.getProperty("useswing") != null;
167.62 + static final boolean useShape = System.getProperty("useshape") != null;
167.63 + static final boolean useTransl = System.getProperty("usetransl") != null;
167.64 + static final boolean useNonOpaque = System.getProperty("usenonop") != null;
167.65 +
167.66 + static final Random rnd = new Random();
167.67 + private static void render(Graphics g, int w, int h, boolean useNonOpaque) {
167.68 + if (useNonOpaque) {
167.69 + Graphics2D g2d = (Graphics2D)g;
167.70 + GradientPaint p =
167.71 + new GradientPaint(0.0f, 0.0f,
167.72 + new Color(rnd.nextInt(0xffffff)),
167.73 + w, h,
167.74 + new Color(rnd.nextInt(0xff),
167.75 + rnd.nextInt(0xff),
167.76 + rnd.nextInt(0xff), 0),
167.77 + true);
167.78 + g2d.setPaint(p);
167.79 + g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
167.80 + RenderingHints.VALUE_ANTIALIAS_ON);
167.81 + g2d.fillOval(0, 0, w, h);
167.82 + } else {
167.83 + g.setColor(new Color(rnd.nextInt(0xffffff)));
167.84 + g.fillRect(0, 0, w, h);
167.85 + }
167.86 + }
167.87 +
167.88 + private static class MyCanvas extends Canvas {
167.89 + @Override
167.90 + public void paint(Graphics g) {
167.91 + render(g, getWidth(), getHeight(), false);
167.92 + }
167.93 + @Override
167.94 + public Dimension getPreferredSize() {
167.95 + return new Dimension(200, 100);
167.96 + }
167.97 + }
167.98 + private static class NonOpaqueJFrame extends JFrame {
167.99 + NonOpaqueJFrame(GraphicsConfiguration gc) {
167.100 + super("NonOpaque Swing JFrame", gc);
167.101 + JPanel p = new JPanel() {
167.102 + public void paintComponent(Graphics g) {
167.103 + super.paintComponent(g);
167.104 + render(g, getWidth(), getHeight(), true);
167.105 + g.setColor(Color.red);
167.106 + g.drawString("Non-Opaque Swing JFrame", 10, 15);
167.107 + }
167.108 + };
167.109 + p.setDoubleBuffered(false);
167.110 + p.setOpaque(false);
167.111 + add(p);
167.112 + setUndecorated(true);
167.113 + }
167.114 + }
167.115 + private static class NonOpaqueJAppletFrame extends JFrame {
167.116 + JPanel p;
167.117 + NonOpaqueJAppletFrame(GraphicsConfiguration gc) {
167.118 + super("NonOpaque Swing JAppletFrame", gc);
167.119 + JApplet ja = new JApplet() {
167.120 + public void paint(Graphics g) {
167.121 + super.paint(g);
167.122 + System.err.println("JAppletFrame paint called");
167.123 + }
167.124 + };
167.125 + p = new JPanel() {
167.126 + public void paintComponent(Graphics g) {
167.127 + super.paintComponent(g);
167.128 + render(g, getWidth(), getHeight(), true);
167.129 + g.setColor(Color.red);
167.130 + g.drawString("Non-Opaque Swing JFrame", 10, 15);
167.131 + }
167.132 + };
167.133 + p.setDoubleBuffered(false);
167.134 + p.setOpaque(false);
167.135 + ja.add(p);
167.136 + add(ja);
167.137 + setUndecorated(true);
167.138 + }
167.139 + }
167.140 + private static class NonOpaqueFrame extends Frame {
167.141 + NonOpaqueFrame(GraphicsConfiguration gc) {
167.142 + super("NonOpaque AWT Frame", gc);
167.143 + // uncomment to test with hw child
167.144 +// setLayout(null);
167.145 +// Component c = new Panel() {
167.146 +// public void paint(Graphics g) {
167.147 +// g.setColor(new Color(1.0f, 1.0f, 1.0f, 0.5f));
167.148 +// g.fillRect(0, 0, getWidth(), getHeight());
167.149 +// }
167.150 +// };
167.151 +// c.setSize(100, 100);
167.152 +// c.setBackground(Color.red);
167.153 +// c.setForeground(Color.red);
167.154 +// add(c);
167.155 +// c.setLocation(130, 130);
167.156 + }
167.157 + @Override
167.158 + public void paint(Graphics g) {
167.159 + render(g, getWidth(), getHeight(), true);
167.160 + g.setColor(Color.red);
167.161 + g.drawString("Non-Opaque AWT Frame", 10, 15);
167.162 + }
167.163 + }
167.164 +
167.165 + private static class MyJPanel extends JPanel {
167.166 + @Override
167.167 + public void paintComponent(Graphics g) {
167.168 + render(g, getWidth(), getHeight(), false);
167.169 + }
167.170 + }
167.171 +
167.172 + public static Frame createGui(GraphicsConfiguration gc,
167.173 + final boolean useSwing,
167.174 + final boolean useShape,
167.175 + final boolean useTransl,
167.176 + final boolean useNonOpaque,
167.177 + final float factor)
167.178 + {
167.179 + Frame frame;
167.180 + done = false;
167.181 +
167.182 + if (gc == null) {
167.183 + gc = GraphicsEnvironment.getLocalGraphicsEnvironment().
167.184 + getDefaultScreenDevice().getDefaultConfiguration();
167.185 + }
167.186 +
167.187 + if (useNonOpaque) {
167.188 + if (useSwing) {
167.189 + frame = new NonOpaqueJFrame(gc);
167.190 +// frame = new NonOpaqueJAppletFrame(gc);
167.191 + } else {
167.192 + frame = new NonOpaqueFrame(gc);
167.193 + }
167.194 + animateComponent(frame);
167.195 + } else if (useSwing) {
167.196 + frame = new JFrame("Swing Frame", gc);
167.197 + JComponent p = new JButton("Swing!");
167.198 + p.setPreferredSize(new Dimension(200, 100));
167.199 + frame.add("North", p);
167.200 + p = new MyJPanel();
167.201 + animateComponent(p);
167.202 + frame.add("Center", p);
167.203 + } else {
167.204 + frame = new Frame("AWT Frame", gc) {
167.205 + public void paint(Graphics g) {
167.206 + g.setColor(Color.red);
167.207 + g.fillRect(0, 0, 100, 100);
167.208 + }
167.209 + };
167.210 + frame.setLayout(new BorderLayout());
167.211 + Canvas c = new MyCanvas();
167.212 + frame.add("North", c);
167.213 + animateComponent(c);
167.214 + c = new MyCanvas();
167.215 + frame.add("Center", c);
167.216 + animateComponent(c);
167.217 + c = new MyCanvas();
167.218 + frame.add("South", c);
167.219 + animateComponent(c);
167.220 + }
167.221 + final Frame finalFrame = frame;
167.222 + frame.addWindowListener(new WindowAdapter() {
167.223 + @Override
167.224 + public void windowClosing(WindowEvent e) {
167.225 + finalFrame.dispose();
167.226 + done = true;
167.227 + }
167.228 + });
167.229 + frame.addMouseListener(new MouseAdapter() {
167.230 + @Override
167.231 + public void mouseClicked(MouseEvent e) {
167.232 + finalFrame.dispose();
167.233 + done = true;
167.234 + }
167.235 + });
167.236 + frame.setPreferredSize(new Dimension(800, 600));
167.237 +
167.238 + if (useShape) {
167.239 + frame.setUndecorated(true);
167.240 + }
167.241 +
167.242 + frame.setLocation(450, 10);
167.243 + frame.pack();
167.244 +
167.245 + if (useShape) {
167.246 + if (AWTUtilities.isTranslucencySupported(PERPIXEL_TRANSPARENT)) {
167.247 + System.out.println("applying PERPIXEL_TRANSPARENT");
167.248 + AWTUtilities.setWindowShape(frame,
167.249 + new Ellipse2D.Double(0, 0, frame.getWidth(),
167.250 + frame.getHeight()/3));
167.251 + frame.setTitle("PERPIXEL_TRANSPARENT");
167.252 + } else {
167.253 + System.out.println("Passed: PERPIXEL_TRANSPARENT unsupported");
167.254 + }
167.255 + }
167.256 + if (useTransl) {
167.257 + if (AWTUtilities.isTranslucencySupported(TRANSLUCENT)) {
167.258 + System.out.println("applying TRANSLUCENT");
167.259 + AWTUtilities.setWindowOpacity(frame, factor);
167.260 + frame.setTitle("TRANSLUCENT");
167.261 + } else {
167.262 + System.out.println("Passed: TRANSLUCENT unsupported");
167.263 + }
167.264 + }
167.265 + if (useNonOpaque) {
167.266 + if (AWTUtilities.isTranslucencySupported(PERPIXEL_TRANSLUCENT) &&
167.267 + AWTUtilities.isTranslucencyCapable(gc))
167.268 + {
167.269 + System.out.println("applying PERPIXEL_TRANSLUCENT");
167.270 + AWTUtilities.setWindowOpaque(frame, false);
167.271 + frame.setTitle("PERPIXEL_TRANSLUCENT");
167.272 + } else {
167.273 + System.out.println("Passed: PERPIXEL_TRANSLUCENT unsupported");
167.274 + }
167.275 + }
167.276 + frame.setVisible(true);
167.277 + return frame;
167.278 + }
167.279 +
167.280 + public static void stopThreads() {
167.281 + done = true;
167.282 + }
167.283 +
167.284 + private static void animateComponent(final Component comp) {
167.285 + Thread t = new Thread(new Runnable() {
167.286 + public void run() {
167.287 + do {
167.288 + try {
167.289 + Thread.sleep(50);
167.290 + } catch (InterruptedException ex) {}
167.291 + comp.repaint();
167.292 + } while (!done);
167.293 + }
167.294 + });
167.295 + t.start();
167.296 + }
167.297 +
167.298 + public static void main(String[] args) throws Exception {
167.299 + SwingUtilities.invokeLater(new Runnable() {
167.300 + public void run() {
167.301 + TSFrame.createGui(null, useSwing,
167.302 + useShape,
167.303 + useTransl,
167.304 + useNonOpaque,
167.305 + 0.7f);
167.306 + }
167.307 + });
167.308 + }
167.309 +}
168.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
168.2 +++ b/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.form Tue Apr 14 04:21:02 2009 -0700
168.3 @@ -0,0 +1,230 @@
168.4 +<?xml version="1.0" encoding="UTF-8" ?>
168.5 +
168.6 +<Form version="1.3" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
168.7 + <NonVisualComponents>
168.8 + <Component class="javax.swing.ButtonGroup" name="createDisposeGrp">
168.9 + </Component>
168.10 + </NonVisualComponents>
168.11 + <Properties>
168.12 + <Property name="defaultCloseOperation" type="int" value="3"/>
168.13 + <Property name="title" type="java.lang.String" value="TranslucentShapedFrameTest"/>
168.14 + </Properties>
168.15 + <SyntheticProperties>
168.16 + <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
168.17 + </SyntheticProperties>
168.18 + <AuxValues>
168.19 + <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
168.20 + <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
168.21 + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
168.22 + <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
168.23 + <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
168.24 + <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
168.25 + </AuxValues>
168.26 +
168.27 + <Layout>
168.28 + <DimensionLayout dim="0">
168.29 + <Group type="103" groupAlignment="0" attributes="0">
168.30 + <Group type="102" attributes="0">
168.31 + <EmptySpace max="-2" attributes="0"/>
168.32 + <Group type="103" groupAlignment="0" attributes="0">
168.33 + <Group type="102" alignment="0" attributes="0">
168.34 + <Component id="transparencySld" pref="375" max="32767" attributes="0"/>
168.35 + <EmptySpace max="-2" attributes="0"/>
168.36 + </Group>
168.37 + <Component id="jLabel1" alignment="0" min="-2" max="-2" attributes="0"/>
168.38 + <Group type="102" alignment="0" attributes="0">
168.39 + <Component id="shapedCb" min="-2" max="-2" attributes="0"/>
168.40 + <EmptySpace max="-2" attributes="0"/>
168.41 + <Component id="nonOpaqueChb" min="-2" max="-2" attributes="0"/>
168.42 + <EmptySpace max="-2" attributes="0"/>
168.43 + <Component id="useSwingCb" min="-2" max="-2" attributes="0"/>
168.44 + <EmptySpace pref="102" max="32767" attributes="0"/>
168.45 + </Group>
168.46 + <Group type="102" alignment="0" attributes="0">
168.47 + <Group type="103" groupAlignment="0" attributes="0">
168.48 + <Group type="102" alignment="0" attributes="0">
168.49 + <Component id="jLabel2" min="-2" max="-2" attributes="0"/>
168.50 + <EmptySpace pref="314" max="-2" attributes="0"/>
168.51 + </Group>
168.52 + <Group type="102" alignment="0" attributes="0">
168.53 + <Component id="passedBtn" min="-2" max="-2" attributes="0"/>
168.54 + <EmptySpace max="-2" attributes="0"/>
168.55 + <Component id="failedBtn" min="-2" max="-2" attributes="0"/>
168.56 + <EmptySpace pref="241" max="-2" attributes="0"/>
168.57 + </Group>
168.58 + <Component id="jScrollPane1" alignment="1" pref="375" max="32767" attributes="0"/>
168.59 + <Group type="102" alignment="0" attributes="0">
168.60 + <Component id="createFrameBtn" min="-2" pref="187" max="-2" attributes="0"/>
168.61 + <EmptySpace max="-2" attributes="0"/>
168.62 + <Component id="disposeFrameBtn" min="-2" pref="182" max="-2" attributes="0"/>
168.63 + </Group>
168.64 + </Group>
168.65 + <EmptySpace max="-2" attributes="0"/>
168.66 + </Group>
168.67 + </Group>
168.68 + </Group>
168.69 + </Group>
168.70 + </DimensionLayout>
168.71 + <DimensionLayout dim="1">
168.72 + <Group type="103" groupAlignment="0" attributes="0">
168.73 + <Group type="102" alignment="0" attributes="0">
168.74 + <EmptySpace max="-2" attributes="0"/>
168.75 + <Component id="jLabel1" min="-2" max="-2" attributes="0"/>
168.76 + <EmptySpace max="-2" attributes="0"/>
168.77 + <Component id="transparencySld" min="-2" max="-2" attributes="0"/>
168.78 + <EmptySpace max="-2" attributes="0"/>
168.79 + <Group type="103" groupAlignment="3" attributes="0">
168.80 + <Component id="shapedCb" alignment="3" min="-2" max="-2" attributes="0"/>
168.81 + <Component id="nonOpaqueChb" alignment="3" min="-2" max="-2" attributes="0"/>
168.82 + <Component id="useSwingCb" alignment="3" min="-2" max="-2" attributes="0"/>
168.83 + </Group>
168.84 + <EmptySpace max="-2" attributes="0"/>
168.85 + <Group type="103" groupAlignment="3" attributes="0">
168.86 + <Component id="disposeFrameBtn" alignment="3" min="-2" max="-2" attributes="0"/>
168.87 + <Component id="createFrameBtn" alignment="3" min="-2" max="-2" attributes="0"/>
168.88 + </Group>
168.89 + <EmptySpace min="-2" pref="17" max="-2" attributes="0"/>
168.90 + <Component id="jLabel2" min="-2" max="-2" attributes="0"/>
168.91 + <EmptySpace max="-2" attributes="0"/>
168.92 + <Component id="jScrollPane1" min="-2" pref="148" max="-2" attributes="0"/>
168.93 + <EmptySpace max="-2" attributes="0"/>
168.94 + <Group type="103" groupAlignment="3" attributes="0">
168.95 + <Component id="passedBtn" alignment="3" min="-2" max="-2" attributes="0"/>
168.96 + <Component id="failedBtn" alignment="3" min="-2" max="-2" attributes="0"/>
168.97 + </Group>
168.98 + <EmptySpace max="32767" attributes="0"/>
168.99 + </Group>
168.100 + </Group>
168.101 + </DimensionLayout>
168.102 + </Layout>
168.103 + <SubComponents>
168.104 + <Component class="javax.swing.JLabel" name="jLabel1">
168.105 + <Properties>
168.106 + <Property name="text" type="java.lang.String" value="Frame Opacity:"/>
168.107 + </Properties>
168.108 + </Component>
168.109 + <Component class="javax.swing.JSlider" name="transparencySld">
168.110 + <Properties>
168.111 + <Property name="majorTickSpacing" type="int" value="10"/>
168.112 + <Property name="minorTickSpacing" type="int" value="5"/>
168.113 + <Property name="paintLabels" type="boolean" value="true"/>
168.114 + <Property name="paintTicks" type="boolean" value="true"/>
168.115 + <Property name="value" type="int" value="100"/>
168.116 + </Properties>
168.117 + <Events>
168.118 + <EventHandler event="stateChanged" listener="javax.swing.event.ChangeListener" parameters="javax.swing.event.ChangeEvent" handler="transparencySldStateChanged"/>
168.119 + </Events>
168.120 + </Component>
168.121 + <Component class="javax.swing.JCheckBox" name="shapedCb">
168.122 + <Properties>
168.123 + <Property name="text" type="java.lang.String" value="Shaped Frame"/>
168.124 + <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
168.125 + <Border info="org.netbeans.modules.form.compat2.border.EmptyBorderInfo">
168.126 + <EmptyBorder bottom="0" left="0" right="0" top="0"/>
168.127 + </Border>
168.128 + </Property>
168.129 + <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
168.130 + <Insets value="[0, 0, 0, 0]"/>
168.131 + </Property>
168.132 + </Properties>
168.133 + <Events>
168.134 + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="shapedCbActionPerformed"/>
168.135 + </Events>
168.136 + </Component>
168.137 + <Component class="javax.swing.JCheckBox" name="nonOpaqueChb">
168.138 + <Properties>
168.139 + <Property name="text" type="java.lang.String" value="Non Opaque Frame"/>
168.140 + <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
168.141 + <Border info="org.netbeans.modules.form.compat2.border.EmptyBorderInfo">
168.142 + <EmptyBorder bottom="0" left="0" right="0" top="0"/>
168.143 + </Border>
168.144 + </Property>
168.145 + <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
168.146 + <Insets value="[0, 0, 0, 0]"/>
168.147 + </Property>
168.148 + </Properties>
168.149 + <Events>
168.150 + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="nonOpaqueChbActionPerformed"/>
168.151 + </Events>
168.152 + </Component>
168.153 + <Container class="javax.swing.JScrollPane" name="jScrollPane1">
168.154 + <AuxValues>
168.155 + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
168.156 + </AuxValues>
168.157 +
168.158 + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
168.159 + <SubComponents>
168.160 + <Component class="javax.swing.JTextArea" name="jTextArea1">
168.161 + <Properties>
168.162 + <Property name="columns" type="int" value="20"/>
168.163 + <Property name="rows" type="int" value="5"/>
168.164 + <Property name="text" type="java.lang.String" value="Create translucent and/or shaped, or
non-opaque frame. Make sure it behaves
correctly (no artifacts left on the screen
when dragging - if dragging is possible).
Click "Passed" if the test behaves correctly,
"Falied" otherwise."/>
168.165 + </Properties>
168.166 + </Component>
168.167 + </SubComponents>
168.168 + </Container>
168.169 + <Component class="javax.swing.JLabel" name="jLabel2">
168.170 + <Properties>
168.171 + <Property name="text" type="java.lang.String" value="Instructions:"/>
168.172 + </Properties>
168.173 + </Component>
168.174 + <Component class="javax.swing.JButton" name="passedBtn">
168.175 + <Properties>
168.176 + <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
168.177 + <Color blue="64" green="ff" red="81" type="rgb"/>
168.178 + </Property>
168.179 + <Property name="text" type="java.lang.String" value="Passed"/>
168.180 + </Properties>
168.181 + <Events>
168.182 + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="passedBtnActionPerformed"/>
168.183 + </Events>
168.184 + </Component>
168.185 + <Component class="javax.swing.JButton" name="failedBtn">
168.186 + <Properties>
168.187 + <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
168.188 + <Color blue="0" green="0" id="red" palette="1" red="ff" type="palette"/>
168.189 + </Property>
168.190 + <Property name="text" type="java.lang.String" value="Failed"/>
168.191 + </Properties>
168.192 + <Events>
168.193 + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="failedBtnActionPerformed"/>
168.194 + </Events>
168.195 + </Component>
168.196 + <Component class="javax.swing.JToggleButton" name="createFrameBtn">
168.197 + <Properties>
168.198 + <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
168.199 + <ComponentRef name="createDisposeGrp"/>
168.200 + </Property>
168.201 + <Property name="text" type="java.lang.String" value="Create Frame"/>
168.202 + </Properties>
168.203 + <Events>
168.204 + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="createFrameBtnActionPerformed"/>
168.205 + </Events>
168.206 + </Component>
168.207 + <Component class="javax.swing.JToggleButton" name="disposeFrameBtn">
168.208 + <Properties>
168.209 + <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
168.210 + <ComponentRef name="createDisposeGrp"/>
168.211 + </Property>
168.212 + <Property name="selected" type="boolean" value="true"/>
168.213 + <Property name="text" type="java.lang.String" value="Dispose Frame"/>
168.214 + </Properties>
168.215 + <Events>
168.216 + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="disposeFrameBtnActionPerformed"/>
168.217 + </Events>
168.218 + </Component>
168.219 + <Component class="javax.swing.JCheckBox" name="useSwingCb">
168.220 + <Properties>
168.221 + <Property name="text" type="java.lang.String" value="Use JFrame"/>
168.222 + <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
168.223 + <Border info="org.netbeans.modules.form.compat2.border.EmptyBorderInfo">
168.224 + <EmptyBorder bottom="0" left="0" right="0" top="0"/>
168.225 + </Border>
168.226 + </Property>
168.227 + <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
168.228 + <Insets value="[0, 0, 0, 0]"/>
168.229 + </Property>
168.230 + </Properties>
168.231 + </Component>
168.232 + </SubComponents>
168.233 +</Form>
169.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
169.2 +++ b/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.java Tue Apr 14 04:21:02 2009 -0700
169.3 @@ -0,0 +1,359 @@
169.4 +/*
169.5 + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved.
169.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
169.7 + *
169.8 + * This code is free software; you can redistribute it and/or modify it
169.9 + * under the terms of the GNU General Public License version 2 only, as
169.10 + * published by the Free Software Foundation. Sun designates this
169.11 + * particular file as subject to the "Classpath" exception as provided
169.12 + * by Sun in the LICENSE file that accompanied this code.
169.13 + *
169.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
169.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
169.16 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
169.17 + * version 2 for more details (a copy is included in the LICENSE file that
169.18 + * accompanied this code).
169.19 + *
169.20 + * You should have received a copy of the GNU General Public License version
169.21 + * 2 along with this work; if not, write to the Free Software Foundation,
169.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
169.23 + *
169.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
169.25 + * CA 95054 USA or visit www.sun.com if you need additional information or
169.26 + * have any questions.
169.27 + */
169.28 +
169.29 +/*
169.30 + * @test %I% %E%
169.31 + * @bug 6655001 6670649 6687141
169.32 + * @summary Tests that hw acceleration doesn't affect translucent/shaped windows
169.33 + * @author Dmitri.Trembovetski@sun.com: area=Graphics
169.34 + * @compile -XDignore.symbol.file=true TranslucentShapedFrameTest.java
169.35 + * @compile -XDignore.symbol.file=true TSFrame.java
169.36 + * @run main/manual/othervm TranslucentShapedFrameTest
169.37 + * @run main/manual/othervm -Dsun.java2d.noddraw=true TranslucentShapedFrameTest
169.38 + * @run main/manual/othervm -Dsun.java2d.opengl=True TranslucentShapedFrameTest
169.39 + */
169.40 +import com.sun.awt.AWTUtilities;
169.41 +import static com.sun.awt.AWTUtilities.Translucency.*;
169.42 +import java.awt.Frame;
169.43 +import java.awt.GraphicsConfiguration;
169.44 +import java.awt.GraphicsDevice;
169.45 +import java.awt.GraphicsEnvironment;
169.46 +import java.awt.Shape;
169.47 +import java.awt.geom.Ellipse2D;
169.48 +import java.util.concurrent.CountDownLatch;
169.49 +import javax.swing.JSlider;
169.50 +import javax.swing.SwingUtilities;
169.51 +import javax.swing.UIManager;
169.52 +import javax.swing.UnsupportedLookAndFeelException;
169.53 +
169.54 +public class TranslucentShapedFrameTest extends javax.swing.JFrame {
169.55 + Frame testFrame;
169.56 + static CountDownLatch done;
169.57 + static volatile boolean failed = false;
169.58 + GraphicsConfiguration gcToUse = null;
169.59 +
169.60 + /**
169.61 + * Creates new form TranslucentShapedFrameTest
169.62 + */
169.63 + public TranslucentShapedFrameTest() {
169.64 + // not necessary, but we just look nicer
169.65 + try {
169.66 + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
169.67 + } catch (Exception ex) {}
169.68 +
169.69 + initComponents();
169.70 + checkEffects();
169.71 +
169.72 + SwingUtilities.updateComponentTreeUI(this);
169.73 + }
169.74 +
169.75 + /** This method is called from within the constructor to
169.76 + * initialize the form.
169.77 + * WARNING: Do NOT modify this code. The content of this method is
169.78 + * always regenerated by the Form Editor.
169.79 + */
169.80 + // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
169.81 + private void initComponents() {
169.82 + createDisposeGrp = new javax.swing.ButtonGroup();
169.83 + jLabel1 = new javax.swing.JLabel();
169.84 + transparencySld = new javax.swing.JSlider();
169.85 + shapedCb = new javax.swing.JCheckBox();
169.86 + nonOpaqueChb = new javax.swing.JCheckBox();
169.87 + jScrollPane1 = new javax.swing.JScrollPane();
169.88 + jTextArea1 = new javax.swing.JTextArea();
169.89 + jLabel2 = new javax.swing.JLabel();
169.90 + passedBtn = new javax.swing.JButton();
169.91 + failedBtn = new javax.swing.JButton();
169.92 + createFrameBtn = new javax.swing.JToggleButton();
169.93 + disposeFrameBtn = new javax.swing.JToggleButton();
169.94 + useSwingCb = new javax.swing.JCheckBox();
169.95 +
169.96 + setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
169.97 + setTitle("TranslucentShapedFrameTest");
169.98 + jLabel1.setText("Frame Opacity:");
169.99 +
169.100 + transparencySld.setMajorTickSpacing(10);
169.101 + transparencySld.setMinorTickSpacing(5);
169.102 + transparencySld.setPaintLabels(true);
169.103 + transparencySld.setPaintTicks(true);
169.104 + transparencySld.setValue(100);
169.105 + transparencySld.addChangeListener(new javax.swing.event.ChangeListener() {
169.106 + public void stateChanged(javax.swing.event.ChangeEvent evt) {
169.107 + transparencySldStateChanged(evt);
169.108 + }
169.109 + });
169.110 +
169.111 + shapedCb.setText("Shaped Frame");
169.112 + shapedCb.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
169.113 + shapedCb.setMargin(new java.awt.Insets(0, 0, 0, 0));
169.114 + shapedCb.addActionListener(new java.awt.event.ActionListener() {
169.115 + public void actionPerformed(java.awt.event.ActionEvent evt) {
169.116 + shapedCbActionPerformed(evt);
169.117 + }
169.118 + });
169.119 +
169.120 + nonOpaqueChb.setText("Non Opaque Frame");
169.121 + nonOpaqueChb.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
169.122 + nonOpaqueChb.setMargin(new java.awt.Insets(0, 0, 0, 0));
169.123 + nonOpaqueChb.addActionListener(new java.awt.event.ActionListener() {
169.124 + public void actionPerformed(java.awt.event.ActionEvent evt) {
169.125 + nonOpaqueChbActionPerformed(evt);
169.126 + }
169.127 + });
169.128 +
169.129 + jTextArea1.setColumns(20);
169.130 + jTextArea1.setRows(5);
169.131 + jTextArea1.setText("Create translucent and/or shaped, or\nnon-opaque frame. Make sure it behaves\ncorrectly (no artifacts left on the screen\nwhen dragging - if dragging is possible).\nClick \"Passed\" if the test behaves correctly,\n\"Falied\" otherwise.");
169.132 + jScrollPane1.setViewportView(jTextArea1);
169.133 +
169.134 + jLabel2.setText("Instructions:");
169.135 +
169.136 + passedBtn.setBackground(new java.awt.Color(129, 255, 100));
169.137 + passedBtn.setText("Passed");
169.138 + passedBtn.addActionListener(new java.awt.event.ActionListener() {
169.139 + public void actionPerformed(java.awt.event.ActionEvent evt) {
169.140 + passedBtnActionPerformed(evt);
169.141 + }
169.142 + });
169.143 +
169.144 + failedBtn.setBackground(java.awt.Color.red);
169.145 + failedBtn.setText("Failed");
169.146 + failedBtn.addActionListener(new java.awt.event.ActionListener() {
169.147 + public void actionPerformed(java.awt.event.ActionEvent evt) {
169.148 + failedBtnActionPerformed(evt);
169.149 + }
169.150 + });
169.151 +
169.152 + createDisposeGrp.add(createFrameBtn);
169.153 + createFrameBtn.setText("Create Frame");
169.154 + createFrameBtn.addActionListener(new java.awt.event.ActionListener() {
169.155 + public void actionPerformed(java.awt.event.ActionEvent evt) {
169.156 + createFrameBtnActionPerformed(evt);
169.157 + }
169.158 + });
169.159 +
169.160 + createDisposeGrp.add(disposeFrameBtn);
169.161 + disposeFrameBtn.setSelected(true);
169.162 + disposeFrameBtn.setText("Dispose Frame");
169.163 + disposeFrameBtn.addActionListener(new java.awt.event.ActionListener() {
169.164 + public void actionPerformed(java.awt.event.ActionEvent evt) {
169.165 + disposeFrameBtnActionPerformed(evt);
169.166 + }
169.167 + });
169.168 +
169.169 + useSwingCb.setText("Use JFrame");
169.170 + useSwingCb.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
169.171 + useSwingCb.setMargin(new java.awt.Insets(0, 0, 0, 0));
169.172 +
169.173 + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
169.174 + getContentPane().setLayout(layout);
169.175 + layout.setHorizontalGroup(
169.176 + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
169.177 + .addGroup(layout.createSequentialGroup()
169.178 + .addContainerGap()
169.179 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
169.180 + .addGroup(layout.createSequentialGroup()
169.181 + .addComponent(transparencySld, javax.swing.GroupLayout.DEFAULT_SIZE, 375, Short.MAX_VALUE)
169.182 + .addContainerGap())
169.183 + .addComponent(jLabel1)
169.184 + .addGroup(layout.createSequentialGroup()
169.185 + .addComponent(shapedCb)
169.186 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
169.187 + .addComponent(nonOpaqueChb)
169.188 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
169.189 + .addComponent(useSwingCb)
169.190 + .addContainerGap(102, Short.MAX_VALUE))
169.191 + .addGroup(layout.createSequentialGroup()
169.192 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
169.193 + .addGroup(layout.createSequentialGroup()
169.194 + .addComponent(jLabel2)
169.195 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 314, javax.swing.GroupLayout.PREFERRED_SIZE))
169.196 + .addGroup(layout.createSequentialGroup()
169.197 + .addComponent(passedBtn)
169.198 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
169.199 + .addComponent(failedBtn)
169.200 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 241, javax.swing.GroupLayout.PREFERRED_SIZE))
169.201 + .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 375, Short.MAX_VALUE)
169.202 + .addGroup(layout.createSequentialGroup()
169.203 + .addComponent(createFrameBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 187, javax.swing.GroupLayout.PREFERRED_SIZE)
169.204 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
169.205 + .addComponent(disposeFrameBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 182, javax.swing.GroupLayout.PREFERRED_SIZE)))
169.206 + .addContainerGap())))
169.207 + );
169.208 + layout.setVerticalGroup(
169.209 + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
169.210 + .addGroup(layout.createSequentialGroup()
169.211 + .addContainerGap()
169.212 + .addComponent(jLabel1)
169.213 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
169.214 + .addComponent(transparencySld, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
169.215 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
169.216 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
169.217 + .addComponent(shapedCb)
169.218 + .addComponent(nonOpaqueChb)
169.219 + .addComponent(useSwingCb))
169.220 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
169.221 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
169.222 + .addComponent(disposeFrameBtn)
169.223 + .addComponent(createFrameBtn))
169.224 + .addGap(17, 17, 17)
169.225 + .addComponent(jLabel2)
169.226 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
169.227 + .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 148, javax.swing.GroupLayout.PREFERRED_SIZE)
169.228 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
169.229 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
169.230 + .addComponent(passedBtn)
169.231 + .addComponent(failedBtn))
169.232 + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
169.233 + );
169.234 + pack();
169.235 + }// </editor-fold>//GEN-END:initComponents
169.236 +
169.237 + private void nonOpaqueChbActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nonOpaqueChbActionPerformed
169.238 + if (testFrame != null) {
169.239 + // REMIND: this path in the test doesn't work well (test bug)
169.240 +// AWTUtilities.setWindowOpaque(testFrame, !nonOpaqueChb.isSelected());
169.241 + }
169.242 + }//GEN-LAST:event_nonOpaqueChbActionPerformed
169.243 +
169.244 + private void shapedCbActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_shapedCbActionPerformed
169.245 + if (testFrame != null) {
169.246 + Shape s = null;
169.247 + if (shapedCb.isSelected()) {
169.248 + s = new Ellipse2D.Double(0, 0,
169.249 + testFrame.getWidth(),
169.250 + testFrame.getHeight());
169.251 + }
169.252 + AWTUtilities.setWindowShape(testFrame, s);
169.253 + }
169.254 + }//GEN-LAST:event_shapedCbActionPerformed
169.255 +
169.256 + private void transparencySldStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_transparencySldStateChanged
169.257 + JSlider source = (JSlider)evt.getSource();
169.258 + int transl = transparencySld.getValue();
169.259 + if (testFrame != null) {
169.260 + AWTUtilities.setWindowOpacity(testFrame, (float)transl/100f);
169.261 + }
169.262 + }//GEN-LAST:event_transparencySldStateChanged
169.263 +
169.264 + private void failedBtnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_failedBtnActionPerformed
169.265 + disposeFrameBtnActionPerformed(evt);
169.266 + dispose();
169.267 + failed = true;
169.268 + done.countDown();
169.269 + }//GEN-LAST:event_failedBtnActionPerformed
169.270 +
169.271 + private void disposeFrameBtnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_disposeFrameBtnActionPerformed
169.272 + TSFrame.stopThreads();
169.273 + if (testFrame != null) {
169.274 + testFrame.dispose();
169.275 + testFrame = null;
169.276 + }
169.277 + }//GEN-LAST:event_disposeFrameBtnActionPerformed
169.278 +
169.279 + private void createFrameBtnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_createFrameBtnActionPerformed
169.280 + disposeFrameBtnActionPerformed(evt);
169.281 + int transl = transparencySld.getValue();
169.282 + testFrame = TSFrame.createGui(gcToUse,
169.283 + useSwingCb.isSelected(), shapedCb.isSelected(),
169.284 + (transl < 100), nonOpaqueChb.isSelected(),
169.285 + (float)transl/100f);
169.286 + }//GEN-LAST:event_createFrameBtnActionPerformed
169.287 +
169.288 + private void passedBtnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_passedBtnActionPerformed
169.289 + disposeFrameBtnActionPerformed(evt);
169.290 + dispose();
169.291 + done.countDown();
169.292 + }//GEN-LAST:event_passedBtnActionPerformed
169.293 +
169.294 + /**
169.295 + * @param args the command line arguments
169.296 + */
169.297 + public static void main(String args[]) {
169.298 + done = new CountDownLatch(1);
169.299 + java.awt.EventQueue.invokeLater(new Runnable() {
169.300 + public void run() {
169.301 + new TranslucentShapedFrameTest().setVisible(true);
169.302 + }
169.303 + });
169.304 + try {
169.305 + done.await();
169.306 + } catch (InterruptedException ex) {}
169.307 + if (failed) {
169.308 + throw new RuntimeException("Test FAILED");
169.309 + }
169.310 + System.out.println("Test PASSED");
169.311 + }
169.312 +
169.313 + private void checkEffects() {
169.314 + if (!AWTUtilities.isTranslucencySupported(PERPIXEL_TRANSPARENT)) {
169.315 + shapedCb.setEnabled(false);
169.316 + }
169.317 +
169.318 + if (!AWTUtilities.isTranslucencySupported(TRANSLUCENT)) {
169.319 + transparencySld.setEnabled(false);
169.320 + }
169.321 +
169.322 + GraphicsConfiguration gc = null;
169.323 + if (AWTUtilities.isTranslucencySupported(PERPIXEL_TRANSLUCENT)) {
169.324 + gc = findGraphicsConfig();
169.325 + if (gc == null) {
169.326 + nonOpaqueChb.setEnabled(false);
169.327 + }
169.328 + }
169.329 +
169.330 + gcToUse = gc;
169.331 + }
169.332 +
169.333 + private GraphicsConfiguration findGraphicsConfig() {
169.334 + GraphicsDevice gd =
169.335 + GraphicsEnvironment.getLocalGraphicsEnvironment().
169.336 + getDefaultScreenDevice();
169.337 + GraphicsConfiguration gcs[] = gd.getConfigurations();
169.338 + for (GraphicsConfiguration gc : gcs) {
169.339 + if (AWTUtilities.isTranslucencyCapable(gc)) {
169.340 + return gc;
169.341 + }
169.342 + }
169.343 + return null;
169.344 + }
169.345 +
169.346 + // Variables declaration - do not modify//GEN-BEGIN:variables
169.347 + private javax.swing.ButtonGroup createDisposeGrp;
169.348 + private javax.swing.JToggleButton createFrameBtn;
169.349 + private javax.swing.JToggleButton disposeFrameBtn;
169.350 + private javax.swing.JButton failedBtn;
169.351 + private javax.swing.JLabel jLabel1;
169.352 + private javax.swing.JLabel jLabel2;
169.353 + private javax.swing.JScrollPane jScrollPane1;
169.354 + private javax.swing.JTextArea jTextArea1;
169.355 + private javax.swing.JCheckBox nonOpaqueChb;
169.356 + private javax.swing.JButton passedBtn;
169.357 + private javax.swing.JCheckBox shapedCb;
169.358 + private javax.swing.JSlider transparencySld;
169.359 + private javax.swing.JCheckBox useSwingCb;
169.360 + // End of variables declaration//GEN-END:variables
169.361 +
169.362 +}
170.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
170.2 +++ b/test/com/sun/awt/Translucency/WindowOpacity.java Tue Apr 14 04:21:02 2009 -0700
170.3 @@ -0,0 +1,461 @@
170.4 +/*
170.5 + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved.
170.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
170.7 + *
170.8 + * This code is free software; you can redistribute it and/or modify it
170.9 + * under the terms of the GNU General Public License version 2 only, as
170.10 + * published by the Free Software Foundation.
170.11 + *
170.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
170.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
170.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
170.15 + * version 2 for more details (a copy is included in the LICENSE file that
170.16 + * accompanied this code).
170.17 + *
170.18 + * You should have received a copy of the GNU General Public License version
170.19 + * 2 along with this work; if not, write to the Free Software Foundation,
170.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
170.21 + *
170.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
170.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
170.24 + * have any questions.
170.25 + */
170.26 +
170.27 +/*
170.28 + @test %W% %E%
170.29 + @bug 6594131
170.30 + @summary Tests the AWTUtilities.get/setWindowOpacity() methods
170.31 + @author anthony.petrov@...: area=awt.toplevel
170.32 + @run main WindowOpacity
170.33 +*/
170.34 +
170.35 +import java.awt.*;
170.36 +import java.awt.event.*;
170.37 +
170.38 +import com.sun.awt.AWTUtilities;
170.39 +import sun.awt.SunToolkit;
170.40 +
170.41 +public class WindowOpacity
170.42 +{
170.43 + //*** test-writer defined static variables go here ***
170.44 +
170.45 + private static void realSync() {
170.46 + ((SunToolkit)Toolkit.getDefaultToolkit()).realSync();
170.47 + }
170.48 +
170.49 +
170.50 + private static void init()
170.51 + {
170.52 + //*** Create instructions for the user here ***
170.53 + String[] instructions =
170.54 + {
170.55 + "This is an AUTOMATIC test, simply wait until it is done.",
170.56 + "The result (passed or failed) will be shown in the",
170.57 + "message window below."
170.58 + };
170.59 + Sysout.createDialog( );
170.60 + Sysout.printInstructions( instructions );
170.61 +
170.62 + if (!AWTUtilities.isTranslucencySupported(AWTUtilities.Translucency.TRANSLUCENT)) {
170.63 + System.out.println("Either the Toolkit or the native system does not support controlling the window opacity level.");
170.64 + pass();
170.65 + }
170.66 +
170.67 + boolean passed;
170.68 +
170.69 + Frame f = new Frame("Opacity test");
170.70 +
170.71 + passed = false;
170.72 + try {
170.73 + AWTUtilities.getWindowOpacity(null);
170.74 + } catch (NullPointerException e) {
170.75 + passed = true;
170.76 + }
170.77 + if (!passed) {
170.78 + fail("getWindowOpacity() allows passing null.");
170.79 + }
170.80 +
170.81 +
170.82 + passed = false;
170.83 + try {
170.84 + AWTUtilities.setWindowOpacity(null, 0.5f);
170.85 + } catch (NullPointerException e) {
170.86 + passed = true;
170.87 + }
170.88 + if (!passed) {
170.89 + fail("setWindowOpacity() allows passing null.");
170.90 + }
170.91 +
170.92 +
170.93 + float curOpacity = AWTUtilities.getWindowOpacity(f);
170.94 + if (curOpacity < 1.0f || curOpacity > 1.0f) {
170.95 + fail("getWindowOpacity() reports the initial opacity level other than 1.0: " + curOpacity);
170.96 + }
170.97 +
170.98 +
170.99 +
170.100 + passed = false;
170.101 + try {
170.102 + AWTUtilities.setWindowOpacity(f, -0.5f);
170.103 + } catch (IllegalArgumentException e) {
170.104 + passed = true;
170.105 + }
170.106 + if (!passed) {
170.107 + fail("setWindowOpacity() allows passing negative opacity level.");
170.108 + }
170.109 +
170.110 +
170.111 +
170.112 + passed = false;
170.113 + try {
170.114 + AWTUtilities.setWindowOpacity(f, 1.5f);
170.115 + } catch (IllegalArgumentException e) {
170.116 + passed = true;
170.117 + }
170.118 + if (!passed) {
170.119 + fail("setWindowOpacity() allows passing opacity level greater than 1.0.");
170.120 + }
170.121 +
170.122 +
170.123 + AWTUtilities.setWindowOpacity(f, 0.5f);
170.124 +
170.125 + curOpacity = AWTUtilities.getWindowOpacity(f);
170.126 + if (curOpacity < 0.5f || curOpacity > 0.5f) {
170.127 + fail("getWindowOpacity() reports the opacity level that differs from the value set with setWindowOpacity: " + curOpacity);
170.128 + }
170.129 +
170.130 +
170.131 + AWTUtilities.setWindowOpacity(f, 0.75f);
170.132 +
170.133 + curOpacity = AWTUtilities.getWindowOpacity(f);
170.134 + if (curOpacity < 0.75f || curOpacity > 0.75f) {
170.135 + fail("getWindowOpacity() reports the opacity level that differs from the value set with setWindowOpacity the second time: " + curOpacity);
170.136 + }
170.137 +
170.138 +
170.139 + f.setBounds(100, 100, 300, 200);
170.140 + f.setVisible(true);
170.141 +
170.142 + realSync();
170.143 +
170.144 + curOpacity = AWTUtilities.getWindowOpacity(f);
170.145 + if (curOpacity < 0.75f || curOpacity > 0.75f) {
170.146 + fail("getWindowOpacity() reports the opacity level that differs from the value set with setWindowOpacity before showing the frame: " + curOpacity);
170.147 + }
170.148 +
170.149 +
170.150 +
170.151 + AWTUtilities.setWindowOpacity(f, 0.5f);
170.152 + realSync();
170.153 +
170.154 + curOpacity = AWTUtilities.getWindowOpacity(f);
170.155 + if (curOpacity < 0.5f || curOpacity > 0.5f) {
170.156 + fail("getWindowOpacity() reports the opacity level that differs from the value set with setWindowOpacity after showing the frame: " + curOpacity);
170.157 + }
170.158 +
170.159 + WindowOpacity.pass();
170.160 +
170.161 + }//End init()
170.162 +
170.163 +
170.164 +
170.165 + /*****************************************************
170.166 + * Standard Test Machinery Section
170.167 + * DO NOT modify anything in this section -- it's a
170.168 + * standard chunk of code which has all of the
170.169 + * synchronisation necessary for the test harness.
170.170 + * By keeping it the same in all tests, it is easier
170.171 + * to read and understand someone else's test, as
170.172 + * well as insuring that all tests behave correctly
170.173 + * with the test harness.
170.174 + * There is a section following this for test-
170.175 + * classes
170.176 + ******************************************************/
170.177 + private static boolean theTestPassed = false;
170.178 + private static boolean testGeneratedInterrupt = false;
170.179 + private static String failureMessage = "";
170.180 +
170.181 + private static Thread mainThread = null;
170.182 +
170.183 + private static int sleepTime = 300000;
170.184 +
170.185 + // Not sure about what happens if multiple of this test are
170.186 + // instantiated in the same VM. Being static (and using
170.187 + // static vars), it aint gonna work. Not worrying about
170.188 + // it for now.
170.189 + public static void main( String args[] ) throws InterruptedException
170.190 + {
170.191 + mainThread = Thread.currentThread();
170.192 + try
170.193 + {
170.194 + init();
170.195 + }
170.196 + catch( TestPassedException e )
170.197 + {
170.198 + //The test passed, so just return from main and harness will
170.199 + // interepret this return as a pass
170.200 + return;
170.201 + }
170.202 + //At this point, neither test pass nor test fail has been
170.203 + // called -- either would have thrown an exception and ended the
170.204 + // test, so we know we have multiple threads.
170.205 +
170.206 + //Test involves other threads, so sleep and wait for them to
170.207 + // called pass() or fail()
170.208 + try
170.209 + {
170.210 + Thread.sleep( sleepTime );
170.211 + //Timed out, so fail the test
170.212 + throw new RuntimeException( "Timed out after " + sleepTime/1000 + " seconds" );
170.213 + }
170.214 + catch (InterruptedException e)
170.215 + {
170.216 + //The test harness may have interrupted the test. If so, rethrow the exception
170.217 + // so that the harness gets it and deals with it.
170.218 + if( ! testGeneratedInterrupt ) throw e;
170.219 +
170.220 + //reset flag in case hit this code more than once for some reason (just safety)
170.221 + testGeneratedInterrupt = false;
170.222 +
170.223 + if ( theTestPassed == false )
170.224 + {
170.225 + throw new RuntimeException( failureMessage );
170.226 + }
170.227 + }
170.228 +
170.229 + }//main
170.230 +
170.231 + public static synchronized void setTimeoutTo( int seconds )
170.232 + {
170.233 + sleepTime = seconds * 1000;
170.234 + }
170.235 +
170.236 + public static synchronized void pass()
170.237 + {
170.238 + Sysout.println( "The test passed." );
170.239 + Sysout.println( "The test is over, hit Ctl-C to stop Java VM" );
170.240 + //first check if this is executing in main thread
170.241 + if ( mainThread == Thread.currentThread() )
170.242 + {
170.243 + //Still in the main thread, so set the flag just for kicks,
170.244 + // and throw a test passed exception which will be caught
170.245 + // and end the test.
170.246 + theTestPassed = true;
170.247 + throw new TestPassedException();
170.248 + }
170.249 + theTestPassed = true;
170.250 + testGeneratedInterrupt = true;
170.251 + mainThread.interrupt();
170.252 + }//pass()
170.253 +
170.254 + public static synchronized void fail()
170.255 + {
170.256 + //test writer didn't specify why test failed, so give generic
170.257 + fail( "it just plain failed! :-)" );
170.258 + }
170.259 +
170.260 + public static synchronized void fail( String whyFailed )
170.261 + {
170.262 + Sysout.println( "The test failed: " + whyFailed );
170.263 + Sysout.println( "The test is over, hit Ctl-C to stop Java VM" );
170.264 + //check if this called from main thread
170.265 + if ( mainThread == Thread.currentThread() )
170.266 + {
170.267 + //If main thread, fail now 'cause not sleeping
170.268 + throw new RuntimeException( whyFailed );
170.269 + }
170.270 + theTestPassed = false;
170.271 + testGeneratedInterrupt = true;
170.272 + failureMessage = whyFailed;
170.273 + mainThread.interrupt();
170.274 + }//fail()
170.275 +
170.276 +}// class WindowOpacity
170.277 +
170.278 +//This exception is used to exit from any level of call nesting
170.279 +// when it's determined that the test has passed, and immediately
170.280 +// end the test.
170.281 +class TestPassedException extends RuntimeException
170.282 +{
170.283 +}
170.284 +
170.285 +//*********** End Standard Test Machinery Section **********
170.286 +
170.287 +
170.288 +//************ Begin classes defined for the test ****************
170.289 +
170.290 +// if want to make listeners, here is the recommended place for them, then instantiate
170.291 +// them in init()
170.292 +
170.293 +/* Example of a class which may be written as part of a test
170.294 +class NewClass implements anInterface
170.295 + {
170.296 + static int newVar = 0;
170.297 +
170.298 + public void eventDispatched(AWTEvent e)
170.299 + {
170.300 + //Counting events to see if we get enough
170.301 + eventCount++;
170.302 +
170.303 + if( eventCount == 20 )
170.304 + {
170.305 + //got enough events, so pass
170.306 +
170.307 + WindowOpacity.pass();
170.308 + }
170.309 + else if( tries == 20 )
170.310 + {
170.311 + //tried too many times without getting enough events so fail
170.312 +
170.313 + WindowOpacity.fail();
170.314 + }
170.315 +
170.316 + }// eventDispatched()
170.317 +
170.318 + }// NewClass class
170.319 +
170.320 +*/
170.321 +
170.322 +
170.323 +//************** End classes defined for the test *******************
170.324 +
170.325 +
170.326 +
170.327 +
170.328 +/****************************************************
170.329 + Standard Test Machinery
170.330 + DO NOT modify anything below -- it's a standard
170.331 + chunk of code whose purpose is to make user
170.332 + interaction uniform, and thereby make it simpler
170.333 + to read and understand someone else's test.
170.334 + ****************************************************/
170.335 +
170.336 +/**
170.337 + This is part of the standard test machinery.
170.338 + It creates a dialog (with the instructions), and is the interface
170.339 + for sending text messages to the user.
170.340 + To print the instructions, send an array of strings to Sysout.createDialog
170.341 + WithInstructions method. Put one line of instructions per array entry.
170.342 + To display a message for the tester to see, simply call Sysout.println
170.343 + with the string to be displayed.
170.344 + This mimics System.out.println but works within the test harness as well
170.345 + as standalone.
170.346 + */
170.347 +
170.348 +class Sysout
170.349 +{
170.350 + private static TestDialog dialog;
170.351 +
170.352 + public static void createDialogWithInstructions( String[] instructions )
170.353 + {
170.354 + dialog = new TestDialog( new Frame(), "Instructions" );
170.355 + dialog.printInstructions( instructions );
170.356 + dialog.setVisible(true);
170.357 + println( "Any messages for the tester will display here." );
170.358 + }
170.359 +
170.360 + public static void createDialog( )
170.361 + {
170.362 + dialog = new TestDialog( new Frame(), "Instructions" );
170.363 + String[] defInstr = { "Instructions will appear here. ", "" } ;
170.364 + dialog.printInstructions( defInstr );
170.365 + dialog.setVisible(true);
170.366 + println( "Any messages for the tester will display here." );
170.367 + }
170.368 +
170.369 +
170.370 + public static void printInstructions( String[] instructions )
170.371 + {
170.372 + dialog.printInstructions( instructions );
170.373 + }
170.374 +
170.375 +
170.376 + public static void println( String messageIn )
170.377 + {
170.378 + dialog.displayMessage( messageIn );
170.379 + System.out.println(messageIn);
170.380 + }
170.381 +
170.382 +}// Sysout class
170.383 +
170.384 +/**
170.385 + This is part of the standard test machinery. It provides a place for the
170.386 + test instructions to be displayed, and a place for interactive messages
170.387 + to the user to be displayed.
170.388 + To have the test instructions displayed, see Sysout.
170.389 + To have a message to the user be displayed, see Sysout.
170.390 + Do not call anything in this dialog directly.
170.391 + */
170.392 +class TestDialog extends Dialog
170.393 +{
170.394 +
170.395 + TextArea instructionsText;
170.396 + TextArea messageText;
170.397 + int maxStringLength = 80;
170.398 +
170.399 + //DO NOT call this directly, go through Sysout
170.400 + public TestDialog( Frame frame, String name )
170.401 + {
170.402 + super( frame, name );
170.403 + int scrollBoth = TextArea.SCROLLBARS_BOTH;
170.404 + instructionsText = new TextArea( "", 15, maxStringLength, scrollBoth );
170.405 + add( "North", instructionsText );
170.406 +
170.407 + messageText = new TextArea( "", 5, maxStringLength, scrollBoth );
170.408 + add("Center", messageText);
170.409 +
170.410 + pack();
170.411 +
170.412 + setVisible(true);
170.413 + }// TestDialog()
170.414 +
170.415 + //DO NOT call this directly, go through Sysout
170.416 + public void printInstructions( String[] instructions )
170.417 + {
170.418 + //Clear out any current instructions
170.419 + instructionsText.setText( "" );
170.420 +
170.421 + //Go down array of instruction strings
170.422 +
170.423 + String printStr, remainingStr;
170.424 + for( int i=0; i < instructions.length; i++ )
170.425 + {
170.426 + //chop up each into pieces maxSringLength long
170.427 + remainingStr = instructions[ i ];
170.428 + while( remainingStr.length() > 0 )
170.429 + {
170.430 + //if longer than max then chop off first max chars to print
170.431 + if( remainingStr.length() >= maxStringLength )
170.432 + {
170.433 + //Try to chop on a word boundary
170.434 + int posOfSpace = remainingStr.
170.435 + lastIndexOf( ' ', maxStringLength - 1 );
170.436 +
170.437 + if( posOfSpace <= 0 ) posOfSpace = maxStringLength - 1;
170.438 +
170.439 + printStr = remainingStr.substring( 0, posOfSpace + 1 );
170.440 + remainingStr = remainingStr.substring( posOfSpace + 1 );
170.441 + }
170.442 + //else just print
170.443 + else
170.444 + {
170.445 + printStr = remainingStr;
170.446 + remainingStr = "";
170.447 + }
170.448 +
170.449 + instructionsText.append( printStr + "\n" );
170.450 +
170.451 + }// while
170.452 +
170.453 + }// for
170.454 +
170.455 + }//printInstructions()
170.456 +
170.457 + //DO NOT call this directly, go through Sysout
170.458 + public void displayMessage( String messageIn )
170.459 + {
170.460 + messageText.append( messageIn + "\n" );
170.461 + System.out.println(messageIn);
170.462 + }
170.463 +
170.464 +}// TestDialog class
171.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
171.2 +++ b/test/java/awt/Component/NoUpdateUponShow/NoUpdateUponShow.java Tue Apr 14 04:21:02 2009 -0700
171.3 @@ -0,0 +1,381 @@
171.4 +/*
171.5 + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
171.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
171.7 + *
171.8 + * This code is free software; you can redistribute it and/or modify it
171.9 + * under the terms of the GNU General Public License version 2 only, as
171.10 + * published by the Free Software Foundation.
171.11 + *
171.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
171.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
171.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
171.15 + * version 2 for more details (a copy is included in the LICENSE file that
171.16 + * accompanied this code).
171.17 + *
171.18 + * You should have received a copy of the GNU General Public License version
171.19 + * 2 along with this work; if not, write to the Free Software Foundation,
171.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
171.21 + *
171.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
171.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
171.24 + * have any questions.
171.25 + */
171.26 +
171.27 +/*
171.28 + @test
171.29 + @bug 6774258
171.30 + @summary api/java_awt/Component/index.html#PaintUpdate fails randomly
171.31 + @author dmitry.cherepanov@...: area=awt.painting
171.32 + @run main NoUpdateUponShow
171.33 +*/
171.34 +
171.35 +/**
171.36 + * NoUpdateUponShow.java
171.37 + *
171.38 + * summary: System-level painting operations shouldn't make call to update()
171.39 + */
171.40 +
171.41 +import java.awt.*;
171.42 +import sun.awt.SunToolkit;
171.43 +
171.44 +public class NoUpdateUponShow
171.45 +{
171.46 +
171.47 + static volatile boolean wasUpdate = false;
171.48 +
171.49 + private static void init()
171.50 + {
171.51 + //*** Create instructions for the user here ***
171.52 +
171.53 + String[] instructions =
171.54 + {
171.55 + "This is an AUTOMATIC test, simply wait until it is done.",
171.56 + "The result (passed or failed) will be shown in the",
171.57 + "message window below."
171.58 + };
171.59 + Sysout.createDialog( );
171.60 + Sysout.printInstructions( instructions );
171.61 +
171.62 +
171.63 + // Create the frame and the button
171.64 + Frame f = new Frame();
171.65 + f.setBounds(100, 100, 200, 200);
171.66 + f.setLayout(new FlowLayout());
171.67 + f.add(new Button() {
171.68 + @Override
171.69 + public void update(Graphics g) {
171.70 + wasUpdate = true;
171.71 + super.update(g);
171.72 + }
171.73 + });
171.74 + f.setVisible(true);
171.75 +
171.76 + ((SunToolkit)Toolkit.getDefaultToolkit()).realSync();
171.77 +
171.78 + if (wasUpdate) {
171.79 + fail(" Unexpected update. ");
171.80 + } else {
171.81 + pass();
171.82 + }
171.83 + }//End init()
171.84 +
171.85 + /*****************************************************
171.86 + * Standard Test Machinery Section
171.87 + * DO NOT modify anything in this section -- it's a
171.88 + * standard chunk of code which has all of the
171.89 + * synchronisation necessary for the test harness.
171.90 + * By keeping it the same in all tests, it is easier
171.91 + * to read and understand someone else's test, as
171.92 + * well as insuring that all tests behave correctly
171.93 + * with the test harness.
171.94 + * There is a section following this for test-
171.95 + * classes
171.96 + ******************************************************/
171.97 + private static boolean theTestPassed = false;
171.98 + private static boolean testGeneratedInterrupt = false;
171.99 + private static String failureMessage = "";
171.100 +
171.101 + private static Thread mainThread = null;
171.102 +
171.103 + private static int sleepTime = 300000;
171.104 +
171.105 + // Not sure about what happens if multiple of this test are
171.106 + // instantiated in the same VM. Being static (and using
171.107 + // static vars), it aint gonna work. Not worrying about
171.108 + // it for now.
171.109 + public static void main( String args[] ) throws InterruptedException
171.110 + {
171.111 + mainThread = Thread.currentThread();
171.112 + try
171.113 + {
171.114 + init();
171.115 + }
171.116 + catch( TestPassedException e )
171.117 + {
171.118 + //The test passed, so just return from main and harness will
171.119 + // interepret this return as a pass
171.120 + return;
171.121 + }
171.122 + //At this point, neither test pass nor test fail has been
171.123 + // called -- either would have thrown an exception and ended the
171.124 + // test, so we know we have multiple threads.
171.125 +
171.126 + //Test involves other threads, so sleep and wait for them to
171.127 + // called pass() or fail()
171.128 + try
171.129 + {
171.130 + Thread.sleep( sleepTime );
171.131 + //Timed out, so fail the test
171.132 + throw new RuntimeException( "Timed out after " + sleepTime/1000 + " seconds" );
171.133 + }
171.134 + catch (InterruptedException e)
171.135 + {
171.136 + //The test harness may have interrupted the test. If so, rethrow the exception
171.137 + // so that the harness gets it and deals with it.
171.138 + if( ! testGeneratedInterrupt ) throw e;
171.139 +
171.140 + //reset flag in case hit this code more than once for some reason (just safety)
171.141 + testGeneratedInterrupt = false;
171.142 +
171.143 + if ( theTestPassed == false )
171.144 + {
171.145 + throw new RuntimeException( failureMessage );
171.146 + }
171.147 + }
171.148 +
171.149 + }//main
171.150 +
171.151 + public static synchronized void setTimeoutTo( int seconds )
171.152 + {
171.153 + sleepTime = seconds * 1000;
171.154 + }
171.155 +
171.156 + public static synchronized void pass()
171.157 + {
171.158 + Sysout.println( "The test passed." );
171.159 + Sysout.println( "The test is over, hit Ctl-C to stop Java VM" );
171.160 + //first check if this is executing in main thread
171.161 + if ( mainThread == Thread.currentThread() )
171.162 + {
171.163 + //Still in the main thread, so set the flag just for kicks,
171.164 + // and throw a test passed exception which will be caught
171.165 + // and end the test.
171.166 + theTestPassed = true;
171.167 + throw new TestPassedException();
171.168 + }
171.169 + theTestPassed = true;
171.170 + testGeneratedInterrupt = true;
171.171 + mainThread.interrupt();
171.172 + }//pass()
171.173 +
171.174 + public static synchronized void fail()
171.175 + {
171.176 + //test writer didn't specify why test failed, so give generic
171.177 + fail( "it just plain failed! :-)" );
171.178 + }
171.179 +
171.180 + public static synchronized void fail( String whyFailed )
171.181 + {
171.182 + Sysout.println( "The test failed: " + whyFailed );
171.183 + Sysout.println( "The test is over, hit Ctl-C to stop Java VM" );
171.184 + //check if this called from main thread
171.185 + if ( mainThread == Thread.currentThread() )
171.186 + {
171.187 + //If main thread, fail now 'cause not sleeping
171.188 + throw new RuntimeException( whyFailed );
171.189 + }
171.190 + theTestPassed = false;
171.191 + testGeneratedInterrupt = true;
171.192 + failureMessage = whyFailed;
171.193 + mainThread.interrupt();
171.194 + }//fail()
171.195 +
171.196 +}// class ValidBounds
171.197 +
171.198 +//This exception is used to exit from any level of call nesting
171.199 +// when it's determined that the test has passed, and immediately
171.200 +// end the test.
171.201 +class TestPassedException extends RuntimeException
171.202 +{
171.203 +}
171.204 +
171.205 +//*********** End Standard Test Machinery Section **********
171.206 +
171.207 +
171.208 +//************ Begin classes defined for the test ****************
171.209 +
171.210 +// if want to make listeners, here is the recommended place for them, then instantiate
171.211 +// them in init()
171.212 +
171.213 +/* Example of a class which may be written as part of a test
171.214 +class NewClass implements anInterface
171.215 + {
171.216 + static int newVar = 0;
171.217 +
171.218 + public void eventDispatched(AWTEvent e)
171.219 + {
171.220 + //Counting events to see if we get enough
171.221 + eventCount++;
171.222 +
171.223 + if( eventCount == 20 )
171.224 + {
171.225 + //got enough events, so pass
171.226 +
171.227 + ValidBounds.pass();
171.228 + }
171.229 + else if( tries == 20 )
171.230 + {
171.231 + //tried too many times without getting enough events so fail
171.232 +
171.233 + ValidBounds.fail();
171.234 + }
171.235 +
171.236 + }// eventDispatched()
171.237 +
171.238 + }// NewClass class
171.239 +
171.240 +*/
171.241 +
171.242 +
171.243 +//************** End classes defined for the test *******************
171.244 +
171.245 +
171.246 +
171.247 +
171.248 +/****************************************************
171.249 + Standard Test Machinery
171.250 + DO NOT modify anything below -- it's a standard
171.251 + chunk of code whose purpose is to make user
171.252 + interaction uniform, and thereby make it simpler
171.253 + to read and understand someone else's test.
171.254 + ****************************************************/
171.255 +
171.256 +/**
171.257 + This is part of the standard test machinery.
171.258 + It creates a dialog (with the instructions), and is the interface
171.259 + for sending text messages to the user.
171.260 + To print the instructions, send an array of strings to Sysout.createDialog
171.261 + WithInstructions method. Put one line of instructions per array entry.
171.262 + To display a message for the tester to see, simply call Sysout.println
171.263 + with the string to be displayed.
171.264 + This mimics System.out.println but works within the test harness as well
171.265 + as standalone.
171.266 + */
171.267 +
171.268 +class Sysout
171.269 +{
171.270 + private static TestDialog dialog;
171.271 +
171.272 + public static void createDialogWithInstructions( String[] instructions )
171.273 + {
171.274 + dialog = new TestDialog( new Frame(), "Instructions" );
171.275 + dialog.printInstructions( instructions );
171.276 + dialog.setVisible(true);
171.277 + println( "Any messages for the tester will display here." );
171.278 + }
171.279 +
171.280 + public static void createDialog( )
171.281 + {
171.282 + dialog = new TestDialog( new Frame(), "Instructions" );
171.283 + String[] defInstr = { "Instructions will appear here. ", "" } ;
171.284 + dialog.printInstructions( defInstr );
171.285 + dialog.setVisible(true);
171.286 + println( "Any messages for the tester will display here." );
171.287 + }
171.288 +
171.289 +
171.290 + public static void printInstructions( String[] instructions )
171.291 + {
171.292 + dialog.printInstructions( instructions );
171.293 + }
171.294 +
171.295 +
171.296 + public static void println( String messageIn )
171.297 + {
171.298 + dialog.displayMessage( messageIn );
171.299 + System.out.println(messageIn);
171.300 + }
171.301 +
171.302 +}// Sysout class
171.303 +
171.304 +/**
171.305 + This is part of the standard test machinery. It provides a place for the
171.306 + test instructions to be displayed, and a place for interactive messages
171.307 + to the user to be displayed.
171.308 + To have the test instructions displayed, see Sysout.
171.309 + To have a message to the user be displayed, see Sysout.
171.310 + Do not call anything in this dialog directly.
171.311 + */
171.312 +class TestDialog extends Dialog
171.313 +{
171.314 +
171.315 + TextArea instructionsText;
171.316 + TextArea messageText;
171.317 + int maxStringLength = 80;
171.318 +
171.319 + //DO NOT call this directly, go through Sysout
171.320 + public TestDialog( Frame frame, String name )
171.321 + {
171.322 + super( frame, name );
171.323 + int scrollBoth = TextArea.SCROLLBARS_BOTH;
171.324 + instructionsText = new TextArea( "", 15, maxStringLength, scrollBoth );
171.325 + add( "North", instructionsText );
171.326 +
171.327 + messageText = new TextArea( "", 5, maxStringLength, scrollBoth );
171.328 + add("Center", messageText);
171.329 +
171.330 + pack();
171.331 +
171.332 + setVisible(true);
171.333 + }// TestDialog()
171.334 +
171.335 + //DO NOT call this directly, go through Sysout
171.336 + public void printInstructions( String[] instructions )
171.337 + {
171.338 + //Clear out any current instructions
171.339 + instructionsText.setText( "" );
171.340 +
171.341 + //Go down array of instruction strings
171.342 +
171.343 + String printStr, remainingStr;
171.344 + for( int i=0; i < instructions.length; i++ )
171.345 + {
171.346 + //chop up each into pieces maxSringLength long
171.347 + remainingStr = instructions[ i ];
171.348 + while( remainingStr.length() > 0 )
171.349 + {
171.350 + //if longer than max then chop off first max chars to print
171.351 + if( remainingStr.length() >= maxStringLength )
171.352 + {
171.353 + //Try to chop on a word boundary
171.354 + int posOfSpace = remainingStr.
171.355 + lastIndexOf( ' ', maxStringLength - 1 );
171.356 +
171.357 + if( posOfSpace <= 0 ) posOfSpace = maxStringLength - 1;
171.358 +
171.359 + printStr = remainingStr.substring( 0, posOfSpace + 1 );
171.360 + remainingStr = remainingStr.substring( posOfSpace + 1 );
171.361 + }
171.362 + //else just print
171.363 + else
171.364 + {
171.365 + printStr = remainingStr;
171.366 + remainingStr = "";
171.367 + }
171.368 +
171.369 + instructionsText.append( printStr + "\n" );
171.370 +
171.371 + }// while
171.372 +
171.373 + }// for
171.374 +
171.375 + }//printInstructions()
171.376 +
171.377 + //DO NOT call this directly, go through Sysout
171.378 + public void displayMessage( String messageIn )
171.379 + {
171.380 + messageText.append( messageIn + "\n" );
171.381 + System.out.println(messageIn);
171.382 + }
171.383 +
171.384 +}// TestDialog class
172.1 --- a/test/java/awt/Component/isLightweightCrash/StubPeerCrash.java Tue Apr 14 00:05:07 2009 -0700
172.2 +++ b/test/java/awt/Component/isLightweightCrash/StubPeerCrash.java Tue Apr 14 04:21:02 2009 -0700
172.3 @@ -118,7 +118,7 @@
172.4 public boolean handlesWheelScrolling(){return true;};
172.5 public void createBuffers(int numBuffers, BufferCapabilities caps) throws AWTException{};
172.6 public Image getBackBuffer(){return null;};
172.7 - public void flip(BufferCapabilities.FlipContents flipAction){};
172.8 + public void flip(int x1, int y1, int x2, int y2, BufferCapabilities.FlipContents flipAction){};
172.9 public void destroyBuffers(){};
172.10
172.11 /**
173.1 --- a/test/java/awt/EventQueue/6638195/bug6638195.java Tue Apr 14 00:05:07 2009 -0700
173.2 +++ b/test/java/awt/EventQueue/6638195/bug6638195.java Tue Apr 14 04:21:02 2009 -0700
173.3 @@ -76,8 +76,13 @@
173.4 Callable<Void> afterDispatchCallable =
173.5 new Callable<Void>() {
173.6 public Void call() {
173.7 - delegate.afterDispatch(afterDispatchEventArgument[0],
173.8 - afterDispatchHandleArgument[0]);
173.9 + try {
173.10 + delegate.afterDispatch(afterDispatchEventArgument[0],
173.11 + afterDispatchHandleArgument[0]);
173.12 + }
173.13 + catch (InterruptedException e) {
173.14 + throw new RuntimeException("afterDispatch interrupted", e);
173.15 + }
173.16 return null;
173.17 }
173.18 };
173.19 @@ -91,8 +96,13 @@
173.20 Callable<Object> beforeDispatchCallable =
173.21 new Callable<Object>() {
173.22 public Object call() {
173.23 - return delegate.beforeDispatch(
173.24 - beforeDispatchEventArgument[0]);
173.25 + try {
173.26 + return delegate.beforeDispatch(
173.27 + beforeDispatchEventArgument[0]);
173.28 + }
173.29 + catch (InterruptedException e) {
173.30 + throw new RuntimeException("beforeDispatch interrupted", e);
173.31 + }
173.32 }
173.33 };
173.34 methodMap = new HashMap<String, Object>();
174.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
174.2 +++ b/test/java/awt/Focus/ClearGlobalFocusOwnerTest/ClearGlobalFocusOwnerTest.java Tue Apr 14 04:21:02 2009 -0700
174.3 @@ -0,0 +1,95 @@
174.4 +/*
174.5 + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
174.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
174.7 + *
174.8 + * This code is free software; you can redistribute it and/or modify it
174.9 + * under the terms of the GNU General Public License version 2 only, as
174.10 + * published by the Free Software Foundation.
174.11 + *
174.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
174.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
174.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
174.15 + * version 2 for more details (a copy is included in the LICENSE file that
174.16 + * accompanied this code).
174.17 + *
174.18 + * You should have received a copy of the GNU General Public License version
174.19 + * 2 along with this work; if not, write to the Free Software Foundation,
174.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
174.21 + *
174.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
174.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
174.24 + * have any questions.
174.25 + */
174.26 +
174.27 +/*
174.28 + @test
174.29 + @bug 4390555
174.30 + @summary Synopsis: clearGlobalFocusOwner() is not trigerring permanent FOCUS_LOST event
174.31 + @author son@sparc.spb.su, anton.tarasov: area=awt.focus
174.32 + @library ../../regtesthelpers
174.33 + @build Util
174.34 + @run main ClearGlobalFocusOwnerTest
174.35 +*/
174.36 +
174.37 +import java.awt.*;
174.38 +import java.awt.event.*;
174.39 +import test.java.awt.regtesthelpers.Util;
174.40 +
174.41 +public class ClearGlobalFocusOwnerTest {
174.42 + static volatile boolean isFocusLost = false;
174.43 + static Frame frame = new Frame("Test frame");
174.44 + static Button button = new Button("Test button");
174.45 +
174.46 + public static void main(String[] args) {
174.47 + button.addFocusListener(new FocusAdapter() {
174.48 + public void focusLost(FocusEvent fe) {
174.49 + if (fe.isTemporary()) {
174.50 + throw new TestFailedException("the FocusLost event is temporary: " + fe);
174.51 + }
174.52 + isFocusLost = true;
174.53 + }
174.54 + });
174.55 +
174.56 + frame.add(button);
174.57 + frame.pack();
174.58 + frame.setVisible(true);
174.59 +
174.60 + Util.waitForIdle(null);
174.61 +
174.62 + if (!button.hasFocus()) {
174.63 + button.requestFocus();
174.64 + Util.waitForIdle(null);
174.65 + if (!button.hasFocus()) {
174.66 + throw new TestErrorException("couldn't focus " + button);
174.67 + }
174.68 + }
174.69 +
174.70 + KeyboardFocusManager.getCurrentKeyboardFocusManager().clearGlobalFocusOwner();
174.71 +
174.72 + Util.waitForIdle(null);
174.73 +
174.74 + if (!isFocusLost) {
174.75 + throw new TestFailedException("no FocusLost event happened on clearGlobalFocusOwner");
174.76 + }
174.77 +
174.78 + System.out.println("Test passed.");
174.79 + }
174.80 +}
174.81 +
174.82 +/**
174.83 + * Thrown when the behavior being verified is found wrong.
174.84 + */
174.85 +class TestFailedException extends RuntimeException {
174.86 + TestFailedException(String msg) {
174.87 + super("Test failed: " + msg);
174.88 + }
174.89 +}
174.90 +
174.91 +/**
174.92 + * Thrown when an error not related to the behavior being verified is encountered.
174.93 + */
174.94 +class TestErrorException extends RuntimeException {
174.95 + TestErrorException(String msg) {
174.96 + super("Unexpected error: " + msg);
174.97 + }
174.98 +}
175.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
175.2 +++ b/test/java/awt/Focus/CloseDialogActivateOwnerTest/CloseDialogActivateOwnerTest.java Tue Apr 14 04:21:02 2009 -0700
175.3 @@ -0,0 +1,114 @@
175.4 +/*
175.5 + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved.
175.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
175.7 + *
175.8 + * This code is free software; you can redistribute it and/or modify it
175.9 + * under the terms of the GNU General Public License version 2 only, as
175.10 + * published by the Free Software Foundation.
175.11 + *
175.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
175.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
175.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
175.15 + * version 2 for more details (a copy is included in the LICENSE file that
175.16 + * accompanied this code).
175.17 + *
175.18 + * You should have received a copy of the GNU General Public License version
175.19 + * 2 along with this work; if not, write to the Free Software Foundation,
175.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
175.21 + *
175.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
175.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
175.24 + * have any questions.
175.25 + */
175.26 +
175.27 +/*
175.28 + @test
175.29 + @bug 6785058
175.30 + @summary Tests that an owner is activated on closing its owned dialog with the warning icon.
175.31 + @author Anton Tarasov: area=awt.focus
175.32 + @library ../../regtesthelpers
175.33 + @build Util
175.34 + @run main/othervm/policy=java.policy -Djava.security.manager CloseDialogActivateOwnerTest
175.35 +*/
175.36 +
175.37 +import java.awt.*;
175.38 +import java.awt.event.*;
175.39 +import java.applet.Applet;
175.40 +import java.util.concurrent.atomic.AtomicBoolean;
175.41 +import java.lang.reflect.InvocationTargetException;
175.42 +import test.java.awt.regtesthelpers.Util;
175.43 +
175.44 +public class CloseDialogActivateOwnerTest extends Applet {
175.45 + Robot robot;
175.46 +
175.47 + public static void main(String[] args) {
175.48 + CloseDialogActivateOwnerTest app = new CloseDialogActivateOwnerTest();
175.49 + app.init();
175.50 + app.start();
175.51 + }
175.52 +
175.53 + public void init() {
175.54 + robot = Util.createRobot();
175.55 + }
175.56 +
175.57 + public void start() {
175.58 + final Frame frame = new Frame("Owner Frame");
175.59 + final Dialog dialog = new Dialog(frame, "Owned Dialog");
175.60 +
175.61 + frame.setSize(100, 100);
175.62 + dialog.setSize(100, 100);
175.63 +
175.64 + // Show the owner. Check that it's focused.
175.65 + if (!Util.trackWindowGainedFocus(frame, new Runnable() {
175.66 + public void run() {
175.67 + frame.setVisible(true);
175.68 + }
175.69 + }, 2000, false))
175.70 + {
175.71 + throw new TestErrorException("the owner frame hasn't been activated on show");
175.72 + }
175.73 +
175.74 + // Show the owned dialog. Check that it's focused.
175.75 + if (!Util.trackWindowGainedFocus(dialog, new Runnable() {
175.76 + public void run() {
175.77 + dialog.setVisible(true);
175.78 + }
175.79 + }, 2000, true))
175.80 + {
175.81 + throw new TestErrorException("the owned dialog hasn't been activated on show");
175.82 + }
175.83 +
175.84 + robot.delay(2000); // wait for the warning icon is shown
175.85 +
175.86 + // Close the dialog. Check that the owner is activated.
175.87 + if (!Util.trackWindowGainedFocus(frame, new Runnable() {
175.88 + public void run() {
175.89 + dialog.dispose();
175.90 + }
175.91 + }, 2000, false))
175.92 + {
175.93 + throw new TestFailedException("the owner hasn't been activated on closing the owned dialog");
175.94 + }
175.95 +
175.96 + System.out.println("Test passed.");
175.97 + }
175.98 +}
175.99 +
175.100 +/**
175.101 + * Thrown when the behavior being verified is found wrong.
175.102 + */
175.103 +class TestFailedException extends RuntimeException {
175.104 + TestFailedException(String msg) {
175.105 + super("Test failed: " + msg);
175.106 + }
175.107 +}
175.108 +
175.109 +/**
175.110 + * Thrown when an error not related to the behavior being verified is encountered.
175.111 + */
175.112 +class TestErrorException extends Error {
175.113 + TestErrorException(String msg) {
175.114 + super("Unexpected error: " + msg);
175.115 + }
175.116 +}
175.117 +
176.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
176.2 +++ b/test/java/awt/Focus/CloseDialogActivateOwnerTest/java.policy Tue Apr 14 04:21:02 2009 -0700
176.3 @@ -0,0 +1,3 @@
176.4 +grant {
176.5 + permission java.awt.AWTPermission "createRobot";
176.6 +};
177.1 --- a/test/java/awt/Focus/IconifiedFrameFocusChangeTest/IconifiedFrameFocusChangeTest.java Tue Apr 14 00:05:07 2009 -0700
177.2 +++ b/test/java/awt/Focus/IconifiedFrameFocusChangeTest/IconifiedFrameFocusChangeTest.java Tue Apr 14 04:21:02 2009 -0700
177.3 @@ -71,8 +71,14 @@
177.4 testFrame.setVisible(true);
177.5 Util.waitForIdle(robot);
177.6
177.7 + robot.delay(1000); // additional delay is required
177.8 +
177.9 if (!testButton.hasFocus()) {
177.10 - throw new TestErrorException("wrong initial focus");
177.11 + testButton.requestFocus();
177.12 + Util.waitForIdle(robot);
177.13 + if (!testButton.hasFocus()) {
177.14 + throw new TestErrorException("couldn't focus " + testButton);
177.15 + }
177.16 }
177.17
177.18 /*
178.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
178.2 +++ b/test/java/awt/Focus/OwnedWindowFocusIMECrashTest/OwnedWindowFocusIMECrashTest.java Tue Apr 14 04:21:02 2009 -0700
178.3 @@ -0,0 +1,88 @@
178.4 +/*
178.5 + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved.
178.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
178.7 + *
178.8 + * This code is free software; you can redistribute it and/or modify it
178.9 + * under the terms of the GNU General Public License version 2 only, as
178.10 + * published by the Free Software Foundation.
178.11 + *
178.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
178.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
178.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
178.15 + * version 2 for more details (a copy is included in the LICENSE file that
178.16 + * accompanied this code).
178.17 + *
178.18 + * You should have received a copy of the GNU General Public License version
178.19 + * 2 along with this work; if not, write to the Free Software Foundation,
178.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
178.21 + *
178.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
178.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
178.24 + * have any questions.
178.25 + */
178.26 +
178.27 +/*
178.28 + @test
178.29 + @bug 6542975
178.30 + @summary Tests that switching focus from an owned window doesn't crash.
178.31 + @author anton.tarasov@sun.com: area=awt-focus
178.32 + @library ../../regtesthelpers
178.33 + @build Util
178.34 + @run main OwnedWindowFocusIMECrashTest
178.35 +*/
178.36 +
178.37 +import java.awt.*;
178.38 +import javax.swing.*;
178.39 +import test.java.awt.regtesthelpers.Util;
178.40 +
178.41 +public class OwnedWindowFocusIMECrashTest {
178.42 + Robot robot;
178.43 + JFrame owner = new JFrame("Owner Frame");
178.44 + JFrame frame = new JFrame("Other Frame");
178.45 + JWindow window = new JWindow(owner);
178.46 + JButton button = new JButton("Button");
178.47 +
178.48 + public static void main(String[] args) {
178.49 + OwnedWindowFocusIMECrashTest app = new OwnedWindowFocusIMECrashTest();
178.50 + app.init();
178.51 + app.start();
178.52 + }
178.53 +
178.54 + public void init() {
178.55 + robot = Util.createRobot();
178.56 + }
178.57 +
178.58 + public void start() {
178.59 + owner.setBounds(100, 100, 200, 100);
178.60 + window.setBounds(100, 250, 200, 100);
178.61 + frame.setBounds(350, 100, 200, 100);
178.62 + window.add(button);
178.63 +
178.64 + owner.setVisible(true);
178.65 + frame.setVisible(true);
178.66 + window.setVisible(true);
178.67 +
178.68 + Util.waitForIdle(robot);
178.69 +
178.70 + test();
178.71 +
178.72 + System.out.println("Test passed");
178.73 + }
178.74 +
178.75 + void test() {
178.76 + Util.clickOnComp(button, robot);
178.77 + if (!button.hasFocus()) {
178.78 + throw new TestErrorException("the button couldn't be focused by click");
178.79 + }
178.80 + Util.clickOnTitle(frame, robot); // here there was a crash
178.81 + }
178.82 +}
178.83 +
178.84 +/**
178.85 + * Thrown when an error not related to the behavior being verified is encountered.
178.86 + */
178.87 +class TestErrorException extends RuntimeException {
178.88 + TestErrorException(String msg) {
178.89 + super("Unexpected error: " + msg);
178.90 + }
178.91 +}
179.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
179.2 +++ b/test/java/awt/Focus/RemoveAfterRequest/RemoveAfterRequest.java Tue Apr 14 04:21:02 2009 -0700
179.3 @@ -0,0 +1,102 @@
179.4 +/*
179.5 + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
179.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
179.7 + *
179.8 + * This code is free software; you can redistribute it and/or modify it
179.9 + * under the terms of the GNU General Public License version 2 only, as
179.10 + * published by the Free Software Foundation.
179.11 + *
179.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
179.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
179.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
179.15 + * version 2 for more details (a copy is included in the LICENSE file that
179.16 + * accompanied this code).
179.17 + *
179.18 + * You should have received a copy of the GNU General Public License version
179.19 + * 2 along with this work; if not, write to the Free Software Foundation,
179.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
179.21 + *
179.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
179.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
179.24 + * have any questions.
179.25 + */
179.26 +
179.27 +/*
179.28 + @test
179.29 + @bug 6411406
179.30 + @summary Components automatically transfer focus on removal, even if developer requests focus elsewhere first
179.31 + @author oleg.sukhodolsky, anton.tarasov: area=awt.focus
179.32 + @library ../../regtesthelpers
179.33 + @build Util
179.34 + @run main RemoveAfterRequest
179.35 +*/
179.36 +
179.37 +/**
179.38 + * RemoveAfterRequest.java
179.39 + *
179.40 + * summary: Components automatically transfer focus on removal, even if developer requests focus elsewhere first
179.41 + */
179.42 +
179.43 +import java.awt.*;
179.44 +import java.awt.event.*;
179.45 +import test.java.awt.regtesthelpers.Util;
179.46 +
179.47 +public class RemoveAfterRequest {
179.48 + final static Frame frame = new Frame("test frame");
179.49 + final static Button btn1 = new Button("btn1");
179.50 + final static Button btn2 = new Button("btn2");
179.51 + final static Button btn3 = new Button("btn3");
179.52 +
179.53 + public static void main(String[] args) {
179.54 + frame.setLayout(new GridLayout(3, 1));
179.55 + frame.add(btn1);
179.56 + frame.add(btn2);
179.57 + frame.add(btn3);
179.58 + frame.pack();
179.59 + frame.setVisible(true);
179.60 +
179.61 + Util.waitForIdle(null);
179.62 +
179.63 + if (!btn1.hasFocus()) {
179.64 + btn1.requestFocus();
179.65 + Util.waitForIdle(null);
179.66 + if (!btn1.hasFocus()) {
179.67 + throw new TestErrorException("couldn't focus " + btn1);
179.68 + }
179.69 + }
179.70 +
179.71 + if (!Util.trackFocusGained(btn3, new Runnable() {
179.72 + public void run() {
179.73 + btn3.requestFocus();
179.74 + frame.remove(btn1);
179.75 + frame.invalidate();
179.76 + frame.validate();
179.77 + frame.repaint();
179.78 + }
179.79 + }, 2000, true))
179.80 + {
179.81 + throw new TestFailedException("focus request on removal failed");
179.82 + }
179.83 +
179.84 + System.out.println("Test passed.");
179.85 + }
179.86 +}
179.87 +
179.88 +/**
179.89 + * Thrown when the behavior being verified is found wrong.
179.90 + */
179.91 +class TestFailedException extends RuntimeException {
179.92 + TestFailedException(String msg) {
179.93 + super("Test failed: " + msg);
179.94 + }
179.95 +}
179.96 +
179.97 +/**
179.98 + * Thrown when an error not related to the behavior being verified is encountered.
179.99 + */
179.100 +class TestErrorException extends RuntimeException {
179.101 + TestErrorException(String msg) {
179.102 + super("Unexpected error: " + msg);
179.103 + }
179.104 +}
179.105 +
180.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
180.2 +++ b/test/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.html Tue Apr 14 04:21:02 2009 -0700
180.3 @@ -0,0 +1,20 @@
180.4 +<html>
180.5 +<!--
180.6 + @test
180.7 + @bug 6680988
180.8 + @summary verify that various shortcuts and accelerators work
180.9 + @author yuri.nesterenko : area=awt.keyboard
180.10 + @run applet/manual=yesno AcceleratorTest.html
180.11 + -->
180.12 +<head>
180.13 +<title> AcceleratorTest </title>
180.14 +</head>
180.15 +<body>
180.16 +
180.17 +<h1>AcceleratorTest<br>Bug ID: </h1>
180.18 +
180.19 +<p> See the dialog box (usually in upper left corner) for instructions</p>
180.20 +
180.21 +<APPLET CODE="AcceleratorTest.class" WIDTH=200 HEIGHT=200></APPLET>
180.22 +</body>
180.23 +</html>
181.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
181.2 +++ b/test/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.java Tue Apr 14 04:21:02 2009 -0700
181.3 @@ -0,0 +1,305 @@
181.4 +/*
181.5 + test
181.6 + @bug 6680988
181.7 + @summary verify that various shortcuts and accelerators work
181.8 + @author yuri.nesterenko : area=awt.keyboard
181.9 + @run applet/manual=yesno AcceleratorTest.html
181.10 +*/
181.11 +
181.12 +/**
181.13 + * AcceleratorTest.java
181.14 + *
181.15 + * summary:
181.16 + */
181.17 +
181.18 +//import java.applet.Applet;
181.19 +import javax.swing.*;
181.20 +import java.awt.*;
181.21 +import java.awt.event.*;
181.22 +import java.util.Hashtable;
181.23 +
181.24 +
181.25 +public class AcceleratorTest extends JApplet
181.26 +{
181.27 + //Declare things used in the test, like buttons and labels here
181.28 + static int pressed = 0;
181.29 + Hashtable<String, Integer> cmdHash = new Hashtable<String, Integer>();
181.30 + String[] CMD = {
181.31 + "\u042E, keep me in focus",
181.32 + "Item Cyrl Be",
181.33 + "Item English Period",
181.34 + "Item English N",
181.35 + "\u0436"
181.36 + };
181.37 +
181.38 + JFrame jfr;
181.39 +
181.40 + public void init()
181.41 + {
181.42 + //Create instructions for the user here, as well as set up
181.43 + // the environment -- set the layout manager, add buttons,
181.44 + // etc.
181.45 + this.setLayout (new BorderLayout ());
181.46 +
181.47 + String[] instructions =
181.48 + {
181.49 + " Ensure you have Russian keyboard layout as a currently active.",
181.50 + "(1) Press Ctrl+\u0411 (a key with \",<\" on it) ",
181.51 + "(2) Find a . (period) in this layout (perhaps \"/?\" or \"7&\" key).",
181.52 + "Press Ctrl+.",
181.53 + "(3) Press Crtl+ regular English . (period) key (on \".>\" )",
181.54 + "(4) Press Ctrl+ key with English N.",
181.55 + "(5) Press Alt+\u042E (key with \".>\")",
181.56 + "(6) Press Alt+\u0436 (key with \";:\")",
181.57 + "If all expected commands will be fired, look for message",
181.58 + "\"All tests passed\""
181.59 + };
181.60 + Sysout.createDialogWithInstructions( instructions );
181.61 + for(int i = 0; i < CMD.length; i++) {
181.62 + cmdHash.put(CMD[i], 0);
181.63 + }
181.64 +
181.65 + jfr = new JFrame();
181.66 + JButton jbu;
181.67 + jfr.add((jbu = new JButton(CMD[0])));
181.68 + jbu.setMnemonic(java.awt.event.KeyEvent.getExtendedKeyCodeForChar('\u042E'));
181.69 + jbu.addActionListener( new ALi(CMD[0]));
181.70 +
181.71 +
181.72 + JMenuBar menuBar = new JMenuBar();
181.73 + jfr.setJMenuBar(menuBar);
181.74 + JMenu menu = new JMenu("Menu");
181.75 + menuBar.add(menu);
181.76 +
181.77 + JMenuItem menuItem = new JMenuItem(CMD[1]);
181.78 + menuItem.setAccelerator(KeyStroke.getKeyStroke(java.awt.event.KeyEvent.getExtendedKeyCodeForChar('\u0431'),
181.79 + InputEvent.CTRL_DOWN_MASK));
181.80 +
181.81 + JMenuItem menuItemEnglish = new JMenuItem(CMD[2]);
181.82 + menuItemEnglish.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_PERIOD,
181.83 + InputEvent.CTRL_DOWN_MASK));
181.84 + JMenuItem menuItemE1 = new JMenuItem(CMD[3]);
181.85 + menuItemE1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,
181.86 + InputEvent.CTRL_DOWN_MASK));
181.87 + menuItem.addActionListener( new ALi(CMD[1]));
181.88 + menuItemEnglish.addActionListener( new ALi(CMD[2]));
181.89 + menuItemE1.addActionListener( new ALi(CMD[3]));
181.90 + menu.add(menuItem);
181.91 + menu.add(menuItemEnglish);
181.92 + menu.add(menuItemE1);
181.93 +
181.94 + KeyStroke ks;
181.95 + InputMap im = new InputMap();
181.96 + ks = KeyStroke.getKeyStroke(KeyEvent.getExtendedKeyCodeForChar('\u0436'), java.awt.event.InputEvent.ALT_DOWN_MASK);
181.97 + im.put(ks, "pushAction");
181.98 + im.setParent(jbu.getInputMap(JComponent.WHEN_FOCUSED));
181.99 + jbu.setInputMap(JComponent.WHEN_FOCUSED, im);
181.100 +
181.101 + jbu.getActionMap().put("pushAction",
181.102 + new AbstractAction("pushAction") {
181.103 + public void actionPerformed(ActionEvent evt) {
181.104 + if( evt.getActionCommand().equals(CMD[4])) {
181.105 + cmdHash.put(CMD[4], 1);
181.106 + }
181.107 + boolean notYet = false;
181.108 + for(int i = 0; i < CMD.length; i++) {
181.109 + if(cmdHash.get(CMD[i]) == 0 ) notYet = true;
181.110 + }
181.111 + Sysout.println("Fired");
181.112 + if( !notYet ) {
181.113 + Sysout.println("All tests passed.");
181.114 + }
181.115 + }
181.116 + }
181.117 + );
181.118 +
181.119 +
181.120 + jfr.setBounds(650,0,200,200);
181.121 + jfr.setVisible(true);
181.122 +
181.123 + }//End init()
181.124 +
181.125 + public void start ()
181.126 + {
181.127 + //Get things going. Request focus, set size, et cetera
181.128 + setSize (200,200);
181.129 + setVisible(true);
181.130 + validate();
181.131 +
181.132 + }// start()
181.133 + public class ALi implements ActionListener {
181.134 + String expectedCmd;
181.135 + public ALi( String eCmd ) {
181.136 + expectedCmd = eCmd;
181.137 + }
181.138 + public void actionPerformed(ActionEvent ae) {
181.139 + if( cmdHash.containsKey(ae.getActionCommand()) ) {
181.140 + cmdHash.put(expectedCmd, 1);
181.141 + }
181.142 + boolean notYet = false;
181.143 + for(int i = 0; i < CMD.length; i++) {
181.144 + if(cmdHash.get(CMD[i]) == 0 ) notYet = true;
181.145 + //Sysout.println(CMD[i]+":"+cmdHash.get(CMD[i]));
181.146 + }
181.147 + Sysout.println("FIRED");
181.148 + if( !notYet ) {
181.149 + Sysout.println("All tests passed.");
181.150 + }
181.151 + }
181.152 + }
181.153 +
181.154 +
181.155 +}// class AcceleratorTest
181.156 +
181.157 +/* Place other classes related to the test after this line */
181.158 +
181.159 +
181.160 +
181.161 +
181.162 +
181.163 +/****************************************************
181.164 + Standard Test Machinery
181.165 + DO NOT modify anything below -- it's a standard
181.166 + chunk of code whose purpose is to make user
181.167 + interaction uniform, and thereby make it simpler
181.168 + to read and understand someone else's test.
181.169 + ****************************************************/
181.170 +
181.171 +/**
181.172 + This is part of the standard test machinery.
181.173 + It creates a dialog (with the instructions), and is the interface
181.174 + for sending text messages to the user.
181.175 + To print the instructions, send an array of strings to Sysout.createDialog
181.176 + WithInstructions method. Put one line of instructions per array entry.
181.177 + To display a message for the tester to see, simply call Sysout.println
181.178 + with the string to be displayed.
181.179 + This mimics System.out.println but works within the test harness as well
181.180 + as standalone.
181.181 + */
181.182 +
181.183 +class Sysout
181.184 +{
181.185 + private static TestDialog dialog;
181.186 + private static boolean numbering = false;
181.187 + private static int messageNumber = 0;
181.188 +
181.189 + public static void createDialogWithInstructions( String[] instructions )
181.190 + {
181.191 + dialog = new TestDialog( new Frame(), "Instructions" );
181.192 + dialog.printInstructions( instructions );
181.193 + dialog.setVisible(true);
181.194 + println( "Any messages for the tester will display here." );
181.195 + }
181.196 +
181.197 + public static void createDialog( )
181.198 + {
181.199 + dialog = new TestDialog( new Frame(), "Instructions" );
181.200 + String[] defInstr = { "Instructions will appear here. ", "" } ;
181.201 + dialog.printInstructions( defInstr );
181.202 + dialog.setVisible(true);
181.203 + println( "Any messages for the tester will display here." );
181.204 + }
181.205 +
181.206 + /* Enables message counting for the tester. */
181.207 + public static void enableNumbering(boolean enable){
181.208 + numbering = enable;
181.209 + }
181.210 +
181.211 + public static void printInstructions( String[] instructions )
181.212 + {
181.213 + dialog.printInstructions( instructions );
181.214 + }
181.215 +
181.216 +
181.217 + public static void println( String messageIn )
181.218 + {
181.219 + if (numbering) {
181.220 + messageIn = "" + messageNumber + " " + messageIn;
181.221 + messageNumber++;
181.222 + }
181.223 + dialog.displayMessage( messageIn );
181.224 + }
181.225 +
181.226 +}// Sysout class
181.227 +
181.228 +/**
181.229 + This is part of the standard test machinery. It provides a place for the
181.230 + test instructions to be displayed, and a place for interactive messages
181.231 + to the user to be displayed.
181.232 + To have the test instructions displayed, see Sysout.
181.233 + To have a message to the user be displayed, see Sysout.
181.234 + Do not call anything in this dialog directly.
181.235 + */
181.236 +class TestDialog extends Dialog
181.237 +{
181.238 +
181.239 + TextArea instructionsText;
181.240 + TextArea messageText;
181.241 + int maxStringLength = 80;
181.242 +
181.243 + //DO NOT call this directly, go through Sysout
181.244 + public TestDialog( Frame frame, String name )
181.245 + {
181.246 + super( frame, name );
181.247 + int scrollBoth = TextArea.SCROLLBARS_BOTH;
181.248 + instructionsText = new TextArea( "", 15, maxStringLength, scrollBoth );
181.249 + add( "North", instructionsText );
181.250 +
181.251 + messageText = new TextArea( "", 5, maxStringLength, scrollBoth );
181.252 + add("Center", messageText);
181.253 +
181.254 + pack();
181.255 +
181.256 + setVisible(true);
181.257 + }// TestDialog()
181.258 +
181.259 + //DO NOT call this directly, go through Sysout
181.260 + public void printInstructions( String[] instructions )
181.261 + {
181.262 + //Clear out any current instructions
181.263 + instructionsText.setText( "" );
181.264 +
181.265 + //Go down array of instruction strings
181.266 +
181.267 + String printStr, remainingStr;
181.268 + for( int i=0; i < instructions.length; i++ )
181.269 + {
181.270 + //chop up each into pieces maxSringLength long
181.271 + remainingStr = instructions[ i ];
181.272 + while( remainingStr.length() > 0 )
181.273 + {
181.274 + //if longer than max then chop off first max chars to print
181.275 + if( remainingStr.length() >= maxStringLength )
181.276 + {
181.277 + //Try to chop on a word boundary
181.278 + int posOfSpace = remainingStr.
181.279 + lastIndexOf( ' ', maxStringLength - 1 );
181.280 +
181.281 + if( posOfSpace <= 0 ) posOfSpace = maxStringLength - 1;
181.282 +
181.283 + printStr = remainingStr.substring( 0, posOfSpace + 1 );
181.284 + remainingStr = remainingStr.substring( posOfSpace + 1 );
181.285 + }
181.286 + //else just print
181.287 + else
181.288 + {
181.289 + printStr = remainingStr;
181.290 + remainingStr = "";
181.291 + }
181.292 +
181.293 + instructionsText.append( printStr + "\n" );
181.294 +
181.295 + }// while
181.296 +
181.297 + }// for
181.298 +
181.299 + }//printInstructions()
181.300 +
181.301 + //DO NOT call this directly, go through Sysout
181.302 + public void displayMessage( String messageIn )
181.303 + {
181.304 + messageText.append( messageIn + "\n" );
181.305 + System.out.println(messageIn);
181.306 + }
181.307 +
181.308 +}// TestDialog class
182.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
182.2 +++ b/test/java/awt/event/MouseEvent/AWTPanelSmoothWheel/AWTPanelSmoothWheel.html Tue Apr 14 04:21:02 2009 -0700
182.3 @@ -0,0 +1,20 @@
182.4 +<html>
182.5 +<!--
182.6 + @test
182.7 + @bug 6730447
182.8 + @summary Support for high resolution mouse wheel is still incomplete. AWT panel needs to be supported
182.9 + @author dmitry.cherepanov@...: area=awt.mouse
182.10 + @run applet/manual=yesno AWTPanelSmoothWheel.html
182.11 + -->
182.12 +<head>
182.13 +<title> AWTPanelSmoothWheel </title>
182.14 +</head>
182.15 +<body>
182.16 +
182.17 +<h1> AWTPanelSmoothWheel <br>Bug ID: 6730447</h1>
182.18 +
182.19 +<p> See the dialog box (usually in upper left corner) for instructions</p>
182.20 +
182.21 +<APPLET CODE="AWTPanelSmoothWheel.class" WIDTH=200 HEIGHT=200></APPLET>
182.22 +</body>
182.23 +</html>
183.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
183.2 +++ b/test/java/awt/event/MouseEvent/AWTPanelSmoothWheel/AWTPanelSmoothWheel.java Tue Apr 14 04:21:02 2009 -0700
183.3 @@ -0,0 +1,251 @@
183.4 +/*
183.5 + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
183.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
183.7 + *
183.8 + * This code is free software; you can redistribute it and/or modify it
183.9 + * under the terms of the GNU General Public License version 2 only, as
183.10 + * published by the Free Software Foundation.
183.11 + *
183.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
183.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
183.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
183.15 + * version 2 for more details (a copy is included in the LICENSE file that
183.16 + * accompanied this code).
183.17 + *
183.18 + * You should have received a copy of the GNU General Public License version
183.19 + * 2 along with this work; if not, write to the Free Software Foundation,
183.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
183.21 + *
183.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
183.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
183.24 + * have any questions.
183.25 + */
183.26 +
183.27 +/*
183.28 + test
183.29 + @bug 6730447
183.30 + @summary Support for high resolution mouse wheel is still incomplete. AWT panel needs to be supported
183.31 + @author dmitry.cherepanov@...: area=awt.mouse
183.32 + @run applet/manual=yesno AWTPanelSmoothWheel.html
183.33 +*/
183.34 +
183.35 +/**
183.36 + * AWTPanelSmoothWheel.java
183.37 + *
183.38 + * summary:
183.39 + */
183.40 +
183.41 +import java.applet.Applet;
183.42 +import java.awt.*;
183.43 +import java.awt.event.*;
183.44 +
183.45 +//Manual tests should run as applet tests if possible because they
183.46 +// get their environments cleaned up, including AWT threads, any
183.47 +// test created threads, and any system resources used by the test
183.48 +// such as file descriptors. (This is normally not a problem as
183.49 +// main tests usually run in a separate VM, however on some platforms
183.50 +// such as the Mac, separate VMs are not possible and non-applet
183.51 +// tests will cause problems). Also, you don't have to worry about
183.52 +// synchronisation stuff in Applet tests the way you do in main
183.53 +// tests...
183.54 +
183.55 +
183.56 +public class AWTPanelSmoothWheel extends Applet
183.57 +{
183.58 + //Declare things used in the test, like buttons and labels here
183.59 +
183.60 + public void init()
183.61 + {
183.62 + //Create instructions for the user here, as well as set up
183.63 + // the environment -- set the layout manager, add buttons,
183.64 + // etc.
183.65 + this.setLayout (new BorderLayout ());
183.66 +
183.67 + String[] instructions =
183.68 + {
183.69 + " the test is relevant for windows platforms and ",
183.70 + " mouses with high-resolution wheel, please just press pass if it's not the case ",
183.71 + " place the mouse cursor above the green panel and rotate the mouse wheel " ,
183.72 + " the test will print all mouse wheel messages into the logging panel, ",
183.73 + " please make sure that some of the messages have non-zero 'wheelRotation' value ",
183.74 + " in this case the test passes, otherwise it fails, ",
183.75 + " please make sure the test works OK if the mouse wheel is rotated very slow "
183.76 + };
183.77 + Sysout.createDialogWithInstructions( instructions );
183.78 +
183.79 + }//End init()
183.80 +
183.81 + public void start ()
183.82 + {
183.83 + Panel panel = new Panel();
183.84 + panel.setBackground(Color.green);
183.85 + panel.addMouseWheelListener(new MouseWheelListener() {
183.86 + public void mouseWheelMoved(MouseWheelEvent e) {
183.87 + Sysout.println(e.toString());
183.88 + }
183.89 + });
183.90 +
183.91 + //Get things going. Request focus, set size, et cetera
183.92 + setSize (200,200);
183.93 + setLayout(new BorderLayout());
183.94 + add(panel, BorderLayout.CENTER);
183.95 + setVisible(true);
183.96 + validate();
183.97 +
183.98 + //What would normally go into main() will probably go here.
183.99 + //Use System.out.println for diagnostic messages that you want
183.100 + // to read after the test is done.
183.101 + //Use Sysout.println for messages you want the tester to read.
183.102 +
183.103 + }// start()
183.104 +
183.105 + //The rest of this class is the actions which perform the test...
183.106 +
183.107 + //Use Sysout.println to communicate with the user NOT System.out!!
183.108 + //Sysout.println ("Something Happened!");
183.109 +
183.110 +}// class ManualYesNoTest
183.111 +
183.112 +/* Place other classes related to the test after this line */
183.113 +
183.114 +
183.115 +
183.116 +
183.117 +
183.118 +/****************************************************
183.119 + Standard Test Machinery
183.120 + DO NOT modify anything below -- it's a standard
183.121 + chunk of code whose purpose is to make user
183.122 + interaction uniform, and thereby make it simpler
183.123 + to read and understand someone else's test.
183.124 + ****************************************************/
183.125 +
183.126 +/**
183.127 + This is part of the standard test machinery.
183.128 + It creates a dialog (with the instructions), and is the interface
183.129 + for sending text messages to the user.
183.130 + To print the instructions, send an array of strings to Sysout.createDialog
183.131 + WithInstructions method. Put one line of instructions per array entry.
183.132 + To display a message for the tester to see, simply call Sysout.println
183.133 + with the string to be displayed.
183.134 + This mimics System.out.println but works within the test harness as well
183.135 + as standalone.
183.136 + */
183.137 +
183.138 +class Sysout
183.139 +{
183.140 + private static TestDialog dialog;
183.141 +
183.142 + public static void createDialogWithInstructions( String[] instructions )
183.143 + {
183.144 + dialog = new TestDialog( new Frame(), "Instructions" );
183.145 + dialog.printInstructions( instructions );
183.146 + dialog.setVisible(true);
183.147 + println( "Any messages for the tester will display here." );
183.148 + }
183.149 +
183.150 + public static void createDialog( )
183.151 + {
183.152 + dialog = new TestDialog( new Frame(), "Instructions" );
183.153 + String[] defInstr = { "Instructions will appear here. ", "" } ;
183.154 + dialog.printInstructions( defInstr );
183.155 + dialog.setVisible(true);
183.156 + println( "Any messages for the tester will display here." );
183.157 + }
183.158 +
183.159 +
183.160 + public static void printInstructions( String[] instructions )
183.161 + {
183.162 + dialog.printInstructions( instructions );
183.163 + }
183.164 +
183.165 +
183.166 + public static void println( String messageIn )
183.167 + {
183.168 + dialog.displayMessage( messageIn );
183.169 + }
183.170 +
183.171 +}// Sysout class
183.172 +
183.173 +/**
183.174 + This is part of the standard test machinery. It provides a place for the
183.175 + test instructions to be displayed, and a place for interactive messages
183.176 + to the user to be displayed.
183.177 + To have the test instructions displayed, see Sysout.
183.178 + To have a message to the user be displayed, see Sysout.
183.179 + Do not call anything in this dialog directly.
183.180 + */
183.181 +class TestDialog extends Dialog
183.182 +{
183.183 +
183.184 + TextArea instructionsText;
183.185 + TextArea messageText;
183.186 + int maxStringLength = 80;
183.187 +
183.188 + //DO NOT call this directly, go through Sysout
183.189 + public TestDialog( Frame frame, String name )
183.190 + {
183.191 + super( frame, name );
183.192 + int scrollBoth = TextArea.SCROLLBARS_BOTH;
183.193 + instructionsText = new TextArea( "", 15, maxStringLength, scrollBoth );
183.194 + add( "North", instructionsText );
183.195 +
183.196 + messageText = new TextArea( "", 5, maxStringLength, scrollBoth );
183.197 + add("Center", messageText);
183.198 +
183.199 + pack();
183.200 +
183.201 + setVisible(true);
183.202 + }// TestDialog()
183.203 +
183.204 + //DO NOT call this directly, go through Sysout
183.205 + public void printInstructions( String[] instructions )
183.206 + {
183.207 + //Clear out any current instructions
183.208 + instructionsText.setText( "" );
183.209 +
183.210 + //Go down array of instruction strings
183.211 +
183.212 + String printStr, remainingStr;
183.213 + for( int i=0; i < instructions.length; i++ )
183.214 + {
183.215 + //chop up each into pieces maxSringLength long
183.216 + remainingStr = instructions[ i ];
183.217 + while( remainingStr.length() > 0 )
183.218 + {
183.219 + //if longer than max then chop off first max chars to print
183.220 + if( remainingStr.length() >= maxStringLength )
183.221 + {
183.222 + //Try to chop on a word boundary
183.223 + int posOfSpace = remainingStr.
183.224 + lastIndexOf( ' ', maxStringLength - 1 );
183.225 +
183.226 + if( posOfSpace <= 0 ) posOfSpace = maxStringLength - 1;
183.227 +
183.228 + printStr = remainingStr.substring( 0, posOfSpace + 1 );
183.229 + remainingStr = remainingStr.substring( posOfSpace + 1 );
183.230 + }
183.231 + //else just print
183.232 + else
183.233 + {
183.234 + printStr = remainingStr;
183.235 + remainingStr = "";
183.236 + }
183.237 +
183.238 + instructionsText.append( printStr + "\n" );
183.239 +
183.240 + }// while
183.241 +
183.242 + }// for
183.243 +
183.244 + }//printInstructions()
183.245 +
183.246 + //DO NOT call this directly, go through Sysout
183.247 + public void displayMessage( String messageIn )
183.248 + {
183.249 + messageText.append( messageIn + "\n" );
183.250 + System.out.println(messageIn);
183.251 + }
183.252 +
183.253 +}// TestDialog class
183.254 +
184.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
184.2 +++ b/test/sun/java2d/pipe/RegionOps.java Tue Apr 14 04:21:02 2009 -0700
184.3 @@ -0,0 +1,510 @@
184.4 +/*
184.5 + * @test %W% %E%
184.6 + * @bug 6504874
184.7 + * @summary This test verifies the operation (and performance) of the
184.8 + * various CAG operations on the internal Region class.
184.9 + * @run main RegionOps
184.10 + */
184.11 +
184.12 +import java.awt.Rectangle;
184.13 +import java.awt.geom.Area;
184.14 +import java.awt.geom.AffineTransform;
184.15 +import java.awt.image.BufferedImage;
184.16 +import java.util.Random;
184.17 +import sun.java2d.pipe.Region;
184.18 +
184.19 +public class RegionOps {
184.20 + public static final int DEFAULT_NUMREGIONS = 50;
184.21 + public static final int DEFAULT_MINSUBRECTS = 1;
184.22 + public static final int DEFAULT_MAXSUBRECTS = 10;
184.23 +
184.24 + public static final int MINCOORD = -20;
184.25 + public static final int MAXCOORD = 20;
184.26 +
184.27 + public static boolean useArea;
184.28 +
184.29 + static int numops;
184.30 + static int numErrors;
184.31 + static Random rand = new Random();
184.32 + static boolean skipCheck;
184.33 + static boolean countErrors;
184.34 +
184.35 + static {
184.36 + // Instantiating BufferedImage initializes sun.java2d
184.37 + BufferedImage bimg =
184.38 + new BufferedImage(1, 1, BufferedImage.TYPE_INT_RGB);
184.39 + }
184.40 +
184.41 + public static void usage(String error) {
184.42 + if (error != null) {
184.43 + System.err.println("Error: "+error);
184.44 + }
184.45 + System.err.println("Usage: java RegionOps "+
184.46 + "[-regions N] [-rects M] "+
184.47 + "[-[min|max]rects M] [-area]");
184.48 + System.err.println(" "+
184.49 + "[-add|union] [-sub|diff] "+
184.50 + "[-int[ersect]] [-xor]");
184.51 + System.err.println(" "+
184.52 + "[-seed S] [-nocheck] [-count[errors]] [-help]");
184.53 + System.exit((error != null) ? 1 : 0);
184.54 + }
184.55 +
184.56 + public static void error(RectListImpl a, RectListImpl b, String problem) {
184.57 + System.err.println("Operating on: "+a);
184.58 + if (b != null) {
184.59 + System.err.println("and: "+b);
184.60 + }
184.61 + if (countErrors) {
184.62 + System.err.println(problem);
184.63 + numErrors++;
184.64 + } else {
184.65 + throw new RuntimeException(problem);
184.66 + }
184.67 + }
184.68 +
184.69 + public static void main(String argv[]) {
184.70 + int numregions = DEFAULT_NUMREGIONS;
184.71 + int minsubrects = DEFAULT_MINSUBRECTS;
184.72 + int maxsubrects = DEFAULT_MAXSUBRECTS;
184.73 + boolean doUnion = false;
184.74 + boolean doIntersect = false;
184.75 + boolean doSubtract = false;
184.76 + boolean doXor = false;
184.77 +
184.78 + for (int i = 0; i < argv.length; i++) {
184.79 + String arg = argv[i];
184.80 + if (arg.equalsIgnoreCase("-regions")) {
184.81 + if (i+1 >= argv.length) {
184.82 + usage("missing arg for -regions");
184.83 + }
184.84 + numregions = Integer.parseInt(argv[++i]);
184.85 + } else if (arg.equalsIgnoreCase("-rects")) {
184.86 + if (i+1 >= argv.length) {
184.87 + usage("missing arg for -rects");
184.88 + }
184.89 + minsubrects = maxsubrects = Integer.parseInt(argv[++i]);
184.90 + } else if (arg.equalsIgnoreCase("-minrects")) {
184.91 + if (i+1 >= argv.length) {
184.92 + usage("missing arg for -minrects");
184.93 + }
184.94 + minsubrects = Integer.parseInt(argv[++i]);
184.95 + } else if (arg.equalsIgnoreCase("-maxrects")) {
184.96 + if (i+1 >= argv.length) {
184.97 + usage("missing arg for -maxrects");
184.98 + }
184.99 + maxsubrects = Integer.parseInt(argv[++i]);
184.100 + } else if (arg.equalsIgnoreCase("-area")) {
184.101 + useArea = true;
184.102 + } else if (arg.equalsIgnoreCase("-add") ||
184.103 + arg.equalsIgnoreCase("-union"))
184.104 + {
184.105 + doUnion = true;
184.106 + } else if (arg.equalsIgnoreCase("-sub") ||
184.107 + arg.equalsIgnoreCase("-diff"))
184.108 + {
184.109 + doSubtract = true;
184.110 + } else if (arg.equalsIgnoreCase("-int") ||
184.111 + arg.equalsIgnoreCase("-intersect"))
184.112 + {
184.113 + doIntersect = true;
184.114 + } else if (arg.equalsIgnoreCase("-xor")) {
184.115 + doXor = true;
184.116 + } else if (arg.equalsIgnoreCase("-seed")) {
184.117 + if (i+1 >= argv.length) {
184.118 + usage("missing arg for -seed");
184.119 + }
184.120 + rand.setSeed(Long.decode(argv[++i]).longValue());
184.121 + } else if (arg.equalsIgnoreCase("-nocheck")) {
184.122 + skipCheck = true;
184.123 + } else if (arg.equalsIgnoreCase("-count") ||
184.124 + arg.equalsIgnoreCase("-counterrors"))
184.125 + {
184.126 + countErrors = true;
184.127 + } else if (arg.equalsIgnoreCase("-help")) {
184.128 + usage(null);
184.129 + } else {
184.130 + usage("Unknown argument: "+arg);
184.131 + }
184.132 + }
184.133 +
184.134 + if (maxsubrects < minsubrects) {
184.135 + usage("maximum number of subrectangles less than minimum");
184.136 + }
184.137 +
184.138 + if (minsubrects <= 0) {
184.139 + usage("minimum number of subrectangles must be positive");
184.140 + }
184.141 +
184.142 + if (!doUnion && !doSubtract && !doIntersect && !doXor) {
184.143 + doUnion = doSubtract = doIntersect = doXor = true;
184.144 + }
184.145 +
184.146 + long start = System.currentTimeMillis();
184.147 + RectListImpl rlist[] = new RectListImpl[numregions];
184.148 + int totalrects = 0;
184.149 + for (int i = 0; i < rlist.length; i++) {
184.150 + RectListImpl rli = RectListImpl.getInstance();
184.151 + int numsubrects =
184.152 + minsubrects + rand.nextInt(maxsubrects - minsubrects + 1);
184.153 + for (int j = 0; j < numsubrects; j++) {
184.154 + addRectTo(rli);
184.155 + totalrects++;
184.156 + }
184.157 + rlist[i] = rli;
184.158 + }
184.159 + long end = System.currentTimeMillis();
184.160 + System.out.println((end-start)+"ms to create "+
184.161 + rlist.length+" regions containing "+
184.162 + totalrects+" subrectangles");
184.163 +
184.164 + start = System.currentTimeMillis();
184.165 + for (int i = 0; i < rlist.length; i++) {
184.166 + RectListImpl a = rlist[i];
184.167 + testTranslate(a);
184.168 + for (int j = i; j < rlist.length; j++) {
184.169 + RectListImpl b = rlist[j];
184.170 + if (doUnion) testUnion(a, b);
184.171 + if (doSubtract) testDifference(a, b);
184.172 + if (doIntersect) testIntersection(a, b);
184.173 + if (doXor) testExclusiveOr(a, b);
184.174 + }
184.175 + }
184.176 + end = System.currentTimeMillis();
184.177 + System.out.println(numops+" ops took "+(end-start)+"ms");
184.178 +
184.179 + if (numErrors > 0) {
184.180 + throw new RuntimeException(numErrors+" errors encountered");
184.181 + }
184.182 + }
184.183 +
184.184 + public static void addRectTo(RectListImpl rli) {
184.185 + int lox = MINCOORD + rand.nextInt(MAXCOORD - MINCOORD + 1);
184.186 + int hix = MINCOORD + rand.nextInt(MAXCOORD - MINCOORD + 1);
184.187 + int loy = MINCOORD + rand.nextInt(MAXCOORD - MINCOORD + 1);
184.188 + int hiy = MINCOORD + rand.nextInt(MAXCOORD - MINCOORD + 1);
184.189 + rli.addRect(lox, loy, hix, hiy);
184.190 + }
184.191 +
184.192 + public static void checkEqual(RectListImpl a, RectListImpl b,
184.193 + String optype)
184.194 + {
184.195 + if (a.hashCode() != b.hashCode()) {
184.196 + error(a, b, "hashcode failed for "+optype);
184.197 + }
184.198 + if (!a.equals(b)) {
184.199 + error(a, b, "equals failed for "+optype);
184.200 + }
184.201 + }
184.202 +
184.203 + public static void testTranslate(RectListImpl a) {
184.204 + RectListImpl maxTrans =
184.205 + a.getTranslation(Integer.MAX_VALUE, Integer.MAX_VALUE)
184.206 + .getTranslation(Integer.MAX_VALUE, Integer.MAX_VALUE)
184.207 + .getTranslation(Integer.MAX_VALUE, Integer.MAX_VALUE);
184.208 + if (!maxTrans.checkTransEmpty()) {
184.209 + error(maxTrans, null, "overflow translated RectList not empty");
184.210 + }
184.211 + RectListImpl minTrans =
184.212 + a.getTranslation(Integer.MIN_VALUE, Integer.MIN_VALUE)
184.213 + .getTranslation(Integer.MIN_VALUE, Integer.MIN_VALUE)
184.214 + .getTranslation(Integer.MIN_VALUE, Integer.MIN_VALUE);
184.215 + if (!minTrans.checkTransEmpty()) {
184.216 + error(minTrans, null, "overflow translated RectList not empty");
184.217 + }
184.218 + testTranslate(a, Integer.MAX_VALUE, Integer.MAX_VALUE, false,
184.219 + MINCOORD, 0, MINCOORD, 0);
184.220 + testTranslate(a, Integer.MAX_VALUE, Integer.MIN_VALUE, false,
184.221 + MINCOORD, 0, 0, MAXCOORD);
184.222 + testTranslate(a, Integer.MIN_VALUE, Integer.MAX_VALUE, false,
184.223 + 0, MAXCOORD, MINCOORD, 0);
184.224 + testTranslate(a, Integer.MIN_VALUE, Integer.MIN_VALUE, false,
184.225 + 0, MAXCOORD, 0, MAXCOORD);
184.226 + for (int dy = -100; dy <= 100; dy += 50) {
184.227 + for (int dx = -100; dx <= 100; dx += 50) {
184.228 + testTranslate(a, dx, dy, true,
184.229 + MINCOORD, MAXCOORD,
184.230 + MINCOORD, MAXCOORD);
184.231 + }
184.232 + }
184.233 + }
184.234 +
184.235 + public static void testTranslate(RectListImpl a, int dx, int dy,
184.236 + boolean isNonDestructive,
184.237 + int xmin, int xmax,
184.238 + int ymin, int ymax)
184.239 + {
184.240 + RectListImpl theTrans = a.getTranslation(dx, dy); numops++;
184.241 + if (skipCheck) return;
184.242 + RectListImpl unTrans = theTrans.getTranslation(-dx, -dy);
184.243 + if (isNonDestructive) checkEqual(a, unTrans, "Translate");
184.244 + for (int x = xmin; x < xmax; x++) {
184.245 + for (int y = ymin; y < ymax; y++) {
184.246 + boolean inside = a.contains(x, y);
184.247 + if (theTrans.contains(x+dx, y+dy) != inside) {
184.248 + error(a, null, "translation failed for "+
184.249 + dx+", "+dy+" at "+x+", "+y);
184.250 + }
184.251 + }
184.252 + }
184.253 + }
184.254 +
184.255 + public static void testUnion(RectListImpl a, RectListImpl b) {
184.256 + RectListImpl aUb = a.getUnion(b); numops++;
184.257 + RectListImpl bUa = b.getUnion(a); numops++;
184.258 + if (skipCheck) return;
184.259 + checkEqual(aUb, bUa, "Union");
184.260 + testUnion(a, b, aUb);
184.261 + testUnion(a, b, bUa);
184.262 + }
184.263 +
184.264 + public static void testUnion(RectListImpl a, RectListImpl b,
184.265 + RectListImpl theUnion)
184.266 + {
184.267 + for (int x = MINCOORD; x < MAXCOORD; x++) {
184.268 + for (int y = MINCOORD; y < MAXCOORD; y++) {
184.269 + boolean inside = (a.contains(x, y) || b.contains(x, y));
184.270 + if (theUnion.contains(x, y) != inside) {
184.271 + error(a, b, "union failed at "+x+", "+y);
184.272 + }
184.273 + }
184.274 + }
184.275 + }
184.276 +
184.277 + public static void testDifference(RectListImpl a, RectListImpl b) {
184.278 + RectListImpl aDb = a.getDifference(b); numops++;
184.279 + RectListImpl bDa = b.getDifference(a); numops++;
184.280 + if (skipCheck) return;
184.281 + // Note that difference is not commutative so we cannot check equals
184.282 + // checkEqual(a, b, "Difference");
184.283 + testDifference(a, b, aDb);
184.284 + testDifference(b, a, bDa);
184.285 + }
184.286 +
184.287 + public static void testDifference(RectListImpl a, RectListImpl b,
184.288 + RectListImpl theDifference)
184.289 + {
184.290 + for (int x = MINCOORD; x < MAXCOORD; x++) {
184.291 + for (int y = MINCOORD; y < MAXCOORD; y++) {
184.292 + boolean inside = (a.contains(x, y) && !b.contains(x, y));
184.293 + if (theDifference.contains(x, y) != inside) {
184.294 + error(a, b, "difference failed at "+x+", "+y);
184.295 + }
184.296 + }
184.297 + }
184.298 + }
184.299 +
184.300 + public static void testIntersection(RectListImpl a, RectListImpl b) {
184.301 + RectListImpl aIb = a.getIntersection(b); numops++;
184.302 + RectListImpl bIa = b.getIntersection(a); numops++;
184.303 + if (skipCheck) return;
184.304 + checkEqual(aIb, bIa, "Intersection");
184.305 + testIntersection(a, b, aIb);
184.306 + testIntersection(a, b, bIa);
184.307 + }
184.308 +
184.309 + public static void testIntersection(RectListImpl a, RectListImpl b,
184.310 + RectListImpl theIntersection)
184.311 + {
184.312 + for (int x = MINCOORD; x < MAXCOORD; x++) {
184.313 + for (int y = MINCOORD; y < MAXCOORD; y++) {
184.314 + boolean inside = (a.contains(x, y) && b.contains(x, y));
184.315 + if (theIntersection.contains(x, y) != inside) {
184.316 + error(a, b, "intersection failed at "+x+", "+y);
184.317 + }
184.318 + }
184.319 + }
184.320 + }
184.321 +
184.322 + public static void testExclusiveOr(RectListImpl a, RectListImpl b) {
184.323 + RectListImpl aXb = a.getExclusiveOr(b); numops++;
184.324 + RectListImpl bXa = b.getExclusiveOr(a); numops++;
184.325 + if (skipCheck) return;
184.326 + checkEqual(aXb, bXa, "ExclusiveOr");
184.327 + testExclusiveOr(a, b, aXb);
184.328 + testExclusiveOr(a, b, bXa);
184.329 + }
184.330 +
184.331 + public static void testExclusiveOr(RectListImpl a, RectListImpl b,
184.332 + RectListImpl theExclusiveOr)
184.333 + {
184.334 + for (int x = MINCOORD; x < MAXCOORD; x++) {
184.335 + for (int y = MINCOORD; y < MAXCOORD; y++) {
184.336 + boolean inside = (a.contains(x, y) != b.contains(x, y));
184.337 + if (theExclusiveOr.contains(x, y) != inside) {
184.338 + error(a, b, "xor failed at "+x+", "+y);
184.339 + }
184.340 + }
184.341 + }
184.342 + }
184.343 +
184.344 + public abstract static class RectListImpl {
184.345 + public static RectListImpl getInstance() {
184.346 + if (useArea) {
184.347 + return new AreaImpl();
184.348 + } else {
184.349 + return new RegionImpl();
184.350 + }
184.351 + }
184.352 +
184.353 + public abstract void addRect(int lox, int loy, int hix, int hiy);
184.354 +
184.355 + public abstract RectListImpl getTranslation(int dx, int dy);
184.356 +
184.357 + public abstract RectListImpl getIntersection(RectListImpl rli);
184.358 + public abstract RectListImpl getExclusiveOr(RectListImpl rli);
184.359 + public abstract RectListImpl getDifference(RectListImpl rli);
184.360 + public abstract RectListImpl getUnion(RectListImpl rli);
184.361 +
184.362 + // Used for making sure that 3xMAX translates yields an empty region
184.363 + public abstract boolean checkTransEmpty();
184.364 +
184.365 + public abstract boolean contains(int x, int y);
184.366 +
184.367 + public abstract int hashCode();
184.368 + public abstract boolean equals(RectListImpl other);
184.369 + }
184.370 +
184.371 + public static class AreaImpl extends RectListImpl {
184.372 + Area theArea;
184.373 +
184.374 + public AreaImpl() {
184.375 + }
184.376 +
184.377 + public AreaImpl(Area a) {
184.378 + theArea = a;
184.379 + }
184.380 +
184.381 + public void addRect(int lox, int loy, int hix, int hiy) {
184.382 + Area a2 = new Area(new Rectangle(lox, loy, hix-lox, hiy-loy));
184.383 + if (theArea == null) {
184.384 + theArea = a2;
184.385 + } else {
184.386 + theArea.add(a2);
184.387 + }
184.388 + }
184.389 +
184.390 + public RectListImpl getTranslation(int dx, int dy) {
184.391 + AffineTransform at = AffineTransform.getTranslateInstance(dx, dy);
184.392 + return new AreaImpl(theArea.createTransformedArea(at));
184.393 + }
184.394 +
184.395 + public RectListImpl getIntersection(RectListImpl rli) {
184.396 + Area a2 = new Area(theArea);
184.397 + a2.intersect(((AreaImpl) rli).theArea);
184.398 + return new AreaImpl(a2);
184.399 + }
184.400 +
184.401 + public RectListImpl getExclusiveOr(RectListImpl rli) {
184.402 + Area a2 = new Area(theArea);
184.403 + a2.exclusiveOr(((AreaImpl) rli).theArea);
184.404 + return new AreaImpl(a2);
184.405 + }
184.406 +
184.407 + public RectListImpl getDifference(RectListImpl rli) {
184.408 + Area a2 = new Area(theArea);
184.409 + a2.subtract(((AreaImpl) rli).theArea);
184.410 + return new AreaImpl(a2);
184.411 + }
184.412 +
184.413 + public RectListImpl getUnion(RectListImpl rli) {
184.414 + Area a2 = new Area(theArea);
184.415 + a2.add(((AreaImpl) rli).theArea);
184.416 + return new AreaImpl(a2);
184.417 + }
184.418 +
184.419 + // Used for making sure that 3xMAX translates yields an empty region
184.420 + public boolean checkTransEmpty() {
184.421 + // Area objects will actually survive 3 MAX translates so just
184.422 + // pretend that it had the intended effect...
184.423 + return true;
184.424 + }
184.425 +
184.426 + public boolean contains(int x, int y) {
184.427 + return theArea.contains(x, y);
184.428 + }
184.429 +
184.430 + public int hashCode() {
184.431 + // Area does not override hashCode...
184.432 + return 0;
184.433 + }
184.434 +
184.435 + public boolean equals(RectListImpl other) {
184.436 + return theArea.equals(((AreaImpl) other).theArea);
184.437 + }
184.438 +
184.439 + public String toString() {
184.440 + return theArea.toString();
184.441 + }
184.442 + }
184.443 +
184.444 + public static class RegionImpl extends RectListImpl {
184.445 + Region theRegion;
184.446 +
184.447 + public RegionImpl() {
184.448 + }
184.449 +
184.450 + public RegionImpl(Region r) {
184.451 + theRegion = r;
184.452 + }
184.453 +
184.454 + public void addRect(int lox, int loy, int hix, int hiy) {
184.455 + Region r2 = Region.getInstanceXYXY(lox, loy, hix, hiy);
184.456 + if (theRegion == null) {
184.457 + theRegion = r2;
184.458 + } else {
184.459 + theRegion = theRegion.getUnion(r2);
184.460 + }
184.461 + }
184.462 +
184.463 + public RectListImpl getTranslation(int dx, int dy) {
184.464 + return new RegionImpl(theRegion.getTranslatedRegion(dx, dy));
184.465 + }
184.466 +
184.467 + public RectListImpl getIntersection(RectListImpl rli) {
184.468 + Region r2 = ((RegionImpl) rli).theRegion;
184.469 + r2 = theRegion.getIntersection(r2);
184.470 + return new RegionImpl(r2);
184.471 + }
184.472 +
184.473 + public RectListImpl getExclusiveOr(RectListImpl rli) {
184.474 + Region r2 = ((RegionImpl) rli).theRegion;
184.475 + r2 = theRegion.getExclusiveOr(r2);
184.476 + return new RegionImpl(r2);
184.477 + }
184.478 +
184.479 + public RectListImpl getDifference(RectListImpl rli) {
184.480 + Region r2 = ((RegionImpl) rli).theRegion;
184.481 + r2 = theRegion.getDifference(r2);
184.482 + return new RegionImpl(r2);
184.483 + }
184.484 +
184.485 + public RectListImpl getUnion(RectListImpl rli) {
184.486 + Region r2 = ((RegionImpl) rli).theRegion;
184.487 + r2 = theRegion.getUnion(r2);
184.488 + return new RegionImpl(r2);
184.489 + }
184.490 +
184.491 + // Used for making sure that 3xMAX translates yields an empty region
184.492 + public boolean checkTransEmpty() {
184.493 + // Region objects should be empty after 3 MAX translates...
184.494 + return theRegion.isEmpty();
184.495 + }
184.496 +
184.497 + public boolean contains(int x, int y) {
184.498 + return theRegion.contains(x, y);
184.499 + }
184.500 +
184.501 + public int hashCode() {
184.502 + return theRegion.hashCode();
184.503 + }
184.504 +
184.505 + public boolean equals(RectListImpl other) {
184.506 + return theRegion.equals(((RegionImpl) other).theRegion);
184.507 + }
184.508 +
184.509 + public String toString() {
184.510 + return theRegion.toString();
184.511 + }
184.512 + }
184.513 +}