1.1 --- a/make/sun/awt/FILES_c_windows.gmk Tue Feb 17 09:06:16 2009 -0800
1.2 +++ b/make/sun/awt/FILES_c_windows.gmk Wed Feb 18 10:05:41 2009 -0800
1.3 @@ -153,7 +153,6 @@
1.4 awt_Menu.cpp \
1.5 awt_MenuBar.cpp \
1.6 awt_MenuItem.cpp \
1.7 - awt_MMStub.cpp \
1.8 awt_MouseEvent.cpp \
1.9 awt_Object.cpp \
1.10 awt_Palette.cpp \
1.11 @@ -171,7 +170,6 @@
1.12 awt_TextComponent.cpp \
1.13 awt_TextField.cpp \
1.14 awt_Toolkit.cpp \
1.15 - awt_Unicode.cpp \
1.16 awt_Window.cpp \
1.17 awt_Win32GraphicsEnv.cpp \
1.18 awt_Win32GraphicsDevice.cpp \
1.19 @@ -202,6 +200,4 @@
1.20 ThemeReader.cpp \
1.21 ComCtl32Util.cpp \
1.22 initIDs.cpp \
1.23 - awt_dlls.cpp \
1.24 - UnicowsLoader.cpp \
1.25 MouseInfo.cpp
2.1 --- a/make/sun/awt/Makefile Tue Feb 17 09:06:16 2009 -0800
2.2 +++ b/make/sun/awt/Makefile Wed Feb 18 10:05:41 2009 -0800
2.3 @@ -47,7 +47,7 @@
2.4 # sun/awt/resources handled by java/awt/Makefile
2.5 # sun/java2d/pisces handled by sun/pisces/Makefile
2.6 #
2.7 -AUTO_FILES_JAVA_DIRS = sun/awt sun/java2d
2.8 +AUTO_FILES_JAVA_DIRS = sun/awt sun/java2d com/sun/awt
2.9 AUTO_JAVA_PRUNE = resources pisces
2.10
2.11 ifeq ($(PLATFORM), windows)
2.12 @@ -247,8 +247,14 @@
2.13 ifeq ($(PLATFORM), windows)
2.14 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
2.15 OTHER_LDLIBS = kernel32.lib user32.lib gdi32.lib winspool.lib \
2.16 - imm32.lib ole32.lib uuid.lib $(JVMLIB) \
2.17 - shell32.lib
2.18 + imm32.lib ole32.lib uuid.lib shell32.lib \
2.19 + comdlg32.lib winmm.lib comctl32.lib delayimp.lib \
2.20 + $(JVMLIB) \
2.21 + /DELAYLOAD:user32.dll /DELAYLOAD:gdi32.dll \
2.22 + /DELAYLOAD:shell32.dll /DELAYLOAD:winmm.dll \
2.23 + /DELAYLOAD:winspool.drv /DELAYLOAD:imm32.dll \
2.24 + /DELAYLOAD:ole32.dll /DELAYLOAD:comdlg32.dll \
2.25 + /DELAYLOAD:comctl32.dll
2.26
2.27 clean:: awt.clean
2.28
3.1 --- a/make/sun/awt/make.depend Tue Feb 17 09:06:16 2009 -0800
3.2 +++ b/make/sun/awt/make.depend Wed Feb 18 10:05:41 2009 -0800
3.3 @@ -14,141 +14,135 @@
3.4
3.5 $(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
3.6
3.7 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.8 +$(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
3.9
3.10 -$(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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.11 +$(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
3.12
3.13 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.14 +$(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
3.15
3.16 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.17 +$(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
3.18
3.19 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.20 +$(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
3.21
3.22 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.23 +$(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
3.24
3.25 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.26 +$(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
3.27
3.28 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/stdhdrs.h ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.29 +$(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
3.30
3.31 -$(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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.32 +$(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
3.33
3.34 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_MouseEvent.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.35 +$(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
3.36
3.37 -$(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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.38 +$(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
3.39
3.40 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.41 +$(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
3.42
3.43 -$(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_dlls.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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.44 +$(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
3.45
3.46 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/stdhdrs.h ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.47 +$(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
3.48
3.49 $(OBJDIR)/awt_Desktop.obj:: ../../../src/share/javavm/export/jni.h ../../../src/windows/javavm/export/jni_md.h
3.50
3.51 -$(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_dlls.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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.52 +$(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
3.53
3.54 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.55 +$(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
3.56
3.57 -$(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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.58 +$(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
3.59
3.60 -$(OBJDIR)/awt_dlls.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_dlls.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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.61 +$(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
3.62
3.63 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.64 +$(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
3.65
3.66 -$(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_dlls.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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.67 +$(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
3.68
3.69 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.70 +$(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
3.71
3.72 -$(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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.73 +$(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
3.74
3.75 -$(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_dlls.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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.76 +$(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
3.77
3.78 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.79 +$(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
3.80
3.81 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.82 +$(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
3.83
3.84 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.85 -
3.86 -$(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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.87 +$(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
3.88
3.89 $(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
3.90
3.91 $(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
3.92
3.93 -$(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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.94 +$(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
3.95
3.96 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.97 +$(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
3.98
3.99 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.100 +$(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
3.101
3.102 -$(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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.103 +$(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
3.104
3.105 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.106 +$(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
3.107
3.108 -$(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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.109 +$(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
3.110
3.111 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.112 +$(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
3.113
3.114 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.115 +$(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
3.116
3.117 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.118 +$(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
3.119
3.120 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.121 +$(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
3.122
3.123 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.124 +$(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
3.125
3.126 $(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
3.127
3.128 -$(OBJDIR)/awt_MMStub.obj:: ../../../src/windows/native/sun/windows/awt_MMStub.h
3.129 +$(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
3.130
3.131 -$(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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.132 +$(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
3.133
3.134 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.135 +$(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
3.136
3.137 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Unicode.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.138 +$(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
3.139
3.140 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.141 -
3.142 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.143 +$(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
3.144
3.145 $(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
3.146
3.147 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.148 +$(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
3.149
3.150 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.151 +$(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
3.152
3.153 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.154 +$(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
3.155
3.156 -$(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_dlls.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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.157 +$(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
3.158
3.159 -$(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_dlls.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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.160 +$(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
3.161
3.162 -$(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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.163 +$(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
3.164
3.165 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.166 +$(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
3.167
3.168 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.169 +$(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
3.170
3.171 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.172 +$(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
3.173
3.174 -$(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_dlls.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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.175 +$(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
3.176
3.177 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.178 +$(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
3.179
3.180 -$(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_dlls.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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.181 +$(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
3.182
3.183 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.184 +$(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
3.185
3.186 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.187 +$(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
3.188
3.189 -$(OBJDIR)/awt_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.190 +$(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
3.191
3.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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.193 +$(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
3.194
3.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_dlls.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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.196 +$(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
3.197
3.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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.199 -
3.200 -$(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_dlls.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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.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
3.202
3.203 $(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
3.204
3.205 @@ -170,9 +164,9 @@
3.206
3.207 $(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
3.208
3.209 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.210 +$(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
3.211
3.212 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.213 +$(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
3.214
3.215 $(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
3.216
3.217 @@ -182,7 +176,7 @@
3.218
3.219 $(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
3.220
3.221 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.222 +$(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
3.223
3.224 $(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
3.225
3.226 @@ -192,15 +186,15 @@
3.227
3.228 $(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
3.229
3.230 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.231 +$(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
3.232
3.233 $(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
3.234
3.235 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/stdhdrs.h ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.236 +$(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
3.237
3.238 -$(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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.239 +$(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
3.240
3.241 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.242 +$(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
3.243
3.244 $(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
3.245
3.246 @@ -216,7 +210,7 @@
3.247
3.248 $(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
3.249
3.250 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.251 +$(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
3.252
3.253 $(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
3.254
3.255 @@ -240,19 +234,19 @@
3.256
3.257 $(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
3.258
3.259 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.260 +$(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
3.261
3.262 -$(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_dlls.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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.263 +$(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
3.264
3.265 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.266 +$(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
3.267
3.268 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.269 +$(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
3.270
3.271 $(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
3.272
3.273 $(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
3.274
3.275 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/stdhdrs.h ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.276 +$(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
3.277
3.278 $(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
3.279
3.280 @@ -282,9 +276,9 @@
3.281
3.282 $(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
3.283
3.284 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.285 +$(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
3.286
3.287 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.288 +$(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
3.289
3.290 $(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
3.291
3.292 @@ -320,13 +314,13 @@
3.293
3.294 $(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
3.295
3.296 -$(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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.297 +$(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
3.298
3.299 $(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
3.300
3.301 $(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
3.302
3.303 -$(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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.304 +$(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
3.305
3.306 $(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
3.307
3.308 @@ -334,8 +328,6 @@
3.309
3.310 $(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
3.311
3.312 -$(OBJDIR)/UnicowsLoader.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 ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/stdhdrs.h ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.313 -
3.314 $(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
3.315
3.316 $(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
3.317 @@ -352,6 +344,6 @@
3.318
3.319 $(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
3.320
3.321 -$(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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.322 +$(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
3.323
3.324 -$(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_dlls.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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.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 ../../../src/windows/native/sun/windows/UnicowsLoader.h
3.325 +$(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
4.1 --- a/make/sun/jawt/make.depend Tue Feb 17 09:06:16 2009 -0800
4.2 +++ b/make/sun/jawt/make.depend Wed Feb 18 10:05:41 2009 -0800
4.3 @@ -1,1 +1,1 @@
4.4 -$(OBJDIR)/jawt.obj:: $(CLASSHDRDIR)/../../awt/CClassHeaders/java_awt_AWTEvent.h $(CLASSHDRDIR)/../../awt/CClassHeaders/java_awt_Component.h $(CLASSHDRDIR)/../../awt/CClassHeaders/java_awt_Dimension.h $(CLASSHDRDIR)/../../awt/CClassHeaders/java_awt_Event.h $(CLASSHDRDIR)/../../awt/CClassHeaders/java_awt_Font.h $(CLASSHDRDIR)/../../awt/CClassHeaders/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/../../awt/CClassHeaders/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/../../awt/CClassHeaders/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/../../awt/CClassHeaders/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/../../awt/CClassHeaders/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/../../awt/CClassHeaders/sun_awt_PlatformFont.h $(CLASSHDRDIR)/../../awt/CClassHeaders/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/../../awt/CClassHeaders/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/../../awt/CClassHeaders/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/../../awt/CClassHeaders/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/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/UnicowsLoader.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.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_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.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_Unicode.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/stdhdrs.h
4.5 +$(OBJDIR)/jawt.obj:: $(CLASSHDRDIR)/../../awt/CClassHeaders/java_awt_AWTEvent.h $(CLASSHDRDIR)/../../awt/CClassHeaders/java_awt_Component.h $(CLASSHDRDIR)/../../awt/CClassHeaders/java_awt_Dimension.h $(CLASSHDRDIR)/../../awt/CClassHeaders/java_awt_Event.h $(CLASSHDRDIR)/../../awt/CClassHeaders/java_awt_Font.h $(CLASSHDRDIR)/../../awt/CClassHeaders/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/../../awt/CClassHeaders/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/../../awt/CClassHeaders/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/../../awt/CClassHeaders/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/../../awt/CClassHeaders/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/../../awt/CClassHeaders/sun_awt_PlatformFont.h $(CLASSHDRDIR)/../../awt/CClassHeaders/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/../../awt/CClassHeaders/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/../../awt/CClassHeaders/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/../../awt/CClassHeaders/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/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/alloc.h ../../../src/windows/native/sun/windows/awt.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/awtmsg.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/stdhdrs.h
5.1 --- a/make/sun/splashscreen/Makefile Tue Feb 17 09:06:16 2009 -0800
5.2 +++ b/make/sun/splashscreen/Makefile Wed Feb 18 10:05:41 2009 -0800
5.3 @@ -67,7 +67,7 @@
5.4 OTHER_LDLIBS += -L$(OPENWIN_LIB) -lX11 -lXext $(LIBM) -lpthread
5.5 else # PLATFORM
5.6 CFLAGS += -DWITH_WIN32
5.7 - OTHER_LDLIBS += kernel32.lib user32.lib gdi32.lib
5.8 + OTHER_LDLIBS += kernel32.lib user32.lib gdi32.lib delayimp.lib /DELAYLOAD:user32.dll
5.9 #$(JVMLIB) $(OBJDIR)/../../jpeg/$(OBJDIRNAME)/jpeg$(SUFFIX).lib
5.10 endif # PLATFORM
5.11
5.12 @@ -85,13 +85,6 @@
5.13 CPPFLAGS += -I$(PLATFORM_SRC)/native/$(PKGDIR)/splashscreen -I$(SHARE_SRC)/native/$(PKGDIR)/splashscreen
5.14 CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/image/jpeg -I$(SHARE_SRC)/native/java/util/zip/zlib-1.1.3
5.15
5.16 -ifeq ($(PLATFORM), linux)
5.17 - ifeq ($(ARCH_DATA_MODEL), 64)
5.18 - # 64-bit gcc has problems compiling MMX instructions.
5.19 - # Google it for more details. Possibly the newer versions of
5.20 - # the PNG-library and/or the new compiler will not need this
5.21 - # option in the future.
5.22 - CPPFLAGS += -DPNG_NO_MMX_CODE
5.23 - endif
5.24 -endif
5.25 -
5.26 +# Shun the less than portable MMX assembly code in pnggccrd.c,
5.27 +# and use alternative implementations in C.
5.28 +CPPFLAGS += -DPNG_NO_MMX_CODE
6.1 --- a/make/sun/xawt/mapfile-vers Tue Feb 17 09:06:16 2009 -0800
6.2 +++ b/make/sun/xawt/mapfile-vers Wed Feb 18 10:05:41 2009 -0800
6.3 @@ -151,6 +151,7 @@
6.4 Java_sun_awt_X11_XRobotPeer_mouseReleaseImpl;
6.5 Java_sun_awt_X11_XRobotPeer_mouseWheelImpl;
6.6 Java_sun_awt_X11_XRobotPeer_setup;
6.7 + Java_sun_awt_X11_XRobotPeer_getNumberOfButtonsImpl;
6.8 Java_java_awt_Component_initIDs;
6.9 Java_java_awt_Container_initIDs;
6.10 Java_java_awt_Button_initIDs;
6.11 @@ -288,6 +289,7 @@
6.12 Java_sun_awt_X11_XlibWrapper_XGetIconSizes;
6.13 Java_sun_awt_X11_XlibWrapper_XKeycodeToKeysym;
6.14 Java_sun_awt_X11_XlibWrapper_XKeysymToKeycode;
6.15 + Java_sun_awt_X11_XlibWrapper_XQueryKeymap;
6.16 Java_sun_awt_X11_XlibWrapper_XGetModifierMapping;
6.17 Java_sun_awt_X11_XlibWrapper_XFreeModifiermap;
6.18 Java_sun_awt_X11_XlibWrapper_XChangeActivePointerGrab;
7.1 --- a/make/tools/sharing/classlist.linux Tue Feb 17 09:06:16 2009 -0800
7.2 +++ b/make/tools/sharing/classlist.linux Wed Feb 18 10:05:41 2009 -0800
7.3 @@ -1718,6 +1718,7 @@
7.4 sun/awt/color/CMM
7.5 java/applet/Applet
7.6 java/awt/Panel
7.7 +com/sun/awt/AWTUtilities
7.8 javax/swing/KeyboardManager$ComponentKeyStrokePair
7.9 sun/awt/EmbeddedFrame
7.10 sun/awt/im/InputMethodContext
8.1 --- a/make/tools/sharing/classlist.solaris Tue Feb 17 09:06:16 2009 -0800
8.2 +++ b/make/tools/sharing/classlist.solaris Wed Feb 18 10:05:41 2009 -0800
8.3 @@ -961,6 +961,7 @@
8.4 javax/swing/SystemEventQueueUtilities$ComponentWorkRequest
8.5 java/applet/Applet
8.6 java/awt/Panel
8.7 +com/sun/awt/AWTUtilities
8.8 sun/awt/X11/XExposeEvent
8.9 java/util/jar/Manifest
8.10 java/io/ByteArrayInputStream
9.1 --- a/make/tools/sharing/classlist.windows Tue Feb 17 09:06:16 2009 -0800
9.2 +++ b/make/tools/sharing/classlist.windows Wed Feb 18 10:05:41 2009 -0800
9.3 @@ -1621,6 +1621,7 @@
9.4 sun/font/FontDesignMetrics$MetricsKey
9.5 java/applet/Applet
9.6 java/awt/Panel
9.7 +com/sun/awt/AWTUtilities
9.8 javax/swing/KeyboardManager$ComponentKeyStrokePair
9.9 sun/awt/im/InputMethodContext
9.10 java/awt/im/spi/InputMethodContext
10.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
10.2 +++ b/src/share/classes/com/sun/awt/AWTUtilities.java Wed Feb 18 10:05:41 2009 -0800
10.3 @@ -0,0 +1,104 @@
10.4 +/*
10.5 + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
10.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
10.7 + *
10.8 + * This code is free software; you can redistribute it and/or modify it
10.9 + * under the terms of the GNU General Public License version 2 only, as
10.10 + * published by the Free Software Foundation. Sun designates this
10.11 + * particular file as subject to the "Classpath" exception as provided
10.12 + * by Sun in the LICENSE file that accompanied this code.
10.13 + *
10.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
10.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10.16 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
10.17 + * version 2 for more details (a copy is included in the LICENSE file that
10.18 + * accompanied this code).
10.19 + *
10.20 + * You should have received a copy of the GNU General Public License version
10.21 + * 2 along with this work; if not, write to the Free Software Foundation,
10.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
10.23 + *
10.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
10.25 + * CA 95054 USA or visit www.sun.com if you need additional information or
10.26 + * have any questions.
10.27 + */
10.28 +
10.29 +package com.sun.awt;
10.30 +
10.31 +import java.awt.*;
10.32 +import sun.awt.AWTAccessor;
10.33 +
10.34 +
10.35 +/**
10.36 + * A collection of utility methods for AWT.
10.37 + *
10.38 + * The functionality provided by the static methods of the class includes:
10.39 + * <ul>
10.40 + * <li>Setting a 'mixing-cutout' shape for a component.
10.41 + * </ul>
10.42 + * <p>
10.43 + * <b>WARNING</b>: This class is an implementation detail and only meant
10.44 + * for limited use outside of the core platform. This API may change
10.45 + * drastically between update release, and it may even be
10.46 + * removed or be moved in some other package(s)/class(es).
10.47 + */
10.48 +public final class AWTUtilities {
10.49 +
10.50 + /**
10.51 + * The AWTUtilities class should not be instantiated
10.52 + */
10.53 + private AWTUtilities() {
10.54 + }
10.55 +
10.56 + /**
10.57 + * Sets a 'mixing-cutout' shape for the given component.
10.58 + *
10.59 + * By default a lightweight component is treated as an opaque rectangle for
10.60 + * the purposes of the Heavyweight/Lightweight Components Mixing feature.
10.61 + * This method enables developers to set an arbitrary shape to be cut out
10.62 + * from heavyweight components positioned underneath the lightweight
10.63 + * component in the z-order.
10.64 + * <p>
10.65 + * The {@code shape} argument may have the following values:
10.66 + * <ul>
10.67 + * <li>{@code null} - reverts the default cutout shape (the rectangle equal
10.68 + * to the component's {@code getBounds()})
10.69 + * <li><i>empty-shape</i> - does not cut out anything from heavyweight
10.70 + * components. This makes the given lightweight component effectively
10.71 + * transparent. Note that descendants of the lightweight component still
10.72 + * affect the shapes of heavyweight components. An example of an
10.73 + * <i>empty-shape</i> is {@code new Rectangle()}.
10.74 + * <li><i>non-empty-shape</i> - the given shape will be cut out from
10.75 + * heavyweight components.
10.76 + * </ul>
10.77 + * <p>
10.78 + * The most common example when the 'mixing-cutout' shape is needed is a
10.79 + * glass pane component. The {@link JRootPane#setGlassPane()} method
10.80 + * automatically sets the <i>empty-shape</i> as the 'mixing-cutout' shape
10.81 + * for the given glass pane component. If a developer needs some other
10.82 + * 'mixing-cutout' shape for the glass pane (which is rare), this must be
10.83 + * changed manually after installing the glass pane to the root pane.
10.84 + * <p>
10.85 + * Note that the 'mixing-cutout' shape neither affects painting, nor the
10.86 + * mouse events handling for the given component. It is used exclusively
10.87 + * for the purposes of the Heavyweight/Lightweight Components Mixing
10.88 + * feature.
10.89 + *
10.90 + * @param component the component that needs non-default
10.91 + * 'mixing-cutout' shape
10.92 + * @param shape the new 'mixing-cutout' shape
10.93 + * @throws NullPointerException if the component argument is {@code null}
10.94 + */
10.95 + public static void setComponentMixingCutoutShape(Component component,
10.96 + Shape shape)
10.97 + {
10.98 + if (component == null) {
10.99 + throw new NullPointerException(
10.100 + "The component argument should not be null.");
10.101 + }
10.102 +
10.103 + AWTAccessor.getComponentAccessor().setMixingCutoutShape(component,
10.104 + shape);
10.105 + }
10.106 +}
10.107 +
11.1 --- a/src/share/classes/java/awt/Choice.java Tue Feb 17 09:06:16 2009 -0800
11.2 +++ b/src/share/classes/java/awt/Choice.java Wed Feb 18 10:05:41 2009 -0800
11.3 @@ -228,7 +228,7 @@
11.4 pItems.insertElementAt(item, index);
11.5 ChoicePeer peer = (ChoicePeer)this.peer;
11.6 if (peer != null) {
11.7 - peer.addItem(item, index);
11.8 + peer.add(item, index);
11.9 }
11.10 // no selection or selection shifted up
11.11 if (selectedIndex < 0 || selectedIndex >= index) {
12.1 --- a/src/share/classes/java/awt/Component.java Tue Feb 17 09:06:16 2009 -0800
12.2 +++ b/src/share/classes/java/awt/Component.java Wed Feb 18 10:05:41 2009 -0800
12.3 @@ -65,8 +65,10 @@
12.4
12.5 import sun.security.action.GetPropertyAction;
12.6 import sun.awt.AppContext;
12.7 +import sun.awt.AWTAccessor;
12.8 import sun.awt.ConstrainableGraphics;
12.9 import sun.awt.SubRegionShowable;
12.10 +import sun.awt.SunToolkit;
12.11 import sun.awt.WindowClosingListener;
12.12 import sun.awt.CausedFocusEvent;
12.13 import sun.awt.EmbeddedFrame;
12.14 @@ -758,22 +760,26 @@
12.15 * The shape set with the applyCompoundShape() method. It uncludes the result
12.16 * of the HW/LW mixing related shape computation. It may also include
12.17 * the user-specified shape of the component.
12.18 + * The 'null' value means the component has normal shape (or has no shape at all)
12.19 + * and applyCompoundShape() will skip the following shape identical to normal.
12.20 */
12.21 private transient Region compoundShape = null;
12.22
12.23 /*
12.24 + * Represents the shape of this lightweight component to be cut out from
12.25 + * heavyweight components should they intersect. Possible values:
12.26 + * 1. null - consider the shape rectangular
12.27 + * 2. EMPTY_REGION - nothing gets cut out (children still get cut out)
12.28 + * 3. non-empty - this shape gets cut out.
12.29 + */
12.30 + private transient Region mixingCutoutRegion = null;
12.31 +
12.32 + /*
12.33 * Indicates whether addNotify() is complete
12.34 * (i.e. the peer is created).
12.35 */
12.36 private transient boolean isAddNotifyComplete = false;
12.37
12.38 - private static final PropertyChangeListener opaquePropertyChangeListener =
12.39 - new PropertyChangeListener() {
12.40 - public void propertyChange(java.beans.PropertyChangeEvent evt) {
12.41 - ((Component)evt.getSource()).mixOnOpaqueChanging();
12.42 - }
12.43 - };
12.44 -
12.45 /**
12.46 * Should only be used in subclass getBounds to check that part of bounds
12.47 * is actualy changing
12.48 @@ -793,6 +799,39 @@
12.49 }
12.50 }
12.51
12.52 + static {
12.53 + AWTAccessor.setComponentAccessor(new AWTAccessor.ComponentAccessor() {
12.54 + public void setMixingCutoutShape(Component comp, Shape shape) {
12.55 + Region region = shape == null ? null :
12.56 + Region.getInstance(shape, null);
12.57 +
12.58 + synchronized (comp.getTreeLock()) {
12.59 + boolean needShowing = false;
12.60 + boolean needHiding = false;
12.61 +
12.62 + if (!comp.isNonOpaqueForMixing()) {
12.63 + needHiding = true;
12.64 + }
12.65 +
12.66 + comp.mixingCutoutRegion = region;
12.67 +
12.68 + if (!comp.isNonOpaqueForMixing()) {
12.69 + needShowing = true;
12.70 + }
12.71 +
12.72 + if (comp.isMixingNeeded()) {
12.73 + if (needHiding) {
12.74 + comp.mixOnHiding(comp.isLightweight());
12.75 + }
12.76 + if (needShowing) {
12.77 + comp.mixOnShowing();
12.78 + }
12.79 + }
12.80 + }
12.81 + }
12.82 + });
12.83 + }
12.84 +
12.85 /**
12.86 * Constructs a new component. Class <code>Component</code> can be
12.87 * extended directly to create a lightweight component that does not
12.88 @@ -1306,7 +1345,7 @@
12.89 enabled = true;
12.90 ComponentPeer peer = this.peer;
12.91 if (peer != null) {
12.92 - peer.enable();
12.93 + peer.setEnabled(true);
12.94 if (visible) {
12.95 updateCursorImmediately();
12.96 }
12.97 @@ -1355,7 +1394,7 @@
12.98 }
12.99 ComponentPeer peer = this.peer;
12.100 if (peer != null) {
12.101 - peer.disable();
12.102 + peer.setEnabled(false);
12.103 if (visible) {
12.104 updateCursorImmediately();
12.105 }
12.106 @@ -1447,7 +1486,7 @@
12.107 mixOnShowing();
12.108 ComponentPeer peer = this.peer;
12.109 if (peer != null) {
12.110 - peer.show();
12.111 + peer.setVisible(true);
12.112 createHierarchyEvents(HierarchyEvent.HIERARCHY_CHANGED,
12.113 this, parent,
12.114 HierarchyEvent.SHOWING_CHANGED,
12.115 @@ -1517,7 +1556,7 @@
12.116 }
12.117 ComponentPeer peer = this.peer;
12.118 if (peer != null) {
12.119 - peer.hide();
12.120 + peer.setVisible(false);
12.121 createHierarchyEvents(HierarchyEvent.HIERARCHY_CHANGED,
12.122 this, parent,
12.123 HierarchyEvent.SHOWING_CHANGED,
12.124 @@ -2414,7 +2453,7 @@
12.125 if (dim == null || !(isPreferredSizeSet() || isValid())) {
12.126 synchronized (getTreeLock()) {
12.127 prefSize = (peer != null) ?
12.128 - peer.preferredSize() :
12.129 + peer.getPreferredSize() :
12.130 getMinimumSize();
12.131 dim = prefSize;
12.132 }
12.133 @@ -2484,7 +2523,7 @@
12.134 if (dim == null || !(isMinimumSizeSet() || isValid())) {
12.135 synchronized (getTreeLock()) {
12.136 minSize = (peer != null) ?
12.137 - peer.minimumSize() :
12.138 + peer.getMinimumSize() :
12.139 size();
12.140 dim = minSize;
12.141 }
12.142 @@ -3171,7 +3210,7 @@
12.143 private Insets getInsets_NoClientCode() {
12.144 ComponentPeer peer = this.peer;
12.145 if (peer instanceof ContainerPeer) {
12.146 - return (Insets)((ContainerPeer)peer).insets().clone();
12.147 + return (Insets)((ContainerPeer)peer).getInsets().clone();
12.148 }
12.149 return new Insets(0, 0, 0, 0);
12.150 }
12.151 @@ -6643,7 +6682,6 @@
12.152 }
12.153
12.154 if (!isAddNotifyComplete) {
12.155 - addPropertyChangeListener("opaque", opaquePropertyChangeListener);
12.156 mixOnShowing();
12.157 }
12.158
12.159 @@ -6722,7 +6760,7 @@
12.160
12.161 // Hide peer first to stop system events such as cursor moves.
12.162 if (visible) {
12.163 - p.hide();
12.164 + p.setVisible(false);
12.165 }
12.166
12.167 peer = null; // Stop peer updates.
12.168 @@ -6735,9 +6773,11 @@
12.169 p.dispose();
12.170
12.171 mixOnHiding(isLightweight);
12.172 - removePropertyChangeListener("opaque", opaquePropertyChangeListener);
12.173
12.174 isAddNotifyComplete = false;
12.175 + // Nullifying compoundShape means that the component has normal shape
12.176 + // (or has no shape at all).
12.177 + this.compoundShape = null;
12.178 }
12.179
12.180 if (hierarchyListener != null ||
12.181 @@ -9401,10 +9441,9 @@
12.182 * Null-layout of the container or absence of the container mean
12.183 * the bounds of the component are final and can be trusted.
12.184 */
12.185 - private boolean areBoundsValid() {
12.186 + final boolean areBoundsValid() {
12.187 Container cont = getContainer();
12.188 - return cont == null || cont.isValid()
12.189 - || cont.getLayout() == null;
12.190 + return cont == null || cont.isValid() || cont.getLayout() == null;
12.191 }
12.192
12.193 /**
12.194 @@ -9413,6 +9452,14 @@
12.195 */
12.196 void applyCompoundShape(Region shape) {
12.197 checkTreeLock();
12.198 +
12.199 + if (!areBoundsValid()) {
12.200 + if (mixingLog.isLoggable(Level.FINE)) {
12.201 + mixingLog.fine("this = " + this + "; areBoundsValid = " + areBoundsValid());
12.202 + }
12.203 + return;
12.204 + }
12.205 +
12.206 if (!isLightweight()) {
12.207 ComponentPeer peer = getPeer();
12.208 if (peer != null) {
12.209 @@ -9422,22 +9469,31 @@
12.210 // with some incorrect Region object with loX being
12.211 // greater than the hiX for instance.
12.212 if (shape.isEmpty()) {
12.213 - shape = Region.getInstanceXYWH(0, 0, 0, 0);
12.214 + shape = Region.EMPTY_REGION;
12.215 }
12.216
12.217 +
12.218 // Note: the shape is not really copied/cloned. We create
12.219 // the Region object ourselves, so there's no any possibility
12.220 // to modify the object outside of the mixing code.
12.221 - this.compoundShape = shape;
12.222 -
12.223 - if (areBoundsValid()) {
12.224 + // Nullifying compoundShape means that the component has normal shape
12.225 + // (or has no shape at all).
12.226 + if (shape.equals(getNormalShape())) {
12.227 + if (this.compoundShape == null) {
12.228 + return;
12.229 + }
12.230 + this.compoundShape = null;
12.231 + peer.applyShape(null);
12.232 + } else {
12.233 + if (shape.equals(getAppliedShape())) {
12.234 + return;
12.235 + }
12.236 + this.compoundShape = shape;
12.237 Point compAbsolute = getLocationOnWindow();
12.238 -
12.239 if (mixingLog.isLoggable(Level.FINER)) {
12.240 mixingLog.fine("this = " + this +
12.241 - "; compAbsolute=" + compAbsolute + "; shape=" + shape);
12.242 + "; compAbsolute=" + compAbsolute + "; shape=" + shape);
12.243 }
12.244 -
12.245 peer.applyShape(shape.getTranslatedRegion(-compAbsolute.x, -compAbsolute.y));
12.246 }
12.247 }
12.248 @@ -9460,7 +9516,7 @@
12.249 Point curLocation = getLocation();
12.250
12.251 for (Container parent = getContainer();
12.252 - parent != null;
12.253 + parent != null && !(parent instanceof Window);
12.254 parent = parent.getContainer())
12.255 {
12.256 curLocation.x += parent.getX();
12.257 @@ -9486,7 +9542,28 @@
12.258 );
12.259 }
12.260
12.261 - private int getSiblingIndexAbove() {
12.262 + /**
12.263 + * Returns the "opaque shape" of the component.
12.264 + *
12.265 + * The opaque shape of a lightweight components is the actual shape that
12.266 + * needs to be cut off of the heavyweight components in order to mix this
12.267 + * lightweight component correctly with them.
12.268 + *
12.269 + * The method is overriden in the java.awt.Container to handle non-opaque
12.270 + * containers containing opaque children.
12.271 + *
12.272 + * See 6637655 for details.
12.273 + */
12.274 + Region getOpaqueShape() {
12.275 + checkTreeLock();
12.276 + if (mixingCutoutRegion != null) {
12.277 + return mixingCutoutRegion;
12.278 + } else {
12.279 + return getNormalShape();
12.280 + }
12.281 + }
12.282 +
12.283 + final int getSiblingIndexAbove() {
12.284 checkTreeLock();
12.285 Container parent = getContainer();
12.286 if (parent == null) {
12.287 @@ -9498,7 +9575,7 @@
12.288 return nextAbove < 0 ? -1 : nextAbove;
12.289 }
12.290
12.291 - private int getSiblingIndexBelow() {
12.292 + final int getSiblingIndexBelow() {
12.293 checkTreeLock();
12.294 Container parent = getContainer();
12.295 if (parent == null) {
12.296 @@ -9510,6 +9587,11 @@
12.297 return nextBelow >= parent.getComponentCount() ? -1 : nextBelow;
12.298 }
12.299
12.300 + final boolean isNonOpaqueForMixing() {
12.301 + return mixingCutoutRegion != null &&
12.302 + mixingCutoutRegion.isEmpty();
12.303 + }
12.304 +
12.305 private Region calculateCurrentShape() {
12.306 checkTreeLock();
12.307 Region s = getNormalShape();
12.308 @@ -9532,8 +9614,8 @@
12.309 * implementation of the Container class.
12.310 */
12.311 Component c = cont.getComponent(index);
12.312 - if (c.isLightweight() && c.isShowing() && c.isOpaque()) {
12.313 - s = s.getDifference(c.getNormalShape());
12.314 + if (c.isLightweight() && c.isShowing()) {
12.315 + s = s.getDifference(c.getOpaqueShape());
12.316 }
12.317 }
12.318
12.319 @@ -9558,6 +9640,9 @@
12.320 void applyCurrentShape() {
12.321 checkTreeLock();
12.322 if (!areBoundsValid()) {
12.323 + if (mixingLog.isLoggable(Level.FINE)) {
12.324 + mixingLog.fine("this = " + this + "; areBoundsValid = " + areBoundsValid());
12.325 + }
12.326 return; // Because applyCompoundShape() ignores such components anyway
12.327 }
12.328 if (mixingLog.isLoggable(Level.FINE)) {
12.329 @@ -9576,16 +9661,54 @@
12.330 applyCompoundShape(getAppliedShape().getDifference(s));
12.331 }
12.332
12.333 + private final void applyCurrentShapeBelowMe() {
12.334 + checkTreeLock();
12.335 + Container parent = getContainer();
12.336 + if (parent != null && parent.isShowing()) {
12.337 + // First, reapply shapes of my siblings
12.338 + parent.recursiveApplyCurrentShape(getSiblingIndexBelow());
12.339 +
12.340 + // Second, if my container is non-opaque, reapply shapes of siblings of my container
12.341 + Container parent2 = parent.getContainer();
12.342 + while (!parent.isOpaque() && parent2 != null) {
12.343 + parent2.recursiveApplyCurrentShape(parent.getSiblingIndexBelow());
12.344 +
12.345 + parent = parent2;
12.346 + parent2 = parent.getContainer();
12.347 + }
12.348 + }
12.349 + }
12.350 +
12.351 + final void subtractAndApplyShapeBelowMe() {
12.352 + checkTreeLock();
12.353 + Container parent = getContainer();
12.354 + if (parent != null && isShowing()) {
12.355 + Region opaqueShape = getOpaqueShape();
12.356 +
12.357 + // First, cut my siblings
12.358 + parent.recursiveSubtractAndApplyShape(opaqueShape, getSiblingIndexBelow());
12.359 +
12.360 + // Second, if my container is non-opaque, cut siblings of my container
12.361 + Container parent2 = parent.getContainer();
12.362 + while (!parent.isOpaque() && parent2 != null) {
12.363 + parent2.recursiveSubtractAndApplyShape(opaqueShape, parent.getSiblingIndexBelow());
12.364 +
12.365 + parent = parent2;
12.366 + parent2 = parent.getContainer();
12.367 + }
12.368 + }
12.369 + }
12.370 +
12.371 void mixOnShowing() {
12.372 synchronized (getTreeLock()) {
12.373 if (mixingLog.isLoggable(Level.FINE)) {
12.374 mixingLog.fine("this = " + this);
12.375 }
12.376 + if (!isMixingNeeded()) {
12.377 + return;
12.378 + }
12.379 if (isLightweight()) {
12.380 - Container parent = getContainer();
12.381 - if (parent != null && isShowing() && isOpaque()) {
12.382 - parent.recursiveSubtractAndApplyShape(getNormalShape(), getSiblingIndexBelow());
12.383 - }
12.384 + subtractAndApplyShapeBelowMe();
12.385 } else {
12.386 applyCurrentShape();
12.387 }
12.388 @@ -9599,12 +9722,12 @@
12.389 if (mixingLog.isLoggable(Level.FINE)) {
12.390 mixingLog.fine("this = " + this + "; isLightweight = " + isLightweight);
12.391 }
12.392 + if (!isMixingNeeded()) {
12.393 + return;
12.394 + }
12.395 if (isLightweight) {
12.396 - Container parent = getContainer();
12.397 - if (parent != null) {
12.398 - parent.recursiveApplyCurrentShape(getSiblingIndexBelow());
12.399 - }
12.400 - } //XXX: else applyNormalShape() ???
12.401 + applyCurrentShapeBelowMe();
12.402 + }
12.403 }
12.404 }
12.405
12.406 @@ -9613,11 +9736,11 @@
12.407 if (mixingLog.isLoggable(Level.FINE)) {
12.408 mixingLog.fine("this = " + this);
12.409 }
12.410 + if (!isMixingNeeded()) {
12.411 + return;
12.412 + }
12.413 if (isLightweight()) {
12.414 - Container parent = getContainer();
12.415 - if (parent != null) {
12.416 - parent.recursiveApplyCurrentShape(parent.getComponentZOrder(this));
12.417 - }
12.418 + applyCurrentShapeBelowMe();
12.419 } else {
12.420 applyCurrentShape();
12.421 }
12.422 @@ -9633,11 +9756,13 @@
12.423 mixingLog.fine("this = " + this +
12.424 "; oldZorder=" + oldZorder + "; newZorder=" + newZorder + "; parent=" + parent);
12.425 }
12.426 -
12.427 + if (!isMixingNeeded()) {
12.428 + return;
12.429 + }
12.430 if (isLightweight()) {
12.431 if (becameHigher) {
12.432 - if (parent != null && isShowing() && isOpaque()) {
12.433 - parent.recursiveSubtractAndApplyShape(getNormalShape(), getSiblingIndexBelow(), oldZorder);
12.434 + if (parent != null && isShowing()) {
12.435 + parent.recursiveSubtractAndApplyShape(getOpaqueShape(), getSiblingIndexBelow(), oldZorder);
12.436 }
12.437 } else {
12.438 if (parent != null) {
12.439 @@ -9653,8 +9778,8 @@
12.440
12.441 for (int index = oldZorder; index < newZorder; index++) {
12.442 Component c = parent.getComponent(index);
12.443 - if (c.isLightweight() && c.isShowing() && c.isOpaque()) {
12.444 - shape = shape.getDifference(c.getNormalShape());
12.445 + if (c.isLightweight() && c.isShowing()) {
12.446 + shape = shape.getDifference(c.getOpaqueShape());
12.447 }
12.448 }
12.449 applyCompoundShape(shape);
12.450 @@ -9664,21 +9789,42 @@
12.451 }
12.452 }
12.453
12.454 - void mixOnOpaqueChanging() {
12.455 - if (mixingLog.isLoggable(Level.FINE)) {
12.456 - mixingLog.fine("this = " + this);
12.457 - }
12.458 - if (isOpaque()) {
12.459 - mixOnShowing();
12.460 - } else {
12.461 - mixOnHiding(isLightweight());
12.462 - }
12.463 - }
12.464 -
12.465 void mixOnValidating() {
12.466 // This method gets overriden in the Container. Obviously, a plain
12.467 // non-container components don't need to handle validation.
12.468 }
12.469
12.470 + final boolean isMixingNeeded() {
12.471 + if (SunToolkit.getSunAwtDisableMixing()) {
12.472 + if (mixingLog.isLoggable(Level.FINEST)) {
12.473 + mixingLog.finest("this = " + this + "; Mixing disabled via sun.awt.disableMixing");
12.474 + }
12.475 + return false;
12.476 + }
12.477 + if (!areBoundsValid()) {
12.478 + if (mixingLog.isLoggable(Level.FINE)) {
12.479 + mixingLog.fine("this = " + this + "; areBoundsValid = " + areBoundsValid());
12.480 + }
12.481 + return false;
12.482 + }
12.483 + Window window = getContainingWindow();
12.484 + if (window != null) {
12.485 + if (!window.hasHeavyweightDescendants() || !window.hasLightweightDescendants()) {
12.486 + if (mixingLog.isLoggable(Level.FINE)) {
12.487 + mixingLog.fine("containing window = " + window +
12.488 + "; has h/w descendants = " + window.hasHeavyweightDescendants() +
12.489 + "; has l/w descendants = " + window.hasLightweightDescendants());
12.490 + }
12.491 + return false;
12.492 + }
12.493 + } else {
12.494 + if (mixingLog.isLoggable(Level.FINE)) {
12.495 + mixingLog.finest("this = " + this + "; containing window is null");
12.496 + }
12.497 + return false;
12.498 + }
12.499 + return true;
12.500 + }
12.501 +
12.502 // ****************** END OF MIXING CODE ********************************
12.503 }
13.1 --- a/src/share/classes/java/awt/Container.java Tue Feb 17 09:06:16 2009 -0800
13.2 +++ b/src/share/classes/java/awt/Container.java Wed Feb 18 10:05:41 2009 -0800
13.3 @@ -343,7 +343,7 @@
13.4 ComponentPeer peer = this.peer;
13.5 if (peer instanceof ContainerPeer) {
13.6 ContainerPeer cpeer = (ContainerPeer)peer;
13.7 - return (Insets)cpeer.insets().clone();
13.8 + return (Insets)cpeer.getInsets().clone();
13.9 }
13.10 return new Insets(0, 0, 0, 0);
13.11 }
13.12 @@ -569,7 +569,7 @@
13.13 * @return true if there is at least one heavyweight children in a container, false otherwise
13.14 * @since 1.5
13.15 */
13.16 - private boolean hasHeavyweightDescendants() {
13.17 + final boolean hasHeavyweightDescendants() {
13.18 checkTreeLock();
13.19 return numOfHWComponents > 0;
13.20 }
13.21 @@ -580,7 +580,7 @@
13.22 * @return true if there is at least one lightweight children in a container, false otherwise
13.23 * @since 1.7
13.24 */
13.25 - private boolean hasLightweightDescendants() {
13.26 + final boolean hasLightweightDescendants() {
13.27 checkTreeLock();
13.28 return numOfLWComponents > 0;
13.29 }
13.30 @@ -3861,6 +3861,28 @@
13.31 return -1;
13.32 }
13.33
13.34 + /*
13.35 + * This method is overriden to handle opaque children in non-opaque
13.36 + * containers.
13.37 + */
13.38 + @Override
13.39 + final Region getOpaqueShape() {
13.40 + checkTreeLock();
13.41 + if (isLightweight() && isNonOpaqueForMixing()
13.42 + && hasLightweightDescendants())
13.43 + {
13.44 + Region s = Region.EMPTY_REGION;
13.45 + for (int index = 0; index < getComponentCount(); index++) {
13.46 + Component c = getComponent(index);
13.47 + if (c.isLightweight() && c.isShowing()) {
13.48 + s = s.getUnion(c.getOpaqueShape());
13.49 + }
13.50 + }
13.51 + return s.getIntersection(getNormalShape());
13.52 + }
13.53 + return super.getOpaqueShape();
13.54 + }
13.55 +
13.56 final void recursiveSubtractAndApplyShape(Region shape) {
13.57 recursiveSubtractAndApplyShape(shape, getTopmostComponentIndex(), getBottommostComponentIndex());
13.58 }
13.59 @@ -3878,6 +3900,15 @@
13.60 if (fromZorder == -1) {
13.61 return;
13.62 }
13.63 + if (shape.isEmpty()) {
13.64 + return;
13.65 + }
13.66 + // An invalid container with not-null layout should be ignored
13.67 + // by the mixing code, the container will be validated later
13.68 + // and the mixing code will be executed later.
13.69 + if (getLayout() != null && !isValid()) {
13.70 + return;
13.71 + }
13.72 for (int index = fromZorder; index <= toZorder; index++) {
13.73 Component comp = getComponent(index);
13.74 if (!comp.isLightweight()) {
13.75 @@ -3906,10 +3937,19 @@
13.76 if (fromZorder == -1) {
13.77 return;
13.78 }
13.79 + // An invalid container with not-null layout should be ignored
13.80 + // by the mixing code, the container will be validated later
13.81 + // and the mixing code will be executed later.
13.82 + if (getLayout() != null && !isValid()) {
13.83 + return;
13.84 + }
13.85 for (int index = fromZorder; index <= toZorder; index++) {
13.86 Component comp = getComponent(index);
13.87 if (!comp.isLightweight()) {
13.88 comp.applyCurrentShape();
13.89 + if (comp instanceof Container && ((Container)comp).getLayout() == null) {
13.90 + ((Container)comp).recursiveApplyCurrentShape();
13.91 + }
13.92 } else if (comp instanceof Container &&
13.93 ((Container)comp).hasHeavyweightDescendants()) {
13.94 ((Container)comp).recursiveApplyCurrentShape();
13.95 @@ -3931,7 +3971,7 @@
13.96 if (comp.isVisible()) {
13.97 ComponentPeer peer = comp.getPeer();
13.98 if (peer != null) {
13.99 - peer.show();
13.100 + peer.setVisible(true);
13.101 }
13.102 }
13.103 }
13.104 @@ -3952,7 +3992,7 @@
13.105 if (comp.isVisible()) {
13.106 ComponentPeer peer = comp.getPeer();
13.107 if (peer != null) {
13.108 - peer.hide();
13.109 + peer.setVisible(false);
13.110 }
13.111 }
13.112 }
13.113 @@ -4000,6 +4040,10 @@
13.114 mixingLog.fine("this = " + this);
13.115 }
13.116
13.117 + if (!isMixingNeeded()) {
13.118 + return;
13.119 + }
13.120 +
13.121 boolean isLightweight = isLightweight();
13.122
13.123 if (isLightweight && isRecursivelyVisibleUpToHeavyweightContainer()) {
13.124 @@ -4034,6 +4078,9 @@
13.125 if (mixingLog.isLoggable(Level.FINE)) {
13.126 mixingLog.fine("this = " + this);
13.127 }
13.128 +
13.129 + boolean isMixingNeeded = isMixingNeeded();
13.130 +
13.131 if (isLightweight() && hasHeavyweightDescendants()) {
13.132 final Point origin = new Point(getX(), getY());
13.133 for (Container cont = getContainer();
13.134 @@ -4044,7 +4091,18 @@
13.135 }
13.136
13.137 recursiveRelocateHeavyweightChildren(origin);
13.138 +
13.139 + if (!isMixingNeeded) {
13.140 + return;
13.141 + }
13.142 +
13.143 + recursiveApplyCurrentShape();
13.144 }
13.145 +
13.146 + if (!isMixingNeeded) {
13.147 + return;
13.148 + }
13.149 +
13.150 super.mixOnReshaping();
13.151 }
13.152 }
13.153 @@ -4057,6 +4115,10 @@
13.154 "; oldZ=" + oldZorder + "; newZ=" + newZorder);
13.155 }
13.156
13.157 + if (!isMixingNeeded()) {
13.158 + return;
13.159 + }
13.160 +
13.161 boolean becameHigher = newZorder < oldZorder;
13.162
13.163 if (becameHigher && isLightweight() && hasHeavyweightDescendants()) {
13.164 @@ -4073,10 +4135,18 @@
13.165 mixingLog.fine("this = " + this);
13.166 }
13.167
13.168 + if (!isMixingNeeded()) {
13.169 + return;
13.170 + }
13.171 +
13.172 if (hasHeavyweightDescendants()) {
13.173 recursiveApplyCurrentShape();
13.174 }
13.175
13.176 + if (isLightweight() && isNonOpaqueForMixing()) {
13.177 + subtractAndApplyShapeBelowMe();
13.178 + }
13.179 +
13.180 super.mixOnValidating();
13.181 }
13.182 }
14.1 --- a/src/share/classes/java/awt/Dialog.java Tue Feb 17 09:06:16 2009 -0800
14.2 +++ b/src/share/classes/java/awt/Dialog.java Wed Feb 18 10:05:41 2009 -0800
14.3 @@ -941,7 +941,7 @@
14.4 // does not invoke the super.show(). So wried... :(
14.5 mixOnShowing();
14.6
14.7 - peer.show(); // now guaranteed never to block
14.8 + peer.setVisible(true); // now guaranteed never to block
14.9 if (isModalBlocked()) {
14.10 modalBlocker.toFront();
14.11 }
15.1 --- a/src/share/classes/java/awt/EventDispatchThread.java Tue Feb 17 09:06:16 2009 -0800
15.2 +++ b/src/share/classes/java/awt/EventDispatchThread.java Wed Feb 18 10:05:41 2009 -0800
15.3 @@ -300,119 +300,19 @@
15.4 }
15.5 // Can get and throw only unchecked exceptions
15.6 catch (RuntimeException e) {
15.7 - processException(e, modalFiltersCount > 0);
15.8 + processException(e);
15.9 } catch (Error e) {
15.10 - processException(e, modalFiltersCount > 0);
15.11 + processException(e);
15.12 }
15.13 return true;
15.14 }
15.15
15.16 - private void processException(Throwable e, boolean isModal) {
15.17 + private void processException(Throwable e) {
15.18 if (eventLog.isLoggable(Level.FINE)) {
15.19 - eventLog.log(Level.FINE, "Processing exception: " + e +
15.20 - ", isModal = " + isModal);
15.21 + eventLog.log(Level.FINE, "Processing exception: " + e);
15.22 }
15.23 - if (!handleException(e)) {
15.24 - // See bug ID 4499199.
15.25 - // If we are in a modal dialog, we cannot throw
15.26 - // an exception for the ThreadGroup to handle (as added
15.27 - // in RFE 4063022). If we did, the message pump of
15.28 - // the modal dialog would be interrupted.
15.29 - // We instead choose to handle the exception ourselves.
15.30 - // It may be useful to add either a runtime flag or API
15.31 - // later if someone would like to instead dispose the
15.32 - // dialog and allow the thread group to handle it.
15.33 - if (isModal) {
15.34 - System.err.println(
15.35 - "Exception occurred during event dispatching:");
15.36 - e.printStackTrace();
15.37 - } else if (e instanceof RuntimeException) {
15.38 - throw (RuntimeException)e;
15.39 - } else if (e instanceof Error) {
15.40 - throw (Error)e;
15.41 - }
15.42 - }
15.43 - }
15.44 -
15.45 - private static final String handlerPropName = "sun.awt.exception.handler";
15.46 - private static String handlerClassName = null;
15.47 - private static String NO_HANDLER = new String();
15.48 -
15.49 - /**
15.50 - * Handles an exception thrown in the event-dispatch thread.
15.51 - *
15.52 - * <p> If the system property "sun.awt.exception.handler" is defined, then
15.53 - * when this method is invoked it will attempt to do the following:
15.54 - *
15.55 - * <ol>
15.56 - * <li> Load the class named by the value of that property, using the
15.57 - * current thread's context class loader,
15.58 - * <li> Instantiate that class using its zero-argument constructor,
15.59 - * <li> Find the resulting handler object's <tt>public void handle</tt>
15.60 - * method, which should take a single argument of type
15.61 - * <tt>Throwable</tt>, and
15.62 - * <li> Invoke the handler's <tt>handle</tt> method, passing it the
15.63 - * <tt>thrown</tt> argument that was passed to this method.
15.64 - * </ol>
15.65 - *
15.66 - * If any of the first three steps fail then this method will return
15.67 - * <tt>false</tt> and all following invocations of this method will return
15.68 - * <tt>false</tt> immediately. An exception thrown by the handler object's
15.69 - * <tt>handle</tt> will be caught, and will cause this method to return
15.70 - * <tt>false</tt>. If the handler's <tt>handle</tt> method is successfully
15.71 - * invoked, then this method will return <tt>true</tt>. This method will
15.72 - * never throw any sort of exception.
15.73 - *
15.74 - * <p> <i>Note:</i> This method is a temporary hack to work around the
15.75 - * absence of a real API that provides the ability to replace the
15.76 - * event-dispatch thread. The magic "sun.awt.exception.handler" property
15.77 - * <i>will be removed</i> in a future release.
15.78 - *
15.79 - * @param thrown The Throwable that was thrown in the event-dispatch
15.80 - * thread
15.81 - *
15.82 - * @return <tt>false</tt> if any of the above steps failed, otherwise
15.83 - * <tt>true</tt>
15.84 - */
15.85 - private boolean handleException(Throwable thrown) {
15.86 -
15.87 - try {
15.88 -
15.89 - if (handlerClassName == NO_HANDLER) {
15.90 - return false; /* Already tried, and failed */
15.91 - }
15.92 -
15.93 - /* Look up the class name */
15.94 - if (handlerClassName == null) {
15.95 - handlerClassName = ((String) AccessController.doPrivileged(
15.96 - new GetPropertyAction(handlerPropName)));
15.97 - if (handlerClassName == null) {
15.98 - handlerClassName = NO_HANDLER; /* Do not try this again */
15.99 - return false;
15.100 - }
15.101 - }
15.102 -
15.103 - /* Load the class, instantiate it, and find its handle method */
15.104 - Method m;
15.105 - Object h;
15.106 - try {
15.107 - ClassLoader cl = Thread.currentThread().getContextClassLoader();
15.108 - Class c = Class.forName(handlerClassName, true, cl);
15.109 - m = c.getMethod("handle", new Class[] { Throwable.class });
15.110 - h = c.newInstance();
15.111 - } catch (Throwable x) {
15.112 - handlerClassName = NO_HANDLER; /* Do not try this again */
15.113 - return false;
15.114 - }
15.115 -
15.116 - /* Finally, invoke the handler */
15.117 - m.invoke(h, new Object[] { thrown });
15.118 -
15.119 - } catch (Throwable x) {
15.120 - return false;
15.121 - }
15.122 -
15.123 - return true;
15.124 + getUncaughtExceptionHandler().uncaughtException(this, e);
15.125 + // don't rethrow the exception to avoid EDT recreation
15.126 }
15.127
15.128 boolean isDispatching(EventQueue eq) {
16.1 --- a/src/share/classes/java/awt/List.java Tue Feb 17 09:06:16 2009 -0800
16.2 +++ b/src/share/classes/java/awt/List.java Wed Feb 18 10:05:41 2009 -0800
16.3 @@ -378,7 +378,7 @@
16.4
16.5 ListPeer peer = (ListPeer)this.peer;
16.6 if (peer != null) {
16.7 - peer.addItem(item, index);
16.8 + peer.add(item, index);
16.9 }
16.10 }
16.11
16.12 @@ -413,7 +413,7 @@
16.13 public synchronized void clear() {
16.14 ListPeer peer = (ListPeer)this.peer;
16.15 if (peer != null) {
16.16 - peer.clear();
16.17 + peer.removeAll();
16.18 }
16.19 items = new Vector();
16.20 selected = new int[0];
16.21 @@ -718,7 +718,7 @@
16.22 multipleMode = b;
16.23 ListPeer peer = (ListPeer)this.peer;
16.24 if (peer != null) {
16.25 - peer.setMultipleSelections(b);
16.26 + peer.setMultipleMode(b);
16.27 }
16.28 }
16.29 }
16.30 @@ -768,7 +768,7 @@
16.31 synchronized (getTreeLock()) {
16.32 ListPeer peer = (ListPeer)this.peer;
16.33 return (peer != null) ?
16.34 - peer.preferredSize(rows) :
16.35 + peer.getPreferredSize(rows) :
16.36 super.preferredSize();
16.37 }
16.38 }
16.39 @@ -818,7 +818,7 @@
16.40 synchronized (getTreeLock()) {
16.41 ListPeer peer = (ListPeer)this.peer;
16.42 return (peer != null) ?
16.43 - peer.minimumSize(rows) :
16.44 + peer.getMinimumSize(rows) :
16.45 super.minimumSize();
16.46 }
16.47 }
17.1 --- a/src/share/classes/java/awt/MenuItem.java Tue Feb 17 09:06:16 2009 -0800
17.2 +++ b/src/share/classes/java/awt/MenuItem.java Wed Feb 18 10:05:41 2009 -0800
17.3 @@ -268,7 +268,7 @@
17.4 enabled = true;
17.5 MenuItemPeer peer = (MenuItemPeer)this.peer;
17.6 if (peer != null) {
17.7 - peer.enable();
17.8 + peer.setEnabled(true);
17.9 }
17.10 }
17.11
17.12 @@ -294,7 +294,7 @@
17.13 enabled = false;
17.14 MenuItemPeer peer = (MenuItemPeer)this.peer;
17.15 if (peer != null) {
17.16 - peer.disable();
17.17 + peer.setEnabled(false);
17.18 }
17.19 }
17.20
18.1 --- a/src/share/classes/java/awt/Robot.java Tue Feb 17 09:06:16 2009 -0800
18.2 +++ b/src/share/classes/java/awt/Robot.java Wed Feb 18 10:05:41 2009 -0800
18.3 @@ -70,10 +70,7 @@
18.4 private RobotPeer peer;
18.5 private boolean isAutoWaitForIdle = false;
18.6 private int autoDelay = 0;
18.7 - private static final int LEGAL_BUTTON_MASK =
18.8 - InputEvent.BUTTON1_MASK|
18.9 - InputEvent.BUTTON2_MASK|
18.10 - InputEvent.BUTTON3_MASK;
18.11 + private static int LEGAL_BUTTON_MASK;
18.12
18.13 // location of robot's GC, used in mouseMove(), getPixelColor() and captureScreenImage()
18.14 private Point gdLoc;
18.15 @@ -98,6 +95,19 @@
18.16 }
18.17 init(GraphicsEnvironment.getLocalGraphicsEnvironment()
18.18 .getDefaultScreenDevice());
18.19 + int tmpMask = 0;
18.20 + if (Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled()){
18.21 + for (int i = 0; i < peer.getNumberOfButtons(); i++){
18.22 + tmpMask |= InputEvent.getMaskForButton(i+1);
18.23 + }
18.24 + }
18.25 + tmpMask |= InputEvent.BUTTON1_MASK|
18.26 + InputEvent.BUTTON2_MASK|
18.27 + InputEvent.BUTTON3_MASK|
18.28 + InputEvent.BUTTON1_DOWN_MASK|
18.29 + InputEvent.BUTTON2_DOWN_MASK|
18.30 + InputEvent.BUTTON3_DOWN_MASK;
18.31 + LEGAL_BUTTON_MASK = tmpMask;
18.32 }
18.33
18.34 /**
18.35 @@ -187,18 +197,55 @@
18.36
18.37 /**
18.38 * Presses one or more mouse buttons. The mouse buttons should
18.39 - * be released using the <code>mouseRelease</code> method.
18.40 + * be released using the {@link #mouseRelease(int)} method.
18.41 *
18.42 - * @param buttons the Button mask; a combination of one or more
18.43 - * of these flags:
18.44 + * @param buttons the Button mask; a combination of one or more
18.45 + * mouse button masks.
18.46 + * <p>
18.47 + * It is allowed to use only a combination of valid values as a {@code buttons} parameter.
18.48 + * A valid combination consists of {@code InputEvent.BUTTON1_DOWN_MASK},
18.49 + * {@code InputEvent.BUTTON2_DOWN_MASK}, {@code InputEvent.BUTTON3_DOWN_MASK}
18.50 + * and values returned by the
18.51 + * {@link InputEvent#getMaskForButton(int) InputEvent.getMaskForButton(button)} method.
18.52 + *
18.53 + * The valid combination also depends on a
18.54 + * {@link Toolkit#areExtraMouseButtonsEnabled() Toolkit.areExtraMouseButtonsEnabled()} value as follows:
18.55 * <ul>
18.56 - * <li><code>InputEvent.BUTTON1_MASK</code>
18.57 - * <li><code>InputEvent.BUTTON2_MASK</code>
18.58 - * <li><code>InputEvent.BUTTON3_MASK</code>
18.59 + * <li> If support for extended mouse buttons is
18.60 + * {@link Toolkit#areExtraMouseButtonsEnabled() disabled} by Java
18.61 + * then it is allowed to use only the following standard button masks:
18.62 + * {@code InputEvent.BUTTON1_DOWN_MASK}, {@code InputEvent.BUTTON2_DOWN_MASK},
18.63 + * {@code InputEvent.BUTTON3_DOWN_MASK}.
18.64 + * <li> If support for extended mouse buttons is
18.65 + * {@link Toolkit#areExtraMouseButtonsEnabled() enabled} by Java
18.66 + * then it is allowed to use the standard button masks
18.67 + * and masks for existing extended mouse buttons, if the mouse has more then three buttons.
18.68 + * In that way, it is allowed to use the button masks corresponding to the buttons
18.69 + * in the range from 1 to {@link java.awt.MouseInfo#getNumberOfButtons() MouseInfo.getNumberOfButtons()}.
18.70 + * <br>
18.71 + * It is recommended to use the {@link InputEvent#getMaskForButton(int) InputEvent.getMaskForButton(button)}
18.72 + * method to obtain the mask for any mouse button by its number.
18.73 * </ul>
18.74 - * @throws IllegalArgumentException if the button mask is not a
18.75 - * valid combination
18.76 + * <p>
18.77 + * The following standard button masks are also accepted:
18.78 + * <ul>
18.79 + * <li>{@code InputEvent.BUTTON1_MASK}
18.80 + * <li>{@code InputEvent.BUTTON2_MASK}
18.81 + * <li>{@code InputEvent.BUTTON3_MASK}
18.82 + * </ul>
18.83 + * However, it is recommended to use {@code InputEvent.BUTTON1_DOWN_MASK},
18.84 + * {@code InputEvent.BUTTON2_DOWN_MASK}, {@code InputEvent.BUTTON3_DOWN_MASK} instead.
18.85 + * Either extended {@code _DOWN_MASK} or old {@code _MASK} values
18.86 + * should be used, but both those models should not be mixed.
18.87 + * @throws IllegalArgumentException if the {@code buttons} mask contains the mask for extra mouse button
18.88 + * and support for extended mouse buttons is {@link Toolkit#areExtraMouseButtonsEnabled() disabled} by Java
18.89 + * @throws IllegalArgumentException if the {@code buttons} mask contains the mask for extra mouse button
18.90 + * that does not exist on the mouse and support for extended mouse buttons is {@link Toolkit#areExtraMouseButtonsEnabled() enabled} by Java
18.91 * @see #mouseRelease(int)
18.92 + * @see InputEvent#getMaskForButton(int)
18.93 + * @see Toolkit#areExtraMouseButtonsEnabled()
18.94 + * @see java.awt.MouseInfo#getNumberOfButtons()
18.95 + * @see java.awt.event.MouseEvent
18.96 */
18.97 public synchronized void mousePress(int buttons) {
18.98 checkButtonsArgument(buttons);
18.99 @@ -209,16 +256,53 @@
18.100 /**
18.101 * Releases one or more mouse buttons.
18.102 *
18.103 - * @param buttons the Button mask; a combination of one or more
18.104 - * of these flags:
18.105 + * @param buttons the Button mask; a combination of one or more
18.106 + * mouse button masks.
18.107 + * <p>
18.108 + * It is allowed to use only a combination of valid values as a {@code buttons} parameter.
18.109 + * A valid combination consists of {@code InputEvent.BUTTON1_DOWN_MASK},
18.110 + * {@code InputEvent.BUTTON2_DOWN_MASK}, {@code InputEvent.BUTTON3_DOWN_MASK}
18.111 + * and values returned by the
18.112 + * {@link InputEvent#getMaskForButton(int) InputEvent.getMaskForButton(button)} method.
18.113 + *
18.114 + * The valid combination also depends on a
18.115 + * {@link Toolkit#areExtraMouseButtonsEnabled() Toolkit.areExtraMouseButtonsEnabled()} value as follows:
18.116 * <ul>
18.117 - * <li><code>InputEvent.BUTTON1_MASK</code>
18.118 - * <li><code>InputEvent.BUTTON2_MASK</code>
18.119 - * <li><code>InputEvent.BUTTON3_MASK</code>
18.120 + * <li> If the support for extended mouse buttons is
18.121 + * {@link Toolkit#areExtraMouseButtonsEnabled() disabled} by Java
18.122 + * then it is allowed to use only the following standard button masks:
18.123 + * {@code InputEvent.BUTTON1_DOWN_MASK}, {@code InputEvent.BUTTON2_DOWN_MASK},
18.124 + * {@code InputEvent.BUTTON3_DOWN_MASK}.
18.125 + * <li> If the support for extended mouse buttons is
18.126 + * {@link Toolkit#areExtraMouseButtonsEnabled() enabled} by Java
18.127 + * then it is allowed to use the standard button masks
18.128 + * and masks for existing extended mouse buttons, if the mouse has more then three buttons.
18.129 + * In that way, it is allowed to use the button masks corresponding to the buttons
18.130 + * in the range from 1 to {@link java.awt.MouseInfo#getNumberOfButtons() MouseInfo.getNumberOfButtons()}.
18.131 + * <br>
18.132 + * It is recommended to use the {@link InputEvent#getMaskForButton(int) InputEvent.getMaskForButton(button)}
18.133 + * method to obtain the mask for any mouse button by its number.
18.134 * </ul>
18.135 + * <p>
18.136 + * The following standard button masks are also accepted:
18.137 + * <ul>
18.138 + * <li>{@code InputEvent.BUTTON1_MASK}
18.139 + * <li>{@code InputEvent.BUTTON2_MASK}
18.140 + * <li>{@code InputEvent.BUTTON3_MASK}
18.141 + * </ul>
18.142 + * However, it is recommended to use {@code InputEvent.BUTTON1_DOWN_MASK},
18.143 + * {@code InputEvent.BUTTON2_DOWN_MASK}, {@code InputEvent.BUTTON3_DOWN_MASK} instead.
18.144 + * Either extended {@code _DOWN_MASK} or old {@code _MASK} values
18.145 + * should be used, but both those models should not be mixed.
18.146 + * @throws IllegalArgumentException if the {@code buttons} mask contains the mask for extra mouse button
18.147 + * and support for extended mouse buttons is {@link Toolkit#areExtraMouseButtonsEnabled() disabled} by Java
18.148 + * @throws IllegalArgumentException if the {@code buttons} mask contains the mask for extra mouse button
18.149 + * that does not exist on the mouse and support for extended mouse buttons is {@link Toolkit#areExtraMouseButtonsEnabled() enabled} by Java
18.150 * @see #mousePress(int)
18.151 - * @throws IllegalArgumentException if the button mask is not a valid
18.152 - * combination
18.153 + * @see InputEvent#getMaskForButton(int)
18.154 + * @see Toolkit#areExtraMouseButtonsEnabled()
18.155 + * @see java.awt.MouseInfo#getNumberOfButtons()
18.156 + * @see java.awt.event.MouseEvent
18.157 */
18.158 public synchronized void mouseRelease(int buttons) {
18.159 checkButtonsArgument(buttons);
19.1 --- a/src/share/classes/java/awt/TextArea.java Tue Feb 17 09:06:16 2009 -0800
19.2 +++ b/src/share/classes/java/awt/TextArea.java Wed Feb 18 10:05:41 2009 -0800
19.3 @@ -321,7 +321,7 @@
19.4 public synchronized void insertText(String str, int pos) {
19.5 TextAreaPeer peer = (TextAreaPeer)this.peer;
19.6 if (peer != null) {
19.7 - peer.insertText(str, pos);
19.8 + peer.insert(str, pos);
19.9 } else {
19.10 text = text.substring(0, pos) + str + text.substring(pos);
19.11 }
19.12 @@ -385,7 +385,7 @@
19.13 public synchronized void replaceText(String str, int start, int end) {
19.14 TextAreaPeer peer = (TextAreaPeer)this.peer;
19.15 if (peer != null) {
19.16 - peer.replaceText(str, start, end);
19.17 + peer.replaceRange(str, start, end);
19.18 } else {
19.19 text = text.substring(0, start) + str + text.substring(end);
19.20 }
19.21 @@ -500,7 +500,7 @@
19.22 synchronized (getTreeLock()) {
19.23 TextAreaPeer peer = (TextAreaPeer)this.peer;
19.24 return (peer != null) ?
19.25 - peer.preferredSize(rows, columns) :
19.26 + peer.getPreferredSize(rows, columns) :
19.27 super.preferredSize();
19.28 }
19.29 }
19.30 @@ -552,7 +552,7 @@
19.31 synchronized (getTreeLock()) {
19.32 TextAreaPeer peer = (TextAreaPeer)this.peer;
19.33 return (peer != null) ?
19.34 - peer.minimumSize(rows, columns) :
19.35 + peer.getMinimumSize(rows, columns) :
19.36 super.minimumSize();
19.37 }
19.38 }
20.1 --- a/src/share/classes/java/awt/TextField.java Tue Feb 17 09:06:16 2009 -0800
20.2 +++ b/src/share/classes/java/awt/TextField.java Wed Feb 18 10:05:41 2009 -0800
20.3 @@ -281,7 +281,7 @@
20.4 echoChar = c;
20.5 TextFieldPeer peer = (TextFieldPeer)this.peer;
20.6 if (peer != null) {
20.7 - peer.setEchoCharacter(c);
20.8 + peer.setEchoChar(c);
20.9 }
20.10 }
20.11 }
20.12 @@ -376,7 +376,7 @@
20.13 synchronized (getTreeLock()) {
20.14 TextFieldPeer peer = (TextFieldPeer)this.peer;
20.15 return (peer != null) ?
20.16 - peer.preferredSize(columns) :
20.17 + peer.getPreferredSize(columns) :
20.18 super.preferredSize();
20.19 }
20.20 }
20.21 @@ -424,7 +424,7 @@
20.22 synchronized (getTreeLock()) {
20.23 TextFieldPeer peer = (TextFieldPeer)this.peer;
20.24 return (peer != null) ?
20.25 - peer.minimumSize(columns) :
20.26 + peer.getMinimumSize(columns) :
20.27 super.minimumSize();
20.28 }
20.29 }
21.1 --- a/src/share/classes/java/awt/Toolkit.java Tue Feb 17 09:06:16 2009 -0800
21.2 +++ b/src/share/classes/java/awt/Toolkit.java Wed Feb 18 10:05:41 2009 -0800
21.3 @@ -1,5 +1,5 @@
21.4 /*
21.5 - * Copyright 1995-2007 Sun Microsystems, Inc. All Rights Reserved.
21.6 + * Copyright 1995-2008 Sun Microsystems, Inc. All Rights Reserved.
21.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
21.8 *
21.9 * This code is free software; you can redistribute it and/or modify it
21.10 @@ -2550,4 +2550,37 @@
21.11 }
21.12 }
21.13 }
21.14 +
21.15 + /**
21.16 + * Reports whether events from extra mouse buttons are allowed to be processed and posted into
21.17 + * {@code EventQueue}.
21.18 + * <br>
21.19 + * To change the returned value it is necessary to set the {@code sun.awt.enableExtraMouseButtons}
21.20 + * property before the {@code Toolkit} class initialization. This setting could be done on the application
21.21 + * startup by the following command:
21.22 + * <pre>
21.23 + * java -Dsun.awt.enableExtraMouseButtons=false Application
21.24 + * </pre>
21.25 + * Alternatively, the property could be set in the application by using the following code:
21.26 + * <pre>
21.27 + * System.setProperty("sun.awt.enableExtraMouseButtons", "true");
21.28 + * </pre>
21.29 + * before the {@code Toolkit} class initialization.
21.30 + * If not set by the time of the {@code Toolkit} class initialization, this property will be
21.31 + * initialized with {@code true}.
21.32 + * Changing this value after the {@code Toolkit} class initialization will have no effect.
21.33 + * <p>
21.34 + * The current value could be queried by using the
21.35 + * {@code System.getProperty("sun.awt.enableExtraMouseButtons")} method.
21.36 + * @exception HeadlessException if GraphicsEnvironment.isHeadless() returns true
21.37 + * @return {@code true} if events from extra mouse buttons are allowed to be processed and posted;
21.38 + * {@code false} otherwise
21.39 + * @see System#getProperty(String propertyName)
21.40 + * @see System#setProperty(String propertyName, String value)
21.41 + * @see java.awt.EventQueue
21.42 + * @since 1.7
21.43 + */
21.44 + public boolean areExtraMouseButtonsEnabled() throws HeadlessException {
21.45 + return Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled();
21.46 + }
21.47 }
22.1 --- a/src/share/classes/java/awt/Window.java Tue Feb 17 09:06:16 2009 -0800
22.2 +++ b/src/share/classes/java/awt/Window.java Wed Feb 18 10:05:41 2009 -0800
22.3 @@ -53,6 +53,7 @@
22.4 import sun.awt.CausedFocusEvent;
22.5 import sun.awt.SunToolkit;
22.6 import sun.awt.util.IdentityArrayList;
22.7 +import sun.java2d.Disposer;
22.8 import sun.java2d.pipe.Region;
22.9 import sun.security.action.GetPropertyAction;
22.10 import sun.security.util.SecurityConstants;
22.11 @@ -409,8 +410,6 @@
22.12 }
22.13
22.14 modalExclusionType = Dialog.ModalExclusionType.NO_EXCLUDE;
22.15 -
22.16 - sun.java2d.Disposer.addRecord(anchor, new WindowDisposerRecord(appContext, this));
22.17 }
22.18
22.19 /**
22.20 @@ -540,6 +539,10 @@
22.21 if (owner != null) {
22.22 owner.addOwnedWindow(weakThis);
22.23 }
22.24 +
22.25 + // Fix for 6758673: this call is moved here from init(gc), because
22.26 + // WindowDisposerRecord requires a proper value of parent field.
22.27 + Disposer.addRecord(anchor, new WindowDisposerRecord(appContext, this));
22.28 }
22.29
22.30 /**
23.1 --- a/src/share/classes/java/awt/doc-files/DesktopProperties.html Tue Feb 17 09:06:16 2009 -0800
23.2 +++ b/src/share/classes/java/awt/doc-files/DesktopProperties.html Wed Feb 18 10:05:41 2009 -0800
23.3 @@ -1,5 +1,5 @@
23.4 <!--
23.5 - Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
23.6 + Copyright 2005-2008 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 @@ -64,6 +64,11 @@
23.11 <td valign="TOP"><a href="../../util/Map.html">java.util.Map<a/></td>
23.12 <td valign="TOP">Font smoothing (text antialiasing) settings.<a/></td>
23.13 </tr>
23.14 +<tr>
23.15 +<td valign="TOP"><A href=#"sun.awt.enableExtraMouseButtons">sun.awt.enableExtraMouseButtons</A</td>
23.16 +<td valign="TOP"><a href="../../lang/Boolean.html">java.lang.Boolean<a/></td>
23.17 +<td valign="TOP">Controls if mouse events from extra buttons are to be generated or not<a/></td>
23.18 +</tr>
23.19 </table>
23.20 <p>
23.21 <h2>Desktop Font Rendering Hints</h2>
23.22 @@ -219,5 +224,50 @@
23.23 determine that there is a non-null return for any screen device using
23.24 the per-device property name.
23.25 </ul>
23.26 +<h2>Mouse Functionality</h2>
23.27 +<b>Desktop Property: <A name="sun.awt.enableExtraMouseButtons">"sun.awt.enableExtraMouseButtons"</A></b>
23.28 +<p>
23.29 +This property determines if events from extra mouse buttons (if they are exist and are
23.30 +enabled by the underlying operating system) are allowed to be processed and posted into
23.31 +{@code EventQueue}.
23.32 +<br>
23.33 +The value could be changed by passing "sun.awt.enableExtraMouseButtons"
23.34 +property value into java before application starts. This could be done with the following command:
23.35 +<pre>
23.36 +java -Dsun.awt.enableExtraMouseButtons=false Application
23.37 +</pre>
23.38 +Once set on application startup, it is impossible to change this value after.
23.39 +<br>
23.40 +Current value could also be queried using getDesktopProperty("sun.awt.enableExtraMouseButtons")
23.41 +method.
23.42 +<br>
23.43 +If the property is set to {@code true} then
23.44 +<ul>
23.45 +<li> it is still legal to create {@code MouseEvent} objects with
23.46 +standard buttons and, if the mouse has more
23.47 +then three buttons, it is also legal to use buttons from the range started
23.48 +from 0 up to {@link java.awt.MouseInfo#getNumberOfButtons() getNumberOfButtons()}.
23.49 +
23.50 +<li> it is legal to use standard button masks when using {@code Robot.mousePress()}
23.51 +and {@code Robot.mouseRelease()} methods and, if the mouse has more then three buttons,
23.52 +it is also legal to use masks for existing extended mouse buttons.
23.53 +That way, if there are more then three buttons on the mouse then it is allowed to
23.54 +use button masks corresponding to the buttons
23.55 +in the range from 1 up to {@link java.awt.MouseInfo#getNumberOfButtons() getNumberOfButtons()}
23.56 +</ul>
23.57 +<br>
23.58 +If the property is set to {@code false} then
23.59 +<ul>
23.60 +<li> it is legal to create {@code MouseEvent} objects with standard buttons
23.61 +only: {@code NOBUTTON}, {@code BUTTON1}, {@code BUTTON2} and
23.62 +{@code BUTTON3}
23.63 +<li> it is legal to use standard button masks only:
23.64 +{@code InputEvent.BUTTON1_DOWN_MASK}, {@code InputEvent.BUTTON2_DOWN_MASK},
23.65 +{@code InputEvent.BUTTON3_DOWN_MASK}
23.66 +</ul>
23.67 +
23.68 +This property should be used when there is no need in listening mouse events fired as a result of
23.69 +activity with extra mouse button.
23.70 +By default this property is set to {@code true}.
23.71 </body>
23.72 </html>
24.1 --- a/src/share/classes/java/awt/event/InputEvent.java Tue Feb 17 09:06:16 2009 -0800
24.2 +++ b/src/share/classes/java/awt/event/InputEvent.java Wed Feb 18 10:05:41 2009 -0800
24.3 @@ -31,6 +31,7 @@
24.4 import java.awt.Toolkit;
24.5 import java.util.logging.Logger;
24.6 import java.util.logging.Level;
24.7 +import java.util.Arrays;
24.8
24.9 /**
24.10 * The root event class for all component-level input events.
24.11 @@ -153,13 +154,93 @@
24.12 */
24.13 public static final int ALT_GRAPH_DOWN_MASK = 1 << 13;
24.14
24.15 + /**
24.16 + * An array of extended modifiers for additional buttons.
24.17 + * @see getButtonDownMasks
24.18 + * @since 7.0
24.19 + */
24.20 + private static final int [] BUTTON_DOWN_MASK = new int [] { BUTTON1_DOWN_MASK,
24.21 + BUTTON2_DOWN_MASK,
24.22 + BUTTON3_DOWN_MASK,
24.23 + 1<<14, //4th phisical button (this is not a wheel!)
24.24 + 1<<15, //(this is not a wheel!)
24.25 + 1<<16,
24.26 + 1<<17,
24.27 + 1<<18,
24.28 + 1<<19,
24.29 + 1<<20,
24.30 + 1<<21 };
24.31 +
24.32 + /**
24.33 + * A method to access an array of extended modifiers for additional buttons.
24.34 + * @since 7.0
24.35 + */
24.36 + private static int [] getButtonDownMasks(){
24.37 + return Arrays.copyOf(BUTTON_DOWN_MASK, BUTTON_DOWN_MASK.length);
24.38 + }
24.39 +
24.40 +
24.41 + /**
24.42 + * A method to obtain a mask for any existing mouse button.
24.43 + * The returned mask may be used for different purposes. Following are some of them:
24.44 + * <ul>
24.45 + * <li> {@link java.awt.Robot#mousePress(int) mousePress(buttons)} and
24.46 + * {@link java.awt.Robot#mouseRelease(int) mouseRelease(buttons)}
24.47 + * <li> as a {@code modifiers} parameter when creating a new {@link MouseEvent} instance
24.48 + * <li> to check {@link MouseEvent#getModifiersEx() modifiersEx} of existing {@code MouseEvent}
24.49 + * </ul>
24.50 + * @param button is a number to represent a button starting from 1.
24.51 + * For example,
24.52 + * <pre>
24.53 + * int button = InputEvent.getMaskForButton(1);
24.54 + * </pre>
24.55 + * will have the same meaning as
24.56 + * <pre>
24.57 + * int button = InputEvent.getMaskForButton(MouseEvent.BUTTON1);
24.58 + * </pre>
24.59 + * because {@link MouseEvent#BUTTON1 MouseEvent.BUTTON1} equals to 1.
24.60 + * If a mouse has three enabled buttons(see {@link java.awt.MouseInfo#getNumberOfButtons() MouseInfo.getNumberOfButtons()})
24.61 + * then the values from the left column passed into the method will return
24.62 + * corresponding values from the right column:
24.63 + * <PRE>
24.64 + * <b>button </b> <b>returned mask</b>
24.65 + * {@link MouseEvent#BUTTON1 BUTTON1} {@link MouseEvent#BUTTON1_DOWN_MASK BUTTON1_DOWN_MASK}
24.66 + * {@link MouseEvent#BUTTON2 BUTTON2} {@link MouseEvent#BUTTON2_DOWN_MASK BUTTON2_DOWN_MASK}
24.67 + * {@link MouseEvent#BUTTON3 BUTTON3} {@link MouseEvent#BUTTON3_DOWN_MASK BUTTON3_DOWN_MASK}
24.68 + * </PRE>
24.69 + * If a mouse has more than three enabled buttons then more values
24.70 + * are admissible (4, 5, etc.). There is no assigned constants for these extended buttons.
24.71 + * The button masks for the extra buttons returned by this method have no assigned names like the
24.72 + * first three button masks.
24.73 + * <p>
24.74 + * This method has the following implementation restriction.
24.75 + * It returns masks for a limited number of buttons only. The maximum number is
24.76 + * implementation dependent and may vary.
24.77 + * This limit is defined by the relevant number
24.78 + * of buttons that may hypothetically exist on the mouse but it is greater than the
24.79 + * {@link java.awt.MouseInfo#getNumberOfButtons() MouseInfo.getNumberOfButtons()}.
24.80 + * <p>
24.81 + * @throws IllegalArgumentException if {@code button} is less than zero or greater than the number
24.82 + * of button masks reserved for buttons
24.83 + * @since 7.0
24.84 + * @see java.awt.MouseInfo#getNumberOfButtons()
24.85 + * @see Toolkit#areExtraMouseButtonsEnabled()
24.86 + * @see MouseEvent#getModifiers()
24.87 + * @see MouseEvent#getModifiersEx()
24.88 + */
24.89 + public static int getMaskForButton(int button) {
24.90 + if (button <= 0 || button > BUTTON_DOWN_MASK.length) {
24.91 + throw new IllegalArgumentException("button doesn\'t exist " + button);
24.92 + }
24.93 + return BUTTON_DOWN_MASK[button - 1];
24.94 + }
24.95 +
24.96 // the constant below MUST be updated if any extra modifier
24.97 // bits are to be added!
24.98 // in fact, it is undesirable to add modifier bits
24.99 // to the same field as this may break applications
24.100 // see bug# 5066958
24.101 -
24.102 - static final int FIRST_HIGH_BIT = 1 << 14;
24.103 + static final int FIRST_HIGH_BIT = 1 << 22;
24.104
24.105 static final int JDK_1_3_MODIFIERS = SHIFT_DOWN_MASK - 1;
24.106 static final int HIGH_MODIFIERS = ~( FIRST_HIGH_BIT - 1 );
24.107 @@ -382,7 +463,7 @@
24.108 * cause the returning an empty string.
24.109 *
24.110 * @param modifiers a modifier mask describing the extended
24.111 - * modifier keys and mouse buttons for the event
24.112 + * modifier keys and mouse buttons for the event
24.113 * @return a text description of the combination of extended
24.114 * modifier keys and mouse buttons that were held down
24.115 * during the event.
24.116 @@ -410,17 +491,14 @@
24.117 buf.append(Toolkit.getProperty("AWT.altGraph", "Alt Graph"));
24.118 buf.append("+");
24.119 }
24.120 - if ((modifiers & InputEvent.BUTTON1_DOWN_MASK) != 0) {
24.121 - buf.append(Toolkit.getProperty("AWT.button1", "Button1"));
24.122 - buf.append("+");
24.123 - }
24.124 - if ((modifiers & InputEvent.BUTTON2_DOWN_MASK) != 0) {
24.125 - buf.append(Toolkit.getProperty("AWT.button2", "Button2"));
24.126 - buf.append("+");
24.127 - }
24.128 - if ((modifiers & InputEvent.BUTTON3_DOWN_MASK) != 0) {
24.129 - buf.append(Toolkit.getProperty("AWT.button3", "Button3"));
24.130 - buf.append("+");
24.131 +
24.132 + int buttonNumber = 1;
24.133 + for (int mask : InputEvent.BUTTON_DOWN_MASK){
24.134 + if ((modifiers & mask) != 0) {
24.135 + buf.append(Toolkit.getProperty("AWT.button"+buttonNumber, "Button"+buttonNumber));
24.136 + buf.append("+");
24.137 + }
24.138 + buttonNumber++;
24.139 }
24.140 if (buf.length() > 0) {
24.141 buf.setLength(buf.length()-1); // remove trailing '+'
25.1 --- a/src/share/classes/java/awt/event/MouseEvent.java Tue Feb 17 09:06:16 2009 -0800
25.2 +++ b/src/share/classes/java/awt/event/MouseEvent.java Wed Feb 18 10:05:41 2009 -0800
25.3 @@ -32,6 +32,7 @@
25.4 import java.io.IOException;
25.5 import java.io.ObjectInputStream;
25.6 import java.awt.IllegalComponentStateException;
25.7 +import java.awt.MouseInfo;
25.8
25.9 /**
25.10 * An event which indicates that a mouse action occurred in a component.
25.11 @@ -135,7 +136,15 @@
25.12 * for <code>BUTTON2_MASK</code> arrives first,
25.13 * followed by the pair for <code>BUTTON1_MASK</code>.
25.14 * <p>
25.15 - *
25.16 + * Some extra mouse buttons are added to extend the standard set of buttons
25.17 + * represented by the following constants:{@code BUTTON1}, {@code BUTTON2}, and {@code BUTTON3}.
25.18 + * Extra buttons have no assigned {@code BUTTONx}
25.19 + * constants as well as their button masks have no assigned {@code BUTTONx_DOWN_MASK}
25.20 + * constants. Nevertheless, ordinal numbers starting from 4 may be
25.21 + * used as button numbers (button ids). Values obtained by the
25.22 + * {@link InputEvent#getMaskForButton(int) getMaskForButton(button)} method may be used
25.23 + * as button masks.
25.24 + * <p>
25.25 * <code>MOUSE_DRAGGED</code> events are delivered to the <code>Component</code>
25.26 * in which the mouse button was pressed until the mouse button is released
25.27 * (regardless of whether the mouse position is within the bounds of the
25.28 @@ -324,13 +333,31 @@
25.29 /**
25.30 * Indicates which, if any, of the mouse buttons has changed state.
25.31 *
25.32 - * The only legal values are the following constants:
25.33 - * <code>NOBUTTON</code>,
25.34 - * <code>BUTTON1</code>,
25.35 - * <code>BUTTON2</code> or
25.36 - * <code>BUTTON3</code>.
25.37 + * The valid values are ranged from 0 to the value returned by the
25.38 + * {@link java.awt.MouseInfo#getNumberOfButtons() MouseInfo.getNumberOfButtons()} method.
25.39 + * This range already includes constants {@code NOBUTTON}, {@code BUTTON1},
25.40 + * {@code BUTTON2}, and {@code BUTTON3}
25.41 + * if these buttons are present. So it is allowed to use these constants too.
25.42 + * For example, for a mouse with two buttons this field may contain the following values:
25.43 + * <ul>
25.44 + * <li> 0 ({@code NOBUTTON})
25.45 + * <li> 1 ({@code BUTTON1})
25.46 + * <li> 2 ({@code BUTTON2})
25.47 + * </ul>
25.48 + * If a mouse has 5 buttons, this field may contain the following values:
25.49 + * <ul>
25.50 + * <li> 0 ({@code NOBUTTON})
25.51 + * <li> 1 ({@code BUTTON1})
25.52 + * <li> 2 ({@code BUTTON2})
25.53 + * <li> 3 ({@code BUTTON3})
25.54 + * <li> 4
25.55 + * <li> 5
25.56 + * </ul>
25.57 + * If support for extended mouse buttons is {@link Toolkit#areExtraMouseButtonsEnabled()} disabled by Java
25.58 + * then the field may not contain the value larger than {@code BUTTON3}.
25.59 * @serial
25.60 - * @see #getButton().
25.61 + * @see #getButton()
25.62 + * @see java.awt.Toolkit#areExtraMouseButtonsEnabled()
25.63 */
25.64 int button;
25.65
25.66 @@ -385,6 +412,15 @@
25.67 }
25.68
25.69 /**
25.70 + * A number of buttons available on the mouse at the {@code Toolkit} machinery startup.
25.71 + */
25.72 + private static int cachedNumberOfButtons;
25.73 +
25.74 + static {
25.75 + cachedNumberOfButtons = MouseInfo.getNumberOfButtons();
25.76 + }
25.77 +
25.78 + /**
25.79 * Returns the absolute horizontal x position of the event.
25.80 * In a virtual device multi-screen environment in which the
25.81 * desktop area could span multiple physical screen devices,
25.82 @@ -421,7 +457,8 @@
25.83 /**
25.84 * Constructs a <code>MouseEvent</code> object with the
25.85 * specified source component,
25.86 - * type, modifiers, coordinates, and click count.
25.87 + * type, time, modifiers, coordinates, click count, popupTrigger flag,
25.88 + * and button number.
25.89 * <p>
25.90 * Creating an invalid event (such
25.91 * as by using more than one of the old _MASKs, or modifier/button
25.92 @@ -464,7 +501,33 @@
25.93 * @param popupTrigger A boolean that equals {@code true} if this event
25.94 * is a trigger for a popup menu
25.95 * @param button An integer that indicates, which of the mouse buttons has
25.96 - * changed its state
25.97 + * changed its state.
25.98 + * The following rules are applied to this parameter:
25.99 + * <ul>
25.100 + * <li>If support for the extended mouse buttons is
25.101 + * {@link Toolkit#areExtraMouseButtonsEnabled() disabled} by Java
25.102 + * then it is allowed to create {@code MouseEvent} objects only with the standard buttons:
25.103 + * {@code NOBUTTON}, {@code BUTTON1}, {@code BUTTON2}, and
25.104 + * {@code BUTTON3}.
25.105 + * <li> If support for the extended mouse buttons is
25.106 + * {@link Toolkit#areExtraMouseButtonsEnabled() enabled} by Java
25.107 + * then it is allowed to create {@code MouseEvent} objects with
25.108 + * the standard buttons.
25.109 + * In case the support for extended mouse buttons is
25.110 + * {@link Toolkit#areExtraMouseButtonsEnabled() enabled} by Java, then
25.111 + * in addition to the standard buttons, {@code MouseEvent} objects can be created
25.112 + * using buttons from the range starting from 4 to
25.113 + * {@link java.awt.MouseInfo#getNumberOfButtons() MouseInfo.getNumberOfButtons()}
25.114 + * if the mouse has more than three buttons.
25.115 + * </ul>
25.116 + * @throws IllegalArgumentException if {@code button} is less then zero
25.117 + * @throws IllegalArgumentException if <code>source</code> is null
25.118 + * @throws IllegalArgumentException if {@code button} is greater then BUTTON3 and the support for extended mouse buttons is
25.119 + * {@link Toolkit#areExtraMouseButtonsEnabled() disabled} by Java
25.120 + * @throws IllegalArgumentException if {@code button} is greater then the
25.121 + * {@link java.awt.MouseInfo#getNumberOfButtons() current number of buttons} and the support
25.122 + * for extended mouse buttons is {@link Toolkit#areExtraMouseButtonsEnabled() enabled}
25.123 + * by Java
25.124 * @throws IllegalArgumentException if an invalid <code>button</code>
25.125 * value is passed in
25.126 * @throws IllegalArgumentException if <code>source</code> is null
25.127 @@ -498,7 +561,7 @@
25.128 /**
25.129 * Constructs a <code>MouseEvent</code> object with the
25.130 * specified source component,
25.131 - * type, modifiers, coordinates, and click count.
25.132 + * type, modifiers, coordinates, click count, and popupTrigger flag.
25.133 * An invocation of the form
25.134 * <tt>MouseEvent(source, id, when, modifiers, x, y, clickCount, popupTrigger)</tt>
25.135 * behaves in exactly the same way as the invocation
25.136 @@ -551,10 +614,26 @@
25.137 }
25.138
25.139
25.140 + /* if the button is an extra button and it is released or clicked then in Xsystem its state
25.141 + is not modified. Exclude this button number from ExtModifiers mask.*/
25.142 + transient private boolean shouldExcludeButtonFromExtModifiers = false;
25.143 +
25.144 + /**
25.145 + * {@inheritDoc}
25.146 + */
25.147 + public int getModifiersEx() {
25.148 + int tmpModifiers = modifiers;
25.149 + if (shouldExcludeButtonFromExtModifiers) {
25.150 + tmpModifiers &= ~(InputEvent.getMaskForButton(getButton()));
25.151 + }
25.152 + return tmpModifiers & ~JDK_1_3_MODIFIERS;
25.153 + }
25.154 +
25.155 /**
25.156 * Constructs a <code>MouseEvent</code> object with the
25.157 * specified source component,
25.158 - * type, modifiers, coordinates, absolute coordinates, and click count.
25.159 + * type, time, modifiers, coordinates, absolute coordinates, click count, popupTrigger flag,
25.160 + * and button number.
25.161 * <p>
25.162 * Creating an invalid event (such
25.163 * as by using more than one of the old _MASKs, or modifier/button
25.164 @@ -595,7 +674,33 @@
25.165 * @param popupTrigger A boolean that equals {@code true} if this event
25.166 * is a trigger for a popup menu
25.167 * @param button An integer that indicates, which of the mouse buttons has
25.168 - * changed its state
25.169 + * changed its state.
25.170 + * The following rules are applied to this parameter:
25.171 + * <ul>
25.172 + * <li>If support for the extended mouse buttons is
25.173 + * {@link Toolkit#areExtraMouseButtonsEnabled() disabled} by Java
25.174 + * then it is allowed to create {@code MouseEvent} objects only with the standard buttons:
25.175 + * {@code NOBUTTON}, {@code BUTTON1}, {@code BUTTON2}, and
25.176 + * {@code BUTTON3}.
25.177 + * <li> If support for the extended mouse buttons is
25.178 + * {@link Toolkit#areExtraMouseButtonsEnabled() enabled} by Java
25.179 + * then it is allowed to create {@code MouseEvent} objects with
25.180 + * the standard buttons.
25.181 + * In case the support for extended mouse buttons is
25.182 + * {@link Toolkit#areExtraMouseButtonsEnabled() enabled} by Java, then
25.183 + * in addition to the standard buttons, {@code MouseEvent} objects can be created
25.184 + * using buttons from the range starting from 4 to
25.185 + * {@link java.awt.MouseInfo#getNumberOfButtons() MouseInfo.getNumberOfButtons()}
25.186 + * if the mouse has more than three buttons.
25.187 + * </ul>
25.188 + * @throws IllegalArgumentException if {@code button} is less then zero
25.189 + * @throws IllegalArgumentException if <code>source</code> is null
25.190 + * @throws IllegalArgumentException if {@code button} is greater then BUTTON3 and the support for extended mouse buttons is
25.191 + * {@link Toolkit#areExtraMouseButtonsEnabled() disabled} by Java
25.192 + * @throws IllegalArgumentException if {@code button} is greater then the
25.193 + * {@link java.awt.MouseInfo#getNumberOfButtons() current number of buttons} and the support
25.194 + * for extended mouse buttons is {@link Toolkit#areExtraMouseButtonsEnabled() enabled}
25.195 + * by Java
25.196 * @throws IllegalArgumentException if an invalid <code>button</code>
25.197 * value is passed in
25.198 * @throws IllegalArgumentException if <code>source</code> is null
25.199 @@ -610,6 +715,10 @@
25.200 * @see #getClickCount()
25.201 * @see #isPopupTrigger()
25.202 * @see #getButton()
25.203 + * @see #button
25.204 + * @see Toolkit#areExtraMouseButtonsEnabled()
25.205 + * @see java.awt.MouseInfo#getNumberOfButtons()
25.206 + * @see InputEvent#getMaskForButton(int)
25.207 * @since 1.6
25.208 */
25.209 public MouseEvent(Component source, int id, long when, int modifiers,
25.210 @@ -623,14 +732,41 @@
25.211 this.yAbs = yAbs;
25.212 this.clickCount = clickCount;
25.213 this.popupTrigger = popupTrigger;
25.214 - if (button < NOBUTTON || button >BUTTON3) {
25.215 - throw new IllegalArgumentException("Invalid button value");
25.216 + if (button < NOBUTTON){
25.217 + throw new IllegalArgumentException("Invalid button value :" + button);
25.218 }
25.219 + //TODO: initialize MouseInfo.cachedNumber on toolkit creation.
25.220 + if (button > BUTTON3) {
25.221 + if (!Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled()){
25.222 + throw new IllegalArgumentException("Extra mouse events are disabled " + button);
25.223 + } else {
25.224 + if (button > cachedNumberOfButtons) {
25.225 + throw new IllegalArgumentException("Nonexistent button " + button);
25.226 + }
25.227 + }
25.228 + // XToolkit: extra buttons are not reporting about their state correctly.
25.229 + // Being pressed they report the state=0 both on the press and on the release.
25.230 + // For 1-3 buttons the state value equals zero on press and non-zero on release.
25.231 + // Other modifiers like Shift, ALT etc seem report well with extra buttons.
25.232 + // The problem reveals as follows: one button is pressed and then another button is pressed and released.
25.233 + // So, the getModifiersEx() would not be zero due to a first button and we will skip this modifier.
25.234 + // This may have to be moved into the peer code instead if possible.
25.235 +
25.236 + if (getModifiersEx() != 0) { //There is at least one more button in a pressed state.
25.237 + if (id == MouseEvent.MOUSE_RELEASED || id == MouseEvent.MOUSE_CLICKED){
25.238 + System.out.println("MEvent. CASE!");
25.239 + shouldExcludeButtonFromExtModifiers = true;
25.240 + }
25.241 + }
25.242 + }
25.243 +
25.244 this.button = button;
25.245 +
25.246 if ((getModifiers() != 0) && (getModifiersEx() == 0)) {
25.247 setNewModifiers();
25.248 } else if ((getModifiers() == 0) &&
25.249 - (getModifiersEx() != 0 || button != NOBUTTON))
25.250 + (getModifiersEx() != 0 || button != NOBUTTON) &&
25.251 + (button <= BUTTON3))
25.252 {
25.253 setOldModifiers();
25.254 }
25.255 @@ -701,13 +837,55 @@
25.256
25.257 /**
25.258 * Returns which, if any, of the mouse buttons has changed state.
25.259 + * The returned value is ranged
25.260 + * from 0 to the {@link java.awt.MouseInfo#getNumberOfButtons() MouseInfo.getNumberOfButtons()}
25.261 + * value.
25.262 + * The returned value includes at least the following constants:
25.263 + * <ul>
25.264 + * <li> {@code NOBUTTON}
25.265 + * <li> {@code BUTTON1}
25.266 + * <li> {@code BUTTON2}
25.267 + * <li> {@code BUTTON3}
25.268 + * </ul>
25.269 + * It is allowed to use those constants to compare with the returned button number in the application.
25.270 + * For example,
25.271 + * <pre>
25.272 + * if (anEvent.getButton() == MouseEvent.BUTTON1) {
25.273 + * </pre>
25.274 + * In particular, for a mouse with one, two, or three buttons this method may return the following values:
25.275 + * <ul>
25.276 + * <li> 0 ({@code NOBUTTON})
25.277 + * <li> 1 ({@code BUTTON1})
25.278 + * <li> 2 ({@code BUTTON2})
25.279 + * <li> 3 ({@code BUTTON3})
25.280 + * </ul>
25.281 + * Button numbers greater then {@code BUTTON3} have no constant identifier. So if a mouse with five buttons is
25.282 + * installed, this method may return the following values:
25.283 + * <ul>
25.284 + * <li> 0 ({@code NOBUTTON})
25.285 + * <li> 1 ({@code BUTTON1})
25.286 + * <li> 2 ({@code BUTTON2})
25.287 + * <li> 3 ({@code BUTTON3})
25.288 + * <li> 4
25.289 + * <li> 5
25.290 + * </ul>
25.291 + * <p>
25.292 + * Note: If support for extended mouse buttons is {@link Toolkit#areExtraMouseButtonsEnabled() disabled} by Java
25.293 + * then the AWT event subsystem does not produce mouse events for the extended mouse
25.294 + * buttons. So it is not expected that this method returns anything except {@code NOBUTTON}, {@code BUTTON1},
25.295 + * {@code BUTTON2}, {@code BUTTON3}.
25.296 *
25.297 - * @return one of the following constants:
25.298 - * <code>NOBUTTON</code>,
25.299 - * <code>BUTTON1</code>,
25.300 - * <code>BUTTON2</code> or
25.301 - * <code>BUTTON3</code>.
25.302 + * @return one of the values from 0 to {@link java.awt.MouseInfo#getNumberOfButtons() MouseInfo.getNumberOfButtons()}
25.303 + * if support for the extended mouse buttons is {@link Toolkit#areExtraMouseButtonsEnabled() enabled} by Java.
25.304 + * That range includes {@code NOBUTTON}, {@code BUTTON1}, {@code BUTTON2}, {@code BUTTON3};
25.305 + * <br>
25.306 + * {@code NOBUTTON}, {@code BUTTON1}, {@code BUTTON2} or {@code BUTTON3}
25.307 + * if support for the extended mouse buttons is {@link Toolkit#areExtraMouseButtonsEnabled() disabled} by Java
25.308 * @since 1.4
25.309 + * @see Toolkit#areExtraMouseButtonsEnabled()
25.310 + * @see java.awt.MouseInfo#getNumberOfButtons()
25.311 + * @see #MouseEvent(Component, int, long, int, int, int, int, int, int, boolean, int)
25.312 + * @see InputEvent#getMaskForButton(int)
25.313 */
25.314 public int getButton() {
25.315 return button;
25.316 @@ -746,7 +924,7 @@
25.317 * and will cause the returning an unspecified string.
25.318 * Zero parameter means that no modifiers were passed and will
25.319 * cause the returning an empty string.
25.320 - *
25.321 + * <p>
25.322 * @param modifiers A modifier mask describing the modifier keys and
25.323 * mouse buttons that were down during the event
25.324 * @return string string text description of the combination of modifier
25.325 @@ -788,6 +966,24 @@
25.326 buf.append(Toolkit.getProperty("AWT.button3", "Button3"));
25.327 buf.append("+");
25.328 }
25.329 +
25.330 + int mask;
25.331 +
25.332 + // TODO: add a toolkit field that holds a number of button on the mouse.
25.333 + // As the method getMouseModifiersText() is static and obtain
25.334 + // an integer as a parameter then we may not restrict this with the number
25.335 + // of buttons installed on the mouse.
25.336 + // It's a temporary solution. We need to somehow hold the number of buttons somewhere else.
25.337 + for (int i = 1; i <= cachedNumberOfButtons; i++){
25.338 + mask = InputEvent.getMaskForButton(i);
25.339 + if ((modifiers & mask) != 0 &&
25.340 + buf.indexOf(Toolkit.getProperty("AWT.button"+i, "Button"+i)) == -1) //1,2,3 buttons may already be there; so don't duplicate it.
25.341 + {
25.342 + buf.append(Toolkit.getProperty("AWT.button"+i, "Button"+i));
25.343 + buf.append("+");
25.344 + }
25.345 + }
25.346 +
25.347 if (buf.length() > 0) {
25.348 buf.setLength(buf.length()-1); // remove trailing '+'
25.349 }
25.350 @@ -836,14 +1032,18 @@
25.351 str.append(",(").append(x).append(",").append(y).append(")");
25.352 str.append(",absolute(").append(xAbs).append(",").append(yAbs).append(")");
25.353
25.354 - str.append(",button=").append(getButton());
25.355 + if (id != MOUSE_DRAGGED && id != MOUSE_MOVED){
25.356 + str.append(",button=").append(getButton());
25.357 + }
25.358
25.359 if (getModifiers() != 0) {
25.360 str.append(",modifiers=").append(getMouseModifiersText(modifiers));
25.361 }
25.362
25.363 if (getModifiersEx() != 0) {
25.364 - str.append(",extModifiers=").append(getModifiersExText(modifiers));
25.365 + //Using plain "modifiers" here does show an excluded extended buttons in the string event representation.
25.366 + //getModifiersEx() solves the problem.
25.367 + str.append(",extModifiers=").append(getModifiersExText(getModifiersEx()));
25.368 }
25.369
25.370 str.append(",clickCount=").append(clickCount);
26.1 --- a/src/share/classes/java/awt/peer/ButtonPeer.java Tue Feb 17 09:06:16 2009 -0800
26.2 +++ b/src/share/classes/java/awt/peer/ButtonPeer.java Wed Feb 18 10:05:41 2009 -0800
26.3 @@ -25,7 +25,11 @@
26.4
26.5 package java.awt.peer;
26.6
26.7 +import java.awt.Button;
26.8 +
26.9 /**
26.10 + * The peer interface for {@link Button}.
26.11 + *
26.12 * The peer interfaces are intended only for use in porting
26.13 * the AWT. They are not intended for use by application
26.14 * developers, and developers should not implement peers
26.15 @@ -33,5 +37,14 @@
26.16 * instances.
26.17 */
26.18 public interface ButtonPeer extends ComponentPeer {
26.19 +
26.20 + /**
26.21 + * Sets the label that is displayed on the button. Can be {@code null}
26.22 + * when the button should not display a label.
26.23 + *
26.24 + * @param label the label string to set
26.25 + *
26.26 + * @see Button#setLabel
26.27 + */
26.28 void setLabel(String label);
26.29 }
27.1 --- a/src/share/classes/java/awt/peer/CanvasPeer.java Tue Feb 17 09:06:16 2009 -0800
27.2 +++ b/src/share/classes/java/awt/peer/CanvasPeer.java Wed Feb 18 10:05:41 2009 -0800
27.3 @@ -24,7 +24,11 @@
27.4 */
27.5 package java.awt.peer;
27.6
27.7 +import java.awt.Canvas;
27.8 +
27.9 /**
27.10 + * The peer interface for {@link Canvas}.
27.11 + *
27.12 * The peer interfaces are intended only for use in porting
27.13 * the AWT. They are not intended for use by application
27.14 * developers, and developers should not implement peers
28.1 --- a/src/share/classes/java/awt/peer/CheckboxMenuItemPeer.java Tue Feb 17 09:06:16 2009 -0800
28.2 +++ b/src/share/classes/java/awt/peer/CheckboxMenuItemPeer.java Wed Feb 18 10:05:41 2009 -0800
28.3 @@ -24,7 +24,11 @@
28.4 */
28.5 package java.awt.peer;
28.6
28.7 +import java.awt.CheckboxMenuItem;
28.8 +
28.9 /**
28.10 + * The peer interface for {@link CheckboxMenuItem}.
28.11 + *
28.12 * The peer interfaces are intended only for use in porting
28.13 * the AWT. They are not intended for use by application
28.14 * developers, and developers should not implement peers
28.15 @@ -32,5 +36,14 @@
28.16 * instances.
28.17 */
28.18 public interface CheckboxMenuItemPeer extends MenuItemPeer {
28.19 +
28.20 + /**
28.21 + * Sets the state of the checkbox to be checked ({@code true}) or
28.22 + * unchecked ({@code false}).
28.23 + *
28.24 + * @param t the state to set on the checkbox
28.25 + *
28.26 + * @see CheckboxMenuItemPeer#setState(boolean)
28.27 + */
28.28 void setState(boolean t);
28.29 }
29.1 --- a/src/share/classes/java/awt/peer/CheckboxPeer.java Tue Feb 17 09:06:16 2009 -0800
29.2 +++ b/src/share/classes/java/awt/peer/CheckboxPeer.java Wed Feb 18 10:05:41 2009 -0800
29.3 @@ -27,6 +27,8 @@
29.4 import java.awt.*;
29.5
29.6 /**
29.7 + * The peer interface for {@link Checkbox}.
29.8 + *
29.9 * The peer interfaces are intended only for use in porting
29.10 * the AWT. They are not intended for use by application
29.11 * developers, and developers should not implement peers
29.12 @@ -34,7 +36,36 @@
29.13 * instances.
29.14 */
29.15 public interface CheckboxPeer extends ComponentPeer {
29.16 +
29.17 + /**
29.18 + * Sets the state of the checkbox to be checked ({@code true}) or
29.19 + * unchecked ({@code false}).
29.20 + *
29.21 + * @param t the state to set on the checkbox
29.22 + *
29.23 + * @see Checkbox#setState(boolean)
29.24 + */
29.25 void setState(boolean state);
29.26 +
29.27 + /**
29.28 + * Sets the checkbox group for this checkbox. Checkboxes in one checkbox
29.29 + * group can only be selected exclusively (like radio buttons). A value
29.30 + * of {@code null} removes this checkbox from any checkbox group.
29.31 + *
29.32 + * @param g the checkbox group to set, or {@code null} when this
29.33 + * checkbox should not be placed in any group
29.34 + *
29.35 + * @see Checkbox#setCheckboxGroup(CheckboxGroup)
29.36 + */
29.37 void setCheckboxGroup(CheckboxGroup g);
29.38 +
29.39 + /**
29.40 + * Sets the label that should be displayed on the ckeckbox. A value of
29.41 + * {@code null} means that no label should be displayed.
29.42 + *
29.43 + * @param label the label to be displayed on the checkbox, or
29.44 + * {@code null} when no label should be displayed.
29.45 + */
29.46 void setLabel(String label);
29.47 +
29.48 }
30.1 --- a/src/share/classes/java/awt/peer/ChoicePeer.java Tue Feb 17 09:06:16 2009 -0800
30.2 +++ b/src/share/classes/java/awt/peer/ChoicePeer.java Wed Feb 18 10:05:41 2009 -0800
30.3 @@ -24,7 +24,11 @@
30.4 */
30.5 package java.awt.peer;
30.6
30.7 +import java.awt.Choice;
30.8 +
30.9 /**
30.10 + * The peer interface for {@link Choice}.
30.11 + *
30.12 * The peer interfaces are intended only for use in porting
30.13 * the AWT. They are not intended for use by application
30.14 * developers, and developers should not implement peers
30.15 @@ -32,13 +36,41 @@
30.16 * instances.
30.17 */
30.18 public interface ChoicePeer extends ComponentPeer {
30.19 +
30.20 + /**
30.21 + * Adds an item with the string {@code item} to the combo box list
30.22 + * at index {@code index}.
30.23 + *
30.24 + * @param item the label to be added to the list
30.25 + * @param index the index where to add the item
30.26 + *
30.27 + * @see Choice#add(String)
30.28 + */
30.29 void add(String item, int index);
30.30 +
30.31 + /**
30.32 + * Removes the item at index {@code index} from the combo box list.
30.33 + *
30.34 + * @param index the index where to remove the item
30.35 + *
30.36 + * @see Choice#remove(int)
30.37 + */
30.38 void remove(int index);
30.39 +
30.40 + /**
30.41 + * Removes all items from the combo box list.
30.42 + *
30.43 + * @see Choice#removeAll()
30.44 + */
30.45 void removeAll();
30.46 +
30.47 + /**
30.48 + * Selects the item at index {@code index}.
30.49 + *
30.50 + * @param index the index which should be selected
30.51 + *
30.52 + * @see Choice#select(int)
30.53 + */
30.54 void select(int index);
30.55
30.56 - /*
30.57 - * DEPRECATED: Replaced by add(String, int).
30.58 - */
30.59 - void addItem(String item, int index);
30.60 }
31.1 --- a/src/share/classes/java/awt/peer/ComponentPeer.java Tue Feb 17 09:06:16 2009 -0800
31.2 +++ b/src/share/classes/java/awt/peer/ComponentPeer.java Wed Feb 18 10:05:41 2009 -0800
31.3 @@ -37,6 +37,12 @@
31.4
31.5
31.6 /**
31.7 + * The peer interface for {@link Component}. This is the top level peer
31.8 + * interface for widgets and defines the bulk of methods for AWT component
31.9 + * peers. Most component peers have to implement this interface (via one
31.10 + * of the subinterfaces), except menu components, which implement
31.11 + * {@link MenuComponentPeer}.
31.12 + *
31.13 * The peer interfaces are intended only for use in porting
31.14 * the AWT. They are not intended for use by application
31.15 * developers, and developers should not implement peers
31.16 @@ -44,63 +50,474 @@
31.17 * instances.
31.18 */
31.19 public interface ComponentPeer {
31.20 - public static final int SET_LOCATION = 1,
31.21 - SET_SIZE = 2,
31.22 - SET_BOUNDS = 3,
31.23 - SET_CLIENT_SIZE = 4,
31.24 - RESET_OPERATION = 5,
31.25 - NO_EMBEDDED_CHECK = (1 << 14),
31.26 - DEFAULT_OPERATION = SET_BOUNDS;
31.27 +
31.28 + /**
31.29 + * Operation for {@link #setBounds(int, int, int, int, int)}, indicating
31.30 + * a change in the component location only.
31.31 + *
31.32 + * @see #setBounds(int, int, int, int, int)
31.33 + */
31.34 + public static final int SET_LOCATION = 1;
31.35 +
31.36 + /**
31.37 + * Operation for {@link #setBounds(int, int, int, int, int)}, indicating
31.38 + * a change in the component size only.
31.39 + *
31.40 + * @see #setBounds(int, int, int, int, int)
31.41 + */
31.42 + public static final int SET_SIZE = 2;
31.43 +
31.44 + /**
31.45 + * Operation for {@link #setBounds(int, int, int, int, int)}, indicating
31.46 + * a change in the component size and location.
31.47 + *
31.48 + * @see #setBounds(int, int, int, int, int)
31.49 + */
31.50 + public static final int SET_BOUNDS = 3;
31.51 +
31.52 + /**
31.53 + * Operation for {@link #setBounds(int, int, int, int, int)}, indicating
31.54 + * a change in the component client size. This is used for setting
31.55 + * the 'inside' size of windows, without the border insets.
31.56 + *
31.57 + * @see #setBounds(int, int, int, int, int)
31.58 + */
31.59 + public static final int SET_CLIENT_SIZE = 4;
31.60 +
31.61 + /**
31.62 + * Resets the setBounds() operation to DEFAULT_OPERATION. This is not
31.63 + * passed into {@link #setBounds(int, int, int, int, int)}.
31.64 + *
31.65 + * TODO: This is only used internally and should probably be moved outside
31.66 + * the peer interface.
31.67 + *
31.68 + * @see Component#setBoundsOp
31.69 + */
31.70 + public static final int RESET_OPERATION = 5;
31.71 +
31.72 + /**
31.73 + * A flag that is used to suppress checks for embedded frames.
31.74 + *
31.75 + * TODO: This is only used internally and should probably be moved outside
31.76 + * the peer interface.
31.77 + */
31.78 + public static final int NO_EMBEDDED_CHECK = (1 << 14);
31.79 +
31.80 + /**
31.81 + * The default operation, which is to set size and location.
31.82 + *
31.83 + * TODO: This is only used internally and should probably be moved outside
31.84 + * the peer interface.
31.85 + *
31.86 + * @see Component#setBoundsOp
31.87 + */
31.88 + public static final int DEFAULT_OPERATION = SET_BOUNDS;
31.89 +
31.90 + /**
31.91 + * Determines if a component has been obscured, i.e. by an overlapping
31.92 + * window or similar. This is used by JViewport for optimizing performance.
31.93 + * This doesn't have to be implemented, when
31.94 + * {@link #canDetermineObscurity()} returns {@code false}.
31.95 + *
31.96 + * @return {@code true} when the component has been obscured,
31.97 + * {@code false} otherwise
31.98 + *
31.99 + * @see #canDetermineObscurity()
31.100 + * @see javax.swing.JViewport#needsRepaintAfterBlit
31.101 + */
31.102 boolean isObscured();
31.103 +
31.104 + /**
31.105 + * Returns {@code true} when the peer can determine if a component
31.106 + * has been obscured, {@code false} false otherwise.
31.107 + *
31.108 + * @return {@code true} when the peer can determine if a component
31.109 + * has been obscured, {@code false} false otherwise
31.110 + *
31.111 + * @see #isObscured()
31.112 + * @see javax.swing.JViewport#needsRepaintAfterBlit
31.113 + */
31.114 boolean canDetermineObscurity();
31.115 - void setVisible(boolean b);
31.116 - void setEnabled(boolean b);
31.117 - void paint(Graphics g);
31.118 - void repaint(long tm, int x, int y, int width, int height);
31.119 - void print(Graphics g);
31.120 - void setBounds(int x, int y, int width, int height, int op);
31.121 - void handleEvent(AWTEvent e);
31.122 - void coalescePaintEvent(PaintEvent e);
31.123 - Point getLocationOnScreen();
31.124 - Dimension getPreferredSize();
31.125 - Dimension getMinimumSize();
31.126 - ColorModel getColorModel();
31.127 - Toolkit getToolkit();
31.128 - Graphics getGraphics();
31.129 - FontMetrics getFontMetrics(Font font);
31.130 - void dispose();
31.131 - void setForeground(Color c);
31.132 - void setBackground(Color c);
31.133 - void setFont(Font f);
31.134 - void updateCursorImmediately();
31.135 - boolean requestFocus(Component lightweightChild,
31.136 - boolean temporary,
31.137 - boolean focusedWindowChangeAllowed,
31.138 - long time, CausedFocusEvent.Cause cause);
31.139 - boolean isFocusable();
31.140
31.141 - Image createImage(ImageProducer producer);
31.142 - Image createImage(int width, int height);
31.143 - VolatileImage createVolatileImage(int width, int height);
31.144 - boolean prepareImage(Image img, int w, int h, ImageObserver o);
31.145 - int checkImage(Image img, int w, int h, ImageObserver o);
31.146 + /**
31.147 + * Makes a component visible or invisible.
31.148 + *
31.149 + * @param v {@code true} to make a component visible,
31.150 + * {@code false} to make it invisible
31.151 + *
31.152 + * @see Component#setVisible(boolean)
31.153 + */
31.154 + void setVisible(boolean v);
31.155 +
31.156 + /**
31.157 + * Enables or disables a component. Disabled components are usually grayed
31.158 + * out and cannot be activated.
31.159 + *
31.160 + * @param e {@code true} to enable the component, {@code false}
31.161 + * to disable it
31.162 + *
31.163 + * @see Component#setEnabled(boolean)
31.164 + */
31.165 + void setEnabled(boolean e);
31.166 +
31.167 + /**
31.168 + * Paints the component to the specified graphics context. This is called
31.169 + * by {@link Component#paintAll(Graphics)} to paint the component.
31.170 + *
31.171 + * @param g the graphics context to paint to
31.172 + *
31.173 + * @see Component#paintAll(Graphics)
31.174 + */
31.175 + void paint(Graphics g);
31.176 +
31.177 + /**
31.178 + * Prints the component to the specified graphics context. This is called
31.179 + * by {@link Component#printAll(Graphics)} to print the component.
31.180 + *
31.181 + * @param g the graphics context to print to
31.182 + *
31.183 + * @see Component#printAll(Graphics)
31.184 + */
31.185 + void print(Graphics g);
31.186 +
31.187 + /**
31.188 + * Sets the location or size or both of the component. The location is
31.189 + * specified relative to the component's parent. The {@code op}
31.190 + * parameter specifies which properties change. If it is
31.191 + * {@link #SET_LOCATION}, then only the location changes (and the size
31.192 + * parameters can be ignored). If {@code op} is {@link #SET_SIZE},
31.193 + * then only the size changes (and the location can be ignored). If
31.194 + * {@code op} is {@link #SET_BOUNDS}, then both change. There is a
31.195 + * special value {@link #SET_CLIENT_SIZE}, which is used only for
31.196 + * window-like components to set the size of the client (i.e. the 'inner'
31.197 + * size, without the insets of the window borders).
31.198 + *
31.199 + * @param x the X location of the component
31.200 + * @param y the Y location of the component
31.201 + * @param width the width of the component
31.202 + * @param height the height of the component
31.203 + * @param op the operation flag
31.204 + *
31.205 + * @see #SET_BOUNDS
31.206 + * @see #SET_LOCATION
31.207 + * @see #SET_SIZE
31.208 + * @see #SET_CLIENT_SIZE
31.209 + */
31.210 + void setBounds(int x, int y, int width, int height, int op);
31.211 +
31.212 + /**
31.213 + * Called to let the component peer handle events.
31.214 + *
31.215 + * @param e the AWT event to handle
31.216 + *
31.217 + * @see Component#dispatchEvent(AWTEvent)
31.218 + */
31.219 + void handleEvent(AWTEvent e);
31.220 +
31.221 + /**
31.222 + * Called to coalesce paint events.
31.223 + *
31.224 + * @param e the paint event to consider to coalesce
31.225 + *
31.226 + * @see EventQueue#coalescePaintEvent
31.227 + */
31.228 + void coalescePaintEvent(PaintEvent e);
31.229 +
31.230 + /**
31.231 + * Determines the location of the component on the screen.
31.232 + *
31.233 + * @return the location of the component on the screen
31.234 + *
31.235 + * @see Component#getLocationOnScreen()
31.236 + */
31.237 + Point getLocationOnScreen();
31.238 +
31.239 + /**
31.240 + * Determines the preferred size of the component.
31.241 + *
31.242 + * @return the preferred size of the component
31.243 + *
31.244 + * @see Component#getPreferredSize()
31.245 + */
31.246 + Dimension getPreferredSize();
31.247 +
31.248 + /**
31.249 + * Determines the minimum size of the component.
31.250 + *
31.251 + * @return the minimum size of the component
31.252 + *
31.253 + * @see Component#getMinimumSize()
31.254 + */
31.255 + Dimension getMinimumSize();
31.256 +
31.257 + /**
31.258 + * Returns the color model used by the component.
31.259 + *
31.260 + * @return the color model used by the component
31.261 + *
31.262 + * @see Component#getColorModel()
31.263 + */
31.264 + ColorModel getColorModel();
31.265 +
31.266 + /**
31.267 + * Returns the toolkit that is responsible for the component.
31.268 + *
31.269 + * @return the toolkit that is responsible for the component
31.270 + *
31.271 + * @see Component#getToolkit()
31.272 + */
31.273 + Toolkit getToolkit();
31.274 +
31.275 + /**
31.276 + * Returns a graphics object to paint on the component.
31.277 + *
31.278 + * @return a graphics object to paint on the component
31.279 + *
31.280 + * @see Component#getGraphics()
31.281 + */
31.282 + // TODO: Maybe change this to force Graphics2D, since many things will
31.283 + // break with plain Graphics nowadays.
31.284 + Graphics getGraphics();
31.285 +
31.286 + /**
31.287 + * Returns a font metrics object to determine the metrics properties of
31.288 + * the specified font.
31.289 + *
31.290 + * @param font the font to determine the metrics for
31.291 + *
31.292 + * @return a font metrics object to determine the metrics properties of
31.293 + * the specified font
31.294 + *
31.295 + * @see Component#getFontMetrics(Font)
31.296 + */
31.297 + FontMetrics getFontMetrics(Font font);
31.298 +
31.299 + /**
31.300 + * Disposes all resources held by the component peer. This is called
31.301 + * when the component has been disconnected from the component hierarchy
31.302 + * and is about to be garbage collected.
31.303 + *
31.304 + * @see Component#removeNotify()
31.305 + */
31.306 + void dispose();
31.307 +
31.308 + /**
31.309 + * Sets the foreground color of this component.
31.310 + *
31.311 + * @param c the foreground color to set
31.312 + *
31.313 + * @see Component#setForeground(Color)
31.314 + */
31.315 + void setForeground(Color c);
31.316 +
31.317 + /**
31.318 + * Sets the background color of this component.
31.319 + *
31.320 + * @param c the background color to set
31.321 + *
31.322 + * @see Component#setBackground(Color)
31.323 + */
31.324 + void setBackground(Color c);
31.325 +
31.326 + /**
31.327 + * Sets the font of this component.
31.328 + *
31.329 + * @param f the font of this component
31.330 + *
31.331 + * @see Component#setFont(Font)
31.332 + */
31.333 + void setFont(Font f);
31.334 +
31.335 + /**
31.336 + * Updates the cursor of the component.
31.337 + *
31.338 + * @see Component#updateCursorImmediately
31.339 + */
31.340 + void updateCursorImmediately();
31.341 +
31.342 + /**
31.343 + * Requests focus on this component.
31.344 + *
31.345 + * @param lightweightChild the actual lightweight child that requests the
31.346 + * focus
31.347 + * @param temporary {@code true} if the focus change is temporary,
31.348 + * {@code false} otherwise
31.349 + * @param focusedWindowChangeAllowed {@code true} if changing the
31.350 + * focus of the containing window is allowed or not
31.351 + * @param time the time of the focus change request
31.352 + * @param cause the cause of the focus change request
31.353 + *
31.354 + * @return {@code true} if the focus change is guaranteed to be
31.355 + * granted, {@code false} otherwise
31.356 + */
31.357 + boolean requestFocus(Component lightweightChild, boolean temporary,
31.358 + boolean focusedWindowChangeAllowed, long time,
31.359 + CausedFocusEvent.Cause cause);
31.360 +
31.361 + /**
31.362 + * Returns {@code true} when the component takes part in the focus
31.363 + * traversal, {@code false} otherwise.
31.364 + *
31.365 + * @return {@code true} when the component takes part in the focus
31.366 + * traversal, {@code false} otherwise
31.367 + */
31.368 + boolean isFocusable();
31.369 +
31.370 + /**
31.371 + * Creates an image using the specified image producer.
31.372 + *
31.373 + * @param producer the image producer from which the image pixels will be
31.374 + * produced
31.375 + *
31.376 + * @return the created image
31.377 + *
31.378 + * @see Component#createImage(ImageProducer)
31.379 + */
31.380 + Image createImage(ImageProducer producer);
31.381 +
31.382 + /**
31.383 + * Creates an empty image with the specified width and height. This is
31.384 + * generally used as a non-accelerated backbuffer for drawing onto the
31.385 + * component (e.g. by Swing).
31.386 + *
31.387 + * @param width the width of the image
31.388 + * @param height the height of the image
31.389 + *
31.390 + * @return the created image
31.391 + *
31.392 + * @see Component#createImage(int, int)
31.393 + */
31.394 + // TODO: Maybe make that return a BufferedImage, because some stuff will
31.395 + // break if a different kind of image is returned.
31.396 + Image createImage(int width, int height);
31.397 +
31.398 + /**
31.399 + * Creates an empty volatile image with the specified width and height.
31.400 + * This is generally used as an accelerated backbuffer for drawing onto
31.401 + * the component (e.g. by Swing).
31.402 + *
31.403 + * @param width the width of the image
31.404 + * @param height the height of the image
31.405 + *
31.406 + * @return the created volatile image
31.407 + *
31.408 + * @see Component#createVolatileImage(int, int)
31.409 + */
31.410 + // TODO: Include capabilities here and fix Component#createVolatileImage
31.411 + VolatileImage createVolatileImage(int width, int height);
31.412 +
31.413 + /**
31.414 + * Prepare the specified image for rendering on this component. This should
31.415 + * start loading the image (if not already loaded) and create an
31.416 + * appropriate screen representation.
31.417 + *
31.418 + * @param img the image to prepare
31.419 + * @param w the width of the screen representation
31.420 + * @param h the height of the screen representation
31.421 + * @param o an image observer to observe the progress
31.422 + *
31.423 + * @return {@code true} if the image is already fully prepared,
31.424 + * {@code false} otherwise
31.425 + *
31.426 + * @see Component#prepareImage(Image, int, int, ImageObserver)
31.427 + */
31.428 + boolean prepareImage(Image img, int w, int h, ImageObserver o);
31.429 +
31.430 + /**
31.431 + * Determines the status of the construction of the screen representaion
31.432 + * of the specified image.
31.433 + *
31.434 + * @param img the image to check
31.435 + * @param w the target width
31.436 + * @param h the target height
31.437 + * @param o the image observer to notify
31.438 + *
31.439 + * @return the status as bitwise ORed ImageObserver flags
31.440 + *
31.441 + * @see Component#checkImage(Image, int, int, ImageObserver)
31.442 + */
31.443 + int checkImage(Image img, int w, int h, ImageObserver o);
31.444 +
31.445 + /**
31.446 + * Returns the graphics configuration that corresponds to this component.
31.447 + *
31.448 + * @return the graphics configuration that corresponds to this component
31.449 + *
31.450 + * @see Component#getGraphicsConfiguration()
31.451 + */
31.452 GraphicsConfiguration getGraphicsConfiguration();
31.453 - boolean handlesWheelScrolling();
31.454 - void createBuffers(int numBuffers, BufferCapabilities caps) throws AWTException;
31.455 +
31.456 + /**
31.457 + * Determines if the component handles wheel scrolling itself. Otherwise
31.458 + * it is delegated to the component's parent.
31.459 + *
31.460 + * @return {@code true} if the component handles wheel scrolling,
31.461 + * {@code false} otherwise
31.462 + *
31.463 + * @see Component#dispatchEventImpl(AWTEvent)
31.464 + */
31.465 + boolean handlesWheelScrolling();
31.466 +
31.467 + /**
31.468 + * Create {@code numBuffers} flipping buffers with the specified
31.469 + * buffer capabilities.
31.470 + *
31.471 + * @param numBuffers the number of buffers to create
31.472 + * @param caps the buffer capabilities
31.473 + *
31.474 + * @throws AWTException if flip buffering is not supported
31.475 + *
31.476 + * @see Component.FlipBufferStrategy#createBuffers
31.477 + */
31.478 + void createBuffers(int numBuffers, BufferCapabilities caps)
31.479 + throws AWTException;
31.480 +
31.481 + /**
31.482 + * Returns the back buffer as image.
31.483 + *
31.484 + * @return the back buffer as image
31.485 + *
31.486 + * @see Component.FlipBufferStrategy#getBackBuffer
31.487 + */
31.488 Image getBackBuffer();
31.489 +
31.490 + /**
31.491 + * Move the back buffer to the front buffer.
31.492 + *
31.493 + * @param x1 the area to be flipped, upper left X coordinate
31.494 + * @param y1 the area to be flipped, upper left Y coordinate
31.495 + * @param x2 the area to be flipped, lower right X coordinate
31.496 + * @param y2 the area to be flipped, lower right Y coordinate
31.497 + * @param flipAction the flip action to perform
31.498 + *
31.499 + * @see Component.FlipBufferStrategy#flip
31.500 + */
31.501 void flip(int x1, int y1, int x2, int y2, BufferCapabilities.FlipContents flipAction);
31.502 +
31.503 + /**
31.504 + * Destroys all created buffers.
31.505 + *
31.506 + * @see Component.FlipBufferStrategy#destroyBuffers
31.507 + */
31.508 void destroyBuffers();
31.509
31.510 /**
31.511 - * Reparents this peer to the new parent referenced by <code>newContainer</code> peer
31.512 - * Implementation depends on toolkit and container.
31.513 + * Reparents this peer to the new parent referenced by
31.514 + * {@code newContainer} peer. Implementation depends on toolkit and
31.515 + * container.
31.516 + *
31.517 * @param newContainer peer of the new parent container
31.518 + *
31.519 * @since 1.5
31.520 */
31.521 void reparent(ContainerPeer newContainer);
31.522 +
31.523 /**
31.524 - * Returns whether this peer supports reparenting to another parent withour destroying the peer
31.525 + * Returns whether this peer supports reparenting to another parent without
31.526 + * destroying the peer.
31.527 + *
31.528 * @return true if appropriate reparent is supported, false otherwise
31.529 + *
31.530 * @since 1.5
31.531 */
31.532 boolean isReparentSupported();
31.533 @@ -109,50 +526,17 @@
31.534 * Used by lightweight implementations to tell a ComponentPeer to layout
31.535 * its sub-elements. For instance, a lightweight Checkbox needs to layout
31.536 * the box, as well as the text label.
31.537 + *
31.538 + * @see Component#validate()
31.539 */
31.540 - void layout();
31.541 -
31.542 -
31.543 - Rectangle getBounds();
31.544 + void layout();
31.545
31.546 /**
31.547 * Applies the shape to the native component window.
31.548 * @since 1.7
31.549 + *
31.550 + * @see Component#applyCompoundShape
31.551 */
31.552 void applyShape(Region shape);
31.553
31.554 - /**
31.555 - * DEPRECATED: Replaced by getPreferredSize().
31.556 - */
31.557 - Dimension preferredSize();
31.558 -
31.559 - /**
31.560 - * DEPRECATED: Replaced by getMinimumSize().
31.561 - */
31.562 - Dimension minimumSize();
31.563 -
31.564 - /**
31.565 - * DEPRECATED: Replaced by setVisible(boolean).
31.566 - */
31.567 - void show();
31.568 -
31.569 - /**
31.570 - * DEPRECATED: Replaced by setVisible(boolean).
31.571 - */
31.572 - void hide();
31.573 -
31.574 - /**
31.575 - * DEPRECATED: Replaced by setEnabled(boolean).
31.576 - */
31.577 - void enable();
31.578 -
31.579 - /**
31.580 - * DEPRECATED: Replaced by setEnabled(boolean).
31.581 - */
31.582 - void disable();
31.583 -
31.584 - /**
31.585 - * DEPRECATED: Replaced by setBounds(int, int, int, int).
31.586 - */
31.587 - void reshape(int x, int y, int width, int height);
31.588 }
32.1 --- a/src/share/classes/java/awt/peer/ContainerPeer.java Tue Feb 17 09:06:16 2009 -0800
32.2 +++ b/src/share/classes/java/awt/peer/ContainerPeer.java Wed Feb 18 10:05:41 2009 -0800
32.3 @@ -27,6 +27,9 @@
32.4 import java.awt.*;
32.5
32.6 /**
32.7 + * The peer interface for {@link Container}. This is the parent interface
32.8 + * for all container like widgets.
32.9 + *
32.10 * The peer interfaces are intended only for use in porting
32.11 * the AWT. They are not intended for use by application
32.12 * developers, and developers should not implement peers
32.13 @@ -34,30 +37,60 @@
32.14 * instances.
32.15 */
32.16 public interface ContainerPeer extends ComponentPeer {
32.17 - Insets getInsets();
32.18 - void beginValidate();
32.19 - void endValidate();
32.20 - void beginLayout();
32.21 - void endLayout();
32.22 - boolean isPaintPending();
32.23
32.24 /**
32.25 - * Restacks native windows - children of this native window - according to Java container order
32.26 + * Returns the insets of this container. Insets usually is the space that
32.27 + * is occupied by things like borders.
32.28 + *
32.29 + * @return the insets of this container
32.30 + */
32.31 + Insets getInsets();
32.32 +
32.33 + /**
32.34 + * Notifies the peer that validation of the component tree is about to
32.35 + * begin.
32.36 + *
32.37 + * @see Container#validate()
32.38 + */
32.39 + void beginValidate();
32.40 +
32.41 + /**
32.42 + * Notifies the peer that validation of the component tree is finished.
32.43 + *
32.44 + * @see Container#validate()
32.45 + */
32.46 + void endValidate();
32.47 +
32.48 + /**
32.49 + * Notifies the peer that layout is about to begin. This is called
32.50 + * before the container itself and its children are laid out.
32.51 + *
32.52 + * @see Container#validateTree()
32.53 + */
32.54 + void beginLayout();
32.55 +
32.56 + /**
32.57 + * Notifies the peer that layout is finished. This is called after the
32.58 + * container and its children have been laid out.
32.59 + *
32.60 + * @see Container#validateTree()
32.61 + */
32.62 + void endLayout();
32.63 +
32.64 + /**
32.65 + * Restacks native windows - children of this native window - according to
32.66 + * Java container order.
32.67 + *
32.68 * @since 1.5
32.69 */
32.70 void restack();
32.71
32.72 /**
32.73 - * Indicates availabiltity of restacking operation in this container.
32.74 + * Indicates availability of restacking operation in this container.
32.75 + *
32.76 * @return Returns true if restack is supported, false otherwise
32.77 + *
32.78 * @since 1.5
32.79 */
32.80 boolean isRestackSupported();
32.81 - /**
32.82 -
32.83 -
32.84 -
32.85 - * DEPRECATED: Replaced by getInsets().
32.86 - */
32.87 - Insets insets();
32.88 }
33.1 --- a/src/share/classes/java/awt/peer/DesktopPeer.java Tue Feb 17 09:06:16 2009 -0800
33.2 +++ b/src/share/classes/java/awt/peer/DesktopPeer.java Wed Feb 18 10:05:41 2009 -0800
33.3 @@ -32,7 +32,7 @@
33.4 import java.awt.Desktop.Action;
33.5
33.6 /**
33.7 - * The <code>DesktopPeer</code> interface provides methods for the operation
33.8 + * The {@code DesktopPeer} interface provides methods for the operation
33.9 * of open, edit, print, browse and mail with the given URL or file, by
33.10 * launching the associated application.
33.11 * <p>
33.12 @@ -40,14 +40,15 @@
33.13 *
33.14 */
33.15 public interface DesktopPeer {
33.16 +
33.17 /**
33.18 * Returns whether the given action is supported on the current platform.
33.19 * @param action the action type to be tested if it's supported on the
33.20 * current platform.
33.21 - * @return <code>true</code> if the given action is supported on
33.22 - * the current platform; <code>false</code> otherwise.
33.23 + * @return {@code true} if the given action is supported on
33.24 + * the current platform; {@code false} otherwise.
33.25 */
33.26 - public boolean isSupported(Action action);
33.27 + boolean isSupported(Action action);
33.28
33.29 /**
33.30 * Launches the associated application to open the given file. The
33.31 @@ -58,7 +59,7 @@
33.32 * @throws IOException If the given file has no associated application,
33.33 * or the associated application fails to be launched.
33.34 */
33.35 - public void open(File file) throws IOException;
33.36 + void open(File file) throws IOException;
33.37
33.38 /**
33.39 * Launches the associated editor and opens the given file for editing. The
33.40 @@ -69,7 +70,7 @@
33.41 * @throws IOException If the given file has no associated editor, or
33.42 * the associated application fails to be launched.
33.43 */
33.44 - public void edit(File file) throws IOException;
33.45 + void edit(File file) throws IOException;
33.46
33.47 /**
33.48 * Prints the given file with the native desktop printing facility, using
33.49 @@ -79,7 +80,7 @@
33.50 * @throws IOException If the given file has no associated application
33.51 * that can be used to print it.
33.52 */
33.53 - public void print(File file) throws IOException;
33.54 + void print(File file) throws IOException;
33.55
33.56 /**
33.57 * Launches the mail composing window of the user default mail client,
33.58 @@ -93,7 +94,7 @@
33.59 * @throws IOException If the user default mail client is not found,
33.60 * or it fails to be launched.
33.61 */
33.62 - public void mail(URI mailtoURL) throws IOException;
33.63 + void mail(URI mailtoURL) throws IOException;
33.64
33.65 /**
33.66 * Launches the user default browser to display the given URI.
33.67 @@ -102,5 +103,5 @@
33.68 * @throws IOException If the user default browser is not found,
33.69 * or it fails to be launched.
33.70 */
33.71 - public void browse(URI url) throws IOException;
33.72 + void browse(URI url) throws IOException;
33.73 }
34.1 --- a/src/share/classes/java/awt/peer/DialogPeer.java Tue Feb 17 09:06:16 2009 -0800
34.2 +++ b/src/share/classes/java/awt/peer/DialogPeer.java Wed Feb 18 10:05:41 2009 -0800
34.3 @@ -28,6 +28,9 @@
34.4 import java.awt.*;
34.5
34.6 /**
34.7 + * The peer interface for {@link Dialog}. This adds a couple of dialog specific
34.8 + * features to the {@link WindowPeer} interface.
34.9 + *
34.10 * The peer interfaces are intended only for use in porting
34.11 * the AWT. They are not intended for use by application
34.12 * developers, and developers should not implement peers
34.13 @@ -35,7 +38,33 @@
34.14 * instances.
34.15 */
34.16 public interface DialogPeer extends WindowPeer {
34.17 +
34.18 + /**
34.19 + * Sets the title on the dialog window.
34.20 + *
34.21 + * @param title the title to set
34.22 + *
34.23 + * @see Dialog#setTitle(String)
34.24 + */
34.25 void setTitle(String title);
34.26 +
34.27 + /**
34.28 + * Sets if the dialog should be resizable or not.
34.29 + *
34.30 + * @param resizeable {@code true} when the dialog should be resizable,
34.31 + * {@code false} if not
34.32 + *
34.33 + * @see Dialog#setResizable(boolean)
34.34 + */
34.35 void setResizable(boolean resizeable);
34.36 +
34.37 + /**
34.38 + * Block the specified windows. This is used for modal dialogs.
34.39 + *
34.40 + * @param windows the windows to block
34.41 + *
34.42 + * @see Dialog#modalShow()
34.43 + * @see Dialog#blockWindows()
34.44 + */
34.45 void blockWindows(java.util.List<Window> windows);
34.46 }
35.1 --- a/src/share/classes/java/awt/peer/FileDialogPeer.java Tue Feb 17 09:06:16 2009 -0800
35.2 +++ b/src/share/classes/java/awt/peer/FileDialogPeer.java Wed Feb 18 10:05:41 2009 -0800
35.3 @@ -25,9 +25,12 @@
35.4
35.5 package java.awt.peer;
35.6
35.7 +import java.awt.FileDialog;
35.8 import java.io.FilenameFilter;
35.9
35.10 /**
35.11 + * The peer interface for {@link FileDialog}.
35.12 + *
35.13 * The peer interfaces are intended only for use in porting
35.14 * the AWT. They are not intended for use by application
35.15 * developers, and developers should not implement peers
35.16 @@ -35,7 +38,32 @@
35.17 * instances.
35.18 */
35.19 public interface FileDialogPeer extends DialogPeer {
35.20 +
35.21 + /**
35.22 + * Sets the selected file for this file dialog.
35.23 + *
35.24 + * @param file the file to set as selected file, or {@code null} for
35.25 + * no selected file
35.26 + *
35.27 + * @see FileDialog#setFile(String)
35.28 + */
35.29 void setFile(String file);
35.30 +
35.31 + /**
35.32 + * Sets the current directory for this file dialog.
35.33 + *
35.34 + * @param dir the directory to set
35.35 + *
35.36 + * @see FileDialog#setDirectory(String)
35.37 + */
35.38 void setDirectory(String dir);
35.39 +
35.40 + /**
35.41 + * Sets the filename filter for filtering the displayed files.
35.42 + *
35.43 + * @param filter the filter to set
35.44 + *
35.45 + * @see FileDialog#setFilenameFilter(FilenameFilter)
35.46 + */
35.47 void setFilenameFilter(FilenameFilter filter);
35.48 }
36.1 --- a/src/share/classes/java/awt/peer/FontPeer.java Tue Feb 17 09:06:16 2009 -0800
36.2 +++ b/src/share/classes/java/awt/peer/FontPeer.java Wed Feb 18 10:05:41 2009 -0800
36.3 @@ -26,6 +26,9 @@
36.4 package java.awt.peer;
36.5
36.6 /**
36.7 + * The peer interface for fonts. This is only a marker interface and not
36.8 + * used by AWT itself.
36.9 + *
36.10 * The peer interfaces are intended only for use in porting
36.11 * the AWT. They are not intended for use by application
36.12 * developers, and developers should not implement peers
37.1 --- a/src/share/classes/java/awt/peer/FramePeer.java Tue Feb 17 09:06:16 2009 -0800
37.2 +++ b/src/share/classes/java/awt/peer/FramePeer.java Wed Feb 18 10:05:41 2009 -0800
37.3 @@ -27,7 +27,12 @@
37.4
37.5 import java.awt.*;
37.6
37.7 +import sun.awt.EmbeddedFrame;
37.8 +
37.9 /**
37.10 + * The peer interface for {@link Frame}. This adds a couple of frame specific
37.11 + * methods to the {@link WindowPeer} interface.
37.12 + *
37.13 * The peer interfaces are intended only for use in porting
37.14 * the AWT. They are not intended for use by application
37.15 * developers, and developers should not implement peers
37.16 @@ -35,12 +40,89 @@
37.17 * instances.
37.18 */
37.19 public interface FramePeer extends WindowPeer {
37.20 +
37.21 + /**
37.22 + * Sets the title on the frame.
37.23 + *
37.24 + * @param title the title to set
37.25 + *
37.26 + * @see Frame#setTitle(String)
37.27 + */
37.28 void setTitle(String title);
37.29 +
37.30 + /**
37.31 + * Sets the menu bar for the frame.
37.32 + *
37.33 + * @param mb the menu bar to set
37.34 + *
37.35 + * @see Frame#setMenuBar(MenuBar)
37.36 + */
37.37 void setMenuBar(MenuBar mb);
37.38 +
37.39 + /**
37.40 + * Sets if the frame should be resizable or not.
37.41 + *
37.42 + * @param resizeable {@code true} when the frame should be resizable,
37.43 + * {@code false} if not
37.44 + *
37.45 + * @see Frame#setResizable(boolean)
37.46 + */
37.47 void setResizable(boolean resizeable);
37.48 +
37.49 + /**
37.50 + * Changes the state of the frame.
37.51 + *
37.52 + * @param state the new state
37.53 + *
37.54 + * @see Frame#setExtendedState(int)
37.55 + */
37.56 void setState(int state);
37.57 - int getState();
37.58 - void setMaximizedBounds(Rectangle bounds); // XXX
37.59 +
37.60 + /**
37.61 + * Returns the current state of the frame.
37.62 + *
37.63 + * @return the current state of the frame
37.64 + *
37.65 + * @see Frame#getExtendedState()
37.66 + */
37.67 + int getState();
37.68 +
37.69 + /**
37.70 + * Sets the bounds of the frame when it becomes maximized.
37.71 + *
37.72 + * @param bounds the maximized bounds of the frame
37.73 + *
37.74 + * @see Frame#setMaximizedBounds(Rectangle)
37.75 + */
37.76 + void setMaximizedBounds(Rectangle bounds);
37.77 +
37.78 + /**
37.79 + * Sets the size and location for embedded frames. (On embedded frames,
37.80 + * setLocation() and setBounds() always set the frame to (0,0) for
37.81 + * backwards compatibility.
37.82 + *
37.83 + * @param x the X location
37.84 + * @param y the Y location
37.85 + * @param width the width of the frame
37.86 + * @param height the height of the frame
37.87 + *
37.88 + * @see EmbeddedFrame#setBoundsPrivate(int, int, int, int)
37.89 + */
37.90 + // TODO: This is only used in EmbeddedFrame, and should probably be moved
37.91 + // into an EmbeddedFramePeer which would extend FramePeer
37.92 void setBoundsPrivate(int x, int y, int width, int height);
37.93 +
37.94 + /**
37.95 + * Returns the size and location for embedded frames. (On embedded frames,
37.96 + * setLocation() and setBounds() always set the frame to (0,0) for
37.97 + * backwards compatibility.
37.98 + *
37.99 + * @return the bounds of an embedded frame
37.100 + *
37.101 + * @see EmbeddedFrame#getBoundsPrivate()
37.102 + */
37.103 + // TODO: This is only used in EmbeddedFrame, and should probably be moved
37.104 + // into an EmbeddedFramePeer which would extend FramePeer
37.105 Rectangle getBoundsPrivate();
37.106 +
37.107 }
38.1 --- a/src/share/classes/java/awt/peer/KeyboardFocusManagerPeer.java Tue Feb 17 09:06:16 2009 -0800
38.2 +++ b/src/share/classes/java/awt/peer/KeyboardFocusManagerPeer.java Wed Feb 18 10:05:41 2009 -0800
38.3 @@ -28,11 +28,45 @@
38.4 import java.awt.Component;
38.5 import java.awt.Window;
38.6
38.7 +/**
38.8 + * The native peer interface for {@link KeyboardFocusManager}.
38.9 + */
38.10 public interface KeyboardFocusManagerPeer {
38.11 +
38.12 + /**
38.13 + * Returns the currently focused window.
38.14 + *
38.15 + * @return the currently focused window
38.16 + *
38.17 + * @see KeyboardFocusManager#getNativeFocusedWindow()
38.18 + */
38.19 Window getCurrentFocusedWindow();
38.20
38.21 + /**
38.22 + * Sets the component that should become the focus owner.
38.23 + *
38.24 + * @param comp the component to become the focus owner
38.25 + *
38.26 + * @see KeyboardFocusManager#setNativeFocusOwner(Component)
38.27 + */
38.28 void setCurrentFocusOwner(Component comp);
38.29 +
38.30 + /**
38.31 + * Returns the component that currently owns the input focus.
38.32 + *
38.33 + * @return the component that currently owns the input focus
38.34 + *
38.35 + * @see KeyboardFocusManager#getNativeFocusOwner()
38.36 + */
38.37 Component getCurrentFocusOwner();
38.38
38.39 + /**
38.40 + * Clears the current global focus owner.
38.41 + *
38.42 + * @param activeWindow
38.43 + *
38.44 + * @see KeyboardFocusManager#clearGlobalFocusOwner()
38.45 + */
38.46 void clearGlobalFocusOwner(Window activeWindow);
38.47 +
38.48 }
39.1 --- a/src/share/classes/java/awt/peer/LabelPeer.java Tue Feb 17 09:06:16 2009 -0800
39.2 +++ b/src/share/classes/java/awt/peer/LabelPeer.java Wed Feb 18 10:05:41 2009 -0800
39.3 @@ -24,7 +24,11 @@
39.4 */
39.5 package java.awt.peer;
39.6
39.7 +import java.awt.Label;
39.8 +
39.9 /**
39.10 + * The peer interface for {@link Label}.
39.11 + *
39.12 * The peer interfaces are intended only for use in porting
39.13 * the AWT. They are not intended for use by application
39.14 * developers, and developers should not implement peers
39.15 @@ -32,6 +36,25 @@
39.16 * instances.
39.17 */
39.18 public interface LabelPeer extends ComponentPeer {
39.19 +
39.20 + /**
39.21 + * Sets the text to be displayed on the label.
39.22 + *
39.23 + * @param label the text to be displayed on the label
39.24 + *
39.25 + * @see Label#setText
39.26 + */
39.27 void setText(String label);
39.28 +
39.29 + /**
39.30 + * Sets the alignment of the label text.
39.31 + *
39.32 + * @param alignment the alignment of the label text
39.33 + *
39.34 + * @see Label#setAlignment(int)
39.35 + * @see Label#CENTER
39.36 + * @see Label#RIGHT
39.37 + * @see Label#LEFT
39.38 + */
39.39 void setAlignment(int alignment);
39.40 }
40.1 --- a/src/share/classes/java/awt/peer/ListPeer.java Tue Feb 17 09:06:16 2009 -0800
40.2 +++ b/src/share/classes/java/awt/peer/ListPeer.java Wed Feb 18 10:05:41 2009 -0800
40.3 @@ -25,8 +25,11 @@
40.4 package java.awt.peer;
40.5
40.6 import java.awt.Dimension;
40.7 +import java.awt.List;
40.8
40.9 /**
40.10 + * The peer interface for {@link List}.
40.11 + *
40.12 * The peer interfaces are intended only for use in porting
40.13 * the AWT. They are not intended for use by application
40.14 * developers, and developers should not implement peers
40.15 @@ -34,39 +37,102 @@
40.16 * instances.
40.17 */
40.18 public interface ListPeer extends ComponentPeer {
40.19 +
40.20 + /**
40.21 + * Returns the indices of the list items that are currently selected.
40.22 + * The returned array is not required to be a copy, the callers of this
40.23 + * method already make sure it is not modified.
40.24 + *
40.25 + * @return the indices of the list items that are currently selected
40.26 + *
40.27 + * @see List#getSelectedIndexes()
40.28 + */
40.29 int[] getSelectedIndexes();
40.30 +
40.31 + /**
40.32 + * Adds an item to the list at the specified index.
40.33 + *
40.34 + * @param item the item to add to the list
40.35 + * @param index the index where to add the item into the list
40.36 + *
40.37 + * @see List#add(String, int)
40.38 + */
40.39 void add(String item, int index);
40.40 +
40.41 + /**
40.42 + * Deletes items from the list. All items from start to end should are
40.43 + * deleted, including the item at the start and end indices.
40.44 + *
40.45 + * @param start the first item to be deleted
40.46 + * @param end the last item to be deleted
40.47 + */
40.48 void delItems(int start, int end);
40.49 +
40.50 + /**
40.51 + * Removes all items from the list.
40.52 + *
40.53 + * @see List#removeAll()
40.54 + */
40.55 void removeAll();
40.56 +
40.57 + /**
40.58 + * Selects the item at the specified {@code index}.
40.59 + *
40.60 + * @param index the index of the item to select
40.61 + *
40.62 + * @see List#select(int)
40.63 + */
40.64 void select(int index);
40.65 +
40.66 + /**
40.67 + * De-selects the item at the specified {@code index}.
40.68 + *
40.69 + * @param index the index of the item to de-select
40.70 + *
40.71 + * @see List#deselect(int)
40.72 + */
40.73 void deselect(int index);
40.74 +
40.75 + /**
40.76 + * Makes sure that the item at the specified {@code index} is visible,
40.77 + * by scrolling the list or similar.
40.78 + *
40.79 + * @param index the index of the item to make visible
40.80 + *
40.81 + * @see List#makeVisible(int)
40.82 + */
40.83 void makeVisible(int index);
40.84 - void setMultipleMode(boolean b);
40.85 +
40.86 + /**
40.87 + * Toggles multiple selection mode on or off.
40.88 + *
40.89 + * @param m {@code true} for multiple selection mode,
40.90 + * {@code false} for single selection mode
40.91 + *
40.92 + * @see List#setMultipleMode(boolean)
40.93 + */
40.94 + void setMultipleMode(boolean m);
40.95 +
40.96 + /**
40.97 + * Returns the preferred size for a list with the specified number of rows.
40.98 + *
40.99 + * @param rows the number of rows
40.100 + *
40.101 + * @return the preferred size of the list
40.102 + *
40.103 + * @see List#getPreferredSize(int)
40.104 + */
40.105 Dimension getPreferredSize(int rows);
40.106 +
40.107 + /**
40.108 + * Returns the minimum size for a list with the specified number of rows.
40.109 + *
40.110 + * @param rows the number of rows
40.111 + *
40.112 + * @return the minimum size of the list
40.113 + *
40.114 + * @see List#getMinimumSize(int)
40.115 + */
40.116 Dimension getMinimumSize(int rows);
40.117
40.118 - /**
40.119 - * DEPRECATED: Replaced by add(String, int).
40.120 - */
40.121 - void addItem(String item, int index);
40.122 -
40.123 - /**
40.124 - * DEPRECATED: Replaced by removeAll().
40.125 - */
40.126 - void clear();
40.127 -
40.128 - /**
40.129 - * DEPRECATED: Replaced by setMultipleMode(boolean).
40.130 - */
40.131 - void setMultipleSelections(boolean v);
40.132 -
40.133 - /**
40.134 - * DEPRECATED: Replaced by getPreferredSize(int).
40.135 - */
40.136 - Dimension preferredSize(int v);
40.137 -
40.138 - /**
40.139 - * DEPRECATED: Replaced by getMinimumSize(int).
40.140 - */
40.141 - Dimension minimumSize(int v);
40.142 }
41.1 --- a/src/share/classes/java/awt/peer/MenuBarPeer.java Tue Feb 17 09:06:16 2009 -0800
41.2 +++ b/src/share/classes/java/awt/peer/MenuBarPeer.java Wed Feb 18 10:05:41 2009 -0800
41.3 @@ -25,8 +25,11 @@
41.4 package java.awt.peer;
41.5
41.6 import java.awt.Menu;
41.7 +import java.awt.MenuBar;
41.8
41.9 /**
41.10 + * The peer interface for {@link MenuBar}.
41.11 + *
41.12 * The peer interfaces are intended only for use in porting
41.13 * the AWT. They are not intended for use by application
41.14 * developers, and developers should not implement peers
41.15 @@ -34,7 +37,31 @@
41.16 * instances.
41.17 */
41.18 public interface MenuBarPeer extends MenuComponentPeer {
41.19 +
41.20 + /**
41.21 + * Adds a menu to the menu bar.
41.22 + *
41.23 + * @param m the menu to add
41.24 + *
41.25 + * @see MenuBar#add(Menu)
41.26 + */
41.27 void addMenu(Menu m);
41.28 +
41.29 + /**
41.30 + * Deletes a menu from the menu bar.
41.31 + *
41.32 + * @param index the index of the menu to remove
41.33 + *
41.34 + * @see MenuBar#remove(int)
41.35 + */
41.36 void delMenu(int index);
41.37 +
41.38 + /**
41.39 + * Adds a help menu to the menu bar.
41.40 + *
41.41 + * @param m the help menu to add
41.42 + *
41.43 + * @see MenuBar#setHelpMenu(Menu)
41.44 + */
41.45 void addHelpMenu(Menu m);
41.46 }
42.1 --- a/src/share/classes/java/awt/peer/MenuComponentPeer.java Tue Feb 17 09:06:16 2009 -0800
42.2 +++ b/src/share/classes/java/awt/peer/MenuComponentPeer.java Wed Feb 18 10:05:41 2009 -0800
42.3 @@ -25,8 +25,12 @@
42.4 package java.awt.peer;
42.5
42.6 import java.awt.Font;
42.7 +import java.awt.MenuComponent;
42.8
42.9 /**
42.10 + * The base interface for all kinds of menu components. This is used by
42.11 + * {@link MenuComponent}.
42.12 + *
42.13 * The peer interfaces are intended only for use in porting
42.14 * the AWT. They are not intended for use by application
42.15 * developers, and developers should not implement peers
42.16 @@ -34,6 +38,20 @@
42.17 * instances.
42.18 */
42.19 public interface MenuComponentPeer {
42.20 +
42.21 + /**
42.22 + * Disposes the menu component.
42.23 + *
42.24 + * @see MenuComponent#removeNotify()
42.25 + */
42.26 void dispose();
42.27 +
42.28 + /**
42.29 + * Sets the font for the menu component.
42.30 + *
42.31 + * @param f the font to use for the menu component
42.32 + *
42.33 + * @see MenuComponent#setFont(Font)
42.34 + */
42.35 void setFont(Font f);
42.36 }
43.1 --- a/src/share/classes/java/awt/peer/MenuItemPeer.java Tue Feb 17 09:06:16 2009 -0800
43.2 +++ b/src/share/classes/java/awt/peer/MenuItemPeer.java Wed Feb 18 10:05:41 2009 -0800
43.3 @@ -24,7 +24,11 @@
43.4 */
43.5 package java.awt.peer;
43.6
43.7 +import java.awt.MenuItem;
43.8 +
43.9 /**
43.10 + * The peer interface for menu items. This is used by {@link MenuItem}.
43.11 + *
43.12 * The peer interfaces are intended only for use in porting
43.13 * the AWT. They are not intended for use by application
43.14 * developers, and developers should not implement peers
43.15 @@ -32,16 +36,20 @@
43.16 * instances.
43.17 */
43.18 public interface MenuItemPeer extends MenuComponentPeer {
43.19 - void setLabel(String label);
43.20 - void setEnabled(boolean b);
43.21
43.22 /**
43.23 - * DEPRECATED: Replaced by setEnabled(boolean).
43.24 + * Sets the label to be displayed in this menu item.
43.25 + *
43.26 + * @param label the label to be displayed
43.27 */
43.28 - void enable();
43.29 + void setLabel(String label);
43.30
43.31 /**
43.32 - * DEPRECATED: Replaced by setEnabled(boolean).
43.33 + * Enables or disables the menu item.
43.34 + *
43.35 + * @param e {@code true} to enable the menu item, {@code false}
43.36 + * to disable it
43.37 */
43.38 - void disable();
43.39 + void setEnabled(boolean e);
43.40 +
43.41 }
44.1 --- a/src/share/classes/java/awt/peer/MenuPeer.java Tue Feb 17 09:06:16 2009 -0800
44.2 +++ b/src/share/classes/java/awt/peer/MenuPeer.java Wed Feb 18 10:05:41 2009 -0800
44.3 @@ -24,9 +24,12 @@
44.4 */
44.5 package java.awt.peer;
44.6
44.7 +import java.awt.Menu;
44.8 import java.awt.MenuItem;
44.9
44.10 /**
44.11 + * The peer interface for menus. This is used by {@link Menu}.
44.12 + *
44.13 * The peer interfaces are intended only for use in porting
44.14 * the AWT. They are not intended for use by application
44.15 * developers, and developers should not implement peers
44.16 @@ -34,7 +37,29 @@
44.17 * instances.
44.18 */
44.19 public interface MenuPeer extends MenuItemPeer {
44.20 +
44.21 + /**
44.22 + * Adds a separator (e.g. a horizontal line or similar) to the menu.
44.23 + *
44.24 + * @see Menu#addSeparator()
44.25 + */
44.26 void addSeparator();
44.27 +
44.28 + /**
44.29 + * Adds the specified menu item to the menu.
44.30 + *
44.31 + * @param item the menu item to add
44.32 + *
44.33 + * @see Menu#add(MenuItem)
44.34 + */
44.35 void addItem(MenuItem item);
44.36 +
44.37 + /**
44.38 + * Removes the menu item at the specified index.
44.39 + *
44.40 + * @param index the index of the item to remove
44.41 + *
44.42 + * @see Menu#remove(int)
44.43 + */
44.44 void delItem(int index);
44.45 }
45.1 --- a/src/share/classes/java/awt/peer/MouseInfoPeer.java Tue Feb 17 09:06:16 2009 -0800
45.2 +++ b/src/share/classes/java/awt/peer/MouseInfoPeer.java Wed Feb 18 10:05:41 2009 -0800
45.3 @@ -29,6 +29,9 @@
45.4 import java.awt.Point;
45.5
45.6 /**
45.7 + * Peer interface for {@link MouseInfo}. This is used to get some additional
45.8 + * information about the mouse.
45.9 + *
45.10 * The peer interfaces are intended only for use in porting
45.11 * the AWT. They are not intended for use by application
45.12 * developers, and developers should not implement peers
46.1 --- a/src/share/classes/java/awt/peer/PanelPeer.java Tue Feb 17 09:06:16 2009 -0800
46.2 +++ b/src/share/classes/java/awt/peer/PanelPeer.java Wed Feb 18 10:05:41 2009 -0800
46.3 @@ -25,6 +25,10 @@
46.4 package java.awt.peer;
46.5
46.6 /**
46.7 + * The peer interface for {@link Panel}. This is a subinterface of
46.8 + * ContainerPeer and does not declare any additional methods because a Panel
46.9 + * is just that, a concrete Container.
46.10 + *
46.11 * The peer interfaces are intended only for use in porting
46.12 * the AWT. They are not intended for use by application
46.13 * developers, and developers should not implement peers
47.1 --- a/src/share/classes/java/awt/peer/PopupMenuPeer.java Tue Feb 17 09:06:16 2009 -0800
47.2 +++ b/src/share/classes/java/awt/peer/PopupMenuPeer.java Wed Feb 18 10:05:41 2009 -0800
47.3 @@ -25,8 +25,11 @@
47.4 package java.awt.peer;
47.5
47.6 import java.awt.Event;
47.7 +import java.awt.PopupMenu;
47.8
47.9 /**
47.10 + * The peer interface for {@link PopupMenu}.
47.11 + *
47.12 * The peer interfaces are intended only for use in porting
47.13 * the AWT. They are not intended for use by application
47.14 * developers, and developers should not implement peers
47.15 @@ -34,5 +37,14 @@
47.16 * instances.
47.17 */
47.18 public interface PopupMenuPeer extends MenuPeer {
47.19 +
47.20 + /**
47.21 + * Shows the popup menu.
47.22 + *
47.23 + * @param e a synthetic event describing the origin and location of the
47.24 + * popup menu
47.25 + *
47.26 + * @see PopupMenu#show(java.awt.Component, int, int)
47.27 + */
47.28 void show(Event e);
47.29 }
48.1 --- a/src/share/classes/java/awt/peer/RobotPeer.java Tue Feb 17 09:06:16 2009 -0800
48.2 +++ b/src/share/classes/java/awt/peer/RobotPeer.java Wed Feb 18 10:05:41 2009 -0800
48.3 @@ -1,5 +1,5 @@
48.4 /*
48.5 - * Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved.
48.6 + * Copyright 1999-2008 Sun Microsystems, Inc. All Rights Reserved.
48.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
48.8 *
48.9 * This code is free software; you can redistribute it and/or modify it
48.10 @@ -39,17 +39,93 @@
48.11 */
48.12 public interface RobotPeer
48.13 {
48.14 - public void mouseMove(int x, int y);
48.15 - public void mousePress(int buttons);
48.16 - public void mouseRelease(int buttons);
48.17 + /**
48.18 + * Moves the mouse pointer to the specified screen location.
48.19 + *
48.20 + * @param x the X location on screen
48.21 + * @param y the Y location on screen
48.22 + *
48.23 + * @see Robot#mouseMove(int, int)
48.24 + */
48.25 + void mouseMove(int x, int y);
48.26
48.27 - public void mouseWheel(int wheelAmt);
48.28 + /**
48.29 + * Simulates a mouse press with the specified button(s).
48.30 + *
48.31 + * @param buttons the button mask
48.32 + *
48.33 + * @see Robot#mousePress(int)
48.34 + */
48.35 + void mousePress(int buttons);
48.36
48.37 - public void keyPress(int keycode);
48.38 - public void keyRelease(int keycode);
48.39 + /**
48.40 + * Simulates a mouse release with the specified button(s).
48.41 + *
48.42 + * @param buttons the button mask
48.43 + *
48.44 + * @see Robot#mouseRelease(int)
48.45 + */
48.46 + void mouseRelease(int buttons);
48.47
48.48 - public int getRGBPixel(int x, int y);
48.49 - public int [] getRGBPixels(Rectangle bounds);
48.50 + /**
48.51 + * Simulates mouse wheel action.
48.52 + *
48.53 + * @param wheelAmt number of notches to move the mouse wheel
48.54 + *
48.55 + * @see Robot#mouseWheel(int)
48.56 + */
48.57 + void mouseWheel(int wheelAmt);
48.58
48.59 - public void dispose();
48.60 + /**
48.61 + * Simulates a key press of the specified key.
48.62 + *
48.63 + * @param keycode the key code to press
48.64 + *
48.65 + * @see Robot#keyPress(int)
48.66 + */
48.67 + void keyPress(int keycode);
48.68 +
48.69 + /**
48.70 + * Simulates a key release of the specified key.
48.71 + *
48.72 + * @param keycode the key code to release
48.73 + *
48.74 + * @see Robot#keyRelease(int)
48.75 + */
48.76 + void keyRelease(int keycode);
48.77 +
48.78 + /**
48.79 + * Gets the RGB value of the specified pixel on screen.
48.80 + *
48.81 + * @param x the X screen coordinate
48.82 + * @param y the Y screen coordinate
48.83 + *
48.84 + * @return the RGB value of the specified pixel on screen
48.85 + *
48.86 + * @see Robot#getPixelColor(int, int)
48.87 + */
48.88 + int getRGBPixel(int x, int y);
48.89 +
48.90 + /**
48.91 + * Gets the RGB values of the specified screen area as an array.
48.92 + *
48.93 + * @param bounds the screen area to capture the RGB values from
48.94 + *
48.95 + * @return the RGB values of the specified screen area
48.96 + *
48.97 + * @see Robot#createScreenCapture(Rectangle)
48.98 + */
48.99 + int[] getRGBPixels(Rectangle bounds);
48.100 +
48.101 + /**
48.102 + * Disposes the robot peer when it is not needed anymore.
48.103 + */
48.104 + void dispose();
48.105 +
48.106 + /**
48.107 + * Returns the number of buttons that the robot simulates.
48.108 + *
48.109 + * @return the number of buttons that the robot simulates
48.110 + */
48.111 + int getNumberOfButtons();
48.112 }
49.1 --- a/src/share/classes/java/awt/peer/ScrollPanePeer.java Tue Feb 17 09:06:16 2009 -0800
49.2 +++ b/src/share/classes/java/awt/peer/ScrollPanePeer.java Wed Feb 18 10:05:41 2009 -0800
49.3 @@ -25,8 +25,12 @@
49.4 package java.awt.peer;
49.5
49.6 import java.awt.Adjustable;
49.7 +import java.awt.ScrollPane;
49.8 +import java.awt.ScrollPaneAdjustable;
49.9
49.10 /**
49.11 + * The peer interface for {@link ScrollPane}.
49.12 + *
49.13 * The peer interfaces are intended only for use in porting
49.14 * the AWT. They are not intended for use by application
49.15 * developers, and developers should not implement peers
49.16 @@ -34,10 +38,60 @@
49.17 * instances.
49.18 */
49.19 public interface ScrollPanePeer extends ContainerPeer {
49.20 +
49.21 + /**
49.22 + * Returns the height of the horizontal scroll bar.
49.23 + *
49.24 + * @return the height of the horizontal scroll bar
49.25 + *
49.26 + * @see ScrollPane#getHScrollbarHeight()
49.27 + */
49.28 int getHScrollbarHeight();
49.29 +
49.30 + /**
49.31 + * Returns the width of the vertical scroll bar.
49.32 + *
49.33 + * @return the width of the vertical scroll bar
49.34 + *
49.35 + * @see ScrollPane#getVScrollbarWidth()
49.36 + */
49.37 int getVScrollbarWidth();
49.38 +
49.39 + /**
49.40 + * Sets the scroll position of the child.
49.41 + *
49.42 + * @param x the X coordinate of the scroll position
49.43 + * @param y the Y coordinate of the scroll position
49.44 + *
49.45 + * @see ScrollPane#setScrollPosition(int, int)
49.46 + */
49.47 void setScrollPosition(int x, int y);
49.48 +
49.49 + /**
49.50 + * Called when the child component changes its size.
49.51 + *
49.52 + * @param w the new width of the child component
49.53 + * @param h the new height of the child component
49.54 + *
49.55 + * @see ScrollPane#layout()
49.56 + */
49.57 void childResized(int w, int h);
49.58 +
49.59 + /**
49.60 + * Sets the unit increment of one of the scroll pane's adjustables.
49.61 + *
49.62 + * @param adj the scroll pane adjustable object
49.63 + * @param u the unit increment
49.64 + *
49.65 + * @see ScrollPaneAdjustable#setUnitIncrement(int)
49.66 + */
49.67 void setUnitIncrement(Adjustable adj, int u);
49.68 +
49.69 + /**
49.70 + * Sets the value for one of the scroll pane's adjustables.
49.71 + *
49.72 + * @param adj the scroll pane adjustable object
49.73 + * @param v the value to set
49.74 + */
49.75 void setValue(Adjustable adj, int v);
49.76 }
50.1 --- a/src/share/classes/java/awt/peer/ScrollbarPeer.java Tue Feb 17 09:06:16 2009 -0800
50.2 +++ b/src/share/classes/java/awt/peer/ScrollbarPeer.java Wed Feb 18 10:05:41 2009 -0800
50.3 @@ -24,7 +24,11 @@
50.4 */
50.5 package java.awt.peer;
50.6
50.7 +import java.awt.Scrollbar;
50.8 +
50.9 /**
50.10 + * The peer interface for {@link Scrollbar}.
50.11 + *
50.12 * The peer interfaces are intended only for use in porting
50.13 * the AWT. They are not intended for use by application
50.14 * developers, and developers should not implement peers
50.15 @@ -32,7 +36,34 @@
50.16 * instances.
50.17 */
50.18 public interface ScrollbarPeer extends ComponentPeer {
50.19 +
50.20 + /**
50.21 + * Sets the parameters for the scrollbar.
50.22 + *
50.23 + * @param value the current value
50.24 + * @param visible how much of the whole scale is visible
50.25 + * @param minimum the minimum value
50.26 + * @param maximum the maximum value
50.27 + *
50.28 + * @see Scrollbar#setValues(int, int, int, int)
50.29 + */
50.30 void setValues(int value, int visible, int minimum, int maximum);
50.31 +
50.32 + /**
50.33 + * Sets the line increment of the scrollbar.
50.34 + *
50.35 + * @param l the line increment
50.36 + *
50.37 + * @see Scrollbar#setLineIncrement(int)
50.38 + */
50.39 void setLineIncrement(int l);
50.40 +
50.41 + /**
50.42 + * Sets the page increment of the scrollbar.
50.43 + *
50.44 + * @param l the page increment
50.45 + *
50.46 + * @see Scrollbar#setPageIncrement(int)
50.47 + */
50.48 void setPageIncrement(int l);
50.49 }
51.1 --- a/src/share/classes/java/awt/peer/SystemTrayPeer.java Tue Feb 17 09:06:16 2009 -0800
51.2 +++ b/src/share/classes/java/awt/peer/SystemTrayPeer.java Wed Feb 18 10:05:41 2009 -0800
51.3 @@ -26,7 +26,20 @@
51.4 package java.awt.peer;
51.5
51.6 import java.awt.Dimension;
51.7 +import java.awt.SystemTray;
51.8
51.9 +/**
51.10 + * The peer interface for {@link SystemTray}. This doesn't need to be
51.11 + * implemented if {@link SystemTray#isSupported()} returns false.
51.12 + */
51.13 public interface SystemTrayPeer {
51.14 +
51.15 + /**
51.16 + * Returns the size of the system tray icon.
51.17 + *
51.18 + * @return the size of the system tray icon
51.19 + *
51.20 + * @see SystemTray#getTrayIconSize()
51.21 + */
51.22 Dimension getTrayIconSize();
51.23 }
52.1 --- a/src/share/classes/java/awt/peer/TextAreaPeer.java Tue Feb 17 09:06:16 2009 -0800
52.2 +++ b/src/share/classes/java/awt/peer/TextAreaPeer.java Wed Feb 18 10:05:41 2009 -0800
52.3 @@ -25,8 +25,11 @@
52.4 package java.awt.peer;
52.5
52.6 import java.awt.Dimension;
52.7 +import java.awt.TextArea;
52.8
52.9 /**
52.10 + * The peer interface for {@link TexTArea}.
52.11 + *
52.12 * The peer interfaces are intended only for use in porting
52.13 * the AWT. They are not intended for use by application
52.14 * developers, and developers should not implement peers
52.15 @@ -34,28 +37,52 @@
52.16 * instances.
52.17 */
52.18 public interface TextAreaPeer extends TextComponentPeer {
52.19 +
52.20 + /**
52.21 + * Inserts the specified text at the specified position in the document.
52.22 + *
52.23 + * @param text the text to insert
52.24 + * @param pos the position to insert
52.25 + *
52.26 + * @see TextArea#insert(String, int)
52.27 + */
52.28 void insert(String text, int pos);
52.29 +
52.30 + /**
52.31 + * Replaces a range of text by the specified string
52.32 + *
52.33 + * @param text the replacement string
52.34 + * @param start the begin of the range to replace
52.35 + * @param end the end of the range to replace
52.36 + *
52.37 + * @see TextArea#replaceRange(String, int, int)
52.38 + */
52.39 void replaceRange(String text, int start, int end);
52.40 +
52.41 + /**
52.42 + * Returns the preferred size of a textarea with the specified number of
52.43 + * columns and rows.
52.44 + *
52.45 + * @param rows the number of rows
52.46 + * @param columns the number of columns
52.47 + *
52.48 + * @return the preferred size of a textarea
52.49 + *
52.50 + * @see TextArea#getPreferredSize(int, int)
52.51 + */
52.52 Dimension getPreferredSize(int rows, int columns);
52.53 +
52.54 + /**
52.55 + * Returns the minimum size of a textarea with the specified number of
52.56 + * columns and rows.
52.57 + *
52.58 + * @param rows the number of rows
52.59 + * @param columns the number of columns
52.60 + *
52.61 + * @return the minimum size of a textarea
52.62 + *
52.63 + * @see TextArea#getMinimumSize(int, int)
52.64 + */
52.65 Dimension getMinimumSize(int rows, int columns);
52.66
52.67 - /**
52.68 - * DEPRECATED: Replaced by insert(String, int).
52.69 - */
52.70 - void insertText(String txt, int pos);
52.71 -
52.72 - /**
52.73 - * DEPRECATED: Replaced by ReplaceRange(String, int, int).
52.74 - */
52.75 - void replaceText(String txt, int start, int end);
52.76 -
52.77 - /**
52.78 - * DEPRECATED: Replaced by getPreferredSize(int, int).
52.79 - */
52.80 - Dimension preferredSize(int rows, int cols);
52.81 -
52.82 - /**
52.83 - * DEPRECATED: Replaced by getMinimumSize(int, int).
52.84 - */
52.85 - Dimension minimumSize(int rows, int cols);
52.86 }
53.1 --- a/src/share/classes/java/awt/peer/TextComponentPeer.java Tue Feb 17 09:06:16 2009 -0800
53.2 +++ b/src/share/classes/java/awt/peer/TextComponentPeer.java Wed Feb 18 10:05:41 2009 -0800
53.3 @@ -24,10 +24,12 @@
53.4 */
53.5 package java.awt.peer;
53.6
53.7 -import java.awt.Rectangle;
53.8 +import java.awt.TextComponent;
53.9 import java.awt.im.InputMethodRequests;
53.10
53.11 /**
53.12 + * The peer interface for {@link TextComponent}.
53.13 + *
53.14 * The peer interfaces are intended only for use in porting
53.15 * the AWT. They are not intended for use by application
53.16 * developers, and developers should not implement peers
53.17 @@ -35,16 +37,85 @@
53.18 * instances.
53.19 */
53.20 public interface TextComponentPeer extends ComponentPeer {
53.21 +
53.22 + /**
53.23 + * Sets if the text component should be editable or not.
53.24 + *
53.25 + * @param editable {@code true} for editable text components,
53.26 + * {@code false} for non-editable text components
53.27 + *
53.28 + * @see TextComponent#setEditable(boolean)
53.29 + */
53.30 void setEditable(boolean editable);
53.31 +
53.32 + /**
53.33 + * Returns the current content of the text component.
53.34 + *
53.35 + * @return the current content of the text component
53.36 + *
53.37 + * @see TextComponent#getText()
53.38 + */
53.39 String getText();
53.40 +
53.41 + /**
53.42 + * Sets the content for the text component.
53.43 + *
53.44 + * @param l the content to set
53.45 + *
53.46 + * @see TextComponent#setText(String)
53.47 + */
53.48 void setText(String l);
53.49 +
53.50 + /**
53.51 + * Returns the start index of the current selection.
53.52 + *
53.53 + * @return the start index of the current selection
53.54 + *
53.55 + * @see TextComponent#getSelectionStart()
53.56 + */
53.57 int getSelectionStart();
53.58 +
53.59 + /**
53.60 + * Returns the end index of the current selection.
53.61 + *
53.62 + * @return the end index of the current selection
53.63 + *
53.64 + * @see TextComponent#getSelectionEnd()
53.65 + */
53.66 int getSelectionEnd();
53.67 +
53.68 + /**
53.69 + * Selects an area of the text component.
53.70 + *
53.71 + * @param selStart the start index of the new selection
53.72 + * @param selEnd the end index of the new selection
53.73 + *
53.74 + * @see TextComponent#select(int, int)
53.75 + */
53.76 void select(int selStart, int selEnd);
53.77 +
53.78 + /**
53.79 + * Sets the caret position of the text component.
53.80 + *
53.81 + * @param pos the caret position to set
53.82 + *
53.83 + * @see TextComponent#setCaretPosition(int)
53.84 + */
53.85 void setCaretPosition(int pos);
53.86 +
53.87 + /**
53.88 + * Returns the current caret position.
53.89 + *
53.90 + * @return the current caret position
53.91 + *
53.92 + * @see TextComponent#getCaretPosition()
53.93 + */
53.94 int getCaretPosition();
53.95 - int getIndexAtPoint(int x, int y);
53.96 - Rectangle getCharacterBounds(int i);
53.97 - long filterEvents(long mask);
53.98 +
53.99 + /**
53.100 + * Returns the input method requests.
53.101 + *
53.102 + * @return the input method requests
53.103 + */
53.104 InputMethodRequests getInputMethodRequests();
53.105 }
54.1 --- a/src/share/classes/java/awt/peer/TextFieldPeer.java Tue Feb 17 09:06:16 2009 -0800
54.2 +++ b/src/share/classes/java/awt/peer/TextFieldPeer.java Wed Feb 18 10:05:41 2009 -0800
54.3 @@ -25,8 +25,11 @@
54.4 package java.awt.peer;
54.5
54.6 import java.awt.Dimension;
54.7 +import java.awt.TextField;
54.8
54.9 /**
54.10 + * The peer interface for {@link TextField}.
54.11 + *
54.12 * The peer interfaces are intended only for use in porting
54.13 * the AWT. They are not intended for use by application
54.14 * developers, and developers should not implement peers
54.15 @@ -34,22 +37,38 @@
54.16 * instances.
54.17 */
54.18 public interface TextFieldPeer extends TextComponentPeer {
54.19 +
54.20 + /**
54.21 + * Sets the echo character.
54.22 + *
54.23 + * @param echoChar the echo character to set
54.24 + *
54.25 + * @see TextField#getEchoChar()
54.26 + */
54.27 void setEchoChar(char echoChar);
54.28 +
54.29 + /**
54.30 + * Returns the preferred size of the text field with the specified number
54.31 + * of columns.
54.32 + *
54.33 + * @param columns the number of columns
54.34 + *
54.35 + * @return the preferred size of the text field
54.36 + *
54.37 + * @see TextField#getPreferredSize(int)
54.38 + */
54.39 Dimension getPreferredSize(int columns);
54.40 +
54.41 + /**
54.42 + * Returns the minimum size of the text field with the specified number
54.43 + * of columns.
54.44 + *
54.45 + * @param columns the number of columns
54.46 + *
54.47 + * @return the minimum size of the text field
54.48 + *
54.49 + * @see TextField#getMinimumSize(int)
54.50 + */
54.51 Dimension getMinimumSize(int columns);
54.52
54.53 - /**
54.54 - * DEPRECATED: Replaced by setEchoChar(char echoChar).
54.55 - */
54.56 - void setEchoCharacter(char c);
54.57 -
54.58 - /**
54.59 - * DEPRECATED: Replaced by getPreferredSize(int).
54.60 - */
54.61 - Dimension preferredSize(int cols);
54.62 -
54.63 - /**
54.64 - * DEPRECATED: Replaced by getMinimumSize(int).
54.65 - */
54.66 - Dimension minimumSize(int cols);
54.67 }
55.1 --- a/src/share/classes/java/awt/peer/TrayIconPeer.java Tue Feb 17 09:06:16 2009 -0800
55.2 +++ b/src/share/classes/java/awt/peer/TrayIconPeer.java Wed Feb 18 10:05:41 2009 -0800
55.3 @@ -25,10 +25,56 @@
55.4
55.5 package java.awt.peer;
55.6
55.7 +import java.awt.SystemTray;
55.8 +import java.awt.TrayIcon;
55.9 +
55.10 +/**
55.11 + * The peer interface for the {@link TrayIcon}. This doesn't need to be
55.12 + * implemented if {@link SystemTray#isSupported()} returns false.
55.13 + */
55.14 public interface TrayIconPeer {
55.15 +
55.16 + /**
55.17 + * Disposes the tray icon and releases and resources held by it.
55.18 + *
55.19 + * @see TrayIcon#removeNotify()
55.20 + */
55.21 void dispose();
55.22 +
55.23 + /**
55.24 + * Sets the tool tip for the tray icon.
55.25 + *
55.26 + * @param tooltip the tooltip to set
55.27 + *
55.28 + * @see TrayIcon#setToolTip(String)
55.29 + */
55.30 void setToolTip(String tooltip);
55.31 +
55.32 + /**
55.33 + * Updates the icon image. This is supposed to display the current icon
55.34 + * from the TrayIcon component in the actual tray icon.
55.35 + *
55.36 + * @see TrayIcon#setImage(java.awt.Image)
55.37 + * @see TrayIcon#setImageAutoSize(boolean)
55.38 + */
55.39 void updateImage();
55.40 +
55.41 + /**
55.42 + * Displays a message at the tray icon.
55.43 + *
55.44 + * @param caption the message caption
55.45 + * @param text the actual message text
55.46 + * @param messageType the message type
55.47 + *
55.48 + * @see TrayIcon#displayMessage(String, String, java.awt.TrayIcon.MessageType)
55.49 + */
55.50 void displayMessage(String caption, String text, String messageType);
55.51 +
55.52 + /**
55.53 + * Shows the popup menu of this tray icon at the specified position.
55.54 + *
55.55 + * @param x the X location for the popup menu
55.56 + * @param y the Y location for the popup menu
55.57 + */
55.58 void showPopupMenu(int x, int y);
55.59 }
56.1 --- a/src/share/classes/java/awt/peer/WindowPeer.java Tue Feb 17 09:06:16 2009 -0800
56.2 +++ b/src/share/classes/java/awt/peer/WindowPeer.java Wed Feb 18 10:05:41 2009 -0800
56.3 @@ -28,6 +28,8 @@
56.4 import java.awt.*;
56.5
56.6 /**
56.7 + * The peer interface for {@link Window}.
56.8 + *
56.9 * The peer interfaces are intended only for use in porting
56.10 * the AWT. They are not intended for use by application
56.11 * developers, and developers should not implement peers
56.12 @@ -35,12 +37,59 @@
56.13 * instances.
56.14 */
56.15 public interface WindowPeer extends ContainerPeer {
56.16 +
56.17 + /**
56.18 + * Makes this window the topmost window on the desktop.
56.19 + *
56.20 + * @see Window#toFront()
56.21 + */
56.22 void toFront();
56.23 +
56.24 + /**
56.25 + * Makes this window the bottommost window on the desktop.
56.26 + *
56.27 + * @see Window#toBack()
56.28 + */
56.29 void toBack();
56.30 +
56.31 + /**
56.32 + * Sets if the window should always stay on top of all other windows or
56.33 + * not.
56.34 + *
56.35 + * @param alwaysOnTop if the window should always stay on top of all other
56.36 + * windows or not
56.37 + *
56.38 + * @see Window#setAlwaysOnTop(boolean)
56.39 + */
56.40 void setAlwaysOnTop(boolean alwaysOnTop);
56.41 +
56.42 + /**
56.43 + * Updates the window's focusable state.
56.44 + *
56.45 + * @see Window#setFocusableWindowState(boolean)
56.46 + */
56.47 void updateFocusableWindowState();
56.48 - boolean requestWindowFocus();
56.49 +
56.50 + /**
56.51 + * Sets if this window is blocked by a modal dialog or not.
56.52 + *
56.53 + * @param blocker the blocking modal dialog
56.54 + * @param blocked {@code true} to block the window, {@code false}
56.55 + * to unblock it
56.56 + */
56.57 void setModalBlocked(Dialog blocker, boolean blocked);
56.58 +
56.59 + /**
56.60 + * Updates the minimum size on the peer.
56.61 + *
56.62 + * @see Window#setMinimumSize(Dimension)
56.63 + */
56.64 void updateMinimumSize();
56.65 +
56.66 + /**
56.67 + * Updates the icons for the window.
56.68 + *
56.69 + * @see Window#setIconImages(java.util.List)
56.70 + */
56.71 void updateIconImages();
56.72 }
57.1 --- a/src/share/classes/javax/swing/JRootPane.java Tue Feb 17 09:06:16 2009 -0800
57.2 +++ b/src/share/classes/javax/swing/JRootPane.java Wed Feb 18 10:05:41 2009 -0800
57.3 @@ -34,6 +34,7 @@
57.4 import java.util.Vector;
57.5 import java.io.Serializable;
57.6 import javax.swing.border.*;
57.7 +import sun.awt.AWTAccessor;
57.8 import sun.security.action.GetBooleanAction;
57.9
57.10
57.11 @@ -688,6 +689,9 @@
57.12 throw new NullPointerException("glassPane cannot be set to null.");
57.13 }
57.14
57.15 + AWTAccessor.getComponentAccessor().setMixingCutoutShape(glass,
57.16 + new Rectangle());
57.17 +
57.18 boolean visible = false;
57.19 if (glassPane != null && glassPane.getParent() == this) {
57.20 this.remove(glassPane);
58.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
58.2 +++ b/src/share/classes/sun/awt/AWTAccessor.java Wed Feb 18 10:05:41 2009 -0800
58.3 @@ -0,0 +1,77 @@
58.4 +/*
58.5 + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
58.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
58.7 + *
58.8 + * This code is free software; you can redistribute it and/or modify it
58.9 + * under the terms of the GNU General Public License version 2 only, as
58.10 + * published by the Free Software Foundation. Sun designates this
58.11 + * particular file as subject to the "Classpath" exception as provided
58.12 + * by Sun in the LICENSE file that accompanied this code.
58.13 + *
58.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
58.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
58.16 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
58.17 + * version 2 for more details (a copy is included in the LICENSE file that
58.18 + * accompanied this code).
58.19 + *
58.20 + * You should have received a copy of the GNU General Public License version
58.21 + * 2 along with this work; if not, write to the Free Software Foundation,
58.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
58.23 + *
58.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
58.25 + * CA 95054 USA or visit www.sun.com if you need additional information or
58.26 + * have any questions.
58.27 + */
58.28 +
58.29 +package sun.awt;
58.30 +
58.31 +import java.awt.*;
58.32 +import sun.misc.Unsafe;
58.33 +
58.34 +/** The AWTAccessor utility class.
58.35 + * The main purpose of this class is to enable accessing
58.36 + * private and package-private fields of classes from
58.37 + * different classes/packages. See sun.misc.SharedSecretes
58.38 + * for another example.
58.39 + */
58.40 +public final class AWTAccessor {
58.41 + private static final Unsafe unsafe = Unsafe.getUnsafe();
58.42 +
58.43 + /** We don't need any objects of this class.
58.44 + * It's rather a collection of static methods
58.45 + * and interfaces.
58.46 + */
58.47 + private AWTAccessor() {
58.48 + }
58.49 +
58.50 + /** An accessor for the java.awt.Component class.
58.51 + */
58.52 + public interface ComponentAccessor {
58.53 + // See 6797587
58.54 + // Also see: 6776743, 6768307, and 6768332.
58.55 + /**
58.56 + * Sets the shape of a lw component to cut out from hw components.
58.57 + */
58.58 + void setMixingCutoutShape(Component comp, Shape shape);
58.59 + }
58.60 +
58.61 + /* The java.awt.Component class accessor object.
58.62 + */
58.63 + private static ComponentAccessor componentAccessor;
58.64 +
58.65 + /** Set an accessor object for the java.awt.Component class.
58.66 + */
58.67 + public static void setComponentAccessor(ComponentAccessor ca) {
58.68 + componentAccessor = ca;
58.69 + }
58.70 +
58.71 + /** Retrieve the accessor object for the java.awt.Window class.
58.72 + */
58.73 + public static ComponentAccessor getComponentAccessor() {
58.74 + if (componentAccessor == null) {
58.75 + unsafe.ensureClassInitialized(Component.class);
58.76 + }
58.77 +
58.78 + return componentAccessor;
58.79 + }
58.80 +}
59.1 --- a/src/share/classes/sun/awt/HeadlessToolkit.java Tue Feb 17 09:06:16 2009 -0800
59.2 +++ b/src/share/classes/sun/awt/HeadlessToolkit.java Wed Feb 18 10:05:41 2009 -0800
59.3 @@ -1,5 +1,5 @@
59.4 /*
59.5 - * Copyright 2000-2007 Sun Microsystems, Inc. All Rights Reserved.
59.6 + * Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
59.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
59.8 *
59.9 * This code is free software; you can redistribute it and/or modify it
59.10 @@ -456,6 +456,10 @@
59.11 return tk.getAWTEventListeners();
59.12 }
59.13
59.14 + public AWTEventListener[] getAWTEventListeners(long eventMask) {
59.15 + return tk.getAWTEventListeners(eventMask);
59.16 + }
59.17 +
59.18 public boolean isDesktopSupported() {
59.19 return false;
59.20 }
59.21 @@ -464,4 +468,8 @@
59.22 throws HeadlessException{
59.23 throw new HeadlessException();
59.24 }
59.25 +
59.26 + public boolean areExtraMouseButtonsEnabled() throws HeadlessException{
59.27 + throw new HeadlessException();
59.28 + }
59.29 }
60.1 --- a/src/share/classes/sun/awt/SunToolkit.java Tue Feb 17 09:06:16 2009 -0800
60.2 +++ b/src/share/classes/sun/awt/SunToolkit.java Wed Feb 18 10:05:41 2009 -0800
60.3 @@ -1972,6 +1972,21 @@
60.4 AWTAutoShutdown.getInstance().dumpPeers(aLog);
60.5 }
60.6
60.7 + private static Boolean sunAwtDisableMixing = null;
60.8 +
60.9 + /**
60.10 + * Returns the value of "sun.awt.disableMixing" property. Default
60.11 + * value is {@code false}.
60.12 + */
60.13 + public synchronized static boolean getSunAwtDisableMixing() {
60.14 + if (sunAwtDisableMixing == null) {
60.15 + sunAwtDisableMixing = Boolean.valueOf(
60.16 + AccessController.doPrivileged(
60.17 + new GetBooleanAction("sun.awt.disableMixing")));
60.18 + }
60.19 + return sunAwtDisableMixing.booleanValue();
60.20 + }
60.21 +
60.22 /**
60.23 * Returns true if the native GTK libraries are available. The
60.24 * default implementation returns false, but UNIXToolkit overrides this
60.25 @@ -2008,26 +2023,12 @@
60.26 /*
60.27 * Continually post pending AWTEvents to the Java EventQueue.
60.28 */
60.29 - public void flush() {
60.30 - if (queueHead != null) {
60.31 - EventQueueItem tempQueue;
60.32 - /*
60.33 - * We have to execute the loop inside the synchronized block
60.34 - * to ensure that the flush is completed before a new event
60.35 - * can be posted to this queue.
60.36 - */
60.37 - synchronized (this) {
60.38 - tempQueue = queueHead;
60.39 - queueHead = queueTail = null;
60.40 - /*
60.41 - * If this PostEventQueue is flushed in parallel on two
60.42 - * different threads tempQueue will be null for one of them.
60.43 - */
60.44 - while (tempQueue != null) {
60.45 - eventQueue.postEvent(tempQueue.event);
60.46 - tempQueue = tempQueue.next;
60.47 - }
60.48 - }
60.49 + public synchronized void flush() {
60.50 + EventQueueItem tempQueue = queueHead;
60.51 + queueHead = queueTail = null;
60.52 + while (tempQueue != null) {
60.53 + eventQueue.postEvent(tempQueue.event);
60.54 + tempQueue = tempQueue.next;
60.55 }
60.56 }
60.57
61.1 --- a/src/share/classes/sun/java2d/pipe/Region.java Tue Feb 17 09:06:16 2009 -0800
61.2 +++ b/src/share/classes/sun/java2d/pipe/Region.java Wed Feb 18 10:05:41 2009 -0800
61.3 @@ -28,6 +28,7 @@
61.4 import java.awt.Rectangle;
61.5 import java.awt.Shape;
61.6 import java.awt.geom.AffineTransform;
61.7 +import java.awt.geom.RectangularShape;
61.8
61.9 /**
61.10 * This class encapsulates a definition of a two dimensional region which
61.11 @@ -63,11 +64,28 @@
61.12 static final int INIT_SIZE = 50;
61.13 static final int GROW_SIZE = 50;
61.14
61.15 - static final Region EMPTY_REGION = new Region(0, 0, 0, 0);
61.16 - static final Region WHOLE_REGION = new Region(Integer.MIN_VALUE,
61.17 - Integer.MIN_VALUE,
61.18 - Integer.MAX_VALUE,
61.19 - Integer.MAX_VALUE);
61.20 + /**
61.21 + * Immutable Region.
61.22 + */
61.23 + private static final class ImmutableRegion extends Region {
61.24 + protected ImmutableRegion(int lox, int loy, int hix, int hiy) {
61.25 + super(lox, loy, hix, hiy);
61.26 + }
61.27 +
61.28 + // Override all the methods that mutate the object
61.29 + public void appendSpans(sun.java2d.pipe.SpanIterator si) {}
61.30 + public void setOutputArea(java.awt.Rectangle r) {}
61.31 + public void setOutputAreaXYWH(int x, int y, int w, int h) {}
61.32 + public void setOutputArea(int[] box) {}
61.33 + public void setOutputAreaXYXY(int lox, int loy, int hix, int hiy) {}
61.34 + }
61.35 +
61.36 + public static final Region EMPTY_REGION = new ImmutableRegion(0, 0, 0, 0);
61.37 + public static final Region WHOLE_REGION = new ImmutableRegion(
61.38 + Integer.MIN_VALUE,
61.39 + Integer.MIN_VALUE,
61.40 + Integer.MAX_VALUE,
61.41 + Integer.MAX_VALUE);
61.42
61.43 int lox;
61.44 int loy;
61.45 @@ -113,7 +131,7 @@
61.46 return newv;
61.47 }
61.48
61.49 - private Region(int lox, int loy, int hix, int hiy) {
61.50 + protected Region(int lox, int loy, int hix, int hiy) {
61.51 this.lox = lox;
61.52 this.loy = loy;
61.53 this.hix = hix;
61.54 @@ -194,6 +212,13 @@
61.55 public static Region getInstance(Region devBounds, boolean normalize,
61.56 Shape s, AffineTransform at)
61.57 {
61.58 + // Optimize for empty shapes to avoid involving the SpanIterator
61.59 + if (s instanceof RectangularShape &&
61.60 + ((RectangularShape)s).isEmpty())
61.61 + {
61.62 + return EMPTY_REGION;
61.63 + }
61.64 +
61.65 int box[] = new int[4];
61.66 ShapeSpanIterator sr = new ShapeSpanIterator(normalize);
61.67 try {
61.68 @@ -1206,7 +1231,7 @@
61.69 return false;
61.70 }
61.71 if (r.lox != this.lox || r.loy != this.loy ||
61.72 - r.hiy != this.hiy || r.hiy != this.hiy)
61.73 + r.hix != this.hix || r.hiy != this.hiy)
61.74 {
61.75 return false;
61.76 }
62.1 --- a/src/solaris/classes/sun/awt/X11/WindowDimensions.java Tue Feb 17 09:06:16 2009 -0800
62.2 +++ b/src/solaris/classes/sun/awt/X11/WindowDimensions.java Wed Feb 18 10:05:41 2009 -0800
62.3 @@ -32,10 +32,18 @@
62.4 private Insets insets;
62.5 private boolean isClientSizeSet;
62.6
62.7 + /**
62.8 + * If isClient is true, the bounds represent the client window area.
62.9 + * Otherwise, they represent the entire window area, with the insets included
62.10 + */
62.11 public WindowDimensions(int x, int y, int width, int height, boolean isClient) {
62.12 this(new Rectangle(x, y, width, height), null, isClient);
62.13 }
62.14
62.15 + /**
62.16 + * If isClient is true, the bounds represent the client window area.
62.17 + * Otherwise, they represent the entire window area, with the insets included
62.18 + */
62.19 public WindowDimensions(Rectangle rec, Insets ins, boolean isClient) {
62.20 if (rec == null) {
62.21 throw new IllegalArgumentException("Client bounds can't be null");
62.22 @@ -46,10 +54,18 @@
62.23 setInsets(ins);
62.24 }
62.25
62.26 + /**
62.27 + * If isClient is true, the bounds represent the client window area.
62.28 + * Otherwise, they represent the entire window area, with the insets included
62.29 + */
62.30 public WindowDimensions(Point loc, Dimension size, Insets in, boolean isClient) {
62.31 this(new Rectangle(loc, size), in, isClient);
62.32 }
62.33
62.34 + /**
62.35 + * If isClient is true, the bounds represent the client window area.
62.36 + * Otherwise, they represent the entire window area, with the insets included
62.37 + */
62.38 public WindowDimensions(Rectangle bounds, boolean isClient) {
62.39 this(bounds, null, isClient);
62.40 }
63.1 --- a/src/solaris/classes/sun/awt/X11/XBaseWindow.java Tue Feb 17 09:06:16 2009 -0800
63.2 +++ b/src/solaris/classes/sun/awt/X11/XBaseWindow.java Wed Feb 18 10:05:41 2009 -0800
63.3 @@ -979,8 +979,13 @@
63.4 */
63.5 public void handleButtonPressRelease(XEvent xev) {
63.6 XButtonEvent xbe = xev.get_xbutton();
63.7 - final int buttonState = xbe.get_state() & (XConstants.Button1Mask | XConstants.Button2Mask
63.8 - | XConstants.Button3Mask | XConstants.Button4Mask | XConstants.Button5Mask);
63.9 + int buttonState = 0;
63.10 + for (int i = 0; i<XToolkit.getNumMouseButtons(); i++){
63.11 + // A bug in WM implementation: extra buttons doesn't have state!=0 as they should on Release message.
63.12 + if ((i != 4) && (i != 5)){
63.13 + buttonState |= (xbe.get_state() & XConstants.buttonsMask[i]);
63.14 + }
63.15 + }
63.16 switch (xev.get_type()) {
63.17 case XConstants.ButtonPress:
63.18 if (buttonState == 0) {
63.19 @@ -1011,19 +1016,11 @@
63.20 * Checks ButtonRelease released all Mouse buttons
63.21 */
63.22 static boolean isFullRelease(int buttonState, int button) {
63.23 - switch (button) {
63.24 - case XConstants.Button1:
63.25 - return buttonState == XConstants.Button1Mask;
63.26 - case XConstants.Button2:
63.27 - return buttonState == XConstants.Button2Mask;
63.28 - case XConstants.Button3:
63.29 - return buttonState == XConstants.Button3Mask;
63.30 - case XConstants.Button4:
63.31 - return buttonState == XConstants.Button4Mask;
63.32 - case XConstants.Button5:
63.33 - return buttonState == XConstants.Button5Mask;
63.34 + if (button < 0 || button > XToolkit.getNumMouseButtons()) {
63.35 + return buttonState == 0;
63.36 + } else {
63.37 + return buttonState == XConstants.buttonsMask[button - 1];
63.38 }
63.39 - return buttonState == 0;
63.40 }
63.41
63.42 static boolean isGrabbedEvent(XEvent ev, XBaseWindow target) {
64.1 --- a/src/solaris/classes/sun/awt/X11/XComponentPeer.java Tue Feb 17 09:06:16 2009 -0800
64.2 +++ b/src/solaris/classes/sun/awt/X11/XComponentPeer.java Wed Feb 18 10:05:41 2009 -0800
64.3 @@ -1534,13 +1534,23 @@
64.4 }
64.5 XToolkit.awtLock();
64.6 try {
64.7 - XlibWrapper.SetRectangularShape(
64.8 - XToolkit.getDisplay(),
64.9 - getWindow(),
64.10 - shape.getLoX(), shape.getLoY(),
64.11 - shape.getHiX(), shape.getHiY(),
64.12 - (shape.isRectangular() ? null : shape)
64.13 - );
64.14 + if (shape != null) {
64.15 + XlibWrapper.SetRectangularShape(
64.16 + XToolkit.getDisplay(),
64.17 + getWindow(),
64.18 + shape.getLoX(), shape.getLoY(),
64.19 + shape.getHiX(), shape.getHiY(),
64.20 + (shape.isRectangular() ? null : shape)
64.21 + );
64.22 + } else {
64.23 + XlibWrapper.SetRectangularShape(
64.24 + XToolkit.getDisplay(),
64.25 + getWindow(),
64.26 + 0, 0,
64.27 + 0, 0,
64.28 + null
64.29 + );
64.30 + }
64.31 } finally {
64.32 XToolkit.awtUnlock();
64.33 }
65.1 --- a/src/solaris/classes/sun/awt/X11/XConstants.java Tue Feb 17 09:06:16 2009 -0800
65.2 +++ b/src/solaris/classes/sun/awt/X11/XConstants.java Wed Feb 18 10:05:41 2009 -0800
65.3 @@ -197,12 +197,30 @@
65.4
65.5 /* button masks. Used in same manner as Key masks above. Not to be confused
65.6 with button names below. */
65.7 -
65.8 - public static final int Button1Mask = (1<<8) ;
65.9 - public static final int Button2Mask = (1<<9) ;
65.10 - public static final int Button3Mask = (1<<10) ;
65.11 - public static final int Button4Mask = (1<<11) ;
65.12 - public static final int Button5Mask = (1<<12) ;
65.13 + public static final int [] buttonsMask = new int []{ 1<<8,
65.14 + 1<<9,
65.15 + 1<<10,
65.16 + 1<<11,
65.17 + 1<<12,
65.18 + 1<<13,
65.19 + 1<<14,
65.20 + 1<<15,
65.21 + 1<<16,
65.22 + 1<<17,
65.23 + 1<<18,
65.24 + 1<<19,
65.25 + 1<<20,
65.26 + 1<<21,
65.27 + 1<<22,
65.28 + 1<<23,
65.29 + 1<<24,
65.30 + 1<<25,
65.31 + 1<<26,
65.32 + 1<<27,
65.33 + 1<<28,
65.34 + 1<<29,
65.35 + 1<<30,
65.36 + 1<<31 };
65.37
65.38 public static final int AnyModifier = (1<<15) ; /* used in GrabButton, GrabKey */
65.39
65.40 @@ -211,11 +229,7 @@
65.41 and ButtonRelease events. Not to be confused with button masks above.
65.42 Note that 0 is already defined above as "AnyButton". */
65.43
65.44 - public static final int Button1 = 1 ;
65.45 - public static final int Button2 = 2 ;
65.46 - public static final int Button3 = 3 ;
65.47 - public static final int Button4 = 4 ;
65.48 - public static final int Button5 = 5 ;
65.49 + public static final int buttons [] = new int [] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24};
65.50
65.51 /* Notify modes */
65.52
66.1 --- a/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java Tue Feb 17 09:06:16 2009 -0800
66.2 +++ b/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java Wed Feb 18 10:05:41 2009 -0800
66.3 @@ -492,7 +492,14 @@
66.4 // do nothing but accept it.
66.5 Rectangle reqBounds = newDimensions.getBounds();
66.6 Rectangle newBounds = constrainBounds(reqBounds.x, reqBounds.y, reqBounds.width, reqBounds.height);
66.7 - newDimensions = new WindowDimensions(newBounds, newDimensions.getInsets(), newDimensions.isClientSizeSet());
66.8 + Insets insets = newDimensions.getInsets();
66.9 + // Inherit isClientSizeSet from newDimensions
66.10 + if (newDimensions.isClientSizeSet()) {
66.11 + newBounds = new Rectangle(newBounds.x, newBounds.y,
66.12 + newBounds.width - insets.left - insets.right,
66.13 + newBounds.height - insets.top - insets.bottom);
66.14 + }
66.15 + newDimensions = new WindowDimensions(newBounds, insets, newDimensions.isClientSizeSet());
66.16 }
66.17 XToolkit.awtLock();
66.18 try {
67.1 --- a/src/solaris/classes/sun/awt/X11/XDragSourceContextPeer.java Tue Feb 17 09:06:16 2009 -0800
67.2 +++ b/src/solaris/classes/sun/awt/X11/XDragSourceContextPeer.java Wed Feb 18 10:05:41 2009 -0800
67.3 @@ -694,8 +694,8 @@
67.4 } finally {
67.5 xmotion.dispose();
67.6 }
67.7 - if (xbutton.get_button() == XConstants.Button1
67.8 - || xbutton.get_button() == XConstants.Button2) {
67.9 + if (xbutton.get_button() == XConstants.buttons[0]
67.10 + || xbutton.get_button() == XConstants.buttons[1]) {
67.11 // drag is initiated with Button1 or Button2 pressed and
67.12 // ended on release of either of these buttons (as the same
67.13 // behavior was with our old Motif DnD-based implementation)
68.1 --- a/src/solaris/classes/sun/awt/X11/XEmbedClientHelper.java Tue Feb 17 09:06:16 2009 -0800
68.2 +++ b/src/solaris/classes/sun/awt/X11/XEmbedClientHelper.java Wed Feb 18 10:05:41 2009 -0800
68.3 @@ -31,6 +31,9 @@
68.4 import java.awt.Component;
68.5 import java.awt.Container;
68.6
68.7 +import sun.awt.X11GraphicsConfig;
68.8 +import sun.awt.X11GraphicsDevice;
68.9 +
68.10 /**
68.11 * Helper class implementing XEmbed protocol handling routines(client side)
68.12 * Window which wants to participate in a protocol should create an instance,
68.13 @@ -39,20 +42,34 @@
68.14 public class XEmbedClientHelper extends XEmbedHelper implements XEventDispatcher {
68.15 private static final Logger xembedLog = Logger.getLogger("sun.awt.X11.xembed.XEmbedClientHelper");
68.16
68.17 - private XEmbeddedFramePeer embedded;
68.18 + private XEmbeddedFramePeer embedded; // XEmbed client
68.19 + private long server; // XEmbed server
68.20 +
68.21 private boolean active;
68.22 - private long server;
68.23 private boolean applicationActive;
68.24
68.25 XEmbedClientHelper() {
68.26 super();
68.27 }
68.28
68.29 - void install(XEmbeddedFramePeer embedded) {
68.30 - this.embedded = embedded;
68.31 + void setClient(XEmbeddedFramePeer client) {
68.32 + if (xembedLog.isLoggable(Level.FINE)) {
68.33 + xembedLog.fine("XEmbed client: " + client);
68.34 + }
68.35 + if (embedded != null) {
68.36 + XToolkit.removeEventDispatcher(embedded.getWindow(), this);
68.37 + active = false;
68.38 + }
68.39 + embedded = client;
68.40 + if (embedded != null) {
68.41 + XToolkit.addEventDispatcher(embedded.getWindow(), this);
68.42 + }
68.43 + }
68.44
68.45 - if (xembedLog.isLoggable(Level.FINE)) xembedLog.fine("Installing xembedder on " + embedded);
68.46 - XToolkit.addEventDispatcher(embedded.getWindow(), this);
68.47 + void install() {
68.48 + if (xembedLog.isLoggable(Level.FINE)) {
68.49 + xembedLog.fine("Installing xembedder on " + embedded);
68.50 + }
68.51 long[] info = new long[] { XEMBED_VERSION, XEMBED_MAPPED };
68.52 long data = Native.card32ToData(info);
68.53 try {
68.54 @@ -155,7 +172,24 @@
68.55 }
68.56 public void handleReparentNotify(XEvent xev) {
68.57 XReparentEvent re = xev.get_xreparent();
68.58 - server = re.get_parent();
68.59 + long newParent = re.get_parent();
68.60 + if (active) {
68.61 + // unregister accelerators, etc. for old parent
68.62 + embedded.notifyStopped();
68.63 + // check if newParent is a root window
68.64 + X11GraphicsConfig gc = (X11GraphicsConfig)embedded.getGraphicsConfiguration();
68.65 + X11GraphicsDevice gd = (X11GraphicsDevice)gc.getDevice();
68.66 + if ((newParent == XlibUtil.getRootWindow(gd.getScreen())) ||
68.67 + (newParent == XToolkit.getDefaultRootWindow()))
68.68 + {
68.69 + // reparenting to root means XEmbed termination
68.70 + active = false;
68.71 + } else {
68.72 + // continue XEmbed with a new parent
68.73 + server = newParent;
68.74 + embedded.notifyStarted();
68.75 + }
68.76 + }
68.77 }
68.78 boolean requestFocus() {
68.79 if (active && embedded.focusAllowedFor()) {
68.80 @@ -201,12 +235,16 @@
68.81 }
68.82
68.83 void registerAccelerator(AWTKeyStroke stroke, int id) {
68.84 - long sym = getX11KeySym(stroke);
68.85 - long mods = getX11Mods(stroke);
68.86 - sendMessage(server, XEMBED_REGISTER_ACCELERATOR, id, sym, mods);
68.87 + if (active) {
68.88 + long sym = getX11KeySym(stroke);
68.89 + long mods = getX11Mods(stroke);
68.90 + sendMessage(server, XEMBED_REGISTER_ACCELERATOR, id, sym, mods);
68.91 + }
68.92 }
68.93 void unregisterAccelerator(int id) {
68.94 - sendMessage(server, XEMBED_UNREGISTER_ACCELERATOR, id, 0, 0);
68.95 + if (active) {
68.96 + sendMessage(server, XEMBED_UNREGISTER_ACCELERATOR, id, 0, 0);
68.97 + }
68.98 }
68.99
68.100 long getX11KeySym(AWTKeyStroke stroke) {
69.1 --- a/src/solaris/classes/sun/awt/X11/XEmbeddedFramePeer.java Tue Feb 17 09:06:16 2009 -0800
69.2 +++ b/src/solaris/classes/sun/awt/X11/XEmbeddedFramePeer.java Wed Feb 18 10:05:41 2009 -0800
69.3 @@ -63,7 +63,10 @@
69.4 void postInit(XCreateWindowParams params) {
69.5 super.postInit(params);
69.6 if (embedder != null) {
69.7 - embedder.install(this);
69.8 + // install X11 event dispatcher
69.9 + embedder.setClient(this);
69.10 + // reparent to XEmbed server
69.11 + embedder.install();
69.12 } else if (getParentWindowHandle() != 0) {
69.13 XToolkit.awtLock();
69.14 try {
69.15 @@ -77,6 +80,15 @@
69.16 }
69.17 }
69.18
69.19 + @Override
69.20 + public void dispose() {
69.21 + if (embedder != null) {
69.22 + // uninstall X11 event dispatcher
69.23 + embedder.setClient(null);
69.24 + }
69.25 + super.dispose();
69.26 + }
69.27 +
69.28 public void updateMinimumSize() {
69.29 }
69.30
69.31 @@ -249,6 +261,14 @@
69.32 // XEmbed.
69.33 updateDropTarget();
69.34 }
69.35 + void notifyStopped() {
69.36 + if (embedder != null && embedder.isActive()) {
69.37 + for (int i = strokes.size() - 1; i >= 0; i--) {
69.38 + embedder.unregisterAccelerator(i);
69.39 + }
69.40 + }
69.41 + }
69.42 +
69.43 long getFocusTargetWindow() {
69.44 return getWindow();
69.45 }
70.1 --- a/src/solaris/classes/sun/awt/X11/XKeysym.java Tue Feb 17 09:06:16 2009 -0800
70.2 +++ b/src/solaris/classes/sun/awt/X11/XKeysym.java Wed Feb 18 10:05:41 2009 -0800
70.3 @@ -63,6 +63,8 @@
70.4 // TODO: or not to do: add reverse lookup javakeycode2keysym,
70.5 // for robot only it seems to me. After that, we can remove lookup table
70.6 // from XWindow.c altogether.
70.7 + // Another use for reverse lookup: query keyboard state, for some keys.
70.8 + static Hashtable<Integer, Long> javaKeycode2KeysymHash = new Hashtable<Integer, Long>();
70.9 static long keysym_lowercase = unsafe.allocateMemory(Native.getLongSize());
70.10 static long keysym_uppercase = unsafe.allocateMemory(Native.getLongSize());
70.11 public static char convertKeysym( long ks, int state ) {
70.12 @@ -196,6 +198,10 @@
70.13 Keysym2JavaKeycode jkc = getJavaKeycode( ev );
70.14 return jkc == null ? java.awt.event.KeyEvent.VK_UNDEFINED : jkc.getJavaKeycode();
70.15 }
70.16 + static long javaKeycode2Keysym( int jkey ) {
70.17 + Long ks = javaKeycode2KeysymHash.get( jkey );
70.18 + return (ks == null ? 0 : ks.longValue());
70.19 + }
70.20 /**
70.21 Return keysym derived from a keycode and modifiers.
70.22 Usually an input method does this. However non-system input methods (e.g. Java IMs) do not.
70.23 @@ -1583,6 +1589,14 @@
70.24 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.hpXK_mute_asciitilde), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_TILDE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
70.25
70.26 keysym2JavaKeycodeHash.put( Long.valueOf(XConstants.NoSymbol), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UNDEFINED, java.awt.event.KeyEvent.KEY_LOCATION_UNKNOWN));
70.27 +
70.28 + /* Reverse search of keysym by keycode. */
70.29 +
70.30 + /* Add keyboard locking codes. */
70.31 + javaKeycode2KeysymHash.put( java.awt.event.KeyEvent.VK_CAPS_LOCK, XKeySymConstants.XK_Caps_Lock);
70.32 + javaKeycode2KeysymHash.put( java.awt.event.KeyEvent.VK_NUM_LOCK, XKeySymConstants.XK_Num_Lock);
70.33 + javaKeycode2KeysymHash.put( java.awt.event.KeyEvent.VK_SCROLL_LOCK, XKeySymConstants.XK_Scroll_Lock);
70.34 + javaKeycode2KeysymHash.put( java.awt.event.KeyEvent.VK_KANA_LOCK, XKeySymConstants.XK_Kana_Lock);
70.35 };
70.36
70.37 }
71.1 --- a/src/solaris/classes/sun/awt/X11/XRobotPeer.java Tue Feb 17 09:06:16 2009 -0800
71.2 +++ b/src/solaris/classes/sun/awt/X11/XRobotPeer.java Wed Feb 18 10:05:41 2009 -0800
71.3 @@ -1,5 +1,5 @@
71.4 /*
71.5 - * Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved.
71.6 + * Copyright 2003-2008 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 @@ -81,11 +81,16 @@
71.11 return pixelArray;
71.12 }
71.13
71.14 + public int getNumberOfButtons(){
71.15 + return getNumberOfButtonsImpl();
71.16 + }
71.17 +
71.18 private static native synchronized void setup();
71.19
71.20 private static native synchronized void mouseMoveImpl(X11GraphicsConfig xgc, int x, int y);
71.21 private static native synchronized void mousePressImpl(int buttons);
71.22 private static native synchronized void mouseReleaseImpl(int buttons);
71.23 + private static native synchronized int getNumberOfButtonsImpl();
71.24 private static native synchronized void mouseWheelImpl(int wheelAmt);
71.25
71.26 private static native synchronized void keyPressImpl(int keycode);
72.1 --- a/src/solaris/classes/sun/awt/X11/XToolkit.java Tue Feb 17 09:06:16 2009 -0800
72.2 +++ b/src/solaris/classes/sun/awt/X11/XToolkit.java Wed Feb 18 10:05:41 2009 -0800
72.3 @@ -27,6 +27,7 @@
72.4 import java.awt.*;
72.5 import java.awt.event.InputEvent;
72.6 import java.awt.event.MouseEvent;
72.7 +import java.awt.event.KeyEvent;
72.8 import java.awt.datatransfer.Clipboard;
72.9 import java.awt.dnd.DragSource;
72.10 import java.awt.dnd.DragGestureListener;
72.11 @@ -61,6 +62,10 @@
72.12 private static Logger keyEventLog = Logger.getLogger("sun.awt.X11.kye.XToolkit");
72.13 private static final Logger backingStoreLog = Logger.getLogger("sun.awt.X11.backingStore.XToolkit");
72.14
72.15 + //There is 400 ms is set by default on Windows and 500 by default on KDE and GNOME.
72.16 + //We use the same hardcoded constant.
72.17 + private final static int AWT_MULTICLICK_DEFAULT_TIME = 500;
72.18 +
72.19 static final boolean PRIMARY_LOOP = false;
72.20 static final boolean SECONDARY_LOOP = true;
72.21
72.22 @@ -74,6 +79,25 @@
72.23 // Dynamic Layout Resize client code setting
72.24 protected static boolean dynamicLayoutSetting = false;
72.25
72.26 + //Is it allowed to generate events assigned to extra mouse buttons.
72.27 + //Set to true by default.
72.28 + private static boolean areExtraMouseButtonsEnabled = true;
72.29 +
72.30 + /**
72.31 + * Number of buttons.
72.32 + * By default it's taken from the system. If system value does not
72.33 + * fit into int type range, use our own MAX_BUTTONS_SUPPORT value.
72.34 + */
72.35 + private static int numberOfButtons = 0;
72.36 +
72.37 + /* XFree standard mention 24 buttons as maximum:
72.38 + * http://www.xfree86.org/current/mouse.4.html
72.39 + * We workaround systems supporting more than 24 buttons.
72.40 + * Otherwise, we have to use long type values as masks
72.41 + * which leads to API change.
72.42 + */
72.43 + private static int MAX_BUTTONS_SUPPORT = 24;
72.44 +
72.45 /**
72.46 * True when the x settings have been loaded.
72.47 */
72.48 @@ -273,6 +297,9 @@
72.49
72.50 arrowCursor = XlibWrapper.XCreateFontCursor(XToolkit.getDisplay(),
72.51 XCursorFontConstants.XC_arrow);
72.52 + areExtraMouseButtonsEnabled = Boolean.parseBoolean(System.getProperty("sun.awt.enableExtraMouseButtons", "true"));
72.53 + //set system property if not yet assigned
72.54 + System.setProperty("sun.awt.enableExtraMouseButtons", ""+areExtraMouseButtonsEnabled);
72.55 } finally {
72.56 awtUnlock();
72.57 }
72.58 @@ -1080,6 +1107,19 @@
72.59 public Map mapInputMethodHighlight(InputMethodHighlight highlight) {
72.60 return XInputMethod.mapInputMethodHighlight(highlight);
72.61 }
72.62 + @Override
72.63 + public boolean getLockingKeyState(int key) {
72.64 + if (! (key == KeyEvent.VK_CAPS_LOCK || key == KeyEvent.VK_NUM_LOCK ||
72.65 + key == KeyEvent.VK_SCROLL_LOCK || key == KeyEvent.VK_KANA_LOCK)) {
72.66 + throw new IllegalArgumentException("invalid key for Toolkit.getLockingKeyState");
72.67 + }
72.68 + awtLock();
72.69 + try {
72.70 + return getModifierState( key );
72.71 + } finally {
72.72 + awtUnlock();
72.73 + }
72.74 + }
72.75
72.76 public Clipboard getSystemClipboard() {
72.77 SecurityManager security = System.getSecurityManager();
72.78 @@ -1216,7 +1256,6 @@
72.79 String multiclick_time_query = XlibWrapper.XGetDefault(XToolkit.getDisplay(), "*", "multiClickTime");
72.80 if (multiclick_time_query != null) {
72.81 awt_multiclick_time = (int)Long.parseLong(multiclick_time_query);
72.82 - // awt_multiclick_time = XtGetMultiClickTime(awt_display);
72.83 } else {
72.84 multiclick_time_query = XlibWrapper.XGetDefault(XToolkit.getDisplay(),
72.85 "OpenWindows", "MultiClickTimeout");
72.86 @@ -1226,20 +1265,19 @@
72.87 milliseconds */
72.88 awt_multiclick_time = (int)Long.parseLong(multiclick_time_query) * 100;
72.89 } else {
72.90 - awt_multiclick_time = 200;
72.91 - // awt_multiclick_time = XtGetMultiClickTime(awt_display);
72.92 + awt_multiclick_time = AWT_MULTICLICK_DEFAULT_TIME;
72.93 }
72.94 }
72.95 } catch (NumberFormatException nf) {
72.96 - awt_multiclick_time = 200;
72.97 + awt_multiclick_time = AWT_MULTICLICK_DEFAULT_TIME;
72.98 } catch (NullPointerException npe) {
72.99 - awt_multiclick_time = 200;
72.100 + awt_multiclick_time = AWT_MULTICLICK_DEFAULT_TIME;
72.101 }
72.102 } finally {
72.103 awtUnlock();
72.104 }
72.105 if (awt_multiclick_time == 0) {
72.106 - awt_multiclick_time = 200;
72.107 + awt_multiclick_time = AWT_MULTICLICK_DEFAULT_TIME;
72.108 }
72.109 }
72.110
72.111 @@ -1383,10 +1421,15 @@
72.112 }
72.113 }
72.114
72.115 - private int getNumMouseButtons() {
72.116 + public static int getNumMouseButtons() {
72.117 awtLock();
72.118 try {
72.119 - return XlibWrapper.XGetPointerMapping(XToolkit.getDisplay(), 0, 0);
72.120 + if (numberOfButtons == 0) {
72.121 + numberOfButtons = Math.min(
72.122 + XlibWrapper.XGetPointerMapping(XToolkit.getDisplay(), 0, 0),
72.123 + MAX_BUTTONS_SUPPORT);
72.124 + }
72.125 + return numberOfButtons;
72.126 } finally {
72.127 awtUnlock();
72.128 }
72.129 @@ -1542,6 +1585,66 @@
72.130 awtUnlock();
72.131 }
72.132 }
72.133 + static boolean getModifierState( int jkc ) {
72.134 + int iKeyMask = 0;
72.135 + long ks = XKeysym.javaKeycode2Keysym( jkc );
72.136 + int kc = XlibWrapper.XKeysymToKeycode(getDisplay(), ks);
72.137 + if (kc == 0) {
72.138 + return false;
72.139 + }
72.140 + awtLock();
72.141 + try {
72.142 + XModifierKeymap modmap = new XModifierKeymap(
72.143 + XlibWrapper.XGetModifierMapping(getDisplay()));
72.144 +
72.145 + int nkeys = modmap.get_max_keypermod();
72.146 +
72.147 + long map_ptr = modmap.get_modifiermap();
72.148 + for( int k = 0; k < 8; k++ ) {
72.149 + for (int i = 0; i < nkeys; ++i) {
72.150 + int keycode = Native.getUByte(map_ptr, k * nkeys + i);
72.151 + if (keycode == 0) {
72.152 + continue; // ignore zero keycode
72.153 + }
72.154 + if (kc == keycode) {
72.155 + iKeyMask = 1 << k;
72.156 + break;
72.157 + }
72.158 + }
72.159 + if( iKeyMask != 0 ) {
72.160 + break;
72.161 + }
72.162 + }
72.163 + XlibWrapper.XFreeModifiermap(modmap.pData);
72.164 + if (iKeyMask == 0 ) {
72.165 + return false;
72.166 + }
72.167 + // Now we know to which modifier is assigned the keycode
72.168 + // correspondent to the keysym correspondent to the java
72.169 + // keycode. We are going to check a state of this modifier.
72.170 + // If a modifier is a weird one, we cannot help it.
72.171 + long window = 0;
72.172 + try{
72.173 + // get any application window
72.174 + window = ((Long)(winMap.firstKey())).longValue();
72.175 + }catch(NoSuchElementException nex) {
72.176 + // get root window
72.177 + window = getDefaultRootWindow();
72.178 + }
72.179 + boolean res = XlibWrapper.XQueryPointer(getDisplay(), window,
72.180 + XlibWrapper.larg1, //root
72.181 + XlibWrapper.larg2, //child
72.182 + XlibWrapper.larg3, //root_x
72.183 + XlibWrapper.larg4, //root_y
72.184 + XlibWrapper.larg5, //child_x
72.185 + XlibWrapper.larg6, //child_y
72.186 + XlibWrapper.larg7);//mask
72.187 + int mask = Native.getInt(XlibWrapper.larg7);
72.188 + return ((mask & iKeyMask) != 0);
72.189 + } finally {
72.190 + awtUnlock();
72.191 + }
72.192 + }
72.193
72.194 /* Assign meaning - alt, meta, etc. - to X modifiers mod1 ... mod5.
72.195 * Only consider primary symbols on keycodes attached to modifiers.
72.196 @@ -2166,4 +2269,8 @@
72.197 }
72.198
72.199 public static native void setNoisyXErrorHandler();
72.200 +
72.201 + public boolean areExtraMouseButtonsEnabled() throws HeadlessException {
72.202 + return areExtraMouseButtonsEnabled;
72.203 + }
72.204 }
73.1 --- a/src/solaris/classes/sun/awt/X11/XWindow.java Tue Feb 17 09:06:16 2009 -0800
73.2 +++ b/src/solaris/classes/sun/awt/X11/XWindow.java Wed Feb 18 10:05:41 2009 -0800
73.3 @@ -553,6 +553,10 @@
73.4 }
73.5
73.6 static int getModifiers(int state, int button, int keyCode) {
73.7 + return getModifiers(state, button, keyCode, 0, false);
73.8 + }
73.9 +
73.10 + static int getModifiers(int state, int button, int keyCode, int type, boolean wheel_mouse) {
73.11 int modifiers = 0;
73.12
73.13 if (((state & XConstants.ShiftMask) != 0) ^ (keyCode == KeyEvent.VK_SHIFT)) {
73.14 @@ -570,14 +574,23 @@
73.15 if (((state & XToolkit.modeSwitchMask) != 0) ^ (keyCode == KeyEvent.VK_ALT_GRAPH)) {
73.16 modifiers |= InputEvent.ALT_GRAPH_DOWN_MASK;
73.17 }
73.18 - if (((state & XConstants.Button1Mask) != 0) ^ (button == MouseEvent.BUTTON1)) {
73.19 - modifiers |= InputEvent.BUTTON1_DOWN_MASK;
73.20 - }
73.21 - if (((state & XConstants.Button2Mask) != 0) ^ (button == MouseEvent.BUTTON2)) {
73.22 - modifiers |= InputEvent.BUTTON2_DOWN_MASK;
73.23 - }
73.24 - if (((state & XConstants.Button3Mask) != 0) ^ (button == MouseEvent.BUTTON3)) {
73.25 - modifiers |= InputEvent.BUTTON3_DOWN_MASK;
73.26 + //InputEvent.BUTTON_DOWN_MASK array is starting from BUTTON1_DOWN_MASK on index == 0.
73.27 + // button currently reflects a real button number and starts from 1. (except NOBUTTON which is zero )
73.28 +
73.29 + /* this is an attempt to refactor button IDs in : MouseEvent, InputEvent, XlibWrapper and XWindow.*/
73.30 +
73.31 + //reflects a button number similar to MouseEvent.BUTTON1, 2, 3 etc.
73.32 + for (int i = 0; i < XConstants.buttonsMask.length; i ++){
73.33 + //modifier should be added if :
73.34 + // 1) current button is now still in PRESSED state (means that user just pressed mouse but not released yet) or
73.35 + // 2) if Xsystem reports that "state" represents that button was just released. This only happens on RELEASE with 1,2,3 buttons.
73.36 + // ONLY one of these conditions should be TRUE to add that modifier.
73.37 + if (((state & XConstants.buttonsMask[i]) != 0) != (button == XConstants.buttons[i])){
73.38 + //exclude wheel buttons from adding their numbers as modifiers
73.39 + if (!wheel_mouse) {
73.40 + modifiers |= InputEvent.getMaskForButton(i+1);
73.41 + }
73.42 + }
73.43 }
73.44 return modifiers;
73.45 }
73.46 @@ -603,17 +616,6 @@
73.47 return res;
73.48 }
73.49
73.50 - private static int getButtonMask(long mouseButton) {
73.51 - if (mouseButton == XConstants.Button1) {
73.52 - return XConstants.Button1Mask;
73.53 - } else if (mouseButton == XConstants.Button2) {
73.54 - return XConstants.Button2Mask;
73.55 - } else if (mouseButton == XConstants.Button3) {
73.56 - return XConstants.Button3Mask;
73.57 - }
73.58 - return 0;
73.59 - }
73.60 -
73.61 /**
73.62 * Returns true if this event is disabled and shouldn't be passed to Java.
73.63 * Default implementation returns false for all events.
73.64 @@ -648,7 +650,7 @@
73.65 boolean popupTrigger = false;
73.66 int button=0;
73.67 boolean wheel_mouse = false;
73.68 - long lbutton = xbe.get_button();
73.69 + int lbutton = xbe.get_button();
73.70 int type = xev.get_type();
73.71 when = xbe.get_time();
73.72 long jWhen = XToolkit.nowMillisUTC_offset(when);
73.73 @@ -663,7 +665,7 @@
73.74
73.75 if (type == XConstants.ButtonPress) {
73.76 //Allow this mouse button to generate CLICK event on next ButtonRelease
73.77 - mouseButtonClickAllowed |= getButtonMask(lbutton);
73.78 + mouseButtonClickAllowed |= XConstants.buttonsMask[lbutton];
73.79 XWindow lastWindow = (lastWindowRef != null) ? ((XWindow)lastWindowRef.get()):(null);
73.80 /*
73.81 multiclick checking
73.82 @@ -693,21 +695,22 @@
73.83 }
73.84 }
73.85
73.86 - if (lbutton == XConstants.Button1)
73.87 - button = MouseEvent.BUTTON1;
73.88 - else if (lbutton == XConstants.Button2 )
73.89 - button = MouseEvent.BUTTON2;
73.90 - else if (lbutton == XConstants.Button3)
73.91 - button = MouseEvent.BUTTON3;
73.92 - else if (lbutton == XConstants.Button4) {
73.93 - button = 4;
73.94 - wheel_mouse = true;
73.95 - } else if (lbutton == XConstants.Button5) {
73.96 - button = 5;
73.97 + button = XConstants.buttons[lbutton - 1];
73.98 + // 4 and 5 buttons are usually considered assigned to a first wheel
73.99 + if (lbutton == XConstants.buttons[3] ||
73.100 + lbutton == XConstants.buttons[4]) {
73.101 wheel_mouse = true;
73.102 }
73.103
73.104 - modifiers = getModifiers(xbe.get_state(),button,0);
73.105 + // mapping extra buttons to numbers starting from 4.
73.106 + if ((button > XConstants.buttons[4]) && (!Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled())){
73.107 + return;
73.108 + }
73.109 +
73.110 + if (button > XConstants.buttons[4]){
73.111 + button -= 2;
73.112 + }
73.113 + modifiers = getModifiers(xbe.get_state(),button,0, type, wheel_mouse);
73.114
73.115 if (!wheel_mouse) {
73.116 MouseEvent me = new MouseEvent((Component)getEventSource(),
73.117 @@ -720,7 +723,7 @@
73.118 postEventToEventQueue(me);
73.119
73.120 if ((type == XConstants.ButtonRelease) &&
73.121 - ((mouseButtonClickAllowed & getButtonMask(lbutton)) != 0) ) // No up-button in the drag-state
73.122 + ((mouseButtonClickAllowed & XConstants.buttonsMask[lbutton]) != 0) ) // No up-button in the drag-state
73.123 {
73.124 postEventToEventQueue(me = new MouseEvent((Component)getEventSource(),
73.125 MouseEvent.MOUSE_CLICKED,
73.126 @@ -750,7 +753,7 @@
73.127 /* Update the state variable AFTER the CLICKED event post. */
73.128 if (type == XConstants.ButtonRelease) {
73.129 /* Exclude this mouse button from allowed list.*/
73.130 - mouseButtonClickAllowed &= ~getButtonMask(lbutton);
73.131 + mouseButtonClickAllowed &= ~XConstants.buttonsMask[lbutton];
73.132 }
73.133 }
73.134
73.135 @@ -761,7 +764,19 @@
73.136 return;
73.137 }
73.138
73.139 - int mouseKeyState = (xme.get_state() & (XConstants.Button1Mask | XConstants.Button2Mask | XConstants.Button3Mask));
73.140 + int mouseKeyState = 0; //(xme.get_state() & (XConstants.buttonsMask[0] | XConstants.buttonsMask[1] | XConstants.buttonsMask[2]));
73.141 +
73.142 + //this doesn't work for extra buttons because Xsystem is sending state==0 for every extra button event.
73.143 + // we can't correct it in MouseEvent class as we done it with modifiers, because exact type (DRAG|MOVE)
73.144 + // should be passed from XWindow.
73.145 + //TODO: eliminate it with some other value obtained w/o AWTLock.
73.146 + for (int i = 0; i < XToolkit.getNumMouseButtons(); i++){
73.147 + // TODO : here is the bug in WM: extra buttons doesn't have state!=0 as they should.
73.148 + if ((i != 4) && (i != 5)) {
73.149 + mouseKeyState = mouseKeyState | (xme.get_state() & XConstants.buttonsMask[i]);
73.150 + }
73.151 + }
73.152 +
73.153 boolean isDragging = (mouseKeyState != 0);
73.154 int mouseEventType = 0;
73.155
74.1 --- a/src/solaris/classes/sun/awt/X11/XWindowPeer.java Tue Feb 17 09:06:16 2009 -0800
74.2 +++ b/src/solaris/classes/sun/awt/X11/XWindowPeer.java Wed Feb 18 10:05:41 2009 -0800
74.3 @@ -1936,7 +1936,13 @@
74.4 new Object[] {xme, isGrabbed(), containsGlobal(xme.get_x_root(), xme.get_y_root())});
74.5 }
74.6 if (isGrabbed()) {
74.7 - boolean dragging = (xme.get_state() & (XConstants.Button1Mask | XConstants.Button2Mask | XConstants.Button3Mask)) != 0;
74.8 + boolean dragging = false;
74.9 + for (int i = 0; i<XToolkit.getNumMouseButtons(); i++){
74.10 + // here is the bug in WM: extra buttons doesn't have state!=0 as they should.
74.11 + if ((i != 4) && (i != 5)){
74.12 + dragging = dragging || ((xme.get_state() & XConstants.buttonsMask[i]) != 0);
74.13 + }
74.14 + }
74.15 // When window is grabbed, all events are dispatched to
74.16 // it. Retarget them to the corresponding windows (notice
74.17 // that XBaseWindow.dispatchEvent does the opposite
74.18 @@ -1990,12 +1996,12 @@
74.19 try {
74.20 grabLog.log(Level.FINER, " - Grab event target {0} (press target {1})", new Object[] {target, pressTarget});
74.21 if (xbe.get_type() == XConstants.ButtonPress
74.22 - && xbe.get_button() == XConstants.Button1)
74.23 + && xbe.get_button() == XConstants.buttons[0])
74.24 {
74.25 // need to keep it to retarget mouse release
74.26 pressTarget = target;
74.27 } else if (xbe.get_type() == XConstants.ButtonRelease
74.28 - && xbe.get_button() == XConstants.Button1
74.29 + && xbe.get_button() == XConstants.buttons[0]
74.30 && pressTarget != target)
74.31 {
74.32 // during grab we do receive mouse release on different component (not on the source
75.1 --- a/src/solaris/classes/sun/awt/X11/XlibWrapper.java Tue Feb 17 09:06:16 2009 -0800
75.2 +++ b/src/solaris/classes/sun/awt/X11/XlibWrapper.java Wed Feb 18 10:05:41 2009 -0800
75.3 @@ -485,6 +485,7 @@
75.4 static native int XdbeEndIdiom(long display);
75.5 static native int XdbeSwapBuffers(long display, long swap_info, int num_windows);
75.6
75.7 + static native void XQueryKeymap(long display, long vector);
75.8 static native long XKeycodeToKeysym(long display, int keycode, int index);
75.9
75.10 static native int XKeysymToKeycode(long display, long keysym);
76.1 --- a/src/solaris/classes/sun/awt/X11/keysym2ucs.h Tue Feb 17 09:06:16 2009 -0800
76.2 +++ b/src/solaris/classes/sun/awt/X11/keysym2ucs.h Wed Feb 18 10:05:41 2009 -0800
76.3 @@ -101,6 +101,8 @@
76.4 tojava // TODO: or not to do: add reverse lookup javakeycode2keysym,
76.5 tojava // for robot only it seems to me. After that, we can remove lookup table
76.6 tojava // from XWindow.c altogether.
76.7 +tojava // Another use for reverse lookup: query keyboard state, for some keys.
76.8 +tojava static Hashtable<Integer, Long> javaKeycode2KeysymHash = new Hashtable<Integer, Long>();
76.9 tojava static long keysym_lowercase = unsafe.allocateMemory(Native.getLongSize());
76.10 tojava static long keysym_uppercase = unsafe.allocateMemory(Native.getLongSize());
76.11 tojava public static char convertKeysym( long ks, int state ) {
76.12 @@ -234,6 +236,10 @@
76.13 tojava Keysym2JavaKeycode jkc = getJavaKeycode( ev );
76.14 tojava return jkc == null ? java.awt.event.KeyEvent.VK_UNDEFINED : jkc.getJavaKeycode();
76.15 tojava }
76.16 +tojava static long javaKeycode2Keysym( int jkey ) {
76.17 +tojava Long ks = javaKeycode2KeysymHash.get( jkey );
76.18 +tojava return (ks == null ? 0 : ks.longValue());
76.19 +tojava }
76.20 tojava /**
76.21 tojava Return keysym derived from a keycode and modifiers.
76.22 tojava Usually an input method does this. However non-system input methods (e.g. Java IMs) do not.
76.23 @@ -2634,6 +2640,14 @@
76.24 tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.hpXK_mute_asciitilde), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_TILDE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
76.25 tojava
76.26 tojava keysym2JavaKeycodeHash.put( Long.valueOf(XConstants.NoSymbol), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UNDEFINED, java.awt.event.KeyEvent.KEY_LOCATION_UNKNOWN));
76.27 +tojava
76.28 +tojava /* Reverse search of keysym by keycode. */
76.29 +tojava
76.30 +tojava /* Add keyboard locking codes. */
76.31 +tojava javaKeycode2KeysymHash.put( java.awt.event.KeyEvent.VK_CAPS_LOCK, XKeySymConstants.XK_Caps_Lock);
76.32 +tojava javaKeycode2KeysymHash.put( java.awt.event.KeyEvent.VK_NUM_LOCK, XKeySymConstants.XK_Num_Lock);
76.33 +tojava javaKeycode2KeysymHash.put( java.awt.event.KeyEvent.VK_SCROLL_LOCK, XKeySymConstants.XK_Scroll_Lock);
76.34 +tojava javaKeycode2KeysymHash.put( java.awt.event.KeyEvent.VK_KANA_LOCK, XKeySymConstants.XK_Kana_Lock);
76.35 tojava };
76.36 tojava
76.37 tojava }
77.1 --- a/src/solaris/native/sun/awt/awt_Robot.c Tue Feb 17 09:06:16 2009 -0800
77.2 +++ b/src/solaris/native/sun/awt/awt_Robot.c Wed Feb 18 10:05:41 2009 -0800
77.3 @@ -1,5 +1,5 @@
77.4 /*
77.5 - * Copyright 1999-2006 Sun Microsystems, Inc. All Rights Reserved.
77.6 + * Copyright 1999-2008 Sun Microsystems, Inc. All Rights Reserved.
77.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
77.8 *
77.9 * This code is free software; you can redistribute it and/or modify it
77.10 @@ -54,6 +54,7 @@
77.11 // 2 would be more correct, however that's how Robot originally worked
77.12 // and tests start to fail if this value is changed
77.13 static int32_t num_buttons = 3;
77.14 +static jint * masks;
77.15
77.16 static int32_t isXTestAvailable() {
77.17 int32_t major_opcode, first_event, first_error;
77.18 @@ -208,6 +209,26 @@
77.19 Java_sun_awt_X11_XRobotPeer_setup (JNIEnv * env, jclass cls) {
77.20 int32_t xtestAvailable;
77.21
77.22 +// this should be called from XRobotPeer constructor
77.23 + jclass inputEventClazz = (*env)->FindClass(env, "java/awt/event/InputEvent");
77.24 + jmethodID getButtonDownMasksID = (*env)->GetStaticMethodID(env, inputEventClazz, "getButtonDownMasks", "()[I");
77.25 + jintArray obj = (jintArray)(*env)->CallStaticObjectMethod(env, inputEventClazz, getButtonDownMasksID);
77.26 + jsize len = (*env)->GetArrayLength(env, obj);
77.27 + jint * tmp = (*env)->GetIntArrayElements(env, obj, JNI_FALSE);
77.28 +
77.29 + masks = (jint *)malloc(sizeof(jint)*len);
77.30 + if (masks == (jint *) NULL) {
77.31 + JNU_ThrowOutOfMemoryError((JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2), NULL);
77.32 + goto finally;
77.33 + }
77.34 +
77.35 + int i;
77.36 + for (i = 0; i < len; i++) {
77.37 + masks[i] = tmp[i];
77.38 + }
77.39 + (*env)->ReleaseIntArrayElements(env, obj, tmp, 0);
77.40 + (*env)->DeleteLocalRef(env, obj);
77.41 +
77.42 DTRACE_PRINTLN("RobotPeer: setup()");
77.43
77.44 AWT_LOCK();
77.45 @@ -221,8 +242,15 @@
77.46 }
77.47
77.48 getNumButtons();
77.49 + finally:
77.50 + AWT_UNLOCK();
77.51 +}
77.52
77.53 - AWT_UNLOCK();
77.54 +JNIEXPORT jint JNICALL
77.55 +Java_sun_awt_X11_XRobotPeer_getNumberOfButtonsImpl(JNIEnv *env,
77.56 + jclass cls) {
77.57 + // At the moment this routine being called we already should have an initialized num_buttons variable.
77.58 + return num_buttons;
77.59 }
77.60
77.61 JNIEXPORT void JNICALL
77.62 @@ -348,52 +376,65 @@
77.63 AWT_UNLOCK();
77.64 }
77.65
77.66 +/*
77.67 + * Function joining the code of mousePressImpl and mouseReleaseImpl
77.68 + */
77.69 +void mouseAction(JNIEnv *env,
77.70 + jclass cls,
77.71 + jint buttonMask,
77.72 + Bool isMousePress)
77.73 +{
77.74 + AWT_LOCK();
77.75 +
77.76 + DTRACE_PRINTLN1("RobotPeer: mouseAction(%i)", buttonMask);
77.77 + DTRACE_PRINTLN1("RobotPeer: mouseAction, press = %d", isMousePress);
77.78 +
77.79 + if (buttonMask & java_awt_event_InputEvent_BUTTON1_MASK ||
77.80 + buttonMask & java_awt_event_InputEvent_BUTTON1_DOWN_MASK )
77.81 + {
77.82 + XTestFakeButtonEvent(awt_display, 1, isMousePress, CurrentTime);
77.83 + }
77.84 + if ((buttonMask & java_awt_event_InputEvent_BUTTON2_MASK ||
77.85 + buttonMask & java_awt_event_InputEvent_BUTTON2_DOWN_MASK) &&
77.86 + (num_buttons >= 2)) {
77.87 + XTestFakeButtonEvent(awt_display, 2, isMousePress, CurrentTime);
77.88 + }
77.89 + if ((buttonMask & java_awt_event_InputEvent_BUTTON3_MASK ||
77.90 + buttonMask & java_awt_event_InputEvent_BUTTON3_DOWN_MASK) &&
77.91 + (num_buttons >= 3)) {
77.92 + XTestFakeButtonEvent(awt_display, 3, isMousePress, CurrentTime);
77.93 + }
77.94 +
77.95 + if (num_buttons > 3){
77.96 + int32_t i;
77.97 + int32_t button = 0;
77.98 + for (i = 3; i<num_buttons; i++){
77.99 + if ((buttonMask & masks[i])) {
77.100 + // arrays starts from zero index => +1
77.101 + // users wants to affect 4 or 5 button but they are assigned
77.102 + // to the wheel so => we have to shift it to the right by 2.
77.103 + button = i + 3;
77.104 + XTestFakeButtonEvent(awt_display, button, isMousePress, CurrentTime);
77.105 + }
77.106 + }
77.107 + }
77.108 +
77.109 + XSync(awt_display, False);
77.110 + AWT_UNLOCK();
77.111 +}
77.112 +
77.113 JNIEXPORT void JNICALL
77.114 Java_sun_awt_X11_XRobotPeer_mousePressImpl (JNIEnv *env,
77.115 jclass cls,
77.116 jint buttonMask) {
77.117 - AWT_LOCK();
77.118 -
77.119 - DTRACE_PRINTLN1("RobotPeer: mousePressImpl(%i)", buttonMask);
77.120 -
77.121 - if (buttonMask & java_awt_event_InputEvent_BUTTON1_MASK) {
77.122 - XTestFakeButtonEvent(awt_display, 1, True, CurrentTime);
77.123 - }
77.124 - if ((buttonMask & java_awt_event_InputEvent_BUTTON2_MASK) &&
77.125 - (num_buttons >= 2)) {
77.126 - XTestFakeButtonEvent(awt_display, 2, True, CurrentTime);
77.127 - }
77.128 - if ((buttonMask & java_awt_event_InputEvent_BUTTON3_MASK) &&
77.129 - (num_buttons >= 3)) {
77.130 - XTestFakeButtonEvent(awt_display, 3, True, CurrentTime);
77.131 - }
77.132 - XSync(awt_display, False);
77.133 -
77.134 - AWT_UNLOCK();
77.135 + mouseAction(env, cls, buttonMask, True);
77.136 }
77.137
77.138 JNIEXPORT void JNICALL
77.139 Java_sun_awt_X11_XRobotPeer_mouseReleaseImpl (JNIEnv *env,
77.140 jclass cls,
77.141 jint buttonMask) {
77.142 - AWT_LOCK();
77.143 -
77.144 - DTRACE_PRINTLN1("RobotPeer: mouseReleaseImpl(%i)", buttonMask);
77.145 -
77.146 - if (buttonMask & java_awt_event_InputEvent_BUTTON1_MASK) {
77.147 - XTestFakeButtonEvent(awt_display, 1, False, CurrentTime);
77.148 - }
77.149 - if ((buttonMask & java_awt_event_InputEvent_BUTTON2_MASK) &&
77.150 - (num_buttons >= 2)) {
77.151 - XTestFakeButtonEvent(awt_display, 2, False, CurrentTime);
77.152 - }
77.153 - if ((buttonMask & java_awt_event_InputEvent_BUTTON3_MASK) &&
77.154 - (num_buttons >= 3)) {
77.155 - XTestFakeButtonEvent(awt_display, 3, False, CurrentTime);
77.156 - }
77.157 - XSync(awt_display, False);
77.158 -
77.159 - AWT_UNLOCK();
77.160 + mouseAction(env, cls, buttonMask, False);
77.161 }
77.162
77.163 JNIEXPORT void JNICALL
78.1 --- a/src/solaris/native/sun/xawt/XlibWrapper.c Tue Feb 17 09:06:16 2009 -0800
78.2 +++ b/src/solaris/native/sun/xawt/XlibWrapper.c Wed Feb 18 10:05:41 2009 -0800
78.3 @@ -1641,6 +1641,13 @@
78.4 AWT_CHECK_HAVE_LOCK();
78.5 return XdbeSwapBuffers((Display*) jlong_to_ptr(display), (XdbeSwapInfo *) jlong_to_ptr(swap_info), num_windows);
78.6 }
78.7 +JNIEXPORT void JNICALL Java_sun_awt_X11_XlibWrapper_XQueryKeymap
78.8 +(JNIEnv *env, jclass clazz, jlong display, jlong vector)
78.9 +{
78.10 +
78.11 + AWT_CHECK_HAVE_LOCK();
78.12 + XQueryKeymap( (Display *) jlong_to_ptr(display), (char *) jlong_to_ptr(vector));
78.13 +}
78.14
78.15 JNIEXPORT jlong JNICALL
78.16 Java_sun_awt_X11_XlibWrapper_XKeycodeToKeysym(JNIEnv *env, jclass clazz,
78.17 @@ -1911,19 +1918,30 @@
78.18 jint x1, jint y1, jint x2, jint y2,
78.19 jobject region)
78.20 {
78.21 - XRectangle rects[256];
78.22 - XRectangle *pRect = rects;
78.23 - int numrects;
78.24 -
78.25 AWT_CHECK_HAVE_LOCK();
78.26
78.27 - numrects = RegionToYXBandedRectangles(env, x1, y1, x2, y2, region,
78.28 - &pRect, 256);
78.29 + // If all the params are zeros, the shape must be simply reset.
78.30 + // Otherwise, the shape may be not rectangular.
78.31 + if (region || x1 || x2 || y1 || y2) {
78.32 + XRectangle rects[256];
78.33 + XRectangle *pRect = rects;
78.34
78.35 - XShapeCombineRectangles((Display *)jlong_to_ptr(display), (Window)jlong_to_ptr(window),
78.36 + int numrects = RegionToYXBandedRectangles(env, x1, y1, x2, y2, region,
78.37 + &pRect, 256);
78.38 +
78.39 + XShapeCombineRectangles((Display *)jlong_to_ptr(display), (Window)jlong_to_ptr(window),
78.40 + ShapeClip, 0, 0, pRect, numrects, ShapeSet, YXBanded);
78.41 + XShapeCombineRectangles((Display *)jlong_to_ptr(display), (Window)jlong_to_ptr(window),
78.42 ShapeBounding, 0, 0, pRect, numrects, ShapeSet, YXBanded);
78.43
78.44 - if (pRect != rects) {
78.45 - free(pRect);
78.46 + if (pRect != rects) {
78.47 + free(pRect);
78.48 + }
78.49 + } else {
78.50 + // Reset the shape to a rectangular form.
78.51 + XShapeCombineMask((Display *)jlong_to_ptr(display), (Window)jlong_to_ptr(window),
78.52 + ShapeClip, 0, 0, None, ShapeSet);
78.53 + XShapeCombineMask((Display *)jlong_to_ptr(display), (Window)jlong_to_ptr(window),
78.54 + ShapeBounding, 0, 0, None, ShapeSet);
78.55 }
78.56 }
79.1 --- a/src/windows/classes/sun/awt/windows/WComponentPeer.java Tue Feb 17 09:06:16 2009 -0800
79.2 +++ b/src/windows/classes/sun/awt/windows/WComponentPeer.java Wed Feb 18 10:05:41 2009 -0800
79.3 @@ -68,13 +68,6 @@
79.4 private static final Logger log = Logger.getLogger("sun.awt.windows.WComponentPeer");
79.5 private static final Logger shapeLog = Logger.getLogger("sun.awt.windows.shape.WComponentPeer");
79.6
79.7 - static {
79.8 - wheelInit();
79.9 - }
79.10 -
79.11 - // Only actually does stuff if running on 95
79.12 - native static void wheelInit();
79.13 -
79.14 // ComponentPeer implementation
79.15 SurfaceData surfaceData;
79.16
79.17 @@ -964,8 +957,12 @@
79.18 + "; SHAPE: " + shape);
79.19 }
79.20
79.21 - setRectangularShape(shape.getLoX(), shape.getLoY(), shape.getHiX(), shape.getHiY(),
79.22 - (shape.isRectangular() ? null : shape));
79.23 + if (shape != null) {
79.24 + setRectangularShape(shape.getLoX(), shape.getLoY(), shape.getHiX(), shape.getHiY(),
79.25 + (shape.isRectangular() ? null : shape));
79.26 + } else {
79.27 + setRectangularShape(0, 0, 0, 0, null);
79.28 + }
79.29 }
79.30
79.31 }
80.1 --- a/src/windows/classes/sun/awt/windows/WInputMethod.java Tue Feb 17 09:06:16 2009 -0800
80.2 +++ b/src/windows/classes/sun/awt/windows/WInputMethod.java Wed Feb 18 10:05:41 2009 -0800
80.3 @@ -548,11 +548,15 @@
80.4
80.5 public void inquireCandidatePosition()
80.6 {
80.7 + Component source = getClientComponent();
80.8 + if (source == null) {
80.9 + return;
80.10 + }
80.11 // This call should return immediately just to cause
80.12 // InputMethodRequests.getTextLocation be called within
80.13 // AWT Event thread. Otherwise, a potential deadlock
80.14 // could happen.
80.15 - java.awt.EventQueue.invokeLater(new Runnable() {
80.16 + Runnable r = new Runnable() {
80.17 public void run() {
80.18 int x = 0;
80.19 int y = 0;
80.20 @@ -573,7 +577,9 @@
80.21
80.22 openCandidateWindow(awtFocussedComponentPeer, x, y);
80.23 }
80.24 - });
80.25 + };
80.26 + WToolkit.postEvent(WToolkit.targetToAppContext(source),
80.27 + new InvocationEvent(source, r));
80.28 }
80.29
80.30 // java.awt.Toolkit#getNativeContainer() is not available
81.1 --- a/src/windows/classes/sun/awt/windows/WRobotPeer.java Tue Feb 17 09:06:16 2009 -0800
81.2 +++ b/src/windows/classes/sun/awt/windows/WRobotPeer.java Wed Feb 18 10:05:41 2009 -0800
81.3 @@ -1,5 +1,5 @@
81.4 /*
81.5 - * Copyright 1998-2006 Sun Microsystems, Inc. All Rights Reserved.
81.6 + * Copyright 1998-2008 Sun Microsystems, Inc. All Rights Reserved.
81.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
81.8 *
81.9 * This code is free software; you can redistribute it and/or modify it
81.10 @@ -60,6 +60,8 @@
81.11 }
81.12 public native int getRGBPixelImpl(int x, int y);
81.13
81.14 + public native int getNumberOfButtons();
81.15 +
81.16 public int [] getRGBPixels(Rectangle bounds) {
81.17 int pixelArray[] = new int[bounds.width*bounds.height];
81.18 getRGBPixels(bounds.x, bounds.y, bounds.width, bounds.height, pixelArray);
82.1 --- a/src/windows/classes/sun/awt/windows/WToolkit.java Tue Feb 17 09:06:16 2009 -0800
82.2 +++ b/src/windows/classes/sun/awt/windows/WToolkit.java Wed Feb 18 10:05:41 2009 -0800
82.3 @@ -80,6 +80,10 @@
82.4 // Dynamic Layout Resize client code setting
82.5 protected boolean dynamicLayoutSetting = false;
82.6
82.7 + //Is it allowed to generate events assigned to extra mouse buttons.
82.8 + //Set to true by default.
82.9 + private static boolean areExtraMouseButtonsEnabled = true;
82.10 +
82.11 /**
82.12 * Initialize JNI field and method IDs
82.13 */
82.14 @@ -249,6 +253,11 @@
82.15 // Enabled "live resizing" by default. It remains controlled
82.16 // by the native system though.
82.17 setDynamicLayout(true);
82.18 +
82.19 + areExtraMouseButtonsEnabled = Boolean.parseBoolean(System.getProperty("sun.awt.enableExtraMouseButtons", "true"));
82.20 + //set system property if not yet assigned
82.21 + System.setProperty("sun.awt.enableExtraMouseButtons", ""+areExtraMouseButtonsEnabled);
82.22 + setExtraMouseButtonsEnabledNative(areExtraMouseButtonsEnabled);
82.23 }
82.24
82.25 public void run() {
82.26 @@ -961,4 +970,9 @@
82.27 return new WDesktopPeer();
82.28 }
82.29
82.30 + public static native void setExtraMouseButtonsEnabledNative(boolean enable);
82.31 +
82.32 + public boolean areExtraMouseButtonsEnabled() throws HeadlessException {
82.33 + return areExtraMouseButtonsEnabled;
82.34 + }
82.35 }
83.1 --- a/src/windows/native/sun/awt/splashscreen/splashscreen_sys.c Tue Feb 17 09:06:16 2009 -0800
83.2 +++ b/src/windows/native/sun/awt/splashscreen/splashscreen_sys.c Wed Feb 18 10:05:41 2009 -0800
83.3 @@ -1,5 +1,5 @@
83.4 /*
83.5 - * Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
83.6 + * Copyright 2005-2008 Sun Microsystems, Inc. All Rights Reserved.
83.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
83.8 *
83.9 * This code is free software; you can redistribute it and/or modify it
83.10 @@ -23,24 +23,21 @@
83.11 * have any questions.
83.12 */
83.13
83.14 +// copy from awt.h
83.15 +#ifndef _WIN32_WINNT
83.16 +#define _WIN32_WINNT 0x0600
83.17 +#endif
83.18 +
83.19 +// copy from awt.h
83.20 +#ifndef _WIN32_IE
83.21 +#define _WIN32_IE 0x0600
83.22 +#endif
83.23 +
83.24 #include "splashscreen_impl.h"
83.25 #include <windowsx.h>
83.26 #include <windows.h>
83.27 #include <winuser.h>
83.28
83.29 -/* layered windows api prototypes. wouldn't be needed if we could use an updated version of the MS PSDK. */
83.30 -
83.31 -typedef BOOL WINAPI UpdateLayeredWindowT(HWND hwnd, // handle to layered window
83.32 - HDC hdcDst, // handle to screen DC
83.33 - POINT * pptDst, // new screen position
83.34 - SIZE * psize, // new size of the layered window
83.35 - HDC hdcSrc, // handle to surface DC
83.36 - POINT * pptSrc, // layer position
83.37 - COLORREF crKey, // color key
83.38 - BLENDFUNCTION * pblend, // blend function
83.39 - DWORD dwFlags // options
83.40 - );
83.41 -
83.42 #ifndef WS_EX_LAYERED
83.43 #define WS_EX_LAYERED 0x80000
83.44 #endif
83.45 @@ -57,21 +54,6 @@
83.46 #define AC_SRC_ALPHA 0x01
83.47 #endif
83.48
83.49 -static UpdateLayeredWindowT *UpdateLayeredWindow = NULL;
83.50 -
83.51 -/* Get/SetWindowLongPtr prototypes, for the case we're compiling with old headers for a 32-bit platform
83.52 - copied from Component.cpp
83.53 - FIXME: remove this as soon as the build process is using up-to-date headers */
83.54 -#if !defined(__int3264)
83.55 -#define GetWindowLongPtr GetWindowLong
83.56 -#define SetWindowLongPtr SetWindowLong
83.57 -#define GWLP_USERDATA GWL_USERDATA
83.58 -#define GWLP_WNDPROC GWL_WNDPROC
83.59 -typedef __int32 LONG_PTR;
83.60 -typedef unsigned __int32 ULONG_PTR;
83.61 -#endif // __int3264
83.62 -
83.63 -
83.64 #define WM_SPLASHUPDATE WM_USER+1
83.65 #define WM_SPLASHRECONFIGURE WM_USER+2
83.66
83.67 @@ -436,16 +418,11 @@
83.68 void
83.69 SplashInitPlatform(Splash * splash)
83.70 {
83.71 - HMODULE user32 = LoadLibrary("user32.dll");
83.72 HDC hdc;
83.73 int paletteMode;
83.74
83.75 InitializeCriticalSection(&splash->lock);
83.76 splash->isLayered = FALSE;
83.77 - if (user32) {
83.78 - UpdateLayeredWindow = (UpdateLayeredWindowT *)
83.79 - GetProcAddress(user32, "UpdateLayeredWindow");
83.80 - }
83.81 hdc = GetDC(NULL);
83.82 paletteMode = (GetDeviceCaps(hdc, RASTERCAPS) & RC_PALETTE) != 0;
83.83 if (UpdateLayeredWindow && !paletteMode) {
84.1 --- a/src/windows/native/sun/java2d/d3d/D3DPipelineManager.cpp Tue Feb 17 09:06:16 2009 -0800
84.2 +++ b/src/windows/native/sun/java2d/d3d/D3DPipelineManager.cpp Wed Feb 18 10:05:41 2009 -0800
84.3 @@ -184,7 +184,7 @@
84.4 pMgr = D3DPipelineManager::GetInstance();
84.5 RETURN_IF_NULL(pMgr);
84.6 hMon = pMgr->pd3d9->GetAdapterMonitor(adapter);
84.7 - gdiScreen = AwtWin32GraphicsDevice::GetScreenFromMHND((MHND)hMon);
84.8 + gdiScreen = AwtWin32GraphicsDevice::GetScreenFromHMONITOR(hMon);
84.9
84.10 JNU_CallStaticMethodByName(env, NULL,
84.11 "sun/java2d/pipe/hw/AccelDeviceEventNotifier",
84.12 @@ -194,21 +194,21 @@
84.13
84.14 UINT D3DPipelineManager::GetAdapterOrdinalForScreen(jint gdiScreen)
84.15 {
84.16 - MHND mHnd = AwtWin32GraphicsDevice::GetMonitor(gdiScreen);
84.17 - if (mHnd == (MHND)0) {
84.18 + HMONITOR mHnd = AwtWin32GraphicsDevice::GetMonitor(gdiScreen);
84.19 + if (mHnd == (HMONITOR)0) {
84.20 return D3DADAPTER_DEFAULT;
84.21 }
84.22 return GetAdapterOrdinalByHmon((HMONITOR)mHnd);
84.23 }
84.24
84.25 // static
84.26 -HRESULT D3DPipelineManager::HandleAdaptersChange(HMONITOR *pMHNDs, UINT monNum)
84.27 +HRESULT D3DPipelineManager::HandleAdaptersChange(HMONITOR *pHMONITORs, UINT monNum)
84.28 {
84.29 HRESULT res = S_OK;
84.30 BOOL bResetD3D = FALSE, bFound;
84.31
84.32 D3DPipelineManager *pMgr = D3DPipelineManager::GetInstance();
84.33 - RETURN_STATUS_IF_NULL(pMHNDs, E_FAIL);
84.34 + RETURN_STATUS_IF_NULL(pHMONITORs, E_FAIL);
84.35 if (pMgr == NULL) {
84.36 // NULL pMgr is valid when the pipeline is not enabled or if it hasn't
84.37 // been created yet
84.38 @@ -234,7 +234,7 @@
84.39 }
84.40 bFound = FALSE;
84.41 for (UINT mon = 0; mon < monNum; mon++) {
84.42 - if (pMHNDs[mon] == hMon) {
84.43 + if (pHMONITORs[mon] == hMon) {
84.44 J2dTraceLn3(J2D_TRACE_VERBOSE,
84.45 " adapter %d: found hmnd[%d]=0x%x", i, mon, hMon);
84.46 bFound = TRUE;
84.47 @@ -364,8 +364,8 @@
84.48 HRESULT
84.49 D3DPipelineManager::GDICheckForBadHardware()
84.50 {
84.51 - _DISPLAY_DEVICE dd;
84.52 - dd.dwSize = sizeof(DISPLAY_DEVICE);
84.53 + DISPLAY_DEVICE dd;
84.54 + dd.cb = sizeof(DISPLAY_DEVICE);
84.55
84.56 int failedDevices = 0;
84.57 int attachedDevices = 0;
84.58 @@ -379,9 +379,9 @@
84.59
84.60 // i<20 is to guard against buggy drivers
84.61 while (EnumDisplayDevices(NULL, i, &dd, 0) && i < 20) {
84.62 - if (dd.dwFlags & DISPLAY_DEVICE_ATTACHED_TO_DESKTOP) {
84.63 + if (dd.StateFlags & DISPLAY_DEVICE_ATTACHED_TO_DESKTOP) {
84.64 attachedDevices++;
84.65 - id = dd.deviceID;
84.66 + id = dd.DeviceID;
84.67 if (wcslen(id) > 21) {
84.68 // get vendor ID
84.69 wcsncpy(vendorId, id+8, 4);
84.70 @@ -796,7 +796,7 @@
84.71 ZeroMemory(&mi, sizeof(MONITORINFO));
84.72 mi.cbSize = sizeof(MONITORINFO);
84.73 HMONITOR hMon = pd3d9->GetAdapterMonitor(adapterOrdinal);
84.74 - if (hMon == 0 || !GetMonitorInfo(hMon, (PMONITOR_INFO)&mi)) {
84.75 + if (hMon == 0 || !GetMonitorInfo(hMon, (LPMONITORINFO)&mi)) {
84.76 J2dRlsTraceLn1(J2D_TRACE_ERROR,
84.77 "D3DPPLM::CreateDefaultFocusWindow: "\
84.78 "error getting monitor info for adapter=%d", adapterOrdinal);
85.1 --- a/src/windows/native/sun/java2d/d3d/D3DRenderQueue.cpp Tue Feb 17 09:06:16 2009 -0800
85.2 +++ b/src/windows/native/sun/java2d/d3d/D3DRenderQueue.cpp Wed Feb 18 10:05:41 2009 -0800
85.3 @@ -23,8 +23,8 @@
85.4 * have any questions.
85.5 */
85.6
85.7 +#include "D3DPipeline.h"
85.8 #include <malloc.h>
85.9 -#include <jni.h>
85.10 #include "sun_java2d_pipe_BufferedOpCodes.h"
85.11
85.12 #include "jlong.h"
86.1 --- a/src/windows/native/sun/java2d/d3d/D3DRenderer.cpp Tue Feb 17 09:06:16 2009 -0800
86.2 +++ b/src/windows/native/sun/java2d/d3d/D3DRenderer.cpp Wed Feb 18 10:05:41 2009 -0800
86.3 @@ -23,6 +23,8 @@
86.4 * have any questions.
86.5 */
86.6
86.7 +#include "D3DPipeline.h"
86.8 +
86.9 #include "sun_java2d_d3d_D3DRenderer.h"
86.10
86.11 #include "D3DContext.h"
87.1 --- a/src/windows/native/sun/java2d/d3d/D3DSurfaceData.cpp Tue Feb 17 09:06:16 2009 -0800
87.2 +++ b/src/windows/native/sun/java2d/d3d/D3DSurfaceData.cpp Wed Feb 18 10:05:41 2009 -0800
87.3 @@ -23,8 +23,7 @@
87.4 * have any questions.
87.5 */
87.6
87.7 -#include <jni.h>
87.8 -#include <jni_util.h>
87.9 +#include "D3DPipeline.h"
87.10 #include <jlong.h>
87.11 #include "D3DSurfaceData.h"
87.12 #include "D3DPipelineManager.h"
88.1 --- a/src/windows/native/sun/java2d/windows/GDIBlitLoops.cpp Tue Feb 17 09:06:16 2009 -0800
88.2 +++ b/src/windows/native/sun/java2d/windows/GDIBlitLoops.cpp Wed Feb 18 10:05:41 2009 -0800
88.3 @@ -23,6 +23,7 @@
88.4 * have any questions.
88.5 */
88.6
88.7 +#include "awt.h"
88.8 #include <sun_java2d_windows_GDIBlitLoops.h>
88.9 #include "gdefs.h"
88.10 #include "Trace.h"
89.1 --- a/src/windows/native/sun/java2d/windows/GDIRenderer.cpp Tue Feb 17 09:06:16 2009 -0800
89.2 +++ b/src/windows/native/sun/java2d/windows/GDIRenderer.cpp Wed Feb 18 10:05:41 2009 -0800
89.3 @@ -23,6 +23,7 @@
89.4 * have any questions.
89.5 */
89.6
89.7 +#include "awt.h"
89.8 #include "sun_java2d_windows_GDIRenderer.h"
89.9 #include "java_awt_geom_PathIterator.h"
89.10
89.11 @@ -31,11 +32,8 @@
89.12 #include "awt_Pen.h"
89.13 #include "awt_Brush.h"
89.14
89.15 -#include "jni.h"
89.16 -
89.17 #include "GraphicsPrimitiveMgr.h"
89.18
89.19 -#include <windows.h>
89.20 #include <math.h> /* for cos(), sin(), etc */
89.21
89.22 #define MAX_CLAMP_BND (1<<26)
90.1 --- a/src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.cpp Tue Feb 17 09:06:16 2009 -0800
90.2 +++ b/src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.cpp Wed Feb 18 10:05:41 2009 -0800
90.3 @@ -246,7 +246,7 @@
90.4 }
90.5 if( numScreens > 1 ) {
90.6
90.7 - MONITOR_INFO *miInfo;
90.8 + LPMONITORINFO miInfo;
90.9 RECT rSect ={0,0,0,0};
90.10 RECT rView ={bounds->x1, bounds->y1, bounds->x2, bounds->y2};
90.11 retCode = FALSE;
90.12 @@ -258,7 +258,7 @@
90.13 ::OffsetRect(&rView,
90.14 (ptOrig.x), (ptOrig.y));
90.15
90.16 - ::IntersectRect(&rSect,&rView,&(miInfo->rMonitor));
90.17 + ::IntersectRect(&rSect,&rView,&(miInfo->rcMonitor));
90.18
90.19 if( FALSE == ::IsRectEmpty(&rSect) ) {
90.20 if( TRUE == ::EqualRect(&rSect,&rView) ) {
91.1 --- a/src/windows/native/sun/java2d/windows/WindowsFlags.cpp Tue Feb 17 09:06:16 2009 -0800
91.2 +++ b/src/windows/native/sun/java2d/windows/WindowsFlags.cpp Wed Feb 18 10:05:41 2009 -0800
91.3 @@ -23,8 +23,6 @@
91.4 * have any questions.
91.5 */
91.6
91.7 -
91.8 -#include <jni.h>
91.9 #include <awt.h>
91.10 #include "Trace.h"
91.11 #include "WindowsFlags.h"
92.1 --- a/src/windows/native/sun/windows/ComCtl32Util.cpp Tue Feb 17 09:06:16 2009 -0800
92.2 +++ b/src/windows/native/sun/windows/ComCtl32Util.cpp Wed Feb 18 10:05:41 2009 -0800
92.3 @@ -23,54 +23,26 @@
92.4 * have any questions.
92.5 */
92.6
92.7 +#include "awt.h"
92.8 #include "ComCtl32Util.h"
92.9
92.10 ComCtl32Util::ComCtl32Util() {
92.11 - hModComCtl32 = NULL;
92.12 - m_bNewSubclassing = FALSE;
92.13 -
92.14 - m_lpfnSetWindowSubclass = NULL;
92.15 - m_lpfnRemoveWindowSubclass = NULL;
92.16 - m_lpfnDefSubclassProc = NULL;
92.17 }
92.18
92.19 ComCtl32Util::~ComCtl32Util() {
92.20 - DASSERT(hModComCtl32 == NULL);
92.21 }
92.22
92.23 void ComCtl32Util::InitLibraries() {
92.24 - if (hModComCtl32 == NULL) {
92.25 - hModComCtl32 = ::LoadLibrary(TEXT("comctl32.dll"));
92.26 - if (hModComCtl32 != NULL) {
92.27 - m_lpfnSetWindowSubclass = (PFNSETWINDOWSUBCLASS)::GetProcAddress(hModComCtl32, "SetWindowSubclass");
92.28 - m_lpfnRemoveWindowSubclass = (PFNREMOVEWINDOWSUBCLASS)::GetProcAddress(hModComCtl32, "RemoveWindowSubclass");
92.29 - m_lpfnDefSubclassProc = (PFNDEFSUBCLASSPROC)::GetProcAddress(hModComCtl32, "DefSubclassProc");
92.30 -
92.31 - m_bNewSubclassing = (m_lpfnSetWindowSubclass != NULL) &&
92.32 - (m_lpfnRemoveWindowSubclass != NULL) &&
92.33 - (m_lpfnDefSubclassProc != NULL);
92.34 -
92.35 - fn_InitCommonControlsEx = (ComCtl32Util::InitCommonControlsExType)::GetProcAddress(hModComCtl32, "InitCommonControlsEx");
92.36 - InitCommonControls();
92.37 - }
92.38 - }
92.39 -}
92.40 -
92.41 -void ComCtl32Util::FreeLibraries() {
92.42 - if (hModComCtl32 != NULL) {
92.43 - m_lpfnSetWindowSubclass = NULL;
92.44 - m_lpfnRemoveWindowSubclass = NULL;
92.45 - m_lpfnDefSubclassProc = NULL;
92.46 - ::FreeLibrary(hModComCtl32);
92.47 - hModComCtl32 = NULL;
92.48 - }
92.49 + INITCOMMONCONTROLSEX iccex;
92.50 + memset(&iccex, 0, sizeof(INITCOMMONCONTROLSEX));
92.51 + iccex.dwSize = sizeof(INITCOMMONCONTROLSEX);
92.52 + ::InitCommonControlsEx(&iccex);
92.53 }
92.54
92.55 WNDPROC ComCtl32Util::SubclassHWND(HWND hwnd, WNDPROC _WindowProc) {
92.56 - if (m_bNewSubclassing) {
92.57 - DASSERT(hModComCtl32 != NULL);
92.58 + if (IS_WINXP) {
92.59 const SUBCLASSPROC p = SharedWindowProc; // let compiler check type of SharedWindowProc
92.60 - m_lpfnSetWindowSubclass(hwnd, p, (UINT_PTR)_WindowProc, NULL); // _WindowProc is used as subclass ID
92.61 + ::SetWindowSubclass(hwnd, p, (UINT_PTR)_WindowProc, NULL); // _WindowProc is used as subclass ID
92.62 return NULL;
92.63 } else {
92.64 return (WNDPROC)::SetWindowLongPtr(hwnd, GWLP_WNDPROC, (LONG_PTR)_WindowProc);
92.65 @@ -78,21 +50,17 @@
92.66 }
92.67
92.68 void ComCtl32Util::UnsubclassHWND(HWND hwnd, WNDPROC _WindowProc, WNDPROC _DefWindowProc) {
92.69 - if (m_bNewSubclassing) {
92.70 - DASSERT(hModComCtl32 != NULL);
92.71 - DASSERT(_DefWindowProc == NULL);
92.72 + if (IS_WINXP) {
92.73 const SUBCLASSPROC p = SharedWindowProc; // let compiler check type of SharedWindowProc
92.74 - m_lpfnRemoveWindowSubclass(hwnd, p, (UINT_PTR)_WindowProc); // _WindowProc is used as subclass ID
92.75 + ::RemoveWindowSubclass(hwnd, p, (UINT_PTR)_WindowProc); // _WindowProc is used as subclass ID
92.76 } else {
92.77 ::SetWindowLongPtr(hwnd, GWLP_WNDPROC, (LONG_PTR)_DefWindowProc);
92.78 }
92.79 }
92.80
92.81 LRESULT ComCtl32Util::DefWindowProc(WNDPROC _DefWindowProc, HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) {
92.82 - if (m_bNewSubclassing) {
92.83 - DASSERT(hModComCtl32 != NULL);
92.84 - DASSERT(_DefWindowProc == NULL);
92.85 - return m_lpfnDefSubclassProc(hwnd, msg, wParam, lParam);
92.86 + if (IS_WINXP) {
92.87 + return ::DefSubclassProc(hwnd, msg, wParam, lParam);
92.88 } else if (_DefWindowProc != NULL) {
92.89 return ::CallWindowProc(_DefWindowProc, hwnd, msg, wParam, lParam);
92.90 } else {
92.91 @@ -111,15 +79,3 @@
92.92
92.93 CATCH_BAD_ALLOC_RET(0);
92.94 }
92.95 -
92.96 -void ComCtl32Util::InitCommonControls()
92.97 -{
92.98 - if (fn_InitCommonControlsEx == NULL) {
92.99 - return;
92.100 - }
92.101 -
92.102 - INITCOMMONCONTROLSEX iccex;
92.103 - memset(&iccex, 0, sizeof(INITCOMMONCONTROLSEX));
92.104 - iccex.dwSize = sizeof(INITCOMMONCONTROLSEX);
92.105 - fn_InitCommonControlsEx(&iccex);
92.106 -}
93.1 --- a/src/windows/native/sun/windows/ComCtl32Util.h Tue Feb 17 09:06:16 2009 -0800
93.2 +++ b/src/windows/native/sun/windows/ComCtl32Util.h Wed Feb 18 10:05:41 2009 -0800
93.3 @@ -30,20 +30,6 @@
93.4 #ifndef _COMCTL32UTIL_H
93.5 #define _COMCTL32UTIL_H
93.6
93.7 -
93.8 -/*
93.9 - * comctl32.dll version 6 subclassing - taken from PlatformSDK/Include/commctrl.h
93.10 - */
93.11 -typedef LRESULT (CALLBACK *SUBCLASSPROC)(HWND hWnd, UINT uMsg, WPARAM wParam, \
93.12 - LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData);
93.13 -
93.14 -typedef BOOL (WINAPI *PFNSETWINDOWSUBCLASS)(HWND hWnd, SUBCLASSPROC pfnSubclass, UINT_PTR uIdSubclass, \
93.15 - DWORD_PTR dwRefData);
93.16 -typedef BOOL (WINAPI *PFNREMOVEWINDOWSUBCLASS)(HWND hWnd, SUBCLASSPROC pfnSubclass, \
93.17 - UINT_PTR uIdSubclass);
93.18 -
93.19 -typedef LRESULT (WINAPI *PFNDEFSUBCLASSPROC)(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
93.20 -
93.21 class ComCtl32Util
93.22 {
93.23 public:
93.24 @@ -52,21 +38,8 @@
93.25 return theInstance;
93.26 }
93.27
93.28 - // loads comctl32.dll and checks if required routines are available
93.29 - // called from AwtToolkit::AwtToolkit()
93.30 void InitLibraries();
93.31 - // unloads comctl32.dll
93.32 - // called from AwtToolkit::Dispose()
93.33 - void FreeLibraries();
93.34
93.35 - //-- comctl32.dll version 6 subclassing API --//
93.36 -
93.37 - INLINE BOOL IsNewSubclassing() {
93.38 - return m_bNewSubclassing;
93.39 - }
93.40 -
93.41 - // if comctl32.dll version 6 is used returns NULL, otherwise
93.42 - // returns default window proc
93.43 WNDPROC SubclassHWND(HWND hwnd, WNDPROC _WindowProc);
93.44 // DefWindowProc is the same as returned from SubclassHWND
93.45 void UnsubclassHWND(HWND hwnd, WNDPROC _WindowProc, WNDPROC _DefWindowProc);
93.46 @@ -77,19 +50,6 @@
93.47 ComCtl32Util();
93.48 ~ComCtl32Util();
93.49
93.50 - HMODULE hModComCtl32;
93.51 -
93.52 - PFNSETWINDOWSUBCLASS m_lpfnSetWindowSubclass;
93.53 - PFNREMOVEWINDOWSUBCLASS m_lpfnRemoveWindowSubclass;
93.54 - PFNDEFSUBCLASSPROC m_lpfnDefSubclassProc;
93.55 -
93.56 - typedef BOOL (WINAPI * InitCommonControlsExType)(const LPINITCOMMONCONTROLSEX lpInitCtrls);
93.57 - InitCommonControlsExType fn_InitCommonControlsEx;
93.58 -
93.59 - void InitCommonControls();
93.60 -
93.61 - BOOL m_bNewSubclassing;
93.62 -
93.63 // comctl32.dll version 6 window proc
93.64 static LRESULT CALLBACK SharedWindowProc(HWND hwnd, UINT message,
93.65 WPARAM wParam, LPARAM lParam,
94.1 --- a/src/windows/native/sun/windows/Devices.cpp Tue Feb 17 09:06:16 2009 -0800
94.2 +++ b/src/windows/native/sun/windows/Devices.cpp Wed Feb 18 10:05:41 2009 -0800
94.3 @@ -83,9 +83,83 @@
94.4
94.5 #include "Devices.h"
94.6 #include "Trace.h"
94.7 -#include "awt_Multimon.h"
94.8 #include "D3DPipelineManager.h"
94.9
94.10 +
94.11 +/* Some helper functions (from awt_MMStub.h/cpp) */
94.12 +
94.13 +int g_nMonitorCounter;
94.14 +int g_nMonitorLimit;
94.15 +HMONITOR* g_hmpMonitors;
94.16 +
94.17 +// Callback for CountMonitors below
94.18 +BOOL WINAPI clb_fCountMonitors(HMONITOR hMon, HDC hDC, LPRECT rRect, LPARAM lP)
94.19 +{
94.20 + g_nMonitorCounter ++;
94.21 + return TRUE;
94.22 +}
94.23 +
94.24 +int WINAPI CountMonitors(void)
94.25 +{
94.26 + g_nMonitorCounter = 0;
94.27 + ::EnumDisplayMonitors(NULL, NULL, clb_fCountMonitors, 0L);
94.28 + return g_nMonitorCounter;
94.29 +
94.30 +}
94.31 +
94.32 +// Callback for CollectMonitors below
94.33 +BOOL WINAPI clb_fCollectMonitors(HMONITOR hMon, HDC hDC, LPRECT rRect, LPARAM lP)
94.34 +{
94.35 +
94.36 + if ((g_nMonitorCounter < g_nMonitorLimit) && (NULL != g_hmpMonitors)) {
94.37 + g_hmpMonitors[g_nMonitorCounter] = hMon;
94.38 + g_nMonitorCounter ++;
94.39 + }
94.40 +
94.41 + return TRUE;
94.42 +}
94.43 +
94.44 +int WINAPI CollectMonitors(HMONITOR* hmpMonitors, int nNum)
94.45 +{
94.46 + int retCode = 0;
94.47 +
94.48 + if (NULL != hmpMonitors) {
94.49 +
94.50 + g_nMonitorCounter = 0;
94.51 + g_nMonitorLimit = nNum;
94.52 + g_hmpMonitors = hmpMonitors;
94.53 +
94.54 + ::EnumDisplayMonitors(NULL, NULL, clb_fCollectMonitors, 0L);
94.55 +
94.56 + retCode = g_nMonitorCounter;
94.57 +
94.58 + g_nMonitorCounter = 0;
94.59 + g_nMonitorLimit = 0;
94.60 + g_hmpMonitors = NULL;
94.61 +
94.62 + }
94.63 + return retCode;
94.64 +}
94.65 +
94.66 +BOOL WINAPI MonitorBounds(HMONITOR hmMonitor, RECT* rpBounds)
94.67 +{
94.68 + BOOL retCode = FALSE;
94.69 +
94.70 + if ((NULL != hmMonitor) && (NULL != rpBounds)) {
94.71 + MONITORINFOEX miInfo;
94.72 +
94.73 + memset((void*)(&miInfo), 0, sizeof(MONITORINFOEX));
94.74 + miInfo.cbSize = sizeof(MONITORINFOEX);
94.75 +
94.76 + if (TRUE == (retCode = ::GetMonitorInfo(hmMonitor, &miInfo))) {
94.77 + (*rpBounds) = miInfo.rcMonitor;
94.78 + }
94.79 + }
94.80 + return retCode;
94.81 +}
94.82 +
94.83 +/* End of helper functions */
94.84 +
94.85 Devices* Devices::theInstance = NULL;
94.86 CriticalSection Devices::arrayLock;
94.87
94.88 @@ -113,9 +187,9 @@
94.89 {
94.90 J2dTraceLn(J2D_TRACE_INFO, "Devices::UpdateInstance");
94.91
94.92 - int numScreens = ::CountMonitors();
94.93 - MHND *monHds = (MHND *)safe_Malloc(numScreens * sizeof(MHND));
94.94 - if (numScreens != ::CollectMonitors(monHds, numScreens)) {
94.95 + int numScreens = CountMonitors();
94.96 + HMONITOR *monHds = (HMONITOR *)safe_Malloc(numScreens * sizeof(HMONITOR));
94.97 + if (numScreens != CollectMonitors(monHds, numScreens)) {
94.98 J2dRlsTraceLn(J2D_TRACE_ERROR,
94.99 "Devices::UpdateInstance: Failed to get all "\
94.100 "monitor handles.");
95.1 --- a/src/windows/native/sun/windows/Devices.h Tue Feb 17 09:06:16 2009 -0800
95.2 +++ b/src/windows/native/sun/windows/Devices.h Wed Feb 18 10:05:41 2009 -0800
95.3 @@ -1,5 +1,5 @@
95.4 /*
95.5 - * Copyright 2001-2006 Sun Microsystems, Inc. All Rights Reserved.
95.6 + * Copyright 2001-2008 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 @@ -70,4 +70,8 @@
95.11
95.12 };
95.13
95.14 +// Some helper functions (from awt_MMStub.h/cpp)
95.15 +
95.16 +BOOL WINAPI MonitorBounds (HMONITOR, RECT*);
95.17 +
95.18 #endif _DEVICES_H_
96.1 --- a/src/windows/native/sun/windows/GDIHashtable.cpp Tue Feb 17 09:06:16 2009 -0800
96.2 +++ b/src/windows/native/sun/windows/GDIHashtable.cpp Wed Feb 18 10:05:41 2009 -0800
96.3 @@ -1,5 +1,5 @@
96.4 /*
96.5 - * Copyright 1999-2005 Sun Microsystems, Inc. All Rights Reserved.
96.6 + * Copyright 1999-2008 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 @@ -25,7 +25,6 @@
96.11
96.12 #include "GDIHashtable.h"
96.13 #include "awt_GDIObject.h"
96.14 -#include "awt_dlls.h"
96.15
96.16 GDIHashtable::BatchDestructionManager GDIHashtable::manager;
96.17
96.18 @@ -46,7 +45,6 @@
96.19 DASSERT(value != NULL);
96.20 m_deleteProc(value);
96.21 }
96.22 - manager.update();
96.23 }
96.24
96.25 void GDIHashtable::flush() {
96.26 @@ -128,9 +126,6 @@
96.27 }
96.28 }
96.29
96.30 -#undef GFSR_GDIRESOURCES
96.31 -#define GFSR_GDIRESOURCES 0x0001
96.32 -
96.33 GDIHashtable::BatchDestructionManager::BatchDestructionManager(UINT nFirstThreshold,
96.34 UINT nSecondThreshold,
96.35 UINT nDestroyPeriod) :
96.36 @@ -138,48 +133,6 @@
96.37 m_nSecondThreshold(nSecondThreshold),
96.38 m_nDestroyPeriod(nDestroyPeriod),
96.39 m_nCounter(0),
96.40 - m_bBatchingEnabled(TRUE) {
96.41 - load_rsrc32_procs();
96.42 + m_bBatchingEnabled(TRUE)
96.43 +{
96.44 }
96.45 -
96.46 -void GDIHashtable::BatchDestructionManager::update() {
96.47 -
96.48 - if (get_free_system_resources != NULL) {
96.49 -
96.50 - CriticalSection::Lock l(m_managerLock);
96.51 -
96.52 - if (m_nCounter < 0) {
96.53 - UINT nFreeResources = (*get_free_system_resources)(GFSR_GDIRESOURCES);
96.54 - /*
96.55 - * If m_bBatchingEnabled is FALSE there is no need
96.56 - * to flush since we have been destroying all
96.57 - * GDI resources as soon as they were released.
96.58 - */
96.59 - if (m_bBatchingEnabled) {
96.60 - if (nFreeResources < m_nFirstThreshold) {
96.61 - flushAll();
96.62 - nFreeResources = (*get_free_system_resources)(GFSR_GDIRESOURCES);
96.63 - }
96.64 - }
96.65 - if (nFreeResources < m_nSecondThreshold) {
96.66 - m_bBatchingEnabled = FALSE;
96.67 - m_nCounter = m_nDestroyPeriod;
96.68 - } else {
96.69 - m_bBatchingEnabled = TRUE;
96.70 - /*
96.71 - * The frequency of checks must depend on the currect amount
96.72 - * of free space in GDI heaps. Otherwise we can run into the
96.73 - * Resource Meter warning dialog when GDI resources are low.
96.74 - * This is a heuristic rule that provides this dependency.
96.75 - * These numbers have been chosen because:
96.76 - * Resource Meter posts a warning dialog when less than 10%
96.77 - * of GDI resources are free.
96.78 - * 5 pens/brushes take 1%. So 3 is the upper bound.
96.79 - * When changing this rule you should check that performance
96.80 - * isn't affected (with Caffeine Mark and JMark).
96.81 - */
96.82 - m_nCounter = (nFreeResources - 10) * 3;
96.83 - }
96.84 - }
96.85 - }
96.86 -}
97.1 --- a/src/windows/native/sun/windows/GDIHashtable.h Tue Feb 17 09:06:16 2009 -0800
97.2 +++ b/src/windows/native/sun/windows/GDIHashtable.h Wed Feb 18 10:05:41 2009 -0800
97.3 @@ -1,5 +1,5 @@
97.4 /*
97.5 - * Copyright 1999 Sun Microsystems, Inc. All Rights Reserved.
97.6 + * Copyright 1999-2008 Sun Microsystems, Inc. All Rights Reserved.
97.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
97.8 *
97.9 * This code is free software; you can redistribute it and/or modify it
97.10 @@ -151,12 +151,6 @@
97.11 */
97.12 INLINE void decrementCounter() { m_nCounter--; }
97.13
97.14 - /**
97.15 - * Depending on the amount of free space in GDI heaps flushes
97.16 - * all GDIHashtables and sets the initial counter value.
97.17 - */
97.18 - void update();
97.19 -
97.20 INLINE CriticalSection& getLock() { return m_managerLock; }
97.21 };
97.22
98.1 --- a/src/windows/native/sun/windows/ShellFolder2.cpp Tue Feb 17 09:06:16 2009 -0800
98.2 +++ b/src/windows/native/sun/windows/ShellFolder2.cpp Wed Feb 18 10:05:41 2009 -0800
98.3 @@ -1,5 +1,5 @@
98.4 /*
98.5 - * Copyright 2003-2006 Sun Microsystems, Inc. All Rights Reserved.
98.6 + * Copyright 2003-2008 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 @@ -31,17 +31,27 @@
98.11 // This file should stand independent of AWT and should ultimately be
98.12 // put into its own DLL.
98.13 #include <awt.h>
98.14 -#endif
98.15 +#else
98.16 +// Include jni_util.h first, so JNU_* macros can be redefined
98.17 +#include "jni_util.h"
98.18 +// Borrow some macros from awt.h
98.19 +#define JNU_NewStringPlatform(env, x) env->NewString(reinterpret_cast<jchar*>(x), static_cast<jsize>(_tcslen(x)))
98.20 +#define JNU_GetStringPlatformChars(env, x, y) reinterpret_cast<LPCWSTR>(env->GetStringChars(x, y))
98.21 +#define JNU_ReleaseStringPlatformChars(env, x, y) env->ReleaseStringChars(x, reinterpret_cast<const jchar*>(y))
98.22 +#endif // DEBUG
98.23
98.24 #include <windows.h>
98.25 #include <shlobj.h>
98.26 #include <shellapi.h>
98.27 -#include "jni_util.h"
98.28 #include "jlong.h"
98.29 #include "alloc.h"
98.30
98.31 #include "stdhdrs.h"
98.32 -#include "UnicowsLoader.h"
98.33 +
98.34 +// Copy from shlguid.h which is no longer in PlatformSDK
98.35 +#ifndef DEFINE_SHLGUID
98.36 +#define DEFINE_SHLGUID(name, l, w1, w2) DEFINE_GUID(name, l, w1, w2, 0xC0, 0, 0, 0, 0, 0, 0, 0x46)
98.37 +#endif
98.38
98.39 // {93F2F68C-1D1B-11d3-A30E-00C04F79ABD1}
98.40 DEFINE_GUID(IID_IShellFolder2, 0x93f2f68c, 0x1d1b, 0x11d3, 0xa3, 0xe, 0x0, 0xc0, 0x4f, 0x79, 0xab, 0xd1);
98.41 @@ -86,13 +96,15 @@
98.42 static IMalloc* pMalloc;
98.43 static IShellFolder* pDesktop;
98.44
98.45 -static BOOL isXP;
98.46 -
98.47 -// copied from awt.h, because it is not included in release
98.48 -#if defined (WIN32)
98.49 - #define IS_WINVISTA (!(::GetVersion() & 0x80000000) && LOBYTE(LOWORD(::GetVersion())) >= 6)
98.50 -#else
98.51 - #define IS_WINVISTA FALSE
98.52 +// Some macros from awt.h, because it is not included in release
98.53 +#ifndef IS_WIN2000
98.54 +#define IS_WIN2000 (LOBYTE(LOWORD(::GetVersion())) >= 5)
98.55 +#endif
98.56 +#ifndef IS_WINXP
98.57 +#define IS_WINXP ((IS_WIN2000 && HIBYTE(LOWORD(::GetVersion())) >= 1) || LOBYTE(LOWORD(::GetVersion())) > 5)
98.58 +#endif
98.59 +#ifndef IS_WINVISTA
98.60 +#define IS_WINVISTA (!(::GetVersion() & 0x80000000) && LOBYTE(LOWORD(::GetVersion())) >= 6)
98.61 #endif
98.62
98.63
98.64 @@ -103,7 +115,6 @@
98.65 static HMODULE libShell32 = NULL;
98.66 static HMODULE libUser32 = NULL;
98.67 static HMODULE libComCtl32 = NULL;
98.68 - static HMODULE libUnicows = UnicowsLoader::GetModuleHandle();
98.69 // If already initialized, return TRUE
98.70 if (libShell32 != NULL && libUser32 != NULL) {
98.71 return TRUE;
98.72 @@ -130,7 +141,7 @@
98.73
98.74 // Set up procs - libShell32
98.75 fn_FindExecutable = (FindExecutableType)GetProcAddress(
98.76 - (libUnicows ? libUnicows : libShell32), "FindExecutableW");
98.77 + libShell32, "FindExecutableW");
98.78 if (fn_FindExecutable == NULL) {
98.79 return FALSE;
98.80 }
98.81 @@ -140,7 +151,7 @@
98.82 return FALSE;
98.83 }
98.84 fn_SHGetFileInfo = (SHGetFileInfoType)GetProcAddress(
98.85 - (libUnicows ? libUnicows : libShell32), "SHGetFileInfoW");
98.86 + libShell32, "SHGetFileInfoW");
98.87 if (fn_SHGetFileInfo == NULL) {
98.88 return FALSE;
98.89 }
98.90 @@ -154,7 +165,7 @@
98.91 return FALSE;
98.92 }
98.93 fn_SHGetPathFromIDList = (SHGetPathFromIDListType)GetProcAddress(
98.94 - (libUnicows ? libUnicows : libShell32), "SHGetPathFromIDListW");
98.95 + libShell32, "SHGetPathFromIDListW");
98.96 if (fn_SHGetPathFromIDList == NULL) {
98.97 return FALSE;
98.98 }
98.99 @@ -181,19 +192,19 @@
98.100 static jstring jstringFromSTRRET(JNIEnv* env, LPITEMIDLIST pidl, STRRET* pStrret) {
98.101 switch (pStrret->uType) {
98.102 case STRRET_CSTR :
98.103 - return JNU_NewStringPlatform(env, pStrret->cStr);
98.104 + return JNU_NewStringPlatform(env, reinterpret_cast<const char*>(pStrret->cStr));
98.105 case STRRET_OFFSET :
98.106 // Note : this may need to be WCHAR instead
98.107 return JNU_NewStringPlatform(env,
98.108 (CHAR*)pidl + pStrret->uOffset);
98.109 case STRRET_WSTR :
98.110 - return env->NewString(pStrret->pOleStr,
98.111 + return env->NewString(reinterpret_cast<const jchar*>(pStrret->pOleStr),
98.112 static_cast<jsize>(wcslen(pStrret->pOleStr)));
98.113 }
98.114 return NULL;
98.115 }
98.116 // restoring the original definition
98.117 -#define JNU_NewStringPlatform(env, x) env->NewString(x, static_cast<jsize>(_tcslen(x)))
98.118 +#define JNU_NewStringPlatform(env, x) env->NewString(reinterpret_cast<jchar*>(x), static_cast<jsize>(_tcslen(x)))
98.119
98.120 /*
98.121 * Class: sun_awt_shell_Win32ShellFolder2
98.122 @@ -212,13 +223,6 @@
98.123 MID_relativePIDL = env->GetMethodID(cls, "setRelativePIDL", "(J)V");
98.124 FID_displayName = env->GetFieldID(cls, "displayName", "Ljava/lang/String;");
98.125 FID_folderType = env->GetFieldID(cls, "folderType", "Ljava/lang/String;");
98.126 -
98.127 - // Find out if we are on XP or later
98.128 - long version = GetVersion();
98.129 - isXP = (!(version & 0x80000000) &&
98.130 - (LOBYTE(LOWORD(version)) == 5 &&
98.131 - HIBYTE(LOWORD(version)) >= 1) ||
98.132 - LOBYTE(LOWORD(version)) > 5);
98.133 }
98.134
98.135 static IShellIcon* getIShellIcon(IShellFolder* pIShellFolder) {
98.136 @@ -669,46 +673,24 @@
98.137 if (!CoInit(doCoUninit)) {
98.138 return 0;
98.139 }
98.140 - if (IS_NT) {
98.141 - IShellLinkW* psl;
98.142 - hres = ::CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLinkW, (LPVOID *)&psl);
98.143 + IShellLinkW* psl;
98.144 + hres = ::CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLinkW, (LPVOID *)&psl);
98.145 + if (SUCCEEDED(hres)) {
98.146 + IPersistFile* ppf;
98.147 + hres = psl->QueryInterface(IID_IPersistFile, (void**)&ppf);
98.148 if (SUCCEEDED(hres)) {
98.149 - IPersistFile* ppf;
98.150 - hres = psl->QueryInterface(IID_IPersistFile, (void**)&ppf);
98.151 + hres = ppf->Load(wstr, STGM_READ);
98.152 if (SUCCEEDED(hres)) {
98.153 - hres = ppf->Load(wstr, STGM_READ);
98.154 - if (SUCCEEDED(hres)) {
98.155 - if (resolve) {
98.156 - hres = psl->Resolve(NULL, 0);
98.157 - // Ignore failure
98.158 - }
98.159 - pidl = (LPITEMIDLIST)NULL;
98.160 - hres = psl->GetIDList(&pidl);
98.161 + if (resolve) {
98.162 + hres = psl->Resolve(NULL, 0);
98.163 + // Ignore failure
98.164 }
98.165 - ppf->Release();
98.166 + pidl = (LPITEMIDLIST)NULL;
98.167 + hres = psl->GetIDList(&pidl);
98.168 }
98.169 - psl->Release();
98.170 + ppf->Release();
98.171 }
98.172 - } else {
98.173 - IShellLinkA* psl;
98.174 - hres = ::CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLinkA, (LPVOID *)&psl);
98.175 - if (SUCCEEDED(hres)) {
98.176 - IPersistFile* ppf;
98.177 - hres = psl->QueryInterface(IID_IPersistFile, (void**)&ppf);
98.178 - if (SUCCEEDED(hres)) {
98.179 - hres = ppf->Load(wstr, STGM_READ);
98.180 - if (SUCCEEDED(hres)) {
98.181 - if (resolve) {
98.182 - hres = psl->Resolve(NULL, 0);
98.183 - // Ignore failure
98.184 - }
98.185 - pidl = (LPITEMIDLIST)NULL;
98.186 - hres = psl->GetIDList(&pidl);
98.187 - }
98.188 - ppf->Release();
98.189 - }
98.190 - psl->Release();
98.191 - }
98.192 + psl->Release();
98.193 }
98.194 if (doCoUninit) {
98.195 ::CoUninitialize();
98.196 @@ -742,10 +724,10 @@
98.197 int nLength = env->GetStringLength(jname);
98.198 jchar* wszPath = new jchar[nLength + 1];
98.199 const jchar* strPath = env->GetStringChars(jname, NULL);
98.200 - wcsncpy(wszPath, strPath, nLength);
98.201 + wcsncpy(reinterpret_cast<LPWSTR>(wszPath), reinterpret_cast<LPCWSTR>(strPath), nLength);
98.202 wszPath[nLength] = 0;
98.203 HRESULT res = pIShellFolder->ParseDisplayName(NULL, NULL,
98.204 - const_cast<jchar*>(wszPath), NULL, &pIDL, NULL);
98.205 + reinterpret_cast<LPWSTR>(wszPath), NULL, &pIDL, NULL);
98.206 if (res != S_OK) {
98.207 JNU_ThrowIOException(env, "Could not parse name");
98.208 pIDL = 0;
98.209 @@ -804,7 +786,7 @@
98.210 (JNIEnv* env, jobject folder, jstring path)
98.211 {
98.212 TCHAR szBuf[MAX_PATH];
98.213 - LPCTSTR szPath = (LPCTSTR)JNU_GetStringPlatformChars(env, path, NULL);
98.214 + LPCTSTR szPath = JNU_GetStringPlatformChars(env, path, NULL);
98.215 if (szPath == NULL) {
98.216 return NULL;
98.217 }
98.218 @@ -827,7 +809,7 @@
98.219 {
98.220 HICON hIcon = NULL;
98.221 SHFILEINFO fileInfo;
98.222 - LPCTSTR pathStr = (LPCTSTR)JNU_GetStringPlatformChars(env, absolutePath, NULL);
98.223 + LPCTSTR pathStr = JNU_GetStringPlatformChars(env, absolutePath, NULL);
98.224 if (fn_SHGetFileInfo(pathStr, 0L, &fileInfo, sizeof(fileInfo),
98.225 SHGFI_ICON | (getLargeIcon ? 0 : SHGFI_SMALLICON)) != 0) {
98.226 hIcon = fileInfo.hIcon;
98.227 @@ -890,52 +872,27 @@
98.228 }
98.229
98.230 HRESULT hres;
98.231 - if (IS_NT) {
98.232 - IExtractIconW* pIcon;
98.233 - hres = pIShellFolder->GetUIObjectOf(NULL, 1, const_cast<LPCITEMIDLIST*>(&pidl),
98.234 + IExtractIconW* pIcon;
98.235 + hres = pIShellFolder->GetUIObjectOf(NULL, 1, const_cast<LPCITEMIDLIST*>(&pidl),
98.236 IID_IExtractIconW, NULL, (void**)&pIcon);
98.237 + if (SUCCEEDED(hres)) {
98.238 + WCHAR szBuf[MAX_PATH];
98.239 + INT index;
98.240 + UINT flags;
98.241 + hres = pIcon->GetIconLocation(GIL_FORSHELL, szBuf, MAX_PATH, &index, &flags);
98.242 if (SUCCEEDED(hres)) {
98.243 - WCHAR szBuf[MAX_PATH];
98.244 - INT index;
98.245 - UINT flags;
98.246 - hres = pIcon->GetIconLocation(GIL_FORSHELL, szBuf, MAX_PATH, &index, &flags);
98.247 + HICON hIconLarge;
98.248 + hres = pIcon->Extract(szBuf, index, &hIconLarge, &hIcon, (16 << 16) + 32);
98.249 if (SUCCEEDED(hres)) {
98.250 - HICON hIconLarge;
98.251 - hres = pIcon->Extract(szBuf, index, &hIconLarge, &hIcon, (16 << 16) + 32);
98.252 - if (SUCCEEDED(hres)) {
98.253 - if (getLargeIcon) {
98.254 - fn_DestroyIcon((HICON)hIcon);
98.255 - hIcon = hIconLarge;
98.256 - } else {
98.257 - fn_DestroyIcon((HICON)hIconLarge);
98.258 - }
98.259 + if (getLargeIcon) {
98.260 + fn_DestroyIcon((HICON)hIcon);
98.261 + hIcon = hIconLarge;
98.262 + } else {
98.263 + fn_DestroyIcon((HICON)hIconLarge);
98.264 }
98.265 }
98.266 - pIcon->Release();
98.267 }
98.268 - } else {
98.269 - IExtractIconA* pIcon;
98.270 - hres = pIShellFolder->GetUIObjectOf(NULL, 1, const_cast<LPCITEMIDLIST*>(&pidl),
98.271 - IID_IExtractIconA, NULL, (void**)&pIcon);
98.272 - if (SUCCEEDED(hres)) {
98.273 - CHAR szBuf[MAX_PATH];
98.274 - INT index;
98.275 - UINT flags;
98.276 - hres = pIcon->GetIconLocation(GIL_FORSHELL, szBuf, MAX_PATH, &index, &flags);
98.277 - if (SUCCEEDED(hres)) {
98.278 - HICON hIconLarge;
98.279 - hres = pIcon->Extract(szBuf, index, &hIconLarge, &hIcon, (16 << 16) + 32);
98.280 - if (SUCCEEDED(hres)) {
98.281 - if (getLargeIcon) {
98.282 - fn_DestroyIcon((HICON)hIcon);
98.283 - hIcon = hIconLarge;
98.284 - } else {
98.285 - fn_DestroyIcon((HICON)hIconLarge);
98.286 - }
98.287 - }
98.288 - }
98.289 - pIcon->Release();
98.290 - }
98.291 + pIcon->Release();
98.292 }
98.293 if (doCoUninit) {
98.294 ::CoUninitialize();
98.295 @@ -987,7 +944,7 @@
98.296 // XP supports alpha in some icons, and depending on device.
98.297 // This should take precedence over the icon mask bits.
98.298 BOOL hasAlpha = FALSE;
98.299 - if (isXP) {
98.300 + if (IS_WINXP) {
98.301 for (int i = 0; i < nBits; i++) {
98.302 if ((colorBits[i] & 0xff000000) != 0) {
98.303 hasAlpha = TRUE;
98.304 @@ -1127,9 +1084,9 @@
98.305 (JNIEnv* env, jclass cls, jstring libName, jint iconID,
98.306 jint cxDesired, jint cyDesired, jboolean useVGAColors)
98.307 {
98.308 - HINSTANCE libHandle = LoadLibrary(env->GetStringChars(libName, NULL));
98.309 + HINSTANCE libHandle = LoadLibrary(JNU_GetStringPlatformChars(env, libName, NULL));
98.310 if (libHandle != NULL) {
98.311 - UINT fuLoad = (useVGAColors && !isXP) ? LR_VGACOLOR : 0;
98.312 + UINT fuLoad = (useVGAColors && !IS_WINXP) ? LR_VGACOLOR : 0;
98.313 return ptr_to_jlong(LoadImage(libHandle, MAKEINTRESOURCE(iconID),
98.314 IMAGE_ICON, cxDesired, cyDesired,
98.315 fuLoad));
99.1 --- a/src/windows/native/sun/windows/UnicowsLoader.cpp Tue Feb 17 09:06:16 2009 -0800
99.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
99.3 @@ -1,430 +0,0 @@
99.4 -/*
99.5 - * Copyright 2003-2005 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 -
99.29 -#include <float.h>
99.30 -#include "alloc.h"
99.31 -#include "UnicowsLoader.h"
99.32 -
99.33 -/*
99.34 - * Support functions for the Microsoft Layer for Unicode (MSLU).
99.35 - *
99.36 - * The MSLU maps the wide char version of Windows APIs with strings
99.37 - * to their ANSI version equivalent on Win98/ME platforms.
99.38 - *
99.39 - * For more details on the MSLU, please refer to the MSDN webpage at:
99.40 - * http://msdn.microsoft.com/library/default.asp?url=/library/en-us/mslu/winprog/microsoft_layer_for_unicode_on_windows_95_98_me_systems.asp
99.41 - */
99.42 -
99.43 -// The MSLU module handle. Only initialized on Win9x/ME.
99.44 -HMODULE UnicowsLoader::hmodUnicows = NULL;
99.45 -
99.46 -// MSLU loader entry point, which is called when the module
99.47 -// is initialized.
99.48 -extern "C" HMODULE (__stdcall *_PfnLoadUnicows)(void) =
99.49 - &UnicowsLoader::LoadUnicows;
99.50 -
99.51 -// Overriede APIs that are not supported by MSLU.
99.52 -extern "C" FARPROC Unicows_GetPrinterW =
99.53 - (FARPROC)&UnicowsLoader::GetPrinterWImpl;
99.54 -extern "C" FARPROC Unicows_EnumPrintersW =
99.55 - (FARPROC)&UnicowsLoader::EnumPrintersWImpl;
99.56 -
99.57 -HMODULE __stdcall UnicowsLoader::LoadUnicows(void)
99.58 -{
99.59 - if (hmodUnicows != NULL) {
99.60 - return hmodUnicows;
99.61 - }
99.62 -
99.63 - // Unfortunately, some DLLs that are loaded in conjunction with
99.64 - // unicows.dll may blow the FPU's control word. So save it here.
99.65 - unsigned int fpu_cw = _CW_DEFAULT;
99.66 - fpu_cw = _control87(0, 0);
99.67 -
99.68 - // Loads the DLL, assuming that the DLL resides in the same directory
99.69 - // as the AWT(_G).DLL. We cannot use "sun.boot.library.path" system
99.70 - // property since there is no way to issue JNI calls at this point
99.71 - // (JNI_OnLoad is not yet called so it cannot obtain JavaVM structure)
99.72 - //
99.73 - // To obtain the AWT module handle, call GetModuleHandleA() directly,
99.74 - // instead of AwtToolkit.GetModuleHandle(). Otherwise it could cause
99.75 - // an infinite loop if some W call were made inside AwtToolkit class
99.76 - // initialization.
99.77 - HMODULE hmodAWT = GetModuleHandleA("awt");
99.78 - LPSTR abspath = (LPSTR)safe_Malloc(MAX_PATH);
99.79 - if (abspath != NULL) {
99.80 - GetModuleFileNameA(hmodAWT, abspath, MAX_PATH);
99.81 - *strrchr(abspath, '\\') = '\0';
99.82 - strcat(abspath, "\\unicows.dll");
99.83 - hmodUnicows = LoadLibraryA(abspath);
99.84 - free(abspath);
99.85 - }
99.86 -
99.87 - // Restore the FPU control word if needed.
99.88 - if ( _control87(0, 0) != fpu_cw) {
99.89 - _control87(fpu_cw, 0xfffff);
99.90 - }
99.91 -
99.92 - return hmodUnicows;
99.93 -}
99.94 -
99.95 -HMODULE UnicowsLoader::GetModuleHandle(void)
99.96 -{
99.97 - return hmodUnicows;
99.98 -}
99.99 -
99.100 -
99.101 -// Convenient functions to convert DEVMODEA -> DEVMODEW
99.102 -void UnicowsLoader::DevModeA2DevModeW(
99.103 - const DEVMODEA * dma,
99.104 - DEVMODEW * dmw)
99.105 -{
99.106 - // convert string portions
99.107 - ::MultiByteToWideChar(CP_ACP, 0, (CHAR *)dma->dmDeviceName, CCHDEVICENAME,
99.108 - dmw->dmDeviceName, CCHDEVICENAME);
99.109 - ::MultiByteToWideChar(CP_ACP, 0, (CHAR *)dma->dmFormName, CCHDEVICENAME,
99.110 - dmw->dmFormName, CCHDEVICENAME);
99.111 -
99.112 - // copy driver specific data if exists
99.113 - if (dma->dmDriverExtra != 0) {
99.114 - PBYTE pExtraA = (PBYTE)(dma + 1);
99.115 - PBYTE pExtraW = (PBYTE)(dmw + 1);
99.116 - memcpy(pExtraW, pExtraA, dma->dmDriverExtra);
99.117 - }
99.118 -
99.119 - // copy normal struct members
99.120 - dmw->dmSpecVersion = dma->dmSpecVersion;
99.121 - dmw->dmDriverVersion = dma->dmDriverVersion;
99.122 - dmw->dmSize = dma->dmSize;
99.123 - dmw->dmDriverExtra = dma->dmDriverExtra;
99.124 - dmw->dmFields = dma->dmFields;
99.125 - dmw->dmPosition = dma->dmPosition;
99.126 - dmw->dmScale = dma->dmScale;
99.127 - dmw->dmCopies = dma->dmCopies;
99.128 - dmw->dmDefaultSource = dma->dmDefaultSource;
99.129 - dmw->dmPrintQuality = dma->dmPrintQuality;
99.130 - dmw->dmColor = dma->dmColor;
99.131 - dmw->dmDuplex = dma->dmDuplex;
99.132 - dmw->dmYResolution = dma->dmYResolution;
99.133 - dmw->dmTTOption = dma->dmTTOption;
99.134 - dmw->dmCollate = dma->dmCollate;
99.135 - dmw->dmLogPixels = dma->dmLogPixels;
99.136 - dmw->dmBitsPerPel = dma->dmBitsPerPel;
99.137 - dmw->dmPelsWidth = dma->dmPelsWidth;
99.138 - dmw->dmPelsHeight = dma->dmPelsHeight;
99.139 - dmw->dmDisplayFlags = dma->dmDisplayFlags;
99.140 - dmw->dmDisplayFrequency = dma->dmDisplayFrequency;
99.141 -#if(WINVER >= 0x0400)
99.142 - dmw->dmICMMethod = dma->dmICMMethod;
99.143 - dmw->dmICMIntent = dma->dmICMIntent;
99.144 - dmw->dmMediaType = dma->dmMediaType;
99.145 - dmw->dmDitherType = dma->dmDitherType;
99.146 - dmw->dmReserved1 = dma->dmReserved1;
99.147 - dmw->dmReserved2 = dma->dmReserved2;
99.148 -#if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)
99.149 - dmw->dmPanningWidth = dma->dmPanningWidth;
99.150 - dmw->dmPanningHeight = dma->dmPanningHeight;
99.151 -#endif
99.152 -#endif /* WINVER >= 0x0400 */
99.153 -}
99.154 -
99.155 -// PRINTER_INFO_1 struct converter
99.156 -void UnicowsLoader::PrinterInfo1A2W(
99.157 - const LPPRINTER_INFO_1A pi1A,
99.158 - LPPRINTER_INFO_1W pi1W,
99.159 - const DWORD num)
99.160 -{
99.161 - LPWSTR pwstrbuf = (LPWSTR)(pi1W + num);
99.162 - DWORD current;
99.163 -
99.164 - // loop through all structures
99.165 - for (current = 0; current < num; current ++) {
99.166 - LPPRINTER_INFO_1A curPi1A = pi1A + current;
99.167 - LPPRINTER_INFO_1W curPi1W = pi1W + current;
99.168 -
99.169 - // copy the structure itself
99.170 - memcpy(curPi1W, curPi1A, sizeof(_PRINTER_INFO_1W));
99.171 -
99.172 - // copy string members
99.173 - StringA2W(curPi1A->pDescription, &(curPi1W->pDescription), &pwstrbuf);
99.174 - StringA2W(curPi1A->pName, &(curPi1W->pName), &pwstrbuf);
99.175 - StringA2W(curPi1A->pComment, &(curPi1W->pComment), &pwstrbuf);
99.176 - }
99.177 -}
99.178 -
99.179 -// PRINTER_INFO_2 struct converter
99.180 -void UnicowsLoader::PrinterInfo2A2W(
99.181 - const LPPRINTER_INFO_2A pi2A,
99.182 - LPPRINTER_INFO_2W pi2W,
99.183 - const DWORD num)
99.184 -{
99.185 - PBYTE pbytebuf = (PBYTE)(pi2W + num);
99.186 - DWORD current;
99.187 -
99.188 - // loop through all structures
99.189 - for (current = 0; current < num; current ++) {
99.190 - LPPRINTER_INFO_2A curPi2A = pi2A + current;
99.191 - LPPRINTER_INFO_2W curPi2W = pi2W + current;
99.192 - // copy the structure itself
99.193 - memcpy(curPi2W, curPi2A, sizeof(_PRINTER_INFO_2W));
99.194 -
99.195 - // copy string members
99.196 - StringA2W(curPi2A->pServerName, &(curPi2W->pServerName), (LPWSTR *)&pbytebuf);
99.197 - StringA2W(curPi2A->pPrinterName, &(curPi2W->pPrinterName), (LPWSTR *)&pbytebuf);
99.198 - StringA2W(curPi2A->pShareName, &(curPi2W->pShareName), (LPWSTR *)&pbytebuf);
99.199 - StringA2W(curPi2A->pPortName, &(curPi2W->pPortName), (LPWSTR *)&pbytebuf);
99.200 - StringA2W(curPi2A->pDriverName, &(curPi2W->pDriverName), (LPWSTR *)&pbytebuf);
99.201 - StringA2W(curPi2A->pComment, &(curPi2W->pComment), (LPWSTR *)&pbytebuf);
99.202 - StringA2W(curPi2A->pLocation, &(curPi2W->pLocation), (LPWSTR *)&pbytebuf);
99.203 - StringA2W(curPi2A->pSepFile, &(curPi2W->pSepFile), (LPWSTR *)&pbytebuf);
99.204 - StringA2W(curPi2A->pPrintProcessor, &(curPi2W->pPrintProcessor), (LPWSTR *)&pbytebuf);
99.205 - StringA2W(curPi2A->pDatatype, &(curPi2W->pDatatype), (LPWSTR *)&pbytebuf);
99.206 - StringA2W(curPi2A->pParameters, &(curPi2W->pParameters), (LPWSTR *)&pbytebuf);
99.207 -
99.208 - // copy DEVMODE structure
99.209 - if (curPi2A->pDevMode != NULL) {
99.210 - curPi2W->pDevMode = (LPDEVMODEW)pbytebuf;
99.211 - DevModeA2DevModeW(curPi2A->pDevMode, curPi2W->pDevMode);
99.212 - pbytebuf += sizeof(DEVMODEW) + curPi2A->pDevMode->dmDriverExtra;
99.213 - }
99.214 - }
99.215 -}
99.216 -
99.217 -// PRINTER_INFO_5 struct converter
99.218 -void UnicowsLoader::PrinterInfo5A2W(
99.219 - const LPPRINTER_INFO_5A pi5A,
99.220 - LPPRINTER_INFO_5W pi5W,
99.221 - const DWORD num)
99.222 -{
99.223 - LPWSTR pbuf = (LPWSTR)(pi5W + num);
99.224 - DWORD current;
99.225 -
99.226 - // loop through all structures
99.227 - for (current = 0; current < num; current ++) {
99.228 - LPPRINTER_INFO_5A curPi5A = pi5A + current;
99.229 - LPPRINTER_INFO_5W curPi5W = pi5W + current;
99.230 -
99.231 - // copy the structure itself
99.232 - memcpy(curPi5W, curPi5A, sizeof(_PRINTER_INFO_5W));
99.233 -
99.234 - // copy string members
99.235 - StringA2W(curPi5A->pPrinterName, &(curPi5W->pPrinterName), &pbuf);
99.236 - StringA2W(curPi5A->pPortName, &(curPi5W->pPortName), &pbuf);
99.237 - }
99.238 -}
99.239 -
99.240 -// PRINTER_INFO_* struct converter. Supported levels are 1, 2, and 5.
99.241 -void UnicowsLoader::PrinterInfoA2W(
99.242 - const PVOID piA,
99.243 - PVOID piW,
99.244 - const DWORD Level,
99.245 - const DWORD num)
99.246 -{
99.247 - switch (Level) {
99.248 - case 1:
99.249 - PrinterInfo1A2W((LPPRINTER_INFO_1A)piA, (LPPRINTER_INFO_1W)piW, num);
99.250 - break;
99.251 -
99.252 - case 2:
99.253 - PrinterInfo2A2W((LPPRINTER_INFO_2A)piA, (LPPRINTER_INFO_2W)piW, num);
99.254 - break;
99.255 -
99.256 - case 5:
99.257 - PrinterInfo5A2W((LPPRINTER_INFO_5A)piA, (LPPRINTER_INFO_5W)piW, num);
99.258 - break;
99.259 - }
99.260 -}
99.261 -
99.262 -// converts string members in PRINTER_INFO_* struct.
99.263 -void UnicowsLoader::StringA2W(
99.264 - LPCSTR pSrcA,
99.265 - LPWSTR * ppwstrDest,
99.266 - LPWSTR * ppwstrbuf)
99.267 -{
99.268 - if (pSrcA != NULL) {
99.269 - DWORD cchWideChar = ::MultiByteToWideChar(CP_ACP, 0, pSrcA, -1, NULL, 0);
99.270 - *ppwstrDest = *ppwstrbuf;
99.271 - ::MultiByteToWideChar(CP_ACP, 0, pSrcA, -1, *ppwstrbuf, cchWideChar);
99.272 - *ppwstrbuf += cchWideChar;
99.273 - } else {
99.274 - *ppwstrDest = NULL;
99.275 - }
99.276 -}
99.277 -
99.278 -// GetPrinterW implementation. Level 1, 2, and 5 are the only supported levels.
99.279 -BOOL __stdcall UnicowsLoader::GetPrinterWImpl(
99.280 - HANDLE hPrinter,
99.281 - DWORD Level,
99.282 - LPBYTE pPrinter,
99.283 - DWORD cbBuf,
99.284 - LPDWORD pcbNeeded)
99.285 -{
99.286 - if ((Level != 1) && (Level != 2) && (Level != 5)) {
99.287 - SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
99.288 - return FALSE;
99.289 - }
99.290 -
99.291 - DWORD cbBufA = (cbBuf != 0 ? cbBuf / 2 : 0); // dirty estimation...
99.292 - LPBYTE pPrinterA = NULL;
99.293 - DWORD cbNeededA = 0;
99.294 - BOOL ret;
99.295 -
99.296 - if (cbBufA != 0) {
99.297 - pPrinterA = (LPBYTE)safe_Malloc(cbBufA);
99.298 - memset(pPrinterA, 0, cbBufA);
99.299 - }
99.300 -
99.301 - ret = ::GetPrinterA(hPrinter, Level, pPrinterA, cbBufA, &cbNeededA);
99.302 - *pcbNeeded = cbNeededA * 2; // dirty estimation...
99.303 -
99.304 - if (pPrinterA != NULL) {
99.305 - if (ret) {
99.306 - PrinterInfoA2W(pPrinterA, pPrinter, Level, 1);
99.307 - }
99.308 - free(pPrinterA);
99.309 - }
99.310 -
99.311 - return ret;
99.312 -}
99.313 -
99.314 -// EnumPrintersW implementation. Level 1, 2, and 5 are the only supported levels.
99.315 -BOOL __stdcall UnicowsLoader::EnumPrintersWImpl(
99.316 - DWORD Flags,
99.317 - LPWSTR Name,
99.318 - DWORD Level,
99.319 - LPBYTE pPrinterEnum,
99.320 - DWORD cbBuf,
99.321 - LPDWORD pcbNeeded,
99.322 - LPDWORD pcReturned)
99.323 -{
99.324 - if ((Level != 1) && (Level != 2) && (Level != 5)) {
99.325 - SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
99.326 - return FALSE;
99.327 - }
99.328 -
99.329 - LPSTR pNameA = NULL;
99.330 - DWORD cbBufA = (cbBuf != 0 ? cbBuf / 2 : 0); // dirty estimation...
99.331 - LPBYTE pPrinterEnumA = NULL;
99.332 - DWORD cbNeededA = 0;
99.333 - BOOL ret;
99.334 -
99.335 - if (Name != NULL) {
99.336 - DWORD len = static_cast<DWORD>(wcslen(Name)) + 1;
99.337 - pNameA = (LPSTR)safe_Malloc(len);
99.338 - ::WideCharToMultiByte(CP_ACP, 0, Name, -1, pNameA, len, NULL, NULL);
99.339 - }
99.340 -
99.341 - if (cbBufA != 0) {
99.342 - pPrinterEnumA = (LPBYTE)safe_Malloc(cbBufA);
99.343 - memset(pPrinterEnumA, 0, cbBufA);
99.344 - }
99.345 -
99.346 - ret = ::EnumPrintersA(Flags, pNameA, Level, pPrinterEnumA,
99.347 - cbBufA, &cbNeededA, pcReturned);
99.348 - *pcbNeeded = cbNeededA * 2; // dirty estimation...
99.349 -
99.350 - if (pPrinterEnumA != NULL) {
99.351 - if (ret) {
99.352 - PrinterInfoA2W(pPrinterEnumA, pPrinterEnum, Level, *pcReturned);
99.353 - }
99.354 - free(pPrinterEnumA);
99.355 - }
99.356 -
99.357 - if (pNameA != NULL) {
99.358 - free(pNameA);
99.359 - }
99.360 -
99.361 - return ret;
99.362 -}
99.363 -
99.364 -// wchar CRT implementations that VC6 does not support on Win9x.
99.365 -// These implementations are used on both Win9x/ME *and* WinNT/2K/XP.
99.366 -#undef _waccess
99.367 -#undef _wchmod
99.368 -#undef _wfullpath
99.369 -#undef _wremove
99.370 -#undef _wrename
99.371 -#undef _wstat
99.372 -#undef _wstati64
99.373 -#undef _wstat64
99.374 -#undef _wunlink
99.375 -#undef _wfopen
99.376 -#undef _wfreopen
99.377 -#undef _wfsopen
99.378 -#undef _wcreat
99.379 -#undef _wopen
99.380 -#undef _wsopen
99.381 -#undef _wfindfirst
99.382 -#undef _wfindfirst64
99.383 -#undef _wfindnext
99.384 -#undef _wfindnext64
99.385 -#undef _wsystem
99.386 -#undef _wexcel
99.387 -#undef _wexcele
99.388 -#undef _wexelp
99.389 -#undef _wexelpe
99.390 -#undef _wexecv
99.391 -#undef _wexecve
99.392 -#undef _wexecvp
99.393 -#undef _wexecvpe
99.394 -#undef _wpopen
99.395 -#undef _wputenv
99.396 -#undef _wspawnl
99.397 -#undef _wspawnle
99.398 -#undef _wspawnlp
99.399 -#undef _wspawnlpe
99.400 -#undef _wspawnv
99.401 -#undef _wspawnve
99.402 -#undef _wspawnvp
99.403 -#undef _wspawnvpe
99.404 -
99.405 -// _wfullpath implementation
99.406 -wchar_t * __cdecl UnicowsLoader::_wfullpathImpl(
99.407 - wchar_t * absPath,
99.408 - const wchar_t * relPath,
99.409 - size_t maxLength)
99.410 -{
99.411 - if (IS_NT) {
99.412 - return _wfullpath(absPath, relPath, maxLength);
99.413 - } else {
99.414 - wchar_t * ret = NULL;
99.415 - char * absPathA = (char *)safe_Malloc(maxLength);
99.416 - char * relPathA = (char *)safe_Malloc(maxLength);
99.417 - ::WideCharToMultiByte(CP_ACP, 0, relPath, -1, relPathA,
99.418 - static_cast<DWORD>(maxLength), NULL, NULL);
99.419 -
99.420 - char * retA = _fullpath(absPathA, relPathA, maxLength);
99.421 -
99.422 - if (retA != NULL) {
99.423 - ::MultiByteToWideChar(CP_ACP, 0, absPathA, -1,
99.424 - absPath, static_cast<DWORD>(maxLength));
99.425 - ret = absPath;
99.426 - }
99.427 -
99.428 - free(absPathA);
99.429 - free(relPathA);
99.430 -
99.431 - return ret;
99.432 - }
99.433 -}
100.1 --- a/src/windows/native/sun/windows/UnicowsLoader.h Tue Feb 17 09:06:16 2009 -0800
100.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
100.3 @@ -1,198 +0,0 @@
100.4 -/*
100.5 - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved.
100.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
100.7 - *
100.8 - * This code is free software; you can redistribute it and/or modify it
100.9 - * under the terms of the GNU General Public License version 2 only, as
100.10 - * published by the Free Software Foundation. Sun designates this
100.11 - * particular file as subject to the "Classpath" exception as provided
100.12 - * by Sun in the LICENSE file that accompanied this code.
100.13 - *
100.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
100.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
100.16 - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
100.17 - * version 2 for more details (a copy is included in the LICENSE file that
100.18 - * accompanied this code).
100.19 - *
100.20 - * You should have received a copy of the GNU General Public License version
100.21 - * 2 along with this work; if not, write to the Free Software Foundation,
100.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
100.23 - *
100.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
100.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
100.26 - * have any questions.
100.27 - */
100.28 -
100.29 -#ifndef UNICOWSLOADER_H
100.30 -#define UNICOWSLOADER_H
100.31 -
100.32 -#if !defined(UNICODE) || !defined(_UNICODE)
100.33 -#error UnicowsLoader module needs UNICODE and _UNICODE flags to be set on compiling
100.34 -#endif
100.35 -
100.36 -#include <winspool.h>
100.37 -
100.38 -// A class to load the Microsoft Layer for Unicode (unicows.dll)
100.39 -class UnicowsLoader {
100.40 -public:
100.41 - // this is called when the client DLL (this case, AWT) is loaded
100.42 - static HMODULE __stdcall LoadUnicows(void);
100.43 -
100.44 - // this is provided to pass the MSLU module handle
100.45 - static HMODULE GetModuleHandle(void);
100.46 -
100.47 - // member functions that implements functions that MSLU does not support
100.48 - static BOOL __stdcall GetPrinterWImpl(HANDLE, DWORD, LPBYTE, DWORD, LPDWORD);
100.49 - static BOOL __stdcall EnumPrintersWImpl(DWORD, LPWSTR, DWORD, LPBYTE,
100.50 - DWORD, LPDWORD, LPDWORD);
100.51 -
100.52 - // member functions that implements functions that VC6 CRT does not support
100.53 - // on Win9x
100.54 - static wchar_t * __cdecl _wfullpathImpl(wchar_t *, const wchar_t *, size_t);
100.55 -
100.56 -private:
100.57 - // The module handle
100.58 - static HMODULE hmodUnicows;
100.59 -
100.60 - // utility member functions
100.61 - static void DevModeA2DevModeW(const DEVMODEA *, DEVMODEW *);
100.62 - static void PrinterInfo1A2W(const LPPRINTER_INFO_1A, LPPRINTER_INFO_1W, const DWORD);
100.63 - static void PrinterInfo2A2W(const LPPRINTER_INFO_2A, LPPRINTER_INFO_2W, const DWORD);
100.64 - static void PrinterInfo5A2W(const LPPRINTER_INFO_5A, LPPRINTER_INFO_5W, const DWORD);
100.65 - static void PrinterInfoA2W(const PVOID, PVOID, DWORD, DWORD);
100.66 - static void StringA2W(LPCSTR, LPWSTR *, LPWSTR *);
100.67 -};
100.68 -
100.69 -#ifndef AWT_H
100.70 -// copied from awt.h
100.71 -#if defined (WIN32)
100.72 - #define IS_WIN32 TRUE
100.73 -#else
100.74 - #define IS_WIN32 FALSE
100.75 -#endif
100.76 -#define IS_NT (IS_WIN32 && !(::GetVersion() & 0x80000000))
100.77 -#endif // AWT_H
100.78 -
100.79 -// Now the platform encoding is Unicode (UTF-16), re-define JNU_ functions
100.80 -// to proper JNI functions.
100.81 -#define JNU_NewStringPlatform(env, x) env->NewString(x, static_cast<jsize>(_tcslen(x)))
100.82 -#define JNU_GetStringPlatformChars(env, x, y) (LPWSTR)env->GetStringChars(x, y)
100.83 -#define JNU_ReleaseStringPlatformChars(env, x, y) env->ReleaseStringChars(x, y)
100.84 -
100.85 -// The following Windows W-APIs are not supported by the MSLU.
100.86 -// You need to implement a stub to use these APIs. Or, if it is
100.87 -// apparent that the API is used only on WindowsNT/2K/XP, wrap
100.88 -// the call site with #undef - #define, e.g:
100.89 -//
100.90 -// #undef SomeFunctionW
100.91 -// call SomeFunctionW
100.92 -// #define SomeFunctionW NotSupportedByMSLU
100.93 -
100.94 -#define AcquireCredentialsHandleW NotSupportedByMSLU
100.95 -#define CreateNamedPipeW NotSupportedByMSLU
100.96 -#define CryptAcquireContextW NotSupportedByMSLU
100.97 -#define CryptEnumProvidersW NotSupportedByMSLU
100.98 -#define CryptEnumProviderTypesW NotSupportedByMSLU
100.99 -#define CryptGetDefaultProviderW NotSupportedByMSLU
100.100 -#define CryptSetProviderW NotSupportedByMSLU
100.101 -#define CryptSetProviderExW NotSupportedByMSLU
100.102 -#define CryptSignHashW NotSupportedByMSLU
100.103 -#define CryptVerifySignatureW NotSupportedByMSLU
100.104 -#define EnumerateSecurityPackagesW NotSupportedByMSLU
100.105 -#define EnumMonitorsW NotSupportedByMSLU
100.106 -#define EnumPortsW NotSupportedByMSLU
100.107 -#define EnumPrinterDriversW NotSupportedByMSLU
100.108 -//#define EnumPrintersW NotSupportedByMSLU
100.109 -#define EnumPrintProcessorDatatypesW NotSupportedByMSLU
100.110 -#define EnumPrintProcessorsW NotSupportedByMSLU
100.111 -#define FreeContextBufferW NotSupportedByMSLU
100.112 -#define GetCharABCWidthsFloatW NotSupportedByMSLU
100.113 -#define GetJobW NotSupportedByMSLU
100.114 -#define GetOpenFileNamePreviewW NotSupportedByMSLU
100.115 -//#define GetPrinterW NotSupportedByMSLU
100.116 -#define GetPrinterDataW NotSupportedByMSLU
100.117 -#define GetPrinterDriverW NotSupportedByMSLU
100.118 -#define GetSaveFileNamePreviewW NotSupportedByMSLU
100.119 -#define InitializeSecurityContextW NotSupportedByMSLU
100.120 -#define mciSendCommandW NotSupportedByMSLU
100.121 -#define mixerGetControlDetailsW NotSupportedByMSLU
100.122 -#define mixerGetLineControlsW NotSupportedByMSLU
100.123 -#define mixerGetLineInfoW NotSupportedByMSLU
100.124 -#define mmioInstallIOProcW NotSupportedByMSLU
100.125 -#define OleUIChangeSourceW NotSupportedByMSLU
100.126 -#define OleUIConvertW NotSupportedByMSLU
100.127 -#define OleUIEditLinksW NotSupportedByMSLU
100.128 -#define OleUIInsertObjectW NotSupportedByMSLU
100.129 -#define OleUIObjectPropertiesW NotSupportedByMSLU
100.130 -#define OleUIPasteSpecialW NotSupportedByMSLU
100.131 -#define OleUIPromptUserW NotSupportedByMSLU
100.132 -#define OleUIUpdateLinksW NotSupportedByMSLU
100.133 -#define PolyTextOutW NotSupportedByMSLU
100.134 -#define QueryContextAttributesW NotSupportedByMSLU
100.135 -#define QueryCredentialsAttributesW NotSupportedByMSLU
100.136 -#define QuerySecurityPackageInfoW NotSupportedByMSLU
100.137 -#define RasDeleteSubEntryW NotSupportedByMSLU
100.138 -#define RasSetSubEntryPropertiesW NotSupportedByMSLU
100.139 -#define ResetPrinterW NotSupportedByMSLU
100.140 -
100.141 -// The following Shell COM interfaces are not supported by the MSLU.
100.142 -// See ShellFolder2.cpp
100.143 -#define IID_IFileViewerW NotSupportedByMSLU
100.144 -#define IID_IShellLinkW NotSupportedByMSLU
100.145 -#define IID_IExtractIconW NotSupportedByMSLU
100.146 -#define IID_IShellCopyHookW NotSupportedByMSLU
100.147 -#define IID_IShellExecuteHookW NotSupportedByMSLU
100.148 -#define IID_INewShortcutHookW NotSupportedByMSLU
100.149 -
100.150 -// The following CRT functions should fail on compiling, as it does not work on
100.151 -// Win9x/ME platform. If you need these CRTs, write a wrapper for ANSI version
100.152 -// equivalents, in which it converts to/from Unicode using WideCharToMultiByte.
100.153 -//
100.154 -// Or, if it is apparent that the function is used only on WindowsNT/2K/XP, wrap
100.155 -// the call site with #undef - #define, e.g:
100.156 -//
100.157 -// #undef _wsomefunc
100.158 -// call _wsomefunc
100.159 -// #define _wsomefunc NotSupportedOnWin9X
100.160 -
100.161 -#define _waccess NotSupportedOnWin9X
100.162 -#define _wchmod NotSupportedOnWin9X
100.163 -#define _wfullpath UnicowsLoader::_wfullpathImpl
100.164 -#define _wremove NotSupportedOnWin9X
100.165 -#define _wrename NotSupportedOnWin9X
100.166 -#define _wstat NotSupportedOnWin9X
100.167 -#define _wstati64 NotSupportedOnWin9X
100.168 -#define _wstat64 NotSupportedOnWin9X
100.169 -#define _wunlink NotSupportedOnWin9X
100.170 -#define _wfopen NotSupportedOnWin9X
100.171 -#define _wfreopen NotSupportedOnWin9X
100.172 -#define _wfsopen NotSupportedOnWin9X
100.173 -#define _wcreat NotSupportedOnWin9X
100.174 -#define _wopen NotSupportedOnWin9X
100.175 -#define _wsopen NotSupportedOnWin9X
100.176 -#define _wfindfirst NotSupportedOnWin9X
100.177 -#define _wfindfirst64 NotSupportedOnWin9X
100.178 -#define _wfindnext NotSupportedOnWin9X
100.179 -#define _wfindnext64 NotSupportedOnWin9X
100.180 -#define _wsystem NotSupportedOnWin9X
100.181 -#define _wexcel NotSupportedOnWin9X
100.182 -#define _wexcele NotSupportedOnWin9X
100.183 -#define _wexelp NotSupportedOnWin9X
100.184 -#define _wexelpe NotSupportedOnWin9X
100.185 -#define _wexecv NotSupportedOnWin9X
100.186 -#define _wexecve NotSupportedOnWin9X
100.187 -#define _wexecvp NotSupportedOnWin9X
100.188 -#define _wexecvpe NotSupportedOnWin9X
100.189 -#define _wpopen NotSupportedOnWin9X
100.190 -#define _wputenv NotSupportedOnWin9X
100.191 -#define _wspawnl NotSupportedOnWin9X
100.192 -#define _wspawnle NotSupportedOnWin9X
100.193 -#define _wspawnlp NotSupportedOnWin9X
100.194 -#define _wspawnlpe NotSupportedOnWin9X
100.195 -#define _wspawnv NotSupportedOnWin9X
100.196 -#define _wspawnve NotSupportedOnWin9X
100.197 -#define _wspawnvp NotSupportedOnWin9X
100.198 -#define _wspawnvpe NotSupportedOnWin9X
100.199 -
100.200 -
100.201 -#endif // UNICOWSLOADER_H
101.1 --- a/src/windows/native/sun/windows/WPrinterJob.cpp Tue Feb 17 09:06:16 2009 -0800
101.2 +++ b/src/windows/native/sun/windows/WPrinterJob.cpp Wed Feb 18 10:05:41 2009 -0800
101.3 @@ -1,5 +1,5 @@
101.4 /*
101.5 - * Copyright 2000-2007 Sun Microsystems, Inc. All Rights Reserved.
101.6 + * Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
101.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
101.8 *
101.9 * This code is free software; you can redistribute it and/or modify it
101.10 @@ -23,14 +23,14 @@
101.11 * have any questions.
101.12 */
101.13
101.14 +#include "awt.h"
101.15 +
101.16 #include "stdhdrs.h"
101.17 #include <commdlg.h>
101.18 #include <winspool.h>
101.19 #include <limits.h>
101.20 #include <float.h>
101.21
101.22 -#include "awt.h"
101.23 -#include "awt_dlls.h"
101.24 #include "awt_Toolkit.h"
101.25 #include "awt_PrintControl.h"
101.26
101.27 @@ -74,7 +74,6 @@
101.28 TRY;
101.29
101.30 TCHAR cBuffer[250];
101.31 - BOOL bFlag;
101.32 OSVERSIONINFO osv;
101.33 PRINTER_INFO_2 *ppi2 = NULL;
101.34 DWORD dwNeeded = 0;
101.35 @@ -86,39 +85,8 @@
101.36 osv.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
101.37 GetVersionEx(&osv);
101.38
101.39 - // If Windows 95 or 98, use EnumPrinters...
101.40 - if (osv.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) {
101.41 -
101.42 - // The first EnumPrinters() tells you how big our buffer should
101.43 - // be in order to hold ALL of PRINTER_INFO_2. Note that this will
101.44 - // usually return FALSE. This only means that the buffer (the 4th
101.45 - // parameter) was not filled in. You don't want it filled in here...
101.46 -
101.47 - EnumPrinters(PRINTER_ENUM_DEFAULT, NULL, 2,
101.48 - NULL, 0, &dwNeeded, &dwReturned);
101.49 - if (dwNeeded == 0) {
101.50 - return NULL;
101.51 - }
101.52 -
101.53 - // Allocate enough space for PRINTER_INFO_2...
101.54 - ppi2 = (PRINTER_INFO_2 *)GlobalAlloc(GPTR, dwNeeded);
101.55 - if (!ppi2) {
101.56 - return NULL;
101.57 - }
101.58 -
101.59 - // The second EnumPrinters() will fill in all the current information.
101.60 - bFlag = EnumPrinters(PRINTER_ENUM_DEFAULT, NULL, 2,
101.61 - (LPBYTE)ppi2, dwNeeded, &dwNeeded, &dwReturned);
101.62 - if (!bFlag) {
101.63 - GlobalFree(ppi2);
101.64 - return NULL;
101.65 - }
101.66 -
101.67 - jPrinterName = JNU_NewStringPlatform(env, ppi2->pPrinterName);
101.68 - GlobalFree(ppi2);
101.69 - return jPrinterName;
101.70 -
101.71 - } else if (osv.dwPlatformId == VER_PLATFORM_WIN32_NT) {
101.72 + // If Windows 2000, XP, Vista
101.73 + if (osv.dwPlatformId == VER_PLATFORM_WIN32_NT) {
101.74
101.75 // Retrieve the default string from Win.ini (the registry).
101.76 // String will be in form "printername,drivername,portname".
101.77 @@ -165,62 +133,32 @@
101.78 jobjectArray nameArray;
101.79
101.80 try {
101.81 - if (IS_NT) {
101.82 - ::EnumPrinters(PRINTER_ENUM_LOCAL | PRINTER_ENUM_CONNECTIONS,
101.83 - NULL, 4, NULL, 0, &cbNeeded, &cReturned);
101.84 - pPrinterEnum = new BYTE[cbNeeded];
101.85 - ::EnumPrinters(PRINTER_ENUM_LOCAL | PRINTER_ENUM_CONNECTIONS,
101.86 - NULL, 4, pPrinterEnum, cbNeeded, &cbNeeded,
101.87 - &cReturned);
101.88 + ::EnumPrinters(PRINTER_ENUM_LOCAL | PRINTER_ENUM_CONNECTIONS,
101.89 + NULL, 4, NULL, 0, &cbNeeded, &cReturned);
101.90 + pPrinterEnum = new BYTE[cbNeeded];
101.91 + ::EnumPrinters(PRINTER_ENUM_LOCAL | PRINTER_ENUM_CONNECTIONS,
101.92 + NULL, 4, pPrinterEnum, cbNeeded, &cbNeeded,
101.93 + &cReturned);
101.94
101.95 - if (cReturned > 0) {
101.96 - nameArray = env->NewObjectArray(cReturned, clazz, NULL);
101.97 - if (nameArray == NULL) {
101.98 - throw std::bad_alloc();
101.99 - }
101.100 - } else {
101.101 - nameArray = NULL;
101.102 - }
101.103 -
101.104 -
101.105 - for (DWORD i = 0; i < cReturned; i++) {
101.106 - PRINTER_INFO_4 *info4 = (PRINTER_INFO_4 *)
101.107 - (pPrinterEnum + i * sizeof(PRINTER_INFO_4));
101.108 - utf_str = JNU_NewStringPlatform(env, info4->pPrinterName);
101.109 - if (utf_str == NULL) {
101.110 - throw std::bad_alloc();
101.111 - }
101.112 - env->SetObjectArrayElement(nameArray, i, utf_str);
101.113 - env->DeleteLocalRef(utf_str);
101.114 + if (cReturned > 0) {
101.115 + nameArray = env->NewObjectArray(cReturned, clazz, NULL);
101.116 + if (nameArray == NULL) {
101.117 + throw std::bad_alloc();
101.118 }
101.119 } else {
101.120 - ::EnumPrinters(PRINTER_ENUM_LOCAL,
101.121 - NULL, 5, NULL, 0, &cbNeeded, &cReturned);
101.122 - pPrinterEnum = new BYTE[cbNeeded];
101.123 - ::EnumPrinters(PRINTER_ENUM_LOCAL,
101.124 - NULL, 5, pPrinterEnum, cbNeeded, &cbNeeded,
101.125 - &cReturned);
101.126 + nameArray = NULL;
101.127 + }
101.128
101.129 - if (cReturned > 0) {
101.130 - nameArray = env->NewObjectArray(cReturned, clazz, NULL);
101.131 - if (nameArray == NULL) {
101.132 - throw std::bad_alloc();
101.133 - }
101.134 - } else {
101.135 - nameArray = NULL;
101.136 +
101.137 + for (DWORD i = 0; i < cReturned; i++) {
101.138 + PRINTER_INFO_4 *info4 = (PRINTER_INFO_4 *)
101.139 + (pPrinterEnum + i * sizeof(PRINTER_INFO_4));
101.140 + utf_str = JNU_NewStringPlatform(env, info4->pPrinterName);
101.141 + if (utf_str == NULL) {
101.142 + throw std::bad_alloc();
101.143 }
101.144 -
101.145 -
101.146 - for (DWORD i = 0; i < cReturned; i++) {
101.147 - PRINTER_INFO_5 *info5 = (PRINTER_INFO_5 *)
101.148 - (pPrinterEnum + i * sizeof(PRINTER_INFO_5));
101.149 - utf_str = JNU_NewStringPlatform(env, info5->pPrinterName);
101.150 - if (utf_str == NULL) {
101.151 - throw std::bad_alloc();
101.152 - }
101.153 - env->SetObjectArrayElement(nameArray, i, utf_str);
101.154 - env->DeleteLocalRef(utf_str);
101.155 - }
101.156 + env->SetObjectArrayElement(nameArray, i, utf_str);
101.157 + env->DeleteLocalRef(utf_str);
101.158 }
101.159 } catch (std::bad_alloc&) {
101.160 delete [] pPrinterEnum;
101.161 @@ -872,7 +810,7 @@
101.162 int numSizes = ::DeviceCapabilities(printerName, printerPort,
101.163 DC_PAPERS, NULL, NULL);
101.164 if (numSizes > 0) {
101.165 - LPWORD papers = (LPWORD)safe_Malloc(numSizes * sizeof(WORD));
101.166 + LPTSTR papers = (LPTSTR)safe_Malloc(numSizes * sizeof(WORD));
101.167 if (papers != NULL &&
101.168 ::DeviceCapabilities(printerName, printerPort,
101.169 DC_PAPERS, papers, NULL) != -1) {
102.1 --- a/src/windows/native/sun/windows/awt.h Tue Feb 17 09:06:16 2009 -0800
102.2 +++ b/src/windows/native/sun/windows/awt.h Wed Feb 18 10:05:41 2009 -0800
102.3 @@ -26,10 +26,21 @@
102.4 #ifndef _AWT_H_
102.5 #define _AWT_H_
102.6
102.7 +#ifndef _WIN32_WINNT
102.8 +#define _WIN32_WINNT 0x0600
102.9 +#endif
102.10 +
102.11 +#ifndef _WIN32_IE
102.12 +#define _WIN32_IE 0x0600
102.13 +#endif
102.14 +
102.15 +//#ifndef NTDDI_VERSION
102.16 +//#define NTDDI_VERSION NTDDI_LONGHORN
102.17 +//#endif
102.18 +
102.19 #include "stdhdrs.h"
102.20 #include "alloc.h"
102.21 #include "awt_Debug.h"
102.22 -#include "UnicowsLoader.h"
102.23
102.24 extern COLORREF DesktopColor2RGB(int colorIndex);
102.25
102.26 @@ -129,40 +140,23 @@
102.27 /* /NEW JNI */
102.28
102.29 /*
102.30 - * IS_NT returns TRUE on NT, 2000, XP
102.31 - * IS_WIN2000 returns TRUE on 2000, XP
102.32 - * IS_WINXP returns TRUE on XP
102.33 - * IS_WIN95 returns TRUE on 95, 98, ME
102.34 - * IS_WIN98 returns TRUE on 98, ME
102.35 - * IS_WINME returns TRUE on ME
102.36 - * IS_WIN32 returns TRUE on 32-bit Pentium and
102.37 - * 64-bit Itanium.
102.38 * IS_WIN64 returns TRUE on 64-bit Itanium
102.39 - *
102.40 - * uname -s returns Windows_95 on 95
102.41 - * uname -s returns Windows_98 on 98 and ME
102.42 - * uname -s returns Windows_NT on NT and 2000 and XP
102.43 */
102.44 -#if defined (WIN32)
102.45 - #define IS_WIN32 TRUE
102.46 -#else
102.47 - #define IS_WIN32 FALSE
102.48 -#endif
102.49 #if defined (_WIN64)
102.50 #define IS_WIN64 TRUE
102.51 #else
102.52 #define IS_WIN64 FALSE
102.53 #endif
102.54 -#define IS_NT (IS_WIN32 && !(::GetVersion() & 0x80000000))
102.55 -#define IS_WIN2000 (IS_NT && LOBYTE(LOWORD(::GetVersion())) >= 5)
102.56 -#define IS_WIN2003 (IS_NT && LOBYTE(LOWORD(::GetVersion())) == 5 && HIBYTE(LOWORD(::GetVersion())) >= 2)
102.57 -#define IS_WINXP (IS_NT && (IS_WIN2000 && HIBYTE(LOWORD(::GetVersion())) >= 1) || LOBYTE(LOWORD(::GetVersion())) > 5)
102.58 -#define IS_WINVISTA (IS_NT && LOBYTE(LOWORD(::GetVersion())) >= 6)
102.59 -#define IS_WIN32S (IS_WIN32 && !IS_NT && LOBYTE(LOWORD(::GetVersion())) < 4)
102.60 -#define IS_WIN95 (IS_WIN32 && !IS_NT && LOBYTE(LOWORD(::GetVersion())) >= 4)
102.61 -#define IS_WIN98 (IS_WIN95 && HIBYTE(LOWORD(::GetVersion())) >= 10)
102.62 -#define IS_WINME (IS_WIN95 && HIBYTE(LOWORD(::GetVersion())) >= 90)
102.63 -#define IS_WIN4X (IS_WIN32 && LOBYTE(::GetVersion()) >= 4)
102.64 +
102.65 +/*
102.66 + * IS_WIN2000 returns TRUE on 2000, XP and Vista
102.67 + * IS_WINXP returns TRUE on XP and Vista
102.68 + * IS_WINVISTA returns TRUE on Vista
102.69 + */
102.70 +#define IS_WIN2000 (LOBYTE(LOWORD(::GetVersion())) >= 5)
102.71 +#define IS_WINXP ((IS_WIN2000 && HIBYTE(LOWORD(::GetVersion())) >= 1) || LOBYTE(LOWORD(::GetVersion())) > 5)
102.72 +#define IS_WINVISTA (LOBYTE(LOWORD(::GetVersion())) >= 6)
102.73 +
102.74 #define IS_WINVER_ATLEAST(maj, min) \
102.75 ((maj) < LOBYTE(LOWORD(::GetVersion())) || \
102.76 (maj) == LOBYTE(LOWORD(::GetVersion())) && \
102.77 @@ -177,6 +171,12 @@
102.78
102.79 extern JavaVM *jvm;
102.80
102.81 +// Platform encoding is Unicode (UTF-16), re-define JNU_ functions
102.82 +// to proper JNI functions.
102.83 +#define JNU_NewStringPlatform(env, x) env->NewString(reinterpret_cast<jchar*>(x), static_cast<jsize>(_tcslen(x)))
102.84 +#define JNU_GetStringPlatformChars(env, x, y) reinterpret_cast<LPCWSTR>(env->GetStringChars(x, y))
102.85 +#define JNU_ReleaseStringPlatformChars(env, x, y) env->ReleaseStringChars(x, reinterpret_cast<const jchar*>(y))
102.86 +
102.87 /*
102.88 * Itanium symbols needed for 64-bit compilation.
102.89 * These are defined in winuser.h in the August 2001 MSDN update.
102.90 @@ -211,17 +211,12 @@
102.91 * NOTE: float.h must be defined if using these macros
102.92 */
102.93 #define SAVE_CONTROLWORD \
102.94 - unsigned int fpu_cw = _CW_DEFAULT; \
102.95 - if (IS_WIN95) { \
102.96 - fpu_cw = _control87(0, 0); \
102.97 - }
102.98 + unsigned int fpu_cw = _control87(0, 0);
102.99
102.100 -#define RESTORE_CONTROLWORD \
102.101 - if (IS_WIN95) { \
102.102 - if ( _control87(0, 0) != fpu_cw) { \
102.103 - _control87(fpu_cw, 0xfffff); \
102.104 - } \
102.105 - }
102.106 +#define RESTORE_CONTROLWORD \
102.107 + if (_control87(0, 0) != fpu_cw) { \
102.108 + _control87(fpu_cw, 0xffffffff); \
102.109 + }
102.110
102.111 /*
102.112 * checks if the current thread is/isn't the toolkit thread
103.1 --- a/src/windows/native/sun/windows/awt_Button.cpp Tue Feb 17 09:06:16 2009 -0800
103.2 +++ b/src/windows/native/sun/windows/awt_Button.cpp Wed Feb 18 10:05:41 2009 -0800
103.3 @@ -1,5 +1,5 @@
103.4 /*
103.5 - * Copyright 1996-2007 Sun Microsystems, Inc. All Rights Reserved.
103.6 + * Copyright 1996-2008 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 @@ -23,7 +23,7 @@
103.11 * have any questions.
103.12 */
103.13
103.14 -#include <jni.h>
103.15 +#include "awt.h"
103.16
103.17 #include "awt_Object.h" /* wop_pDataID */
103.18 #include "awt_Toolkit.h"
103.19 @@ -106,7 +106,7 @@
103.20 if (label == NULL) {
103.21 labelStr = L"";
103.22 } else {
103.23 - labelStr = env->GetStringChars(label, JNI_FALSE);
103.24 + labelStr = JNU_GetStringPlatformChars(env, label, JNI_FALSE);
103.25 }
103.26 style = 0;
103.27
103.28 @@ -128,7 +128,7 @@
103.29 c->m_backgroundColorSet = TRUE; // suppress inheriting parent's color
103.30 c->UpdateBackground(env, target);
103.31 if (label != NULL)
103.32 - env->ReleaseStringChars(label, labelStr);
103.33 + JNU_ReleaseStringPlatformChars(env, label, labelStr);
103.34 } catch (...) {
103.35 env->DeleteLocalRef(target);
103.36 if (label != NULL)
104.1 --- a/src/windows/native/sun/windows/awt_Checkbox.cpp Tue Feb 17 09:06:16 2009 -0800
104.2 +++ b/src/windows/native/sun/windows/awt_Checkbox.cpp Wed Feb 18 10:05:41 2009 -0800
104.3 @@ -23,6 +23,7 @@
104.4 * have any questions.
104.5 */
104.6
104.7 +#include "awt.h"
104.8 #include "awt_Toolkit.h"
104.9 #include "awt_Checkbox.h"
104.10 #include "awt_KeyboardFocusManager.h"
104.11 @@ -106,7 +107,7 @@
104.12
104.13 label = (jstring)env->GetObjectField(target, AwtCheckbox::labelID);
104.14 if (label != NULL) {
104.15 - labelStr = env->GetStringChars(label, 0);
104.16 + labelStr = JNU_GetStringPlatformChars(env, label, 0);
104.17 }
104.18 if (labelStr != 0) {
104.19 jint x = env->GetIntField(target, AwtComponent::xID);
104.20 @@ -123,7 +124,7 @@
104.21 peer);
104.22
104.23 if (labelStr != defaultLabelStr) {
104.24 - env->ReleaseStringChars(label, labelStr);
104.25 + JNU_ReleaseStringPlatformChars(env, label, labelStr);
104.26 }
104.27 } else {
104.28 throw std::bad_alloc();
105.1 --- a/src/windows/native/sun/windows/awt_Choice.cpp Tue Feb 17 09:06:16 2009 -0800
105.2 +++ b/src/windows/native/sun/windows/awt_Choice.cpp Wed Feb 18 10:05:41 2009 -0800
105.3 @@ -1,5 +1,5 @@
105.4 /*
105.5 - * Copyright 1996-2007 Sun Microsystems, Inc. All Rights Reserved.
105.6 + * Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved.
105.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
105.8 *
105.9 * This code is free software; you can redistribute it and/or modify it
105.10 @@ -206,7 +206,7 @@
105.11 fieldHeight =(int)::SendMessage(GetHWnd(), CB_GETITEMHEIGHT, (UINT)-1, 0);
105.12 // add top and bottom border lines; border size is different for
105.13 // Win 4.x (3d edge) vs 3.x (1 pixel line)
105.14 - borderHeight = ::GetSystemMetrics(IS_WIN4X ? SM_CYEDGE : SM_CYBORDER);
105.15 + borderHeight = ::GetSystemMetrics(SM_CYEDGE);
105.16 fieldHeight += borderHeight*2;
105.17 return fieldHeight;
105.18 }
105.19 @@ -424,6 +424,9 @@
105.20 case mrPassAlong:
105.21 return AwtComponent::WmKillFocus(hWndGotFocus);
105.22 }
105.23 +
105.24 + DASSERT(false); // must never reach here
105.25 + return mrDoDefault;
105.26 }
105.27
105.28 MsgRouting
106.1 --- a/src/windows/native/sun/windows/awt_Color.cpp Tue Feb 17 09:06:16 2009 -0800
106.2 +++ b/src/windows/native/sun/windows/awt_Color.cpp Wed Feb 18 10:05:41 2009 -0800
106.3 @@ -1,5 +1,5 @@
106.4 /*
106.5 - * Copyright 1996-1999 Sun Microsystems, Inc. All Rights Reserved.
106.6 + * Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved.
106.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
106.8 *
106.9 * This code is free software; you can redistribute it and/or modify it
106.10 @@ -97,7 +97,7 @@
106.11 iColor = COLOR_MENUTEXT;
106.12 break;
106.13 case sun_awt_windows_WColor_BUTTON_BKGND:
106.14 - iColor = (IS_NT) ? COLOR_BTNFACE : COLOR_3DFACE;
106.15 + iColor = COLOR_BTNFACE;
106.16 break;
106.17 case sun_awt_windows_WColor_BUTTON_TEXT:
106.18 iColor = COLOR_BTNTEXT;
107.1 --- a/src/windows/native/sun/windows/awt_Component.cpp Tue Feb 17 09:06:16 2009 -0800
107.2 +++ b/src/windows/native/sun/windows/awt_Component.cpp Wed Feb 18 10:05:41 2009 -0800
107.3 @@ -23,7 +23,8 @@
107.4 * have any questions.
107.5 */
107.6
107.7 -#include "windows.h"
107.8 +#include "awt.h"
107.9 +
107.10 #include <windowsx.h>
107.11 #include <zmouse.h>
107.12
107.13 @@ -42,7 +43,6 @@
107.14 #include "awt_MouseEvent.h"
107.15 #include "awt_Palette.h"
107.16 #include "awt_Toolkit.h"
107.17 -#include "awt_Unicode.h"
107.18 #include "awt_Window.h"
107.19 #include "awt_Win32GraphicsDevice.h"
107.20 #include "Hashtable.h"
107.21 @@ -67,30 +67,10 @@
107.22 #include <java_awt_event_MouseWheelEvent.h>
107.23
107.24 // Begin -- Win32 SDK include files
107.25 -#include <tchar.h>
107.26 #include <imm.h>
107.27 #include <ime.h>
107.28 // End -- Win32 SDK include files
107.29
107.30 -#ifndef GET_KEYSTATE_WPARAM // defined for (_WIN32_WINNT >= 0x0400)
107.31 -#define GET_KEYSTATE_WPARAM(wParam) (LOWORD(wParam))
107.32 -#endif
107.33 -
107.34 -#ifndef GET_WHEEL_DELTA_WPARAM // defined for (_WIN32_WINNT >= 0x0500)
107.35 -#define GET_WHEEL_DELTA_WPARAM(wParam) ((short)HIWORD(wParam))
107.36 -#endif
107.37 -
107.38 -// <XXX> <!-- TEMPORARY HACK TO TEST AGAINST OLD VC INLCUDES -->
107.39 -#if !defined(__int3264)
107.40 -#define GetWindowLongPtr GetWindowLong
107.41 -#define SetWindowLongPtr SetWindowLong
107.42 -#define GWLP_USERDATA GWL_USERDATA
107.43 -#define GWLP_WNDPROC GWL_WNDPROC
107.44 -typedef __int32 LONG_PTR;
107.45 -typedef unsigned __int32 ULONG_PTR;
107.46 -#endif // __int3264
107.47 -// </XXX>
107.48 -
107.49 #include <awt_DnDDT.h>
107.50
107.51 LPCTSTR szAwtComponentClassName = TEXT("SunAwtComponent");
107.52 @@ -207,9 +187,7 @@
107.53 UINT AwtComponent::m_CodePage
107.54 = AwtComponent::LangToCodePage(m_idLang);
107.55
107.56 -BOOL AwtComponent::m_isWin95 = IS_WIN95;
107.57 -BOOL AwtComponent::m_isWin2000 = IS_WIN2000;
107.58 -BOOL AwtComponent::m_isWinNT = IS_NT;
107.59 +jint *AwtComponent::masks;
107.60
107.61 static BOOL bLeftShiftIsDown = false;
107.62 static BOOL bRightShiftIsDown = false;
107.63 @@ -544,7 +522,7 @@
107.64 jobject createError = NULL;
107.65 if (dw == ERROR_OUTOFMEMORY)
107.66 {
107.67 - jstring errorMsg = env->NewStringUTF("too many window handles");
107.68 + jstring errorMsg = JNU_NewStringPlatform(env, L"too many window handles");
107.69 createError = JNU_NewObjectByName(env, "java/lang/OutOfMemoryError",
107.70 "(Ljava/lang/String;)V",
107.71 errorMsg);
107.72 @@ -1201,6 +1179,9 @@
107.73 WIN_MSG(WM_MBUTTONDOWN)
107.74 WIN_MSG(WM_MBUTTONUP)
107.75 WIN_MSG(WM_MBUTTONDBLCLK)
107.76 + WIN_MSG(WM_XBUTTONDBLCLK)
107.77 + WIN_MSG(WM_XBUTTONDOWN)
107.78 + WIN_MSG(WM_XBUTTONUP)
107.79 WIN_MSG(WM_MOUSEWHEEL)
107.80 WIN_MSG(WM_PARENTNOTIFY)
107.81 WIN_MSG(WM_ENTERMENULOOP)
107.82 @@ -1347,17 +1328,9 @@
107.83 return (LRESULT)TRUE;
107.84 }
107.85
107.86 - UINT switchMessage;
107.87 - if (IS_WIN95 && !IS_WIN98 && message == Wheel95GetMsg()) {
107.88 - // Wheel message is generated dynamically on 95. A quick swap and
107.89 - // we're good to go.
107.90 - DTRACE_PRINTLN1("got wheel event on 95. msg is %i\n", message);
107.91 - switchMessage = WM_MOUSEWHEEL;
107.92 - }
107.93 - else {
107.94 - switchMessage = message;
107.95 - }
107.96 -
107.97 + DWORD curPos = 0;
107.98 +
107.99 + UINT switchMessage = message;
107.100 switch (switchMessage) {
107.101 case WM_AWT_GETDC:
107.102 {
107.103 @@ -1644,67 +1617,87 @@
107.104 case WM_MBUTTONDOWN:
107.105 case WM_MBUTTONDBLCLK:
107.106 case WM_MBUTTONUP:
107.107 + case WM_XBUTTONDBLCLK:
107.108 + case WM_XBUTTONDOWN:
107.109 + case WM_XBUTTONUP:
107.110 case WM_MOUSEMOVE:
107.111 case WM_MOUSEWHEEL:
107.112 case WM_AWT_MOUSEENTER:
107.113 case WM_AWT_MOUSEEXIT:
107.114 - {
107.115 - DWORD curPos = ::GetMessagePos();
107.116 + curPos = ::GetMessagePos();
107.117 POINT myPos;
107.118 myPos.x = GET_X_LPARAM(curPos);
107.119 myPos.y = GET_Y_LPARAM(curPos);
107.120 ::ScreenToClient(GetHWnd(), &myPos);
107.121 switch(switchMessage) {
107.122 case WM_AWT_MOUSEENTER:
107.123 - mr = WmMouseEnter(static_cast<UINT>(wParam), myPos.x, myPos.y); break;
107.124 + mr = WmMouseEnter(static_cast<UINT>(wParam), myPos.x, myPos.y);
107.125 + break;
107.126 case WM_LBUTTONDOWN:
107.127 case WM_LBUTTONDBLCLK:
107.128 - mr = WmMouseDown(static_cast<UINT>(wParam), myPos.x, myPos.y,
107.129 - LEFT_BUTTON); break;
107.130 - case WM_LBUTTONUP:
107.131 - mr = WmMouseUp(static_cast<UINT>(wParam), myPos.x, myPos.y,
107.132 - LEFT_BUTTON); break;
107.133 - case WM_MOUSEMOVE:
107.134 - mr = WmMouseMove(static_cast<UINT>(wParam), myPos.x, myPos.y); break;
107.135 - case WM_MBUTTONDOWN:
107.136 - case WM_MBUTTONDBLCLK:
107.137 - mr = WmMouseDown(static_cast<UINT>(wParam), myPos.x, myPos.y,
107.138 - MIDDLE_BUTTON); break;
107.139 - case WM_RBUTTONDOWN:
107.140 - case WM_RBUTTONDBLCLK:
107.141 - mr = WmMouseDown(static_cast<UINT>(wParam), myPos.x, myPos.y,
107.142 - RIGHT_BUTTON); break;
107.143 - case WM_RBUTTONUP:
107.144 - mr = WmMouseUp(static_cast<UINT>(wParam), myPos.x, myPos.y,
107.145 - RIGHT_BUTTON);
107.146 - break;
107.147 - case WM_MBUTTONUP:
107.148 - mr = WmMouseUp(static_cast<UINT>(wParam), myPos.x, myPos.y,
107.149 - MIDDLE_BUTTON);
107.150 - break;
107.151 - case WM_AWT_MOUSEEXIT:
107.152 - mr = WmMouseExit(static_cast<UINT>(wParam), myPos.x, myPos.y);
107.153 - break;
107.154 - case WM_MOUSEWHEEL:
107.155 - if (IS_WIN95 && !IS_WIN98) {
107.156 - // On 95, the wParam doesn't contain the keystate flags, just
107.157 - // the wheel rotation. The keystates are fetched in WmMouseWheel
107.158 - // using GetJavaModifiers().
107.159 - mr = WmMouseWheel(0,
107.160 - GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam),
107.161 - (int)wParam);
107.162 - return FALSE;
107.163 - }
107.164 - else {
107.165 + mr = WmMouseDown(static_cast<UINT>(wParam), myPos.x, myPos.y,
107.166 + LEFT_BUTTON);
107.167 + break;
107.168 + case WM_LBUTTONUP:
107.169 + mr = WmMouseUp(static_cast<UINT>(wParam), myPos.x, myPos.y,
107.170 + LEFT_BUTTON);
107.171 + break;
107.172 + case WM_MOUSEMOVE:
107.173 + mr = WmMouseMove(static_cast<UINT>(wParam), myPos.x, myPos.y);
107.174 + break;
107.175 + case WM_MBUTTONDOWN:
107.176 + case WM_MBUTTONDBLCLK:
107.177 + mr = WmMouseDown(static_cast<UINT>(wParam), myPos.x, myPos.y,
107.178 + MIDDLE_BUTTON);
107.179 + break;
107.180 + case WM_XBUTTONDOWN:
107.181 + case WM_XBUTTONDBLCLK:
107.182 + if (AwtToolkit::GetInstance().areExtraMouseButtonsEnabled()) {
107.183 + if (HIWORD(wParam) == 1) {
107.184 + mr = WmMouseDown(static_cast<UINT>(wParam), myPos.x, myPos.y,
107.185 + X1_BUTTON);
107.186 + }
107.187 + if (HIWORD(wParam) == 2) {
107.188 + mr = WmMouseDown(static_cast<UINT>(wParam), myPos.x, myPos.y,
107.189 + X2_BUTTON);
107.190 + }
107.191 + }
107.192 + break;
107.193 + case WM_XBUTTONUP:
107.194 + if (AwtToolkit::GetInstance().areExtraMouseButtonsEnabled()) {
107.195 + if (HIWORD(wParam) == 1) {
107.196 + mr = WmMouseUp(static_cast<UINT>(wParam), myPos.x, myPos.y,
107.197 + X1_BUTTON);
107.198 + }
107.199 + if (HIWORD(wParam) == 2) {
107.200 + mr = WmMouseUp(static_cast<UINT>(wParam), myPos.x, myPos.y,
107.201 + X2_BUTTON);
107.202 + }
107.203 + }
107.204 + break;
107.205 + case WM_RBUTTONDOWN:
107.206 + case WM_RBUTTONDBLCLK:
107.207 + mr = WmMouseDown(static_cast<UINT>(wParam), myPos.x, myPos.y,
107.208 + RIGHT_BUTTON);
107.209 + break;
107.210 + case WM_RBUTTONUP:
107.211 + mr = WmMouseUp(static_cast<UINT>(wParam), myPos.x, myPos.y,
107.212 + RIGHT_BUTTON);
107.213 + break;
107.214 + case WM_MBUTTONUP:
107.215 + mr = WmMouseUp(static_cast<UINT>(wParam), myPos.x, myPos.y,
107.216 + MIDDLE_BUTTON);
107.217 + break;
107.218 + case WM_AWT_MOUSEEXIT:
107.219 + mr = WmMouseExit(static_cast<UINT>(wParam), myPos.x, myPos.y);
107.220 + break;
107.221 + case WM_MOUSEWHEEL:
107.222 mr = WmMouseWheel(GET_KEYSTATE_WPARAM(wParam),
107.223 GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam),
107.224 GET_WHEEL_DELTA_WPARAM(wParam));
107.225 + break;
107.226 }
107.227 break;
107.228 - }
107.229 - }
107.230 - break;
107.231 -
107.232 case WM_SETCURSOR:
107.233 mr = mrDoDefault;
107.234 if (LOWORD(lParam) == HTCLIENT) {
107.235 @@ -2589,8 +2582,12 @@
107.236 lastComp = this;
107.237 lastX = x;
107.238 lastY = y;
107.239 -
107.240 - if ( (flags & ALL_MK_BUTTONS) != 0 ) {
107.241 + BOOL extraButtonsEnabled = AwtToolkit::GetInstance().areExtraMouseButtonsEnabled();
107.242 + if (((flags & (ALL_MK_BUTTONS)) != 0) ||
107.243 + (extraButtonsEnabled && (flags & (X_BUTTONS)) != 0))
107.244 +// if (( extraButtonsEnabled && ( (flags & (ALL_MK_BUTTONS | X_BUTTONS)) != 0 )) ||
107.245 +// ( !extraButtonsEnabled && (((flags & (ALL_MK_BUTTONS)) != 0 )) && ((flags & (X_BUTTONS)) == 0) ))
107.246 + {
107.247 // 6404008 : if Dragged event fired we shouldn't fire
107.248 // Clicked event: m_firstDragSent set to TRUE.
107.249 // This is a partial backout of 5039416 fix.
107.250 @@ -2649,21 +2646,10 @@
107.251 jdouble preciseWheelRotation = (jdouble) wheelRotation / (-1 * WHEEL_DELTA);
107.252
107.253 MSG msg;
107.254 -
107.255 - if (IS_WIN95 && !IS_WIN98) {
107.256 - // 95 doesn't understand the SPI_GETWHEELSCROLLLINES - get the user
107.257 - // preference by other means
107.258 - DTRACE_PRINTLN("WmMouseWheel: using 95 branch");
107.259 - platformLines = Wheel95GetScrLines();
107.260 - result = true;
107.261 - InitMessage(&msg, lastMessage, wheelRotation, MAKELPARAM(x, y));
107.262 - }
107.263 - else {
107.264 - result = ::SystemParametersInfo(SPI_GETWHEELSCROLLLINES, 0,
107.265 - &platformLines, 0);
107.266 - InitMessage(&msg, lastMessage, MAKEWPARAM(flags, wheelRotation),
107.267 - MAKELPARAM(x, y));
107.268 - }
107.269 + result = ::SystemParametersInfo(SPI_GETWHEELSCROLLLINES, 0,
107.270 + &platformLines, 0);
107.271 + InitMessage(&msg, lastMessage, MAKEWPARAM(flags, wheelRotation),
107.272 + MAKELPARAM(x, y));
107.273
107.274 if (result) {
107.275 if (platformLines == WHEEL_PAGESCROLL) {
107.276 @@ -2743,156 +2729,21 @@
107.277 "AwtComponent::GetShiftKeyLocation vkey = %d = 0x%x scan = %d",
107.278 vkey, vkey, keyScanCode);
107.279
107.280 - if (m_isWinNT) {
107.281 - leftShiftScancode = ::MapVirtualKey(VK_LSHIFT, 0);
107.282 - rightShiftScancode = ::MapVirtualKey(VK_RSHIFT, 0);
107.283 -
107.284 - if (keyScanCode == leftShiftScancode) {
107.285 - return java_awt_event_KeyEvent_KEY_LOCATION_LEFT;
107.286 - }
107.287 - if (keyScanCode == rightShiftScancode) {
107.288 - return java_awt_event_KeyEvent_KEY_LOCATION_RIGHT;
107.289 - }
107.290 -
107.291 - DASSERT(false);
107.292 - // Note: the above should not fail on NT (or 2000),
107.293 - // but just in case it does, try the more complicated method
107.294 - // we use for Win9x below.
107.295 - }
107.296 -
107.297 - // "Transition" bit = 0 if keyPressed, 1 if keyReleased
107.298 - BOOL released = ((1<<15) & flags);
107.299 -
107.300 - DTRACE_PRINTLN2(
107.301 - "AwtComponent::GetShiftKeyLocation bLeftShiftIsDown = %d bRightShiftIsDown == %d",
107.302 - bLeftShiftIsDown, bRightShiftIsDown);
107.303 - DTRACE_PRINTLN2(
107.304 - "AwtComponent::GetShiftKeyLocation lastShiftKeyPressed = %d released = %d",
107.305 - lastShiftKeyPressed, released);
107.306 -
107.307 - jint keyLocation = java_awt_event_KeyEvent_KEY_LOCATION_UNKNOWN;
107.308 -
107.309 - // It is possible for somebody to hold down one or both
107.310 - // Shift keys, causing repeat key events. We need to
107.311 - // handle all the cases.
107.312 - //
107.313 - // Just a side-note: if two or more keys are being held down,
107.314 - // and then one key is released, whether more key presses are
107.315 - // generated for the keys that are still held down depends on
107.316 - // which keys they are, and whether you released the right or
107.317 - // the left shift/ctrl/etc. key first. This also differs
107.318 - // between Win9x and NT. Just plain screwy.
107.319 - //
107.320 - // Note: on my PC, the repeat count is always 1. Yup, we need
107.321 - // 16 bits to handle that, all right.
107.322 -
107.323 - // Handle the case where only one of the Shift keys
107.324 - // was down before this event took place
107.325 - if (bLeftShiftIsDown && !bRightShiftIsDown) {
107.326 - if (released) {
107.327 - // This is a left Shift release
107.328 - keyLocation = java_awt_event_KeyEvent_KEY_LOCATION_LEFT;
107.329 - } else {
107.330 - // This is a right Shift press
107.331 - keyLocation = java_awt_event_KeyEvent_KEY_LOCATION_RIGHT;
107.332 - }
107.333 - } else if (!bLeftShiftIsDown && bRightShiftIsDown) {
107.334 - if (released) {
107.335 - // This is a right Shift release
107.336 - keyLocation = java_awt_event_KeyEvent_KEY_LOCATION_RIGHT;
107.337 - } else {
107.338 - // This is a left Shift press
107.339 - keyLocation = java_awt_event_KeyEvent_KEY_LOCATION_LEFT;
107.340 - }
107.341 - }
107.342 -
107.343 - // Handle the case where neither of the Shift keys
107.344 - // were down before this event took place
107.345 - if (!bLeftShiftIsDown && !bRightShiftIsDown) {
107.346 - DASSERT(!released);
107.347 - if (HIBYTE(::GetKeyState(VK_LSHIFT)) != 0) {
107.348 - // This is a left Shift press
107.349 - keyLocation = java_awt_event_KeyEvent_KEY_LOCATION_LEFT;
107.350 - } else if (HIBYTE(::GetKeyState(VK_RSHIFT)) != 0) {
107.351 - // This is a right Shift press
107.352 - keyLocation = java_awt_event_KeyEvent_KEY_LOCATION_RIGHT;
107.353 - } else {
107.354 - DASSERT(false);
107.355 - }
107.356 - }
107.357 -
107.358 - // Handle the case where both Shift keys were down before
107.359 - // this event took place
107.360 - if (bLeftShiftIsDown && bRightShiftIsDown) {
107.361 - // If this is a key release event, we can just check to see
107.362 - // what the keyboard state is after the event
107.363 - if (released) {
107.364 - if (HIBYTE(::GetKeyState(VK_RSHIFT)) == 0) {
107.365 - // This is a right Shift release
107.366 - keyLocation = java_awt_event_KeyEvent_KEY_LOCATION_RIGHT;
107.367 - } else if (HIBYTE(::GetKeyState(VK_LSHIFT)) == 0) {
107.368 - // This is a left Shift release
107.369 - keyLocation = java_awt_event_KeyEvent_KEY_LOCATION_LEFT;
107.370 - } else {
107.371 - DASSERT(false);
107.372 - }
107.373 - } else {
107.374 - // If this is a key press event, and both Shift keys were
107.375 - // already down, this is going to be a repeat of the last
107.376 - // Shift press
107.377 - if (lastShiftKeyPressed == VK_LSHIFT) {
107.378 - keyLocation = java_awt_event_KeyEvent_KEY_LOCATION_LEFT;
107.379 - } else if (lastShiftKeyPressed == VK_RSHIFT) {
107.380 - keyLocation = java_awt_event_KeyEvent_KEY_LOCATION_RIGHT;
107.381 - } else {
107.382 - DASSERT(false);
107.383 - }
107.384 - }
107.385 - }
107.386 -
107.387 - if (keyLocation == java_awt_event_KeyEvent_KEY_LOCATION_UNKNOWN) {
107.388 - // Nothing we tried above worked for some reason. Sigh.
107.389 - // Make a last-ditch effort to guess what happened:
107.390 - // guess that the Shift scancodes are usually the same
107.391 - // from system to system, even though this isn't guaranteed.
107.392 - DTRACE_PRINTLN("Last-ditch effort at guessing Shift keyLocation");
107.393 -
107.394 - // Tested on a couple of Windows keyboards: these are standard values
107.395 - leftShiftScancode = 42;
107.396 - rightShiftScancode = 54;
107.397 -
107.398 - if (keyScanCode == leftShiftScancode) {
107.399 - keyLocation = java_awt_event_KeyEvent_KEY_LOCATION_LEFT;
107.400 - } else if (keyScanCode == rightShiftScancode) {
107.401 - keyLocation = java_awt_event_KeyEvent_KEY_LOCATION_RIGHT;
107.402 - }
107.403 - }
107.404 -
107.405 - // Set the Shift flags with the new key state.
107.406 - bLeftShiftIsDown = (HIBYTE(::GetKeyState(VK_LSHIFT)) != 0);
107.407 - bRightShiftIsDown = (HIBYTE(::GetKeyState(VK_RSHIFT)) != 0);
107.408 -
107.409 - // Update lastShiftKeyPressed
107.410 - if (released) {
107.411 - // At most one shift key is down now, so just check which one
107.412 - if (bLeftShiftIsDown) {
107.413 - lastShiftKeyPressed = VK_LSHIFT;
107.414 - DASSERT(!bRightShiftIsDown);
107.415 - } else if (bRightShiftIsDown) {
107.416 - lastShiftKeyPressed = VK_RSHIFT;
107.417 - } else {
107.418 - lastShiftKeyPressed = 0;
107.419 - }
107.420 - } else {
107.421 - // It was a press, so at least one shift key is down now
107.422 - if (keyLocation == java_awt_event_KeyEvent_KEY_LOCATION_LEFT) {
107.423 - lastShiftKeyPressed = VK_LSHIFT;
107.424 - } else if (keyLocation == java_awt_event_KeyEvent_KEY_LOCATION_RIGHT) {
107.425 - lastShiftKeyPressed = VK_RSHIFT;
107.426 - }
107.427 - }
107.428 -
107.429 - return keyLocation;
107.430 + leftShiftScancode = ::MapVirtualKey(VK_LSHIFT, 0);
107.431 + rightShiftScancode = ::MapVirtualKey(VK_RSHIFT, 0);
107.432 +
107.433 + if (keyScanCode == leftShiftScancode) {
107.434 + return java_awt_event_KeyEvent_KEY_LOCATION_LEFT;
107.435 + }
107.436 + if (keyScanCode == rightShiftScancode) {
107.437 + return java_awt_event_KeyEvent_KEY_LOCATION_RIGHT;
107.438 + }
107.439 +
107.440 + DASSERT(false);
107.441 + // Note: the above should not fail on NT (or 2000)
107.442 +
107.443 + // default value
107.444 + return java_awt_event_KeyEvent_KEY_LOCATION_LEFT;
107.445 }
107.446
107.447 /* Returns Java extended InputEvent modifieres.
107.448 @@ -2914,7 +2765,7 @@
107.449 modifiers |= java_awt_event_InputEvent_ALT_DOWN_MASK;
107.450 }
107.451 if (HIBYTE(::GetKeyState(VK_MBUTTON)) != 0) {
107.452 - modifiers |= java_awt_event_InputEvent_BUTTON2_DOWN_MASK;
107.453 + modifiers |= java_awt_event_InputEvent_BUTTON2_DOWN_MASK;
107.454 }
107.455 if (HIBYTE(::GetKeyState(VK_RBUTTON)) != 0) {
107.456 modifiers |= java_awt_event_InputEvent_BUTTON3_DOWN_MASK;
107.457 @@ -2922,6 +2773,13 @@
107.458 if (HIBYTE(::GetKeyState(VK_LBUTTON)) != 0) {
107.459 modifiers |= java_awt_event_InputEvent_BUTTON1_DOWN_MASK;
107.460 }
107.461 +
107.462 + if (HIBYTE(::GetKeyState(VK_XBUTTON1)) != 0) {
107.463 + modifiers |= masks[3];
107.464 + }
107.465 + if (HIBYTE(::GetKeyState(VK_XBUTTON2)) != 0) {
107.466 + modifiers |= masks[4];
107.467 + }
107.468 return modifiers;
107.469 }
107.470
107.471 @@ -2936,6 +2794,11 @@
107.472 return java_awt_event_MouseEvent_BUTTON2;
107.473 case RIGHT_BUTTON:
107.474 return java_awt_event_MouseEvent_BUTTON3;
107.475 + case X1_BUTTON: //16 :
107.476 + //just assign 4 and 5 numbers because MouseEvent class doesn't contain const identifier for them now
107.477 + return 4;
107.478 + case X2_BUTTON: //32
107.479 + return 5;
107.480 }
107.481 return java_awt_event_MouseEvent_NOBUTTON;
107.482 }
107.483 @@ -2950,6 +2813,10 @@
107.484 return MK_MBUTTON;
107.485 case RIGHT_BUTTON:
107.486 return MK_RBUTTON;
107.487 + case X1_BUTTON:
107.488 + return MK_XBUTTON1;
107.489 + case X2_BUTTON:
107.490 + return MK_XBUTTON2;
107.491 }
107.492 return 0;
107.493 }
107.494 @@ -2967,6 +2834,14 @@
107.495 #define VK_NONCONVERT 0x1D
107.496 #endif
107.497
107.498 +#ifndef VK_XBUTTON1
107.499 +#define VK_XBUTTON1 0x05
107.500 +#endif
107.501 +
107.502 +#ifndef VK_XBUTTON2
107.503 +#define VK_XBUTTON2 0x06
107.504 +#endif
107.505 +
107.506 typedef struct {
107.507 UINT javaKey;
107.508 UINT windowsKey;
107.509 @@ -3786,22 +3661,6 @@
107.510 // via WM_AWT_FORWARD_BYTE, but the Edit classes don't seem to
107.511 // like that.
107.512
107.513 - // Begin pollution
107.514 - if (!m_isWinNT && IsDBCSLeadByteEx(GetCodePage(), BYTE(character))) {
107.515 - if (GetDBCSEditHandle() != NULL) {
107.516 - return mrDoDefault;
107.517 - } else {
107.518 - // Kludge: Some Chinese IMEs, e.g. QuanPin, sends two WM_CHAR
107.519 - // messages for some punctuations (e.g. full stop) without sending
107.520 - // WM_IME_CHAR message beforehand.
107.521 - if (m_PendingLeadByte == 0) {
107.522 - m_PendingLeadByte = character;
107.523 - return mrConsume;
107.524 - }
107.525 - }
107.526 - }
107.527 - // End pollution
107.528 -
107.529 // We will simply create Java events here.
107.530 UINT message = system ? WM_SYSCHAR : WM_CHAR;
107.531
107.532 @@ -3861,43 +3720,8 @@
107.533 MsgRouting AwtComponent::WmForwardChar(WCHAR character, LPARAM lParam,
107.534 BOOL synthetic)
107.535 {
107.536 - if (m_isWinNT) {
107.537 - // just post WM_CHAR with unicode key value
107.538 - DefWindowProc(WM_CHAR, (WPARAM)character, lParam);
107.539 - return mrConsume;
107.540 - }
107.541 -
107.542 - // This message is sent from the Java key event handler.
107.543 - CHAR mbChar[2] = {'\0', '\0'};
107.544 -
107.545 - int cBytes = ::WideCharToMultiByte(GetCodePage(), 0, &character, 1, mbChar, 2, NULL, NULL);
107.546 - if (cBytes!=1 && cBytes!=2) return mrConsume;
107.547 -
107.548 - HWND hDBCSEditHandle = GetDBCSEditHandle();
107.549 -
107.550 - if (hDBCSEditHandle != NULL && cBytes==2)
107.551 - {
107.552 - // The first WM_CHAR message will get handled by the WmChar, but
107.553 - // the second WM_CHAR message will get picked off by the Edit class.
107.554 - // WmChar will never see it.
107.555 - // If an Edit class gets a lead byte, it immediately calls PeekMessage
107.556 - // and pulls the trail byte out of the message queue.
107.557 - ::PostMessage(hDBCSEditHandle, WM_CHAR, mbChar[0] & 0x00ff, lParam);
107.558 - ::PostMessage(hDBCSEditHandle, WM_CHAR, mbChar[1] & 0x00ff, lParam);
107.559 - }
107.560 - else
107.561 - {
107.562 - MSG* pMsg;
107.563 - pMsg = CreateMessage(WM_CHAR, mbChar[0] & 0x00ff, lParam);
107.564 - ::PostMessage(GetHWnd(), WM_AWT_FORWARD_BYTE, (WPARAM)synthetic,
107.565 - (LPARAM)pMsg);
107.566 - if (mbChar[1])
107.567 - {
107.568 - pMsg = CreateMessage(WM_CHAR, mbChar[1] & 0x00ff, lParam);
107.569 - ::PostMessage(GetHWnd(), WM_AWT_FORWARD_BYTE, (WPARAM)synthetic,
107.570 - (LPARAM)pMsg);
107.571 - }
107.572 - }
107.573 + // just post WM_CHAR with unicode key value
107.574 + DefWindowProc(WM_CHAR, (WPARAM)character, lParam);
107.575 return mrConsume;
107.576 }
107.577
107.578 @@ -3929,7 +3753,7 @@
107.579 SetCandidateWindow(iCandType, x-rc.left, y-rc.top);
107.580 }
107.581 if (m_bitsCandType != 0) {
107.582 - DefWindowProc(WM_IME_NOTIFY, IMN_OPENCANDIDATE, m_bitsCandType);
107.583 + ::DefWindowProc(GetHWnd(), WM_IME_NOTIFY, IMN_OPENCANDIDATE, m_bitsCandType);
107.584 }
107.585 }
107.586
107.587 @@ -4543,7 +4367,7 @@
107.588
107.589 // Special case for components with a sunken border. Windows does not
107.590 // print the border correctly on PCL printers, so we have to do it ourselves.
107.591 - if (IS_WIN4X && (GetStyleEx() & WS_EX_CLIENTEDGE)) {
107.592 + if (GetStyleEx() & WS_EX_CLIENTEDGE) {
107.593 RECT r;
107.594 VERIFY(::GetWindowRect(GetHWnd(), &r));
107.595 VERIFY(::OffsetRect(&r, -r.left, -r.top));
107.596 @@ -4559,7 +4383,7 @@
107.597 * We will first print the non-client area with the original offset,
107.598 * then the client area with a corrected offset.
107.599 */
107.600 - if (IS_WIN4X && (GetStyleEx() & WS_EX_CLIENTEDGE)) {
107.601 + if (GetStyleEx() & WS_EX_CLIENTEDGE) {
107.602
107.603 int nEdgeWidth = ::GetSystemMetrics(SM_CXEDGE);
107.604 int nEdgeHeight = ::GetSystemMetrics(SM_CYEDGE);
107.605 @@ -5305,7 +5129,12 @@
107.606 if (modifiers & java_awt_event_InputEvent_BUTTON3_DOWN_MASK) {
107.607 wLow |= MK_MBUTTON;
107.608 }
107.609 -
107.610 + if (modifiers & X1_BUTTON) {
107.611 + wLow |= GetButtonMK(X1_BUTTON);
107.612 + }
107.613 + if (modifiers & X2_BUTTON) {
107.614 + wLow |= GetButtonMK(X2_BUTTON);
107.615 + }
107.616
107.617 wheelAmt = (jint)JNU_CallMethodByName(env,
107.618 NULL,
107.619 @@ -5319,18 +5148,8 @@
107.620 // convert Java wheel amount value to Win32
107.621 wheelAmt *= -1 * WHEEL_DELTA;
107.622
107.623 - if (IS_WIN95 && !IS_WIN98) {
107.624 - // 95 doesn't understand WM_MOUSEWHEEL, so plug in value of
107.625 - // mouse wheel event on 95
107.626 - DTRACE_PRINTLN("awt_C::synthmm - 95 case");
107.627 - DASSERT(Wheel95GetMsg() != NULL);
107.628 - message = Wheel95GetMsg();
107.629 - wParam = wheelAmt;
107.630 - }
107.631 - else {
107.632 - message = WM_MOUSEWHEEL;
107.633 - wParam = MAKEWPARAM(wLow, wheelAmt);
107.634 - }
107.635 + message = WM_MOUSEWHEEL;
107.636 + wParam = MAKEWPARAM(wLow, wheelAmt);
107.637
107.638 break;
107.639 default:
107.640 @@ -5445,45 +5264,6 @@
107.641 VerifyState();
107.642 }
107.643
107.644 -/* Initialization of MouseWheel support on Windows 95 */
107.645 -void AwtComponent::Wheel95Init() {
107.646 - DASSERT(IS_WIN95 && !IS_WIN98);
107.647 -
107.648 - HWND mwHWND = NULL;
107.649 - UINT wheelMSG = WM_NULL;
107.650 - UINT suppMSG = WM_NULL;
107.651 - UINT linesMSG = WM_NULL;
107.652 - BOOL wheelActive;
107.653 - INT lines;
107.654 -
107.655 - mwHWND = HwndMSWheel(&wheelMSG, &suppMSG, &linesMSG, &wheelActive, &lines);
107.656 - if (mwHWND != WM_NULL) {
107.657 - sm_95WheelMessage = wheelMSG;
107.658 - sm_95WheelSupport = suppMSG;
107.659 - }
107.660 -}
107.661 -
107.662 -/* Win95 only
107.663 - * Return the user's preferred number of lines of test to scroll when the
107.664 - * mouse wheel is rotated.
107.665 - */
107.666 -UINT AwtComponent::Wheel95GetScrLines() {
107.667 - DASSERT(IS_WIN95 && !IS_WIN98);
107.668 - DASSERT(sm_95WheelSupport != NULL);
107.669 -
107.670 - HWND mwHWND = NULL;
107.671 - UINT linesMSG = WM_NULL;
107.672 - INT numLines = 3;
107.673 -
107.674 - linesMSG = RegisterWindowMessage(MSH_SCROLL_LINES);
107.675 - mwHWND = FindWindow(MSH_WHEELMODULE_CLASS, MSH_WHEELMODULE_TITLE);
107.676 -
107.677 - if (mwHWND && linesMSG) {
107.678 - numLines = (INT)::SendMessage(mwHWND, linesMSG, 0, 0);
107.679 - }
107.680 - return numLines;
107.681 -}
107.682 -
107.683 /*
107.684 * associate an AwtDropTarget with this AwtComponent
107.685 */
107.686 @@ -5983,7 +5763,7 @@
107.687 {
107.688 AwtFont *awtFont = (AwtFont *)env->GetLongField(font, AwtFont::pDataID);
107.689 if (awtFont == NULL) {
107.690 - /*arguments of AwtFont::Create are changed for multifont component */
107.691 + /*arguments of AwtFont::Create are changed for multifont component */
107.692 awtFont = AwtFont::Create(env, font);
107.693 }
107.694 env->SetLongField(font, AwtFont::pDataID, (jlong)awtFont);
107.695 @@ -6334,30 +6114,36 @@
107.696 c = (AwtComponent *)pData;
107.697 if (::IsWindow(c->GetHWnd()))
107.698 {
107.699 - RGNDATA *pRgnData = NULL;
107.700 - RGNDATAHEADER *pRgnHdr;
107.701 -
107.702 - /* reserving memory for the worst case */
107.703 - size_t worstBufferSize = size_t(((x2 - x1) / 2 + 1) * (y2 - y1));
107.704 - pRgnData = (RGNDATA *) safe_Malloc(sizeof(RGNDATAHEADER) +
107.705 - sizeof(RECT_T) * worstBufferSize);
107.706 - pRgnHdr = (RGNDATAHEADER *) pRgnData;
107.707 -
107.708 - pRgnHdr->dwSize = sizeof(RGNDATAHEADER);
107.709 - pRgnHdr->iType = RDH_RECTANGLES;
107.710 - pRgnHdr->nRgnSize = 0;
107.711 - pRgnHdr->rcBound.top = 0;
107.712 - pRgnHdr->rcBound.left = 0;
107.713 - pRgnHdr->rcBound.bottom = LONG(y2 - y1);
107.714 - pRgnHdr->rcBound.right = LONG(x2 - x1);
107.715 -
107.716 - RECT_T * pRect = (RECT_T *) (((BYTE *) pRgnData) + sizeof(RGNDATAHEADER));
107.717 - pRgnHdr->nCount = RegionToYXBandedRectangles(env, x1, y1, x2, y2, region, &pRect, worstBufferSize);
107.718 -
107.719 - HRGN hRgn = ::ExtCreateRegion(NULL,
107.720 - sizeof(RGNDATAHEADER) + sizeof(RECT_T) * pRgnHdr->nCount, pRgnData);
107.721 -
107.722 - free(pRgnData);
107.723 + HRGN hRgn = NULL;
107.724 +
107.725 + if (region || x1 || x2 || y1 || y2) {
107.726 + // If all the params are zeros, the shape must be simply reset.
107.727 + // Otherwise, convert it into a region.
107.728 + RGNDATA *pRgnData = NULL;
107.729 + RGNDATAHEADER *pRgnHdr;
107.730 +
107.731 + /* reserving memory for the worst case */
107.732 + size_t worstBufferSize = size_t(((x2 - x1) / 2 + 1) * (y2 - y1));
107.733 + pRgnData = (RGNDATA *) safe_Malloc(sizeof(RGNDATAHEADER) +
107.734 + sizeof(RECT_T) * worstBufferSize);
107.735 + pRgnHdr = (RGNDATAHEADER *) pRgnData;
107.736 +
107.737 + pRgnHdr->dwSize = sizeof(RGNDATAHEADER);
107.738 + pRgnHdr->iType = RDH_RECTANGLES;
107.739 + pRgnHdr->nRgnSize = 0;
107.740 + pRgnHdr->rcBound.top = 0;
107.741 + pRgnHdr->rcBound.left = 0;
107.742 + pRgnHdr->rcBound.bottom = LONG(y2 - y1);
107.743 + pRgnHdr->rcBound.right = LONG(x2 - x1);
107.744 +
107.745 + RECT_T * pRect = (RECT_T *) (((BYTE *) pRgnData) + sizeof(RGNDATAHEADER));
107.746 + pRgnHdr->nCount = RegionToYXBandedRectangles(env, x1, y1, x2, y2, region, &pRect, worstBufferSize);
107.747 +
107.748 + hRgn = ::ExtCreateRegion(NULL,
107.749 + sizeof(RGNDATAHEADER) + sizeof(RECT_T) * pRgnHdr->nCount, pRgnData);
107.750 +
107.751 + free(pRgnData);
107.752 + }
107.753
107.754 ::SetWindowRgn(c->GetHWnd(), hRgn, TRUE);
107.755 }
107.756 @@ -6451,6 +6237,18 @@
107.757 Java_java_awt_Component_initIDs(JNIEnv *env, jclass cls)
107.758 {
107.759 TRY;
107.760 + jclass inputEventClazz = env->FindClass("java/awt/event/InputEvent");
107.761 + jmethodID getButtonDownMasksID = env->GetStaticMethodID(inputEventClazz, "getButtonDownMasks", "()[I");
107.762 + jintArray obj = (jintArray)env->CallStaticObjectMethod(inputEventClazz, getButtonDownMasksID);
107.763 + jint * tmp = env->GetIntArrayElements(obj, JNI_FALSE);
107.764 +
107.765 + jsize len = env->GetArrayLength(obj);
107.766 + AwtComponent::masks = new jint[len];
107.767 + for (int i = 0; i < len; i++) {
107.768 + AwtComponent::masks[i] = tmp[i];
107.769 + }
107.770 + env->ReleaseIntArrayElements(obj, tmp, 0);
107.771 + env->DeleteLocalRef(obj);
107.772
107.773 /* class ids */
107.774 jclass peerCls = env->FindClass("sun/awt/windows/WComponentPeer");
107.775 @@ -7025,20 +6823,6 @@
107.776 CATCH_BAD_ALLOC_RET(NULL);
107.777 }
107.778
107.779 -/*
107.780 - * Class: sun_awt_windows_WComponentPeer
107.781 - * Method: wheelInit
107.782 - * Signature: ()V
107.783 - */
107.784 -JNIEXPORT void JNICALL
107.785 -Java_sun_awt_windows_WComponentPeer_wheelInit(JNIEnv *env, jclass cls)
107.786 -{
107.787 - // Only necessary on Win95
107.788 - if (IS_WIN95 && !IS_WIN98) {
107.789 - AwtComponent::Wheel95Init();
107.790 - }
107.791 -}
107.792 -
107.793 JNIEXPORT jboolean JNICALL
107.794 Java_sun_awt_windows_WComponentPeer_processSynchronousLightweightTransfer(JNIEnv *env, jclass cls,
107.795 jobject heavyweight,
107.796 @@ -7217,7 +7001,9 @@
107.797 "getName",
107.798 "()Ljava/lang/String;").l;
107.799 DASSERT(!safe_ExceptionOccurred(env));
107.800 - printf("\t%S\n", TO_WSTRING(targetStr));
107.801 + LPCWSTR targetStrW = JNU_GetStringPlatformChars(env, targetStr, NULL);
107.802 + printf("\t%S\n", targetStrW);
107.803 + JNU_ReleaseStringPlatformChars(env, targetStr, targetStrW);
107.804 }
107.805 printf("\twas: [%d,%d,%dx%d]\n", x, y, width, height);
107.806 if (!fSizeValid) {
108.1 --- a/src/windows/native/sun/windows/awt_Component.h Tue Feb 17 09:06:16 2009 -0800
108.2 +++ b/src/windows/native/sun/windows/awt_Component.h Wed Feb 18 10:05:41 2009 -0800
108.3 @@ -53,6 +53,22 @@
108.4 #define MIDDLE_BUTTON 2
108.5 #define RIGHT_BUTTON 4
108.6 #define DBL_CLICK 8
108.7 +#define X1_BUTTON 16
108.8 +#define X2_BUTTON 32
108.9 +
108.10 +#ifndef MK_XBUTTON1
108.11 +#define MK_XBUTTON1 0x0020
108.12 +#endif
108.13 +
108.14 +#ifndef MK_XBUTTON2
108.15 +#define MK_XBUTTON2 0x0040
108.16 +#endif
108.17 +
108.18 +// combination of standard mouse button flags
108.19 +const int ALL_MK_BUTTONS = MK_LBUTTON|MK_MBUTTON|MK_RBUTTON;
108.20 +const int X_BUTTONS = MK_XBUTTON1|MK_XBUTTON2;
108.21 +
108.22 +
108.23
108.24 // Whether to check for embedded frame and adjust location
108.25 #define CHECK_EMBEDDED 0
108.26 @@ -81,11 +97,6 @@
108.27
108.28 class AwtComponent : public AwtObject {
108.29 public:
108.30 - enum {
108.31 - // combination of all mouse button flags
108.32 - ALL_MK_BUTTONS = MK_LBUTTON|MK_MBUTTON|MK_RBUTTON
108.33 - };
108.34 -
108.35 /* java.awt.Component fields and method IDs */
108.36 static jfieldID peerID;
108.37 static jfieldID xID;
108.38 @@ -112,6 +123,7 @@
108.39 static jmethodID replaceSurfaceDataLaterMID;
108.40
108.41 static const UINT WmAwtIsComponent;
108.42 + static jint * masks; //InputEvent mask array
108.43 AwtComponent();
108.44 virtual ~AwtComponent();
108.45
108.46 @@ -675,10 +687,6 @@
108.47 static HWND sm_focusOwner;
108.48 static HWND sm_focusedWindow;
108.49
108.50 - static BOOL m_isWin95;
108.51 - static BOOL m_isWin2000;
108.52 - static BOOL m_isWinNT;
108.53 -
108.54 static BOOL sm_bMenuLoop;
108.55 static INLINE BOOL isMenuLoopActive() {
108.56 return sm_bMenuLoop;
109.1 --- a/src/windows/native/sun/windows/awt_Cursor.cpp Tue Feb 17 09:06:16 2009 -0800
109.2 +++ b/src/windows/native/sun/windows/awt_Cursor.cpp Wed Feb 18 10:05:41 2009 -0800
109.3 @@ -1,5 +1,5 @@
109.4 /*
109.5 - * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved.
109.6 + * Copyright 1997-2008 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 @@ -79,10 +79,6 @@
109.11
109.12 custom = TRUE;
109.13 dirty = FALSE;
109.14 -
109.15 - if (IsWin95Cursor()) {
109.16 - customCursors.Add(this);
109.17 - }
109.18 }
109.19
109.20 AwtCursor::~AwtCursor()
109.21 @@ -96,9 +92,6 @@
109.22
109.23 if (custom) {
109.24 ::DestroyIcon(hCursor);
109.25 - if (IsWin95Cursor()) {
109.26 - customCursors.Remove(this);
109.27 - }
109.28 }
109.29
109.30 JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
109.31 @@ -256,16 +249,6 @@
109.32 env->DeleteLocalRef(jcomp);
109.33 }
109.34
109.35 -void AwtCursor::DirtyAllCustomCursors() {
109.36 - if (IsWin95Cursor()) {
109.37 - AwtObjectListItem *cur = customCursors.m_head;
109.38 - while (cur != NULL) {
109.39 - ((AwtCursor *)(cur->obj))->dirty = TRUE;
109.40 - cur = cur->next;
109.41 - }
109.42 - }
109.43 -}
109.44 -
109.45 void AwtCursor::Rebuild() {
109.46 if (!dirty) {
109.47 return;
109.48 @@ -294,23 +277,6 @@
109.49 dirty = FALSE;
109.50 }
109.51
109.52 -/* Bug fix for 4205805:
109.53 - Custom cursor on WIN95 needs more effort, the same API works fine on NT
109.54 - and WIN98. On Win95, DDB has to be passed in when calling createIconIndirect
109.55 - Since DDB depends on the DISPLAY, we have to rebuild all the custom cursors
109.56 - when user changes the display settings.
109.57 -*/
109.58 -BOOL AwtCursor::IsWin95Cursor() {
109.59 - static BOOL val;
109.60 - static BOOL known = FALSE;
109.61 - if (!known) {
109.62 - val = (IS_WIN32 && !IS_NT && LOBYTE(LOWORD(::GetVersion())) == 4 &&
109.63 - HIBYTE(LOWORD(::GetVersion())) == 0);
109.64 - known = TRUE;
109.65 - }
109.66 - return val;
109.67 -}
109.68 -
109.69 extern "C" {
109.70
109.71 /************************************************************************
110.1 --- a/src/windows/native/sun/windows/awt_Cursor.h Tue Feb 17 09:06:16 2009 -0800
110.2 +++ b/src/windows/native/sun/windows/awt_Cursor.h Wed Feb 18 10:05:41 2009 -0800
110.3 @@ -1,5 +1,5 @@
110.4 /*
110.5 - * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved.
110.6 + * Copyright 1997-2008 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 @@ -66,7 +66,6 @@
110.11 }
110.12 static AwtCursor * CreateSystemCursor(jobject jCursor);
110.13 static void UpdateCursor(AwtComponent *comp);
110.14 - static void DirtyAllCustomCursors();
110.15 static HCURSOR GetCursor(JNIEnv *env, AwtComponent *comp);
110.16
110.17 static void setPData(jobject cursor, jlong pdata) {
110.18 @@ -76,7 +75,6 @@
110.19
110.20 private:
110.21 void Rebuild();
110.22 - static BOOL IsWin95Cursor();
110.23
110.24 HCURSOR hCursor;
110.25 jweak jCursor;
111.1 --- a/src/windows/native/sun/windows/awt_DataTransferer.cpp Tue Feb 17 09:06:16 2009 -0800
111.2 +++ b/src/windows/native/sun/windows/awt_DataTransferer.cpp Wed Feb 18 10:05:41 2009 -0800
111.3 @@ -1,5 +1,5 @@
111.4 /*
111.5 - * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
111.6 + * Copyright 2000-2008 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 @@ -24,12 +24,11 @@
111.11 */
111.12
111.13 #include "awt.h"
111.14 -#include "awt_dlls.h"
111.15 #include "awt_DataTransferer.h"
111.16 #include "awt_DnDDT.h"
111.17 #include "awt_TextComponent.h"
111.18 -#include "awt_Unicode.h"
111.19 #include <shlobj.h>
111.20 +#include <shellapi.h>
111.21 #include <sun_awt_datatransfer_DataTransferer.h>
111.22 #include <sun_awt_windows_WDataTransferer.h>
111.23
111.24 @@ -271,9 +270,7 @@
111.25
111.26 hdrop = (HDROP)bBytes;
111.27
111.28 - load_shell_procs();
111.29 -
111.30 - UINT nFilenames = (*do_drag_query_file)(hdrop, 0xFFFFFFFF, NULL, 0);
111.31 + UINT nFilenames = ::DragQueryFile(hdrop, 0xFFFFFFFF, NULL, 0);
111.32
111.33 jclass str_clazz = env->FindClass("java/lang/String");
111.34 DASSERT(str_clazz != NULL);
111.35 @@ -287,12 +284,12 @@
111.36 buffer = (LPTSTR)safe_Malloc(bufsize*sizeof(TCHAR));
111.37
111.38 for (UINT i = 0; i < nFilenames; i++) {
111.39 - UINT size = (*do_drag_query_file)(hdrop, i, NULL, 0);
111.40 + UINT size = ::DragQueryFile(hdrop, i, NULL, 0);
111.41 if (size > bufsize) {
111.42 bufsize = size;
111.43 buffer = (LPTSTR)safe_Realloc(buffer, bufsize*sizeof(TCHAR));
111.44 }
111.45 - (*do_drag_query_file)(hdrop, i, buffer, bufsize);
111.46 + ::DragQueryFile(hdrop, i, buffer, bufsize);
111.47
111.48 jstring name = JNU_NewStringPlatform(env, buffer);
111.49 if (name == NULL) {
111.50 @@ -401,7 +398,7 @@
111.51 case 4:
111.52 case 8:
111.53 nColorEntries = (pSrcBmih->biClrUsed != 0) ?
111.54 - pSrcBmih->biClrUsed : 1 << (pSrcBmih->biBitCount - 1);
111.55 + pSrcBmih->biClrUsed : (1 << pSrcBmih->biBitCount);
111.56 break;
111.57 case 16:
111.58 case 24:
111.59 @@ -454,11 +451,6 @@
111.60 width = p.x;
111.61 height = -p.y;
111.62
111.63 - // Win9X supports only 16-bit signed coordinates.
111.64 - if (IS_WIN95) {
111.65 - if (width > 0x7FFF) { width = 0x7FFF; }
111.66 - if (height > 0x7FFF) { height = 0x7FFF; }
111.67 - }
111.68 free(lpemh);
111.69 }
111.70 break;
112.1 --- a/src/windows/native/sun/windows/awt_Desktop.cpp Tue Feb 17 09:06:16 2009 -0800
112.2 +++ b/src/windows/native/sun/windows/awt_Desktop.cpp Wed Feb 18 10:05:41 2009 -0800
112.3 @@ -23,8 +23,8 @@
112.4 * have any questions.
112.5 */
112.6
112.7 +#include "awt.h"
112.8 #include <jni.h>
112.9 -#include <Windows.h>
112.10 #include <shellapi.h>
112.11 #include <float.h>
112.12
112.13 @@ -40,32 +40,32 @@
112.14 JNIEXPORT jstring JNICALL Java_sun_awt_windows_WDesktopPeer_ShellExecute
112.15 (JNIEnv *env, jclass cls, jstring uri_j, jstring verb_j)
112.16 {
112.17 - const WCHAR* uri_c = env->GetStringChars(uri_j, JNI_FALSE);
112.18 - const WCHAR* verb_c = env->GetStringChars(verb_j, JNI_FALSE);
112.19 + LPCWSTR uri_c = JNU_GetStringPlatformChars(env, uri_j, JNI_FALSE);
112.20 + LPCWSTR verb_c = JNU_GetStringPlatformChars(env, verb_j, JNI_FALSE);
112.21
112.22 // 6457572: ShellExecute possibly changes FPU control word - saving it here
112.23 unsigned oldcontrol87 = _control87(0, 0);
112.24 - HINSTANCE retval = ShellExecuteW(NULL, verb_c, uri_c, NULL, NULL, SW_SHOWNORMAL);
112.25 + HINSTANCE retval = ::ShellExecute(NULL, verb_c, uri_c, NULL, NULL, SW_SHOWNORMAL);
112.26 _control87(oldcontrol87, 0xffffffff);
112.27
112.28 - env->ReleaseStringChars(uri_j, uri_c);
112.29 - env->ReleaseStringChars(verb_j, verb_c);
112.30 + JNU_ReleaseStringPlatformChars(env, uri_j, uri_c);
112.31 + JNU_ReleaseStringPlatformChars(env, verb_j, verb_c);
112.32
112.33 if ((int)retval <= 32) {
112.34 // ShellExecute failed.
112.35 - LPVOID buffer;
112.36 - int len = FormatMessageW(
112.37 + LPTSTR buffer = NULL;
112.38 + int len = ::FormatMessage(
112.39 FORMAT_MESSAGE_ALLOCATE_BUFFER |
112.40 FORMAT_MESSAGE_FROM_SYSTEM |
112.41 FORMAT_MESSAGE_IGNORE_INSERTS,
112.42 NULL,
112.43 GetLastError(),
112.44 MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
112.45 - (LPWSTR) &buffer,
112.46 + (LPTSTR)&buffer,
112.47 0,
112.48 NULL );
112.49
112.50 - jstring errmsg = env->NewString((LPCWSTR)buffer, len);
112.51 + jstring errmsg = JNU_NewStringPlatform(env, buffer, len);
112.52 LocalFree(buffer);
112.53 return errmsg;
112.54 }
113.1 --- a/src/windows/native/sun/windows/awt_DesktopProperties.cpp Tue Feb 17 09:06:16 2009 -0800
113.2 +++ b/src/windows/native/sun/windows/awt_DesktopProperties.cpp Wed Feb 18 10:05:41 2009 -0800
113.3 @@ -1,5 +1,5 @@
113.4 /*
113.5 - * Copyright 1999-2006 Sun Microsystems, Inc. All Rights Reserved.
113.6 + * Copyright 1999-2008 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 @@ -23,17 +23,17 @@
113.11 * have any questions.
113.12 */
113.13
113.14 -#include "stdhdrs.h"
113.15 +#include "awt.h"
113.16 #include "mmsystem.h"
113.17 #include "jlong.h"
113.18 -#include "awt.h"
113.19 #include "awt_DesktopProperties.h"
113.20 -#include "awt_dlls.h"
113.21 +#include "awt_Toolkit.h"
113.22 #include "sun_awt_windows_WDesktopProperties.h"
113.23 #include "java_awt_Font.h"
113.24 #include "awtmsg.h"
113.25 -#include "Zmouse.h"
113.26 -#include "shellapi.h"
113.27 +#include "zmouse.h"
113.28 +#include <shellapi.h>
113.29 +#include <shlobj.h>
113.30
113.31 // WDesktopProperties fields
113.32 jfieldID AwtDesktopProperties::pDataID = 0;
113.33 @@ -44,10 +44,6 @@
113.34 jmethodID AwtDesktopProperties::setFontPropertyID = 0;
113.35 jmethodID AwtDesktopProperties::setSoundPropertyID = 0;
113.36
113.37 -typedef VOID (WINAPI *SHGetSettingsType)(LPSHELLFLAGSTATE, DWORD);
113.38 -static HMODULE libShell32 = NULL;
113.39 -static SHGetSettingsType fn_SHGetSettings;
113.40 -
113.41 AwtDesktopProperties::AwtDesktopProperties(jobject self) {
113.42 this->self = GetEnv()->NewGlobalRef(self);
113.43 GetEnv()->SetLongField( self, AwtDesktopProperties::pDataID,
113.44 @@ -431,14 +427,12 @@
113.45
113.46 void AwtDesktopProperties::GetColorParameters() {
113.47
113.48 - if (IS_WIN98 || IS_WIN2000) {
113.49 - SetColorProperty(TEXT("win.frame.activeCaptionGradientColor"),
113.50 - GetSysColor(COLOR_GRADIENTACTIVECAPTION));
113.51 - SetColorProperty(TEXT("win.frame.inactiveCaptionGradientColor"),
113.52 - GetSysColor(COLOR_GRADIENTINACTIVECAPTION));
113.53 - SetColorProperty(TEXT("win.item.hotTrackedColor"),
113.54 - GetSysColor(COLOR_HOTLIGHT));
113.55 - }
113.56 + SetColorProperty(TEXT("win.frame.activeCaptionGradientColor"),
113.57 + GetSysColor(COLOR_GRADIENTACTIVECAPTION));
113.58 + SetColorProperty(TEXT("win.frame.inactiveCaptionGradientColor"),
113.59 + GetSysColor(COLOR_GRADIENTINACTIVECAPTION));
113.60 + SetColorProperty(TEXT("win.item.hotTrackedColor"),
113.61 + GetSysColor(COLOR_HOTLIGHT));
113.62 SetColorProperty(TEXT("win.3d.darkShadowColor"), GetSysColor(COLOR_3DDKSHADOW));
113.63 SetColorProperty(TEXT("win.3d.backgroundColor"), GetSysColor(COLOR_3DFACE));
113.64 SetColorProperty(TEXT("win.3d.highlightColor"), GetSysColor(COLOR_3DHIGHLIGHT));
113.65 @@ -510,40 +504,18 @@
113.66 // This property is called "win.frame.fullWindowDragsOn" above
113.67 // This is one of the properties that don't trigger WM_SETTINGCHANGE
113.68 SetBooleanProperty(TEXT("awt.dynamicLayoutSupported"), GetBooleanParameter(SPI_GETDRAGFULLWINDOWS));
113.69 -
113.70 - // 95 MouseWheel support
113.71 - // More or less copied from the MSH_MOUSEWHEEL MSDN entry
113.72 - if (IS_WIN95 && !IS_WIN98) {
113.73 - HWND hdlMSHWHEEL = NULL;
113.74 - UINT msgMSHWheelSupported = NULL;
113.75 - BOOL wheelSupported = FALSE;
113.76 -
113.77 - msgMSHWheelSupported = RegisterWindowMessage(MSH_WHEELSUPPORT);
113.78 - hdlMSHWHEEL = FindWindow(MSH_WHEELMODULE_CLASS, MSH_WHEELMODULE_TITLE);
113.79 - if (hdlMSHWHEEL && msgMSHWheelSupported) {
113.80 - wheelSupported = (BOOL)::SendMessage(hdlMSHWHEEL,
113.81 - msgMSHWheelSupported, 0, 0);
113.82 - }
113.83 - SetBooleanProperty(TEXT("awt.wheelMousePresent"), wheelSupported);
113.84 - }
113.85 - else {
113.86 - SetBooleanProperty(TEXT("awt.wheelMousePresent"),
113.87 - ::GetSystemMetrics(SM_MOUSEWHEELPRESENT));
113.88 - }
113.89 + SetBooleanProperty(TEXT("awt.wheelMousePresent"),
113.90 + ::GetSystemMetrics(SM_MOUSEWHEELPRESENT));
113.91
113.92 // END cross-platform properties
113.93
113.94 - if (IS_WIN98 || IS_WIN2000) {
113.95 - //DWORD menuShowDelay;
113.96 - //SystemParametersInfo(SPI_GETMENUSHOWDELAY, 0, &menuShowDelay, 0);
113.97 - // SetIntegerProperty(TEXT("win.menu.showDelay"), menuShowDelay);
113.98 - SetBooleanProperty(TEXT("win.frame.captionGradientsOn"), GetBooleanParameter(SPI_GETGRADIENTCAPTIONS));
113.99 - SetBooleanProperty(TEXT("win.item.hotTrackingOn"), GetBooleanParameter(SPI_GETHOTTRACKING));
113.100 - }
113.101 + //DWORD menuShowDelay;
113.102 + //SystemParametersInfo(SPI_GETMENUSHOWDELAY, 0, &menuShowDelay, 0);
113.103 + // SetIntegerProperty(TEXT("win.menu.showDelay"), menuShowDelay);
113.104 + SetBooleanProperty(TEXT("win.frame.captionGradientsOn"), GetBooleanParameter(SPI_GETGRADIENTCAPTIONS));
113.105 + SetBooleanProperty(TEXT("win.item.hotTrackingOn"), GetBooleanParameter(SPI_GETHOTTRACKING));
113.106
113.107 - if (IS_WIN2000) {
113.108 - SetBooleanProperty(TEXT("win.menu.keyboardCuesOn"), GetBooleanParameter(SPI_GETKEYBOARDCUES));
113.109 - }
113.110 + SetBooleanProperty(TEXT("win.menu.keyboardCuesOn"), GetBooleanParameter(SPI_GETKEYBOARDCUES));
113.111
113.112 // High contrast accessibility property
113.113 HIGHCONTRAST contrast;
113.114 @@ -557,21 +529,19 @@
113.115 SetBooleanProperty(TEXT("win.highContrast.on"), FALSE);
113.116 }
113.117
113.118 - if (fn_SHGetSettings != NULL) {
113.119 - SHELLFLAGSTATE sfs;
113.120 - fn_SHGetSettings(&sfs, SSF_SHOWALLOBJECTS | SSF_SHOWATTRIBCOL);
113.121 - if (sfs.fShowAllObjects) {
113.122 - SetBooleanProperty(TEXT("awt.file.showHiddenFiles"), TRUE);
113.123 - }
113.124 - else {
113.125 - SetBooleanProperty(TEXT("awt.file.showHiddenFiles"), FALSE);
113.126 - }
113.127 - if (sfs.fShowAttribCol) {
113.128 - SetBooleanProperty(TEXT("awt.file.showAttribCol"), TRUE);
113.129 - }
113.130 - else {
113.131 - SetBooleanProperty(TEXT("awt.file.showAttribCol"), FALSE);
113.132 - }
113.133 + SHELLFLAGSTATE sfs;
113.134 + ::SHGetSettings(&sfs, SSF_SHOWALLOBJECTS | SSF_SHOWATTRIBCOL);
113.135 + if (sfs.fShowAllObjects) {
113.136 + SetBooleanProperty(TEXT("awt.file.showHiddenFiles"), TRUE);
113.137 + }
113.138 + else {
113.139 + SetBooleanProperty(TEXT("awt.file.showHiddenFiles"), FALSE);
113.140 + }
113.141 + if (sfs.fShowAttribCol) {
113.142 + SetBooleanProperty(TEXT("awt.file.showAttribCol"), TRUE);
113.143 + }
113.144 + else {
113.145 + SetBooleanProperty(TEXT("awt.file.showAttribCol"), FALSE);
113.146 }
113.147
113.148 LPTSTR value;
113.149 @@ -667,7 +637,7 @@
113.150 }
113.151
113.152 void AwtDesktopProperties::SetStringProperty(LPCTSTR propName, LPTSTR value) {
113.153 - jstring key = JNU_NewStringPlatform(GetEnv(), propName);
113.154 + jstring key = JNU_NewStringPlatform(GetEnv(), const_cast<LPTSTR>(propName));
113.155 GetEnv()->CallVoidMethod(self,
113.156 AwtDesktopProperties::setStringPropertyID,
113.157 key, JNU_NewStringPlatform(GetEnv(), value));
113.158 @@ -675,7 +645,7 @@
113.159 }
113.160
113.161 void AwtDesktopProperties::SetIntegerProperty(LPCTSTR propName, int value) {
113.162 - jstring key = JNU_NewStringPlatform(GetEnv(), propName);
113.163 + jstring key = JNU_NewStringPlatform(GetEnv(), const_cast<LPTSTR>(propName));
113.164 GetEnv()->CallVoidMethod(self,
113.165 AwtDesktopProperties::setIntegerPropertyID,
113.166 key, (jint)value);
113.167 @@ -683,7 +653,7 @@
113.168 }
113.169
113.170 void AwtDesktopProperties::SetBooleanProperty(LPCTSTR propName, BOOL value) {
113.171 - jstring key = JNU_NewStringPlatform(GetEnv(), propName);
113.172 + jstring key = JNU_NewStringPlatform(GetEnv(), const_cast<LPTSTR>(propName));
113.173 GetEnv()->CallVoidMethod(self,
113.174 AwtDesktopProperties::setBooleanPropertyID,
113.175 key, value ? JNI_TRUE : JNI_FALSE);
113.176 @@ -691,7 +661,7 @@
113.177 }
113.178
113.179 void AwtDesktopProperties::SetColorProperty(LPCTSTR propName, DWORD value) {
113.180 - jstring key = JNU_NewStringPlatform(GetEnv(), propName);
113.181 + jstring key = JNU_NewStringPlatform(GetEnv(), const_cast<LPTSTR>(propName));
113.182 GetEnv()->CallVoidMethod(self,
113.183 AwtDesktopProperties::setColorPropertyID,
113.184 key, GetRValue(value), GetGValue(value),
113.185 @@ -743,7 +713,7 @@
113.186 style |= java_awt_Font_ITALIC;
113.187 }
113.188
113.189 - jstring key = JNU_NewStringPlatform(GetEnv(), propName);
113.190 + jstring key = JNU_NewStringPlatform(GetEnv(), const_cast<LPTSTR>(propName));
113.191 GetEnv()->CallVoidMethod(self,
113.192 AwtDesktopProperties::setFontPropertyID,
113.193 key, fontName, style, pointSize);
113.194 @@ -761,7 +731,7 @@
113.195 jint pointSize;
113.196 jint style;
113.197
113.198 - fontName = JNU_NewStringPlatform(GetEnv(), font.lfFaceName);
113.199 + fontName = JNU_NewStringPlatform(GetEnv(), const_cast<LPWSTR>(font.lfFaceName));
113.200
113.201 #if 0
113.202 HDC hdc;
113.203 @@ -784,7 +754,7 @@
113.204 style |= java_awt_Font_ITALIC;
113.205 }
113.206
113.207 - jstring key = JNU_NewStringPlatform(GetEnv(), propName);
113.208 + jstring key = JNU_NewStringPlatform(GetEnv(), const_cast<LPTSTR>(propName));
113.209 GetEnv()->CallVoidMethod(self, AwtDesktopProperties::setFontPropertyID,
113.210 key, fontName, style, pointSize);
113.211
113.212 @@ -793,8 +763,8 @@
113.213 }
113.214
113.215 void AwtDesktopProperties::SetSoundProperty(LPCTSTR propName, LPCTSTR winEventName) {
113.216 - jstring key = JNU_NewStringPlatform(GetEnv(), propName);
113.217 - jstring event = JNU_NewStringPlatform(GetEnv(), winEventName);
113.218 + jstring key = JNU_NewStringPlatform(GetEnv(), const_cast<LPTSTR>(propName));
113.219 + jstring event = JNU_NewStringPlatform(GetEnv(), const_cast<LPTSTR>(winEventName));
113.220 GetEnv()->CallVoidMethod(self,
113.221 AwtDesktopProperties::setSoundPropertyID,
113.222 key, event);
113.223 @@ -805,9 +775,9 @@
113.224
113.225 void AwtDesktopProperties::PlayWindowsSound(LPCTSTR event) {
113.226 // stop any currently playing sounds
113.227 - AwtWinMM::PlaySoundWrapper(NULL, NULL, SND_PURGE);
113.228 + ::PlaySound(NULL, NULL, SND_PURGE);
113.229 // play the sound for the given event name
113.230 - AwtWinMM::PlaySoundWrapper(event, NULL, SND_ASYNC|SND_ALIAS|SND_NODEFAULT);
113.231 + ::PlaySound(event, NULL, SND_ASYNC|SND_ALIAS|SND_NODEFAULT);
113.232 }
113.233
113.234 ///////////////////////////////////////////////////////////////////////////////////////////////////
113.235 @@ -852,16 +822,6 @@
113.236 Java_sun_awt_windows_WDesktopProperties_init(JNIEnv *env, jobject self) {
113.237 TRY;
113.238
113.239 - // Open shell32.dll, get the symbol for SHGetSettings
113.240 - libShell32 = LoadLibrary(TEXT("shell32.dll"));
113.241 - if (libShell32 == NULL) {
113.242 - fn_SHGetSettings = NULL;
113.243 - }
113.244 - else {
113.245 - fn_SHGetSettings = (SHGetSettingsType)GetProcAddress(
113.246 - libShell32, "SHGetSettings");
113.247 - }
113.248 -
113.249 new AwtDesktopProperties(self);
113.250
113.251 CATCH_BAD_ALLOC;
114.1 --- a/src/windows/native/sun/windows/awt_Dialog.cpp Tue Feb 17 09:06:16 2009 -0800
114.2 +++ b/src/windows/native/sun/windows/awt_Dialog.cpp Wed Feb 18 10:05:41 2009 -0800
114.3 @@ -132,14 +132,13 @@
114.4 dialog = new AwtDialog();
114.5
114.6 {
114.7 - int colorId = IS_WIN4X ? COLOR_3DFACE : COLOR_WINDOW;
114.8 + int colorId = COLOR_3DFACE;
114.9 DWORD style = WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN;
114.10 if (hwndParent != NULL) {
114.11 style |= WS_POPUP;
114.12 }
114.13 style &= ~(WS_MINIMIZEBOX|WS_MAXIMIZEBOX);
114.14 - DWORD exStyle = IS_WIN4X ? WS_EX_WINDOWEDGE | WS_EX_DLGMODALFRAME
114.15 - : 0;
114.16 + DWORD exStyle = WS_EX_WINDOWEDGE | WS_EX_DLGMODALFRAME;
114.17
114.18 if (GetRTL()) {
114.19 exStyle |= WS_EX_RIGHT | WS_EX_LEFTSCROLLBAR;
114.20 @@ -663,7 +662,7 @@
114.21
114.22 int badAlloc = 0;
114.23 LPCTSTR coption;
114.24 - LPTSTR empty = TEXT("InputMethod");
114.25 + LPCTSTR empty = TEXT("InputMethod");
114.26 AwtDialog *d = NULL;
114.27
114.28 PDATA pData;
115.1 --- a/src/windows/native/sun/windows/awt_DnDDS.cpp Tue Feb 17 09:06:16 2009 -0800
115.2 +++ b/src/windows/native/sun/windows/awt_DnDDS.cpp Wed Feb 18 10:05:41 2009 -0800
115.3 @@ -1,5 +1,5 @@
115.4 /*
115.5 - * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved.
115.6 + * Copyright 1997-2008 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 @@ -23,6 +23,7 @@
115.11 * have any questions.
115.12 */
115.13
115.14 +#include "awt.h"
115.15 #include "jlong.h"
115.16 #include "awt_DataTransferer.h"
115.17 #include "awt_DnDDS.h"
115.18 @@ -36,8 +37,6 @@
115.19 #include "sun_awt_dnd_SunDragSourceContextPeer.h"
115.20 #include "sun_awt_windows_WDragSourceContextPeer.h"
115.21
115.22 -#include <stdio.h>
115.23 -#include <stdlib.h>
115.24 #include <memory.h>
115.25 #include <shlobj.h>
115.26
116.1 --- a/src/windows/native/sun/windows/awt_DnDDT.cpp Tue Feb 17 09:06:16 2009 -0800
116.2 +++ b/src/windows/native/sun/windows/awt_DnDDT.cpp Wed Feb 18 10:05:41 2009 -0800
116.3 @@ -1,5 +1,5 @@
116.4 /*
116.5 - * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved.
116.6 + * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved.
116.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
116.8 *
116.9 * This code is free software; you can redistribute it and/or modify it
116.10 @@ -30,11 +30,8 @@
116.11 #include "awt_Toolkit.h"
116.12 #include "java_awt_dnd_DnDConstants.h"
116.13 #include "sun_awt_windows_WDropTargetContextPeer.h"
116.14 -#include "awt_dlls.h"
116.15 #include "awt_Container.h"
116.16
116.17 -#include <stdio.h>
116.18 -#include <stdlib.h>
116.19 #include <memory.h>
116.20 #include <shellapi.h>
116.21
116.22 @@ -555,8 +552,7 @@
116.23 break;
116.24 }
116.25 case TYMED_FILE: {
116.26 - jobject local = JNU_NewStringPlatform(env, (LPCTSTR)
116.27 - stgmedium.lpszFileName);
116.28 + jobject local = JNU_NewStringPlatform(env, stgmedium.lpszFileName);
116.29 jstring fileName = (jstring)env->NewGlobalRef(local);
116.30 env->DeleteLocalRef(local);
116.31
117.1 --- a/src/windows/native/sun/windows/awt_DrawingSurface.cpp Tue Feb 17 09:06:16 2009 -0800
117.2 +++ b/src/windows/native/sun/windows/awt_DrawingSurface.cpp Wed Feb 18 10:05:41 2009 -0800
117.3 @@ -24,6 +24,8 @@
117.4 */
117.5
117.6 #define _JNI_IMPLEMENTATION_
117.7 +
117.8 +#include "awt.h"
117.9 #include "awt_DrawingSurface.h"
117.10 #include "awt_Component.h"
117.11
118.1 --- a/src/windows/native/sun/windows/awt_FileDialog.cpp Tue Feb 17 09:06:16 2009 -0800
118.2 +++ b/src/windows/native/sun/windows/awt_FileDialog.cpp Wed Feb 18 10:05:41 2009 -0800
118.3 @@ -1,5 +1,5 @@
118.4 /*
118.5 - * Copyright 1996-2007 Sun Microsystems, Inc. All Rights Reserved.
118.6 + * Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved.
118.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
118.8 *
118.9 * This code is free software; you can redistribute it and/or modify it
118.10 @@ -27,7 +27,6 @@
118.11 #include "awt_FileDialog.h"
118.12 #include "awt_Dialog.h"
118.13 #include "awt_Toolkit.h"
118.14 -#include "awt_dlls.h"
118.15 #include "ComCtl32Util.h"
118.16 #include <commdlg.h>
118.17 #include <cderr.h>
118.18 @@ -65,7 +64,7 @@
118.19 {
118.20 int length = env->GetStringLength(filterDescription);
118.21 DASSERT(length + 1 < MAX_FILTER_STRING);
118.22 - LPCTSTR tmp = (LPTSTR)JNU_GetStringPlatformChars(env, filterDescription, NULL);
118.23 + LPCTSTR tmp = JNU_GetStringPlatformChars(env, filterDescription, NULL);
118.24 _tcscpy(s_fileFilterString, tmp);
118.25 JNU_ReleaseStringPlatformChars(env, filterDescription, tmp);
118.26
118.27 @@ -156,7 +155,7 @@
118.28 LPITEMIDLIST pidl = (LPITEMIDLIST)notifyEx->pidl;
118.29 // Get the filename and directory
118.30 TCHAR szPath[MAX_PATH];
118.31 - if (!get_path_from_idlist(pidl,szPath)) {
118.32 + if (!::SHGetPathFromIDList(pidl, szPath)) {
118.33 return TRUE;
118.34 }
118.35 jstring strPath = JNU_NewStringPlatform(env, szPath);
118.36 @@ -190,7 +189,7 @@
118.37 WCHAR unicodeChar = L' ';
118.38 LPTSTR fileBuffer = NULL;
118.39 LPTSTR currentDirectory = NULL;
118.40 - AWTOPENFILENAME ofn;
118.41 + OPENFILENAME ofn;
118.42 jint mode = 0;
118.43 BOOL result = FALSE;
118.44 DWORD dlgerr;
118.45 @@ -222,7 +221,7 @@
118.46 HWND hwndOwner = awtParent ? awtParent->GetHWnd() : NULL;
118.47
118.48 if (title == NULL || env->GetStringLength(title)==0) {
118.49 - title = env->NewString(&unicodeChar, 1);
118.50 + title = JNU_NewStringPlatform(env, &unicodeChar);
118.51 }
118.52
118.53 JavaStringBuffer titleBuffer(env, title);
118.54 @@ -243,14 +242,7 @@
118.55
118.56 memset(&ofn, 0, sizeof(ofn));
118.57
118.58 - // According to the MSDN docs, lStructSize must be set to
118.59 - // OPENFILENAME_SIZE_VERSION_400 on NT4.0.
118.60 - if (IS_NT && !(IS_WIN2000)) {
118.61 - ofn.lStructSize = OPENFILENAME_SIZE_VERSION_400;
118.62 - }
118.63 - else {
118.64 ofn.lStructSize = sizeof(ofn);
118.65 - }
118.66 ofn.lpstrFilter = s_fileFilterString;
118.67 ofn.nFilterIndex = 1;
118.68 /*
118.69 @@ -289,9 +281,6 @@
118.70
118.71 mode = env->GetIntField(target, AwtFileDialog::modeID);
118.72
118.73 - // Fix for 4364256 : call load_shell_procs()
118.74 - load_shell_procs();
118.75 -
118.76 AwtDialog::CheckInstallModalHook();
118.77
118.78 // show the Win32 file dialog
118.79 @@ -304,7 +293,7 @@
118.80 // If the dialog is not shown because of invalid file name
118.81 // replace the file name by empty string.
118.82 if (!result) {
118.83 - dlgerr = AwtCommDialog::CommDlgExtendedError();
118.84 + dlgerr = ::CommDlgExtendedError();
118.85 if (dlgerr == FNERR_INVALIDFILENAME) {
118.86 _tcscpy(fileBuffer, TEXT(""));
118.87 if (mode == java_awt_FileDialog_LOAD) {
118.88 @@ -326,7 +315,7 @@
118.89 // Report result to peer.
118.90 if (result) {
118.91 jstring tmpJString = (_tcslen(ofn.lpstrFile) == 0 ?
118.92 - env->NewStringUTF("") :
118.93 + JNU_NewStringPlatform(env, L"") :
118.94 JNU_NewStringPlatform(env, ofn.lpstrFile));
118.95 env->CallVoidMethod(peer, AwtFileDialog::handleSelectedMID, tmpJString);
118.96 env->DeleteLocalRef(tmpJString);
118.97 @@ -362,20 +351,18 @@
118.98 }
118.99
118.100 BOOL
118.101 -AwtFileDialog::GetOpenFileName(LPAWTOPENFILENAME data) {
118.102 - AwtCommDialog::load_comdlg_procs();
118.103 +AwtFileDialog::GetOpenFileName(LPOPENFILENAME data) {
118.104 return static_cast<BOOL>(reinterpret_cast<INT_PTR>(
118.105 AwtToolkit::GetInstance().InvokeFunction((void*(*)(void*))
118.106 - AwtCommDialog::GetOpenFileNameWrapper, data)));
118.107 + ::GetOpenFileName, data)));
118.108
118.109 }
118.110
118.111 BOOL
118.112 -AwtFileDialog::GetSaveFileName(LPAWTOPENFILENAME data) {
118.113 - AwtCommDialog::load_comdlg_procs();
118.114 +AwtFileDialog::GetSaveFileName(LPOPENFILENAME data) {
118.115 return static_cast<BOOL>(reinterpret_cast<INT_PTR>(
118.116 AwtToolkit::GetInstance().InvokeFunction((void *(*)(void *))
118.117 - AwtCommDialog::GetSaveFileNameWrapper, data)));
118.118 + ::GetSaveFileName, data)));
118.119
118.120 }
118.121
119.1 --- a/src/windows/native/sun/windows/awt_FileDialog.h Tue Feb 17 09:06:16 2009 -0800
119.2 +++ b/src/windows/native/sun/windows/awt_FileDialog.h Wed Feb 18 10:05:41 2009 -0800
119.3 @@ -1,5 +1,5 @@
119.4 /*
119.5 - * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved.
119.6 + * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved.
119.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
119.8 *
119.9 * This code is free software; you can redistribute it and/or modify it
119.10 @@ -36,43 +36,6 @@
119.11 #include "java_awt_FileDialog.h"
119.12 #include "sun_awt_windows_WFileDialogPeer.h"
119.13
119.14 -// The VC6 headers don't include this, but it's necessary for
119.15 -// backward-compatibility with NT4.0, so we fake it.
119.16 -#ifndef OPENFILENAME_SIZE_VERSION_400
119.17 - // Determined via sizeof(OPENFILENAME)
119.18 - #define OPENFILENAME_SIZE_VERSION_400 76
119.19 -#endif
119.20 -
119.21 -// 4859390
119.22 -// For the Places Bar to show up, we need the "full" OPENFILENAME struct
119.23 -typedef struct tagAWTOFN {
119.24 - DWORD lStructSize;
119.25 - HWND hwndOwner;
119.26 - HINSTANCE hInstance;
119.27 - LPCTSTR lpstrFilter;
119.28 - LPTSTR lpstrCustomFilter;
119.29 - DWORD nMaxCustFilter;
119.30 - DWORD nFilterIndex;
119.31 - LPTSTR lpstrFile;
119.32 - DWORD nMaxFile;
119.33 - LPTSTR lpstrFileTitle;
119.34 - DWORD nMaxFileTitle;
119.35 - LPCTSTR lpstrInitialDir;
119.36 - LPCTSTR lpstrTitle;
119.37 - DWORD Flags;
119.38 - WORD nFileOffset;
119.39 - WORD nFileExtension;
119.40 - LPCTSTR lpstrDefExt;
119.41 - LPARAM lCustData;
119.42 - LPOFNHOOKPROC lpfnHook;
119.43 - LPCTSTR lpTemplateName;
119.44 -//#if (_WIN32_WINNT >= 0x0500)
119.45 - void * pvReserved;
119.46 - DWORD dwReserved;
119.47 - DWORD FlagsEx;
119.48 -//#endif // (_WIN32_WINNT >= 0x0500)
119.49 -} AWTOPENFILENAME, *LPAWTOPENFILENAME;
119.50 -
119.51 /************************************************************************
119.52 * AwtFileDialog class
119.53 */
119.54 @@ -96,8 +59,8 @@
119.55 static void Initialize(JNIEnv *env, jstring filterDescription);
119.56 static void Show(void *peer);
119.57
119.58 - static BOOL GetOpenFileName(LPAWTOPENFILENAME);
119.59 - static BOOL GetSaveFileName(LPAWTOPENFILENAME);
119.60 + static BOOL GetOpenFileName(LPOPENFILENAME);
119.61 + static BOOL GetSaveFileName(LPOPENFILENAME);
119.62
119.63 virtual BOOL InheritsNativeMouseWheelBehavior();
119.64
120.1 --- a/src/windows/native/sun/windows/awt_Font.cpp Tue Feb 17 09:06:16 2009 -0800
120.2 +++ b/src/windows/native/sun/windows/awt_Font.cpp Wed Feb 18 10:05:41 2009 -0800
120.3 @@ -1,5 +1,5 @@
120.4 /*
120.5 - * Copyright 1996-2006 Sun Microsystems, Inc. All Rights Reserved.
120.6 + * Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved.
120.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
120.8 *
120.9 * This code is free software; you can redistribute it and/or modify it
120.10 @@ -23,6 +23,7 @@
120.11 * have any questions.
120.12 */
120.13
120.14 +#include "awt.h"
120.15 #include <math.h>
120.16 #include "jlong.h"
120.17 #include "awt_Font.h"
120.18 @@ -195,7 +196,7 @@
120.19 }
120.20
120.21 // Get suitable CHARSET from charset string provided by font configuration.
120.22 -static int GetNativeCharset(WCHAR* name)
120.23 +static int GetNativeCharset(LPCWSTR name)
120.24 {
120.25 if (wcsstr(name, L"ANSI_CHARSET"))
120.26 return ANSI_CHARSET;
120.27 @@ -259,7 +260,7 @@
120.28 cfnum = 0;
120.29 }
120.30
120.31 - WCHAR* wName;
120.32 + LPCWSTR wName;
120.33
120.34 awtFont = new AwtFont(cfnum, env, font);
120.35
120.36 @@ -269,9 +270,7 @@
120.37 if (cfnum > 0) {
120.38 // Ask peer class for the text component font name
120.39 jstring jTextComponentFontName = GetTextComponentFontName(env, font);
120.40 - WCHAR* textComponentFontName = TO_WSTRING(jTextComponentFontName);
120.41 -
120.42 - env->DeleteLocalRef(jTextComponentFontName);
120.43 + LPCWSTR textComponentFontName = JNU_GetStringPlatformChars(env, jTextComponentFontName, NULL);
120.44
120.45 awtFont->m_textInput = -1;
120.46 for (int i = 0; i < cfnum; i++) {
120.47 @@ -282,13 +281,13 @@
120.48 jstring nativeName =
120.49 (jstring)env->GetObjectField(fontDescriptor,
120.50 AwtFont::nativeNameID);
120.51 - wName = TO_WSTRING(nativeName);
120.52 + wName = JNU_GetStringPlatformChars(env, nativeName, NULL);
120.53 DASSERT(wName);
120.54
120.55 //On NT platforms, if the font is not Symbol or Dingbats
120.56 //use "W" version of Win32 APIs directly, info the FontDescription
120.57 //no need to convert characters from Unicode to locale encodings.
120.58 - if (IS_NT && GetNativeCharset(wName) != SYMBOL_CHARSET) {
120.59 + if (GetNativeCharset(wName) != SYMBOL_CHARSET) {
120.60 env->SetBooleanField(fontDescriptor, AwtFont::useUnicodeID, TRUE);
120.61 }
120.62
120.63 @@ -299,10 +298,12 @@
120.64 (wcscmp(wName, textComponentFontName) == 0)) {
120.65 awtFont->m_textInput = i;
120.66 }
120.67 - HFONT hfonttmp = CreateHFont(wName, fontStyle, fontSize,
120.68 + HFONT hfonttmp = CreateHFont(const_cast<LPWSTR>(wName), fontStyle, fontSize,
120.69 angle, awScale);
120.70 awtFont->m_hFont[i] = hfonttmp;
120.71
120.72 + JNU_ReleaseStringPlatformChars(env, nativeName, wName);
120.73 +
120.74 env->DeleteLocalRef(fontDescriptor);
120.75 env->DeleteLocalRef(nativeName);
120.76 }
120.77 @@ -311,11 +312,14 @@
120.78 // to first component
120.79 awtFont->m_textInput = 0;
120.80 }
120.81 +
120.82 + JNU_ReleaseStringPlatformChars(env, jTextComponentFontName, textComponentFontName);
120.83 + env->DeleteLocalRef(jTextComponentFontName);
120.84 } else {
120.85 // Instantiation for English version.
120.86 jstring fontName = (jstring)env->GetObjectField(font,
120.87 AwtFont::nameID);
120.88 - wName = TO_WSTRING(fontName);
120.89 + wName = JNU_GetStringPlatformChars(env, fontName, NULL);
120.90
120.91 WCHAR* wEName;
120.92 if (!wcscmp(wName, L"Helvetica") || !wcscmp(wName, L"SansSerif")) {
120.93 @@ -338,6 +342,9 @@
120.94 awtFont->m_textInput = 0;
120.95 awtFont->m_hFont[0] = CreateHFont(wEName, fontStyle, fontSize,
120.96 angle, awScale);
120.97 +
120.98 + JNU_ReleaseStringPlatformChars(env, fontName, wName);
120.99 +
120.100 env->DeleteLocalRef(fontName);
120.101 }
120.102 /* The several callers of this method also set the pData field.
120.103 @@ -381,7 +388,7 @@
120.104
120.105 }
120.106
120.107 -static HFONT CreateHFont_sub(WCHAR* name, int style, int height,
120.108 +static HFONT CreateHFont_sub(LPCWSTR name, int style, int height,
120.109 int angle=0, float awScale=1.0f)
120.110 {
120.111 LOGFONTW logFont;
120.112 @@ -420,18 +427,7 @@
120.113 strip_tail(tmpname,L"Italic");
120.114 strip_tail(tmpname,L"Bold");
120.115 wcscpy(&(logFont.lfFaceName[0]), tmpname);
120.116 - HFONT hFont;
120.117 - if (IS_WIN95) {
120.118 -#ifdef WIN32
120.119 - DASSERT(IS_WIN95);
120.120 -#endif
120.121 - HDC hdc = ::GetDC(NULL);
120.122 - ::EnumFontFamiliesEx(hdc, &logFont, (FONTENUMPROC)FindFamilyName,
120.123 - (LPARAM)tmpname, 0L);
120.124 - ::ReleaseDC(NULL, hdc);
120.125 - wcscpy(&logFont.lfFaceName[0], tmpname);
120.126 - }
120.127 - hFont = ::CreateFontIndirectW(&logFont);
120.128 + HFONT hFont = ::CreateFontIndirect(&logFont);
120.129 DASSERT(hFont != NULL);
120.130 // get a expanded or condensed version if its specified.
120.131 if (awScale != 1.0f) {
120.132 @@ -446,7 +442,7 @@
120.133 }
120.134 avgWidth = tm.tmAveCharWidth;
120.135 logFont.lfWidth = (LONG)((fabs)(avgWidth*awScale));
120.136 - hFont = CreateFontIndirectW(&logFont);
120.137 + hFont = ::CreateFontIndirect(&logFont);
120.138 DASSERT(hFont != NULL);
120.139 VERIFY(::ReleaseDC(0, hDC));
120.140 }
120.141 @@ -460,15 +456,8 @@
120.142 WCHAR longName[80];
120.143 // 80 > (max face name(=30) + strlen("CHINESEBIG5_CHARSET"))
120.144 // longName doesn't have to be printable. So, it is OK not to convert.
120.145 - if (IS_NT) {
120.146 - //wsprintfW only works on NT. See bugid 4123362
120.147 - wsprintfW(longName, L"%ls-%d-%d", name, style, height);
120.148 - } else {
120.149 -#ifdef WIN32
120.150 - DASSERT(IS_WIN95);
120.151 -#endif
120.152 - swprintf(longName, L"%ls-%d-%d", name, style, height);
120.153 - }
120.154 +
120.155 + wsprintf(longName, L"%ls-%d-%d", name, style, height);
120.156
120.157 HFONT hFont = NULL;
120.158
120.159 @@ -682,28 +671,16 @@
120.160
120.161 if (arrayLength == 0) {
120.162 int length = env->GetStringLength(str);
120.163 - WCHAR* string = TO_WSTRING(str);
120.164 + LPCWSTR strW = JNU_GetStringPlatformChars(env, str, NULL);
120.165 VERIFY(::SelectObject(hDC, awtFont->GetHFont()));
120.166 if (AwtComponent::GetRTLReadingOrder()){
120.167 - if (IS_WIN95) {
120.168 - // Start of conversion Code to fix arabic shaping problems
120.169 - // with unicode support in win 95
120.170 - LPSTR buffer = (LPSTR) alloca((wcslen(string) + 1) * 2);
120.171 - int count = ::WideCharToMultiByte(codePage, 0, string, length,
120.172 - buffer,
120.173 - static_cast<int>((wcslen(string) + 1) * 2),
120.174 - NULL, NULL);
120.175 - VERIFY(!draw || ::ExtTextOutA(hDC, x, y, ETO_RTLREADING, NULL,
120.176 - buffer, count, NULL));
120.177 - // End Of Conversion Code
120.178 - } else {
120.179 - VERIFY(!draw || ::ExtTextOutW(hDC, x, y, ETO_RTLREADING, NULL,
120.180 - string, length, NULL));
120.181 - }
120.182 + VERIFY(!draw || ::ExtTextOut(hDC, x, y, ETO_RTLREADING, NULL,
120.183 + strW, length, NULL));
120.184 } else {
120.185 - VERIFY(!draw || ::TextOutW(hDC, x, y, string, length));
120.186 + VERIFY(!draw || ::TextOut(hDC, x, y, strW, length));
120.187 }
120.188 - VERIFY(::GetTextExtentPoint32W(hDC, string, length, &size));
120.189 + VERIFY(::GetTextExtentPoint32(hDC, strW, length, &size));
120.190 + JNU_ReleaseStringPlatformChars(env, str, strW);
120.191 } else {
120.192 for (int i = 0; i < arrayLength; i = i + 2) {
120.193 jobject fontDescriptor = env->GetObjectArrayElement(array, i);
120.194 @@ -732,7 +709,7 @@
120.195 * extend buflen and bad things will happen.
120.196 */
120.197 unsigned char* buffer = NULL;
120.198 - jboolean unicodeUsed = env->GetBooleanField(fontDescriptor,AwtFont::useUnicodeID);
120.199 + jboolean unicodeUsed = env->GetBooleanField(fontDescriptor, AwtFont::useUnicodeID);
120.200 try {
120.201 buffer = (unsigned char *)
120.202 env->GetPrimitiveArrayCritical(convertedBytes, 0);
120.203 @@ -1231,7 +1208,7 @@
120.204 public:
120.205 CSegTableComponent();
120.206 virtual ~CSegTableComponent();
120.207 - virtual void Create(LPWSTR name);
120.208 + virtual void Create(LPCWSTR name);
120.209 virtual BOOL In(USHORT iChar) { DASSERT(FALSE); return FALSE; };
120.210 LPWSTR GetFontName(){
120.211 DASSERT(m_lpszFontName != NULL); return m_lpszFontName;
120.212 @@ -1254,7 +1231,7 @@
120.213 }
120.214 }
120.215
120.216 -void CSegTableComponent::Create(LPWSTR name)
120.217 +void CSegTableComponent::Create(LPCWSTR name)
120.218 {
120.219 if (m_lpszFontName != NULL) {
120.220 free(m_lpszFontName);
120.221 @@ -1453,7 +1430,7 @@
120.222 CStdSegTable();
120.223 virtual ~CStdSegTable();
120.224 BOOL IsEUDC() { return FALSE; };
120.225 - virtual void Create(LPWSTR name);
120.226 + virtual void Create(LPCWSTR name);
120.227
120.228 protected:
120.229 void GetData(DWORD dwOffset, LPVOID lpData, DWORD cbData);
120.230 @@ -1481,7 +1458,7 @@
120.231 DASSERT(nBytes != GDI_ERROR);
120.232 }
120.233
120.234 -void CStdSegTable::Create(LPWSTR name)
120.235 +void CStdSegTable::Create(LPCWSTR name)
120.236 {
120.237 CSegTableComponent::Create(name);
120.238
120.239 @@ -1509,7 +1486,7 @@
120.240 CEUDCSegTable();
120.241 virtual ~CEUDCSegTable();
120.242 BOOL IsEUDC() { return TRUE; };
120.243 - virtual void Create(LPWSTR name);
120.244 + virtual void Create(LPCWSTR name);
120.245
120.246 protected:
120.247 void GetData(DWORD dwOffset, LPVOID lpData, DWORD cbData);
120.248 @@ -1543,7 +1520,7 @@
120.249 DASSERT(dwRead == cbData);
120.250 }
120.251
120.252 -void CEUDCSegTable::Create(LPWSTR name)
120.253 +void CEUDCSegTable::Create(LPCWSTR name)
120.254 {
120.255 typedef struct tagHEAD{
120.256 FIXED sfnt_version;
120.257 @@ -1564,19 +1541,8 @@
120.258
120.259 // create EUDC font file and make EUDCSegTable
120.260 // after wrapper function for CreateFileW, we use only CreateFileW
120.261 - if (IS_NT) {
120.262 - m_hTmpFile = ::CreateFileW(name, GENERIC_READ,
120.263 - FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
120.264 - } else {
120.265 -#ifdef WIN32
120.266 - DASSERT(IS_WIN95);
120.267 -#endif
120.268 - char szFileName[_MAX_PATH];
120.269 - ::WideCharToMultiByte(CP_ACP, 0, name, -1,
120.270 - szFileName, sizeof(szFileName), NULL, NULL);
120.271 - m_hTmpFile = ::CreateFileA(szFileName, GENERIC_READ,
120.272 - FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
120.273 - }
120.274 + m_hTmpFile = ::CreateFile(name, GENERIC_READ,
120.275 + FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
120.276 if (m_hTmpFile == INVALID_HANDLE_VALUE){
120.277 m_hTmpFile = NULL;
120.278 return;
120.279 @@ -1654,10 +1620,10 @@
120.280 class CSegTableManager : public CSegTableManagerComponent
120.281 {
120.282 public:
120.283 - CSegTable* GetTable(LPWSTR lpszFontName, BOOL fEUDC);
120.284 + CSegTable* GetTable(LPCWSTR lpszFontName, BOOL fEUDC);
120.285 };
120.286
120.287 -CSegTable* CSegTableManager::GetTable(LPWSTR lpszFontName, BOOL fEUDC)
120.288 +CSegTable* CSegTableManager::GetTable(LPCWSTR lpszFontName, BOOL fEUDC)
120.289 {
120.290 for (int i = 0; i < m_nTable; i++) {
120.291 if ((((CSegTable*)m_tables[i])->IsEUDC() == fEUDC) &&
120.292 @@ -1685,7 +1651,7 @@
120.293 {
120.294 public:
120.295 CCombinedSegTable();
120.296 - void Create(LPWSTR name);
120.297 + void Create(LPCWSTR name);
120.298 BOOL In(USHORT iChar);
120.299
120.300 private:
120.301 @@ -1807,7 +1773,7 @@
120.302 wcscpy(m_szDefaultEUDCFile, lpszFileName);
120.303 }
120.304
120.305 -void CCombinedSegTable::Create(LPWSTR name)
120.306 +void CCombinedSegTable::Create(LPCWSTR name)
120.307 {
120.308 CSegTableComponent::Create(name);
120.309
120.310 @@ -1840,10 +1806,10 @@
120.311 class CCombinedSegTableManager : public CSegTableManagerComponent
120.312 {
120.313 public:
120.314 - CCombinedSegTable* GetTable(LPWSTR lpszFontName);
120.315 + CCombinedSegTable* GetTable(LPCWSTR lpszFontName);
120.316 };
120.317
120.318 -CCombinedSegTable* CCombinedSegTableManager::GetTable(LPWSTR lpszFontName)
120.319 +CCombinedSegTable* CCombinedSegTableManager::GetTable(LPCWSTR lpszFontName)
120.320 {
120.321 for (int i = 0; i < m_nTable; i++) {
120.322 if (wcscmp(m_tables[i]->GetFontName(),lpszFontName) == 0)
120.323 @@ -1901,8 +1867,9 @@
120.324
120.325 jstring fontName = (jstring)env->GetObjectField(self, AwtFont::fontNameID);
120.326 DASSERT(fontName != NULL);
120.327 - LPWSTR fontNameWStr = TO_WSTRING(fontName);
120.328 - CCombinedSegTable* pTable = tableManager.GetTable(fontNameWStr);
120.329 + LPCWSTR fontNameW = JNU_GetStringPlatformChars(env, fontName, NULL);
120.330 + CCombinedSegTable* pTable = tableManager.GetTable(fontNameW);
120.331 + JNU_ReleaseStringPlatformChars(env, fontName, fontNameW);
120.332 return (pTable->In((USHORT) ch) ? JNI_TRUE : JNI_FALSE);
120.333
120.334 CATCH_BAD_ALLOC_RET(FALSE);
121.1 --- a/src/windows/native/sun/windows/awt_Font.h Tue Feb 17 09:06:16 2009 -0800
121.2 +++ b/src/windows/native/sun/windows/awt_Font.h Wed Feb 18 10:05:41 2009 -0800
121.3 @@ -28,7 +28,6 @@
121.4
121.5 #include "awt.h"
121.6 #include "awt_Object.h"
121.7 -#include "awt_Unicode.h"
121.8
121.9 #include "java_awt_Font.h"
121.10 #include "sun_awt_windows_WFontMetrics.h"
122.1 --- a/src/windows/native/sun/windows/awt_Frame.cpp Tue Feb 17 09:06:16 2009 -0800
122.2 +++ b/src/windows/native/sun/windows/awt_Frame.cpp Wed Feb 18 10:05:41 2009 -0800
122.3 @@ -1472,7 +1472,7 @@
122.4
122.5 int badAlloc = 0;
122.6 LPCTSTR coption;
122.7 - LPTSTR empty = TEXT("InputMethod");
122.8 + LPCTSTR empty = TEXT("InputMethod");
122.9 AwtFrame *f = NULL;
122.10
122.11 PDATA pData;
123.1 --- a/src/windows/native/sun/windows/awt_InputMethod.cpp Tue Feb 17 09:06:16 2009 -0800
123.2 +++ b/src/windows/native/sun/windows/awt_InputMethod.cpp Wed Feb 18 10:05:41 2009 -0800
123.3 @@ -1,5 +1,5 @@
123.4 /*
123.5 - * Copyright 1997-2005 Sun Microsystems, Inc. All Rights Reserved.
123.6 + * Copyright 1997-2008 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 @@ -580,18 +580,10 @@
123.11 DWORD cbHKL = 16;
123.12 LPTSTR end;
123.13
123.14 - if (IS_NT) {
123.15 - ret = ::RegOpenKeyEx(HKEY_CURRENT_USER, TEXT("Keyboard Layout\\Preload"), NULL, KEY_READ, &hKey);
123.16 - } else {
123.17 - ret = ::RegOpenKeyEx(HKEY_CURRENT_USER, TEXT("keyboard layout\\preload\\1"), NULL, KEY_READ, &hKey);
123.18 - }
123.19 + ret = ::RegOpenKeyEx(HKEY_CURRENT_USER, TEXT("Keyboard Layout\\Preload"), NULL, KEY_READ, &hKey);
123.20
123.21 if (ret == ERROR_SUCCESS) {
123.22 - if (IS_NT) {
123.23 - ret = ::RegQueryValueEx(hKey, TEXT("1"), 0, 0, szHKL, &cbHKL);
123.24 - } else {
123.25 - ret = ::RegQueryValueEx(hKey, NULL, 0, 0, szHKL, &cbHKL);
123.26 - }
123.27 + ret = ::RegQueryValueEx(hKey, TEXT("1"), 0, 0, szHKL, &cbHKL);
123.28
123.29 if (ret == ERROR_SUCCESS) {
123.30 hkl = reinterpret_cast<HKL>(static_cast<INT_PTR>(
124.1 --- a/src/windows/native/sun/windows/awt_InputTextInfor.cpp Tue Feb 17 09:06:16 2009 -0800
124.2 +++ b/src/windows/native/sun/windows/awt_InputTextInfor.cpp Wed Feb 18 10:05:41 2009 -0800
124.3 @@ -1,5 +1,5 @@
124.4 /*
124.5 - * Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
124.6 + * Copyright 2005-2008 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 @@ -22,10 +22,9 @@
124.11 * CA 95054 USA or visit www.sun.com if you need additional information or
124.12 * have any questions.
124.13 */
124.14 -#include <windows.h>
124.15 -#include <jni.h>
124.16 +
124.17 +#include "awt.h"
124.18 #include <imm.h>
124.19 -#include "awt.h"
124.20 #include "awt_Component.h"
124.21 #include "awt_InputTextInfor.h"
124.22
124.23 @@ -91,12 +90,12 @@
124.24 LONG cbData[5] = {0};
124.25 LPVOID lpData[5] = {NULL};
124.26 for (int i = startIndex, j = 0; i <= endIndex; i++, j++) {
124.27 - cbData[j] = ImmGetCompositionStringW(hIMC, GCS_INDEX[i], NULL, 0);
124.28 + cbData[j] = ::ImmGetCompositionString(hIMC, GCS_INDEX[i], NULL, 0);
124.29 if (cbData[j] == 0) {
124.30 lpData[j] = NULL;
124.31 } else {
124.32 LPBYTE lpTemp = new BYTE[cbData[j]];
124.33 - cbData[j] = ImmGetCompositionStringW(hIMC, GCS_INDEX[i], lpTemp, cbData[j]);
124.34 + cbData[j] = ::ImmGetCompositionString(hIMC, GCS_INDEX[i], lpTemp, cbData[j]);
124.35 if (IMM_ERROR_GENERAL != cbData[j]) {
124.36 lpData[j] = (LPVOID)lpTemp;
124.37 } else {
124.38 @@ -126,7 +125,7 @@
124.39
124.40 // Get the cursor position
124.41 if (flags & GCS_COMPSTR) {
124.42 - m_cursorPosW = ImmGetCompositionStringW(hIMC, GCS_CURSORPOS,
124.43 + m_cursorPosW = ::ImmGetCompositionString(hIMC, GCS_CURSORPOS,
124.44 NULL, 0);
124.45 }
124.46
124.47 @@ -185,9 +184,11 @@
124.48
124.49 jstring AwtInputTextInfor::MakeJavaString(JNIEnv* env, LPWSTR lpStrW, int cStrW) {
124.50
124.51 - if (env == NULL || lpStrW == NULL || cStrW == 0) return NULL;
124.52 -
124.53 - return env->NewString(lpStrW, cStrW);
124.54 + if (env == NULL || lpStrW == NULL || cStrW == 0) {
124.55 + return NULL;
124.56 + } else {
124.57 + return env->NewString(reinterpret_cast<jchar*>(lpStrW), cStrW);
124.58 + }
124.59 }
124.60
124.61 //
124.62 @@ -232,7 +233,7 @@
124.63 LCID lcJPN = MAKELCID(MAKELANGID(LANG_JAPANESE,SUBLANG_DEFAULT),SORT_DEFAULT);
124.64 // Reading string is given in half width katakana in Japanese Windows
124.65 // Convert it to full width katakana.
124.66 - int cFWStrW = LCMapStringW( lcJPN, LCMAP_FULLWIDTH, lpHWStrW, cHWStrW, NULL, 0 );
124.67 + int cFWStrW = ::LCMapString(lcJPN, LCMAP_FULLWIDTH, lpHWStrW, cHWStrW, NULL, 0);
124.68 LPWSTR lpFWStrW;
124.69 try {
124.70 lpFWStrW = new WCHAR[cFWStrW];
124.71 @@ -244,7 +245,7 @@
124.72 throw;
124.73 }
124.74
124.75 - LCMapStringW( lcJPN, LCMAP_FULLWIDTH, lpHWStrW, cHWStrW, lpFWStrW, cFWStrW );
124.76 + ::LCMapString(lcJPN, LCMAP_FULLWIDTH, lpHWStrW, cHWStrW, lpFWStrW, cFWStrW);
124.77 readingClauseW[cls] = MakeJavaString(env, lpFWStrW, cFWStrW);
124.78 delete [] lpFWStrW;
124.79 } else {
124.80 @@ -252,7 +253,7 @@
124.81 }
124.82 }
124.83 else {
124.84 - readingClauseW[cls] = MakeJavaString(env, (LPWSTR)NULL, 0);
124.85 + readingClauseW[cls] = NULL;
124.86 }
124.87 }
124.88
125.1 --- a/src/windows/native/sun/windows/awt_List.cpp Tue Feb 17 09:06:16 2009 -0800
125.2 +++ b/src/windows/native/sun/windows/awt_List.cpp Wed Feb 18 10:05:41 2009 -0800
125.3 @@ -1,5 +1,5 @@
125.4 /*
125.5 - * Copyright 1996-2007 Sun Microsystems, Inc. All Rights Reserved.
125.6 + * Copyright 1996-2008 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 @@ -27,7 +27,6 @@
125.11 #include "awt_KeyboardFocusManager.h"
125.12 #include "awt_Canvas.h"
125.13 #include "awt_Dimension.h"
125.14 -#include "awt_Unicode.h"
125.15 #include "awt_Toolkit.h"
125.16 #include "awt_Window.h"
125.17
125.18 @@ -112,9 +111,8 @@
125.19 DWORD wrapExStyle = 0;
125.20
125.21 DWORD style = WS_CHILD | WS_CLIPSIBLINGS | WS_VSCROLL | WS_HSCROLL |
125.22 - LBS_NOINTEGRALHEIGHT | LBS_NOTIFY | LBS_OWNERDRAWFIXED |
125.23 - (IS_WIN4X ? 0 : WS_BORDER);
125.24 - DWORD exStyle = IS_WIN4X ? WS_EX_CLIENTEDGE : 0;
125.25 + LBS_NOINTEGRALHEIGHT | LBS_NOTIFY | LBS_OWNERDRAWFIXED;
125.26 + DWORD exStyle = WS_EX_CLIENTEDGE;
125.27
125.28 /*
125.29 * NOTE: WS_VISIBLE is always set for the listbox. Listbox
125.30 @@ -571,10 +569,10 @@
125.31 // operate WM_PRINT to be compatible with the "smooth scrolling" feature.
125.32 MsgRouting AwtList::WmPrint(HDC hDC, LPARAM flags)
125.33 {
125.34 - if (!isWrapperPrint && IS_WIN4X
125.35 - && (flags & PRF_CLIENT)
125.36 - && (GetStyleEx() & WS_EX_CLIENTEDGE)) {
125.37 -
125.38 + if (!isWrapperPrint &&
125.39 + (flags & PRF_CLIENT) &&
125.40 + (GetStyleEx() & WS_EX_CLIENTEDGE))
125.41 + {
125.42 int nOriginalDC = ::SaveDC(hDC);
125.43 DASSERT(nOriginalDC != 0);
125.44 // Save a copy of the DC for WmPrintClient
126.1 --- a/src/windows/native/sun/windows/awt_MMStub.cpp Tue Feb 17 09:06:16 2009 -0800
126.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
126.3 @@ -1,573 +0,0 @@
126.4 -/*
126.5 - * Copyright 1999-2003 Sun Microsystems, Inc. All Rights Reserved.
126.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
126.7 - *
126.8 - * This code is free software; you can redistribute it and/or modify it
126.9 - * under the terms of the GNU General Public License version 2 only, as
126.10 - * published by the Free Software Foundation. Sun designates this
126.11 - * particular file as subject to the "Classpath" exception as provided
126.12 - * by Sun in the LICENSE file that accompanied this code.
126.13 - *
126.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
126.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
126.16 - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
126.17 - * version 2 for more details (a copy is included in the LICENSE file that
126.18 - * accompanied this code).
126.19 - *
126.20 - * You should have received a copy of the GNU General Public License version
126.21 - * 2 along with this work; if not, write to the Free Software Foundation,
126.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
126.23 - *
126.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
126.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
126.26 - * have any questions.
126.27 - */
126.28 -
126.29 -#include "awt_MMStub.h"
126.30 -
126.31 -//---------------------------------------------------------------------------
126.32 -// Basic API
126.33 -//---------------------------------------------------------------------------
126.34 -
126.35 -int (WINAPI* g_pfnGetSystemMetrics) (int);
126.36 -MHND (WINAPI* g_pfnMonitorFromWindow) (HWND,BOOL);
126.37 -MHND (WINAPI* g_pfnMonitorFromRect) (LPCRECT,BOOL);
126.38 -MHND (WINAPI* g_pfnMonitorFromPoint) (POINT,BOOL);
126.39 -BOOL (WINAPI* g_pfnGetMonitorInfo) (MHND,PMONITOR_INFO);
126.40 -BOOL (WINAPI* g_pfnEnumDisplayMonitors) (HDC,LPCRECT,MON_ENUM_CALLBACK_PROC,LPARAM);
126.41 -BOOL (WINAPI* g_pfnEnumDisplayDevices) (LPVOID,int,P_DISPLAY_DEVICE,DWORD);
126.42 -
126.43 -BOOL __initMultipleMonitorStubs(void);
126.44 -BOOL __initMultipleMonitorStubs(void)
126.45 -{
126.46 - static BOOL fInitDone;
126.47 - HMODULE hUser32;
126.48 - HMODULE hUnicows = UnicowsLoader::GetModuleHandle();
126.49 - BOOL retCode = FALSE;
126.50 -
126.51 - if (fInitDone)
126.52 - {
126.53 - retCode = g_pfnGetMonitorInfo != NULL;
126.54 - goto _RET_;
126.55 - }
126.56 -
126.57 - if ((hUser32 = GetModuleHandle(TEXT("USER32"))) &&
126.58 - (*(FARPROC*)&g_pfnGetSystemMetrics = GetProcAddress(hUser32,"GetSystemMetrics")) &&
126.59 - (*(FARPROC*)&g_pfnMonitorFromWindow = GetProcAddress(hUser32,"MonitorFromWindow")) &&
126.60 - (*(FARPROC*)&g_pfnMonitorFromRect = GetProcAddress(hUser32,"MonitorFromRect")) &&
126.61 - (*(FARPROC*)&g_pfnMonitorFromPoint = GetProcAddress(hUser32,"MonitorFromPoint")) &&
126.62 - (*(FARPROC*)&g_pfnEnumDisplayMonitors = GetProcAddress(hUser32,"EnumDisplayMonitors")) &&
126.63 - (*(FARPROC*)&g_pfnGetMonitorInfo = GetProcAddress(IS_WIN95 ? hUnicows : hUser32,"GetMonitorInfoW")) &&
126.64 - (*(FARPROC*)&g_pfnEnumDisplayDevices = GetProcAddress(IS_WIN95 ? hUnicows : hUser32,"EnumDisplayDevicesW")) &&
126.65 - (GetSystemMetrics(SM_CXVSCREEN) >= GetSystemMetrics(SM_CXSCREEN)) &&
126.66 - (GetSystemMetrics(SM_CYVSCREEN) >= GetSystemMetrics(SM_CYSCREEN)) )
126.67 - {
126.68 - fInitDone = TRUE;
126.69 - retCode = TRUE;
126.70 - goto _RET_;
126.71 - }
126.72 - g_pfnGetSystemMetrics = NULL;
126.73 - g_pfnMonitorFromWindow = NULL;
126.74 - g_pfnMonitorFromRect = NULL;
126.75 - g_pfnMonitorFromPoint = NULL;
126.76 - g_pfnGetMonitorInfo = NULL;
126.77 - g_pfnEnumDisplayMonitors = NULL;
126.78 - g_pfnEnumDisplayDevices = NULL;
126.79 -
126.80 - fInitDone = TRUE;
126.81 - retCode = FALSE;
126.82 -
126.83 -_RET_:
126.84 - return retCode;
126.85 -}
126.86 -
126.87 -int WINAPI _getSystemMetrics(int nCode)
126.88 -{
126.89 - int retCode;
126.90 - if( __initMultipleMonitorStubs() )
126.91 - {
126.92 - retCode = g_pfnGetSystemMetrics(nCode);
126.93 - goto _RET_;
126.94 - }
126.95 -
126.96 - switch( nCode )
126.97 - {
126.98 - case SM_CMONITORS:
126.99 - case SM_SAMEDSPLFORMAT:
126.100 - return 1;
126.101 -
126.102 - case SM_XVSCREEN:
126.103 - case SM_YVSCREEN:
126.104 - return 0;
126.105 -
126.106 - case SM_CXVSCREEN:
126.107 - nCode = SM_CXSCREEN;
126.108 - break;
126.109 -
126.110 - case SM_CYVSCREEN:
126.111 - nCode = SM_CYSCREEN;
126.112 - break;
126.113 - }
126.114 -
126.115 - retCode = GetSystemMetrics(nCode);
126.116 -_RET_:
126.117 - return retCode;
126.118 -}
126.119 -
126.120 -
126.121 -MHND WINAPI _monitorFromRect(LPCRECT prScreen, UINT nFlags)
126.122 -{
126.123 - MHND retCode = NULL;
126.124 - if( __initMultipleMonitorStubs() )
126.125 - {
126.126 - retCode = g_pfnMonitorFromRect(prScreen, nFlags);
126.127 - goto _RET_;
126.128 - }
126.129 -
126.130 - if( (prScreen->right < 0) || (prScreen->bottom < 0) )
126.131 - {
126.132 - goto _RET_;
126.133 - }
126.134 - {
126.135 - POINT pP = {0,0};
126.136 -
126.137 - pP.x = prScreen->left;
126.138 - pP.y = prScreen->top;
126.139 -
126.140 - retCode = _monitorFromPoint(pP,nFlags);
126.141 - }
126.142 -
126.143 -_RET_:
126.144 - return retCode;
126.145 -}
126.146 -
126.147 -MHND WINAPI _monitorFromWindow(HWND hwProbe, UINT nFlags)
126.148 -{
126.149 - RECT rR;
126.150 - MHND retCode = NULL;
126.151 -
126.152 - if( __initMultipleMonitorStubs() )
126.153 - {
126.154 - retCode = g_pfnMonitorFromWindow(hwProbe, nFlags);
126.155 - goto _RET_;
126.156 - }
126.157 -
126.158 - if( nFlags & (MONITOR_DEFAULT_TO_PRIMARY | MONITOR_DEFAULT_TO_NEAR) )
126.159 - {
126.160 - retCode = PRIMARY_MONITOR;
126.161 - goto _RET_;
126.162 - }
126.163 -
126.164 - if( GetWindowRect(hwProbe, &rR) )
126.165 - {
126.166 - retCode = _monitorFromRect(&rR, nFlags);
126.167 - goto _RET_;
126.168 - }
126.169 -
126.170 -_RET_:
126.171 - return retCode;
126.172 -}
126.173 -
126.174 -MHND WINAPI _monitorFromPoint(POINT ptProbe, UINT nFlags)
126.175 -{
126.176 - MHND retCode = NULL;
126.177 - if( __initMultipleMonitorStubs() )
126.178 - {
126.179 - retCode = g_pfnMonitorFromPoint(ptProbe,nFlags);
126.180 - goto _RET_;
126.181 - }
126.182 -
126.183 - if( nFlags & (MONITOR_DEFAULT_TO_PRIMARY | MONITOR_DEFAULT_TO_NEAR) )
126.184 - {
126.185 - goto _ASSIGN_;
126.186 - }
126.187 -
126.188 - if( (ptProbe.x <= 0) || (ptProbe.x > GetSystemMetrics(SM_CXSCREEN)) )
126.189 - {
126.190 - goto _RET_;
126.191 - }
126.192 -
126.193 - if( (ptProbe.y <= 0) || (ptProbe.y < GetSystemMetrics(SM_CYSCREEN)) )
126.194 - {
126.195 - goto _RET_;
126.196 - }
126.197 -_ASSIGN_:
126.198 - retCode = PRIMARY_MONITOR;
126.199 -
126.200 -_RET_:
126.201 - return retCode;
126.202 -}
126.203 -
126.204 -BOOL WINAPI _getMonitorInfo(MHND mhMon, PMONITOR_INFO pmMonInfo)
126.205 -{
126.206 - RECT rArea;
126.207 - BOOL retCode = FALSE;
126.208 -
126.209 - if( __initMultipleMonitorStubs() )
126.210 - {
126.211 - retCode = g_pfnGetMonitorInfo(mhMon, pmMonInfo);
126.212 - goto _RET_;
126.213 - }
126.214 -
126.215 - if( mhMon != PRIMARY_MONITOR )
126.216 - {
126.217 - goto _RET_;
126.218 - }
126.219 -
126.220 - if( NULL == pmMonInfo )
126.221 - {
126.222 - goto _RET_;
126.223 - }
126.224 -
126.225 - if( FALSE == SystemParametersInfo(SPI_GETWORKAREA,0,&rArea,0) )
126.226 - {
126.227 - goto _RET_;
126.228 - }
126.229 -
126.230 - if( pmMonInfo->dwSize >= sizeof(MONITOR_INFO) )
126.231 - {
126.232 - pmMonInfo->rMonitor.left = 0;
126.233 - pmMonInfo->rMonitor.top = 0;
126.234 - pmMonInfo->rMonitor.right = GetSystemMetrics(SM_CXSCREEN);
126.235 - pmMonInfo->rMonitor.bottom = GetSystemMetrics(SM_CYSCREEN);
126.236 - pmMonInfo->rWork = rArea;
126.237 - pmMonInfo->dwFlags = MONITOR_INFO_FLAG_PRIMARY;
126.238 -
126.239 - if( pmMonInfo->dwSize >= sizeof(MONITOR_INFO_EXTENDED))
126.240 - {
126.241 - lstrcpy(((PMONITOR_INFO_EXTENDED)pmMonInfo)->strDevice,
126.242 - TEXT("DISPLAY") );
126.243 - }
126.244 -
126.245 - retCode = TRUE;
126.246 - }
126.247 -
126.248 -_RET_:
126.249 - return retCode;
126.250 -}
126.251 -
126.252 -BOOL WINAPI _enumDisplayMonitors(
126.253 - HDC hDC,LPCRECT lrcSect,
126.254 - MON_ENUM_CALLBACK_PROC lpfnEnumProc,
126.255 - LPARAM lData
126.256 - )
126.257 -{
126.258 - BOOL retCode = FALSE;
126.259 - RECT rToPass = {0,0,0,0};
126.260 - RECT rBorder = {0,0,0,0};
126.261 -
126.262 - if( __initMultipleMonitorStubs() )
126.263 - {
126.264 - retCode = g_pfnEnumDisplayMonitors (
126.265 - hDC, lrcSect,
126.266 - lpfnEnumProc,lData
126.267 - );
126.268 - goto _RET_;
126.269 - }
126.270 -
126.271 - if( !lpfnEnumProc )
126.272 - {
126.273 - goto _RET_;
126.274 - }
126.275 -
126.276 - rBorder.left = 0;
126.277 - rBorder.top = 0;
126.278 - rBorder.right = GetSystemMetrics(SM_CXSCREEN);
126.279 - rBorder.bottom = GetSystemMetrics(SM_CYSCREEN);
126.280 -
126.281 - if( hDC )
126.282 - {
126.283 - RECT rSect = {0,0,0,0};
126.284 - HWND hWnd = NULL;
126.285 -
126.286 - if( NULL == (hWnd = WindowFromDC(hDC)) )
126.287 - {
126.288 - goto _RET_;
126.289 - }
126.290 -
126.291 - switch( GetClipBox(hDC,&rSect) )
126.292 - {
126.293 - case NULLREGION:
126.294 - goto _ASSIGN_;
126.295 - case ERROR:
126.296 - goto _RET_;
126.297 - default:
126.298 - MapWindowPoints(NULL, hWnd, (LPPOINT)&rBorder, 2);
126.299 - if( TRUE == IntersectRect(&rToPass,&rSect,&rBorder) )
126.300 - {
126.301 - break;
126.302 - }
126.303 - }
126.304 -
126.305 - rBorder = rToPass;
126.306 - }
126.307 -
126.308 - if( (NULL == lrcSect) || (TRUE == IntersectRect(&rToPass,lrcSect,&rBorder)) )
126.309 - {
126.310 - lpfnEnumProc(PRIMARY_MONITOR,hDC,&rToPass,lData);
126.311 - }
126.312 -_ASSIGN_:
126.313 - retCode = TRUE;
126.314 -_RET_:
126.315 - return retCode;
126.316 -}
126.317 -
126.318 -BOOL WINAPI _enumDisplayDevices (
126.319 - LPVOID lpReserved, int iDeviceNum,
126.320 - _DISPLAY_DEVICE * pDisplayDevice, DWORD dwFlags
126.321 - )
126.322 -{
126.323 - BOOL retCode = FALSE;
126.324 - if( __initMultipleMonitorStubs() )
126.325 - {
126.326 - retCode = g_pfnEnumDisplayDevices(lpReserved,iDeviceNum,pDisplayDevice,dwFlags);
126.327 - }
126.328 -
126.329 - return retCode;
126.330 -}
126.331 -
126.332 -
126.333 -//---------------------------------------------------------------------------
126.334 -// Extended API.
126.335 -//---------------------------------------------------------------------------
126.336 -// Globais
126.337 -int g_nMonitorCounter;
126.338 -int g_nMonitorLimit;
126.339 -MHND* g_hmpMonitors;
126.340 -// Callbacks
126.341 -BOOL WINAPI clb_fCountMonitors(MHND,HDC,LPRECT,LPARAM);
126.342 -BOOL WINAPI clb_fCountMonitors(MHND hMon,HDC hDC,LPRECT rRect,LPARAM lP)
126.343 -{
126.344 - g_nMonitorCounter ++;
126.345 - return TRUE;
126.346 -}
126.347 -BOOL WINAPI clb_fCollectMonitors(MHND,HDC,LPRECT,LPARAM);
126.348 -BOOL WINAPI clb_fCollectMonitors(MHND hMon,HDC hDC,LPRECT rRect,LPARAM lP)
126.349 -{
126.350 -
126.351 - if( (g_nMonitorCounter < g_nMonitorLimit) && (NULL != g_hmpMonitors) )
126.352 - {
126.353 - g_hmpMonitors[g_nMonitorCounter] = hMon;
126.354 - g_nMonitorCounter ++;
126.355 - }
126.356 -
126.357 - return TRUE;
126.358 -}
126.359 -// Tools
126.360 -void __normaRectPos(RECT*,RECT,RECT);
126.361 -HWND __createWindow0(MHND,LPCTSTR,LPCTSTR,DWORD,int,int,int,int,HWND,HMENU,HANDLE,LPVOID);
126.362 -HWND __createWindow1(MHND,LPCTSTR,LPCTSTR,DWORD,int,int,int,int,HWND,HMENU,HANDLE,LPVOID);
126.363 -void __normaRectPos(RECT* rDest,RECT rSrc,RECT rNorma)
126.364 -{
126.365 - int nDX = rSrc.right - rSrc.left;
126.366 - int nDY = rSrc.bottom - rSrc.top;
126.367 -
126.368 - rDest->left = rSrc.left + rNorma.left;
126.369 - rDest->top = rSrc.top + rNorma.top;
126.370 -
126.371 - rDest->right = rDest->left + nDX;
126.372 - rDest->bottom = rDest->top + nDY;
126.373 -}
126.374 -HWND __createWindow0( MHND hmMonitor,LPCTSTR lpClassName,LPCTSTR lpWindowName,
126.375 - DWORD dwStyle,int x,int y,int nWidth,
126.376 - int nHeight,HWND hWndParent,HMENU hMenu,
126.377 - HANDLE hInstance,LPVOID lpParam )
126.378 -{
126.379 - HWND retCode = NULL;
126.380 -
126.381 - if( (NULL != hmMonitor) && (NULL != lpClassName) &&
126.382 - (NULL != lpWindowName) && (NULL != hInstance) )
126.383 - {
126.384 - RECT rRW = {0,0,0,0};
126.385 - RECT rRM = {0,0,0,0};
126.386 - RECT rSect = {0,0,0,0};
126.387 -
126.388 - SetRect(&rRW,x,y,x+nWidth,y+nHeight);
126.389 -
126.390 - if( TRUE == _monitorBounds(hmMonitor,&rRM) )
126.391 - {
126.392 - __normaRectPos(&rRW,rRW,rRM);
126.393 -
126.394 - IntersectRect(&rSect,&rRM,&rRW);
126.395 -
126.396 - if( TRUE == EqualRect(&rSect,&rRW) )
126.397 - {
126.398 - x = rSect.left;
126.399 - y = rSect.top;
126.400 - nWidth = rSect.right - rSect.left;
126.401 - nHeight = rSect.bottom - rSect.top;
126.402 - retCode = CreateWindow(
126.403 - lpClassName,lpWindowName,
126.404 - dwStyle,x,y,nWidth,
126.405 - nHeight,hWndParent,hMenu,
126.406 - (HINSTANCE)hInstance,lpParam
126.407 - );
126.408 - } else {
126.409 - // A coisa indefinida. Nao tenho sabdoria o que
126.410 - // fazer aqui mesmo
126.411 - // E necessario perguntar Jeannette
126.412 - }
126.413 - }
126.414 - }
126.415 -
126.416 - return retCode;
126.417 -}
126.418 -HWND __createWindow1( MHND hmMonitor,LPCTSTR lpClassName,LPCTSTR lpWindowName,
126.419 - DWORD dwStyle,int x,int y,int nWidth,
126.420 - int nHeight,HWND hWndParent,HMENU hMenu,
126.421 - HANDLE hInstance,LPVOID lpParam )
126.422 -{
126.423 - HWND retCode = NULL;
126.424 -
126.425 - if( (NULL != hmMonitor) && (NULL != lpClassName) &&
126.426 - (NULL != lpWindowName) && (NULL != hInstance) )
126.427 - {
126.428 - RECT rRM = {0,0,0,0};
126.429 -
126.430 - if( TRUE == _monitorBounds(hmMonitor,&rRM) )
126.431 - {
126.432 - HWND wW = NULL;
126.433 - BOOL wasVisible = (0 != (dwStyle & WS_VISIBLE));
126.434 -
126.435 - if( TRUE == wasVisible )
126.436 - {
126.437 - dwStyle &= ~WS_VISIBLE;
126.438 - }
126.439 -
126.440 - if( NULL != (wW = CreateWindow(
126.441 - lpClassName,lpWindowName,
126.442 - dwStyle,x,y,nWidth,
126.443 - nHeight,hWndParent,hMenu,
126.444 - (HINSTANCE)hInstance,lpParam
126.445 - )) )
126.446 - {
126.447 - RECT rRW = {0,0,0,0};
126.448 - RECT rSect = {0,0,0,0};
126.449 -
126.450 - GetWindowRect(wW,&rRW);
126.451 -
126.452 - __normaRectPos(&rRW,rRW,rRM);
126.453 -
126.454 - IntersectRect(&rSect,&rRM,&rRW);
126.455 -
126.456 - if( TRUE == EqualRect(&rSect,&rRW) )
126.457 - {
126.458 - x = rSect.left;
126.459 - y = rSect.top;
126.460 - nWidth = rSect.right - rSect.left;
126.461 - nHeight = rSect.bottom - rSect.top;
126.462 -
126.463 - MoveWindow(wW,x,y,nWidth,nHeight,FALSE);
126.464 -
126.465 - if( TRUE == wasVisible )
126.466 - {
126.467 - UpdateWindow(wW);
126.468 - ShowWindow(wW,SW_SHOW);
126.469 - }
126.470 -
126.471 - retCode = wW;
126.472 - } else {
126.473 - // A coisa indefinida. Nao sei o que
126.474 - // fazer aqui. E necessario perguntar Jeannette
126.475 - DestroyWindow(wW);
126.476 - }
126.477 - }
126.478 - }
126.479 - }
126.480 -
126.481 - return retCode;
126.482 -}
126.483 -
126.484 -// Implementations
126.485 -int WINAPI _countMonitors(void)
126.486 -{
126.487 - g_nMonitorCounter = 0;
126.488 -
126.489 - _enumDisplayMonitors(NULL,NULL,clb_fCountMonitors,0L);
126.490 -
126.491 - return g_nMonitorCounter;
126.492 -
126.493 -}
126.494 -int WINAPI _collectMonitors(MHND* hmpMonitors,int nNum)
126.495 -{
126.496 - int retCode = 0;
126.497 -
126.498 - if( NULL != hmpMonitors )
126.499 - {
126.500 - g_nMonitorCounter = 0;
126.501 - g_nMonitorLimit = nNum;
126.502 - g_hmpMonitors = hmpMonitors;
126.503 -
126.504 - _enumDisplayMonitors(NULL,NULL,clb_fCollectMonitors,0L);
126.505 -
126.506 - retCode = g_nMonitorCounter;
126.507 -
126.508 - g_nMonitorCounter = 0;
126.509 - g_nMonitorLimit = 0;
126.510 - g_hmpMonitors = NULL;
126.511 -
126.512 - }
126.513 - return retCode;
126.514 -}
126.515 -BOOL WINAPI _monitorBounds(MHND hmMonitor,RECT* rpBounds)
126.516 -{
126.517 - BOOL retCode = FALSE;
126.518 -
126.519 - if( (NULL != hmMonitor) && (NULL != rpBounds) )
126.520 - {
126.521 - MONITOR_INFO miInfo;
126.522 -
126.523 - memset((void*)(&miInfo),0,sizeof(MONITOR_INFO));
126.524 - miInfo.dwSize = sizeof(MONITOR_INFO);
126.525 -
126.526 - if( TRUE == (retCode = _getMonitorInfo(hmMonitor,&(miInfo))) )
126.527 - {
126.528 - (*rpBounds) = miInfo.rMonitor;
126.529 - }
126.530 - }
126.531 - return retCode;
126.532 -}
126.533 -
126.534 -HDC WINAPI _makeDCFromMonitor(MHND hmMonitor) {
126.535 - HDC retCode = NULL;
126.536 -
126.537 - if( NULL != hmMonitor ) {
126.538 -
126.539 - MONITOR_INFO_EXTENDED mieInfo;
126.540 -
126.541 - memset((void*)(&mieInfo),0,sizeof(MONITOR_INFO_EXTENDED));
126.542 - mieInfo.dwSize = sizeof(MONITOR_INFO_EXTENDED);
126.543 -
126.544 - if( TRUE == _getMonitorInfo(hmMonitor,(PMONITOR_INFO)(&mieInfo)) ) {
126.545 - HDC hDC = CreateDC(mieInfo.strDevice,NULL,NULL,NULL);
126.546 -
126.547 - if( NULL != hDC ) {
126.548 - retCode = hDC;
126.549 - }
126.550 - }
126.551 - }
126.552 - return retCode;
126.553 -}
126.554 -
126.555 -HWND WINAPI _createWindowOM( MHND hmMonitor,LPCTSTR lpClassName,LPCTSTR lpWindowName,
126.556 - DWORD dwStyle,int x,int y,int nWidth,
126.557 - int nHeight,HWND hWndParent,HMENU hMenu,
126.558 - HANDLE hInstance,LPVOID lpParam )
126.559 -{
126.560 - if( (CW_USEDEFAULT == x) || (CW_USEDEFAULT == y) ||
126.561 - (CW_USEDEFAULT == nWidth) || (CW_USEDEFAULT == nHeight) )
126.562 - {
126.563 - return __createWindow1 (
126.564 - hmMonitor,lpClassName,lpWindowName,
126.565 - dwStyle,x,y,nWidth,
126.566 - nHeight,hWndParent,hMenu,
126.567 - hInstance,lpParam
126.568 - );
126.569 - }
126.570 - return __createWindow0 (
126.571 - hmMonitor,lpClassName,lpWindowName,
126.572 - dwStyle,x,y,nWidth,
126.573 - nHeight,hWndParent,hMenu,
126.574 - hInstance,lpParam
126.575 - );
126.576 -}
127.1 --- a/src/windows/native/sun/windows/awt_MMStub.h Tue Feb 17 09:06:16 2009 -0800
127.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
127.3 @@ -1,131 +0,0 @@
127.4 -/*
127.5 - * Copyright 1999-2003 Sun Microsystems, Inc. All Rights Reserved.
127.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
127.7 - *
127.8 - * This code is free software; you can redistribute it and/or modify it
127.9 - * under the terms of the GNU General Public License version 2 only, as
127.10 - * published by the Free Software Foundation. Sun designates this
127.11 - * particular file as subject to the "Classpath" exception as provided
127.12 - * by Sun in the LICENSE file that accompanied this code.
127.13 - *
127.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
127.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
127.16 - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
127.17 - * version 2 for more details (a copy is included in the LICENSE file that
127.18 - * accompanied this code).
127.19 - *
127.20 - * You should have received a copy of the GNU General Public License version
127.21 - * 2 along with this work; if not, write to the Free Software Foundation,
127.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
127.23 - *
127.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
127.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
127.26 - * have any questions.
127.27 - */
127.28 -#ifndef _INC_MMSTUB
127.29 -#define _INC_MMSTUB
127.30 -
127.31 -#ifndef _WINDOWS_
127.32 -#include "windows.h"
127.33 -#endif
127.34 -
127.35 -#ifndef _AWT_H_
127.36 -#include "awt.h"
127.37 -#endif
127.38 -
127.39 -#if !defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500)
127.40 -
127.41 -/* Cdecl for C++ */
127.42 -#ifdef __cplusplus
127.43 -extern "C" {
127.44 -#endif
127.45 -
127.46 -/* Constants */
127.47 -#define SM_XVSCREEN 76
127.48 -#define SM_YVSCREEN 77
127.49 -#define SM_CXVSCREEN 78
127.50 -#define SM_CYVSCREEN 79
127.51 -#define SM_CMONITORS 80
127.52 -#define SM_SAMEDSPLFORMAT 81
127.53 -
127.54 -#define MONITOR_DEFAULT_TO_NULL 0x00000000
127.55 -#define MONITOR_DEFAULT_TO_PRIMARY 0x00000001
127.56 -#define MONITOR_DEFAULT_TO_NEAR 0x00000002
127.57 -
127.58 -
127.59 -
127.60 -#define MONITOR_INFO_FLAG_PRIMARY 0x00000001
127.61 -
127.62 -#define DISPLAY_DEVICE_ATTACHED_TO_DESKTOP 0x00000001
127.63 -#define DISPLAY_DEVICE_MULTY_DRIVER 0x00000002
127.64 -#define DISPLAY_DEVICE_PRIMARY_DEVICE 0x00000004
127.65 -#define DISPLAY_DEVICE_MIRRORING_DRIVER 0x00000008
127.66 -
127.67 -
127.68 -#define DISPLAY_DEVICE_VGA 0x00000010
127.69 -
127.70 -#define ENUM_CURRENT_SETTINGS ((DWORD)-1)
127.71 -#define ENUM_REGISTRY_SETTINGS ((DWORD)-2)
127.72 -
127.73 -#define PRIMARY_MONITOR ((MHND)0x42)
127.74 -
127.75 -
127.76 -#define DEV_NAME_LEN 32
127.77 -#define DEV_STR_LEN 128
127.78 -
127.79 -
127.80 -// Datatypes
127.81 -typedef HANDLE MHND;
127.82 -typedef BOOL (CALLBACK* MON_ENUM_CALLBACK_PROC)(MHND,HDC,LPRECT,LPARAM);
127.83 -
127.84 -typedef struct tagMONITOR_INFO
127.85 -{
127.86 - DWORD dwSize;
127.87 - RECT rMonitor;
127.88 - RECT rWork;
127.89 - DWORD dwFlags;
127.90 -} MONITOR_INFO, *PMONITOR_INFO;
127.91 -
127.92 -typedef struct tagMONITOR_INFO_EXTENDED
127.93 -{
127.94 - DWORD dwSize;
127.95 - RECT rMonitor;
127.96 - RECT rWork;
127.97 - DWORD dwFlags;
127.98 - TCHAR strDevice[DEV_NAME_LEN];
127.99 -} MONITOR_INFO_EXTENDED, *PMONITOR_INFO_EXTENDED;
127.100 -
127.101 -typedef struct tagDISPLAY_DEVICE
127.102 -{
127.103 - DWORD dwSize;
127.104 - WCHAR strDevName[DEV_NAME_LEN];
127.105 - WCHAR strDevString[DEV_STR_LEN];
127.106 - DWORD dwFlags;
127.107 - WCHAR deviceID[128];
127.108 - WCHAR deviceKey[128];
127.109 -} _DISPLAY_DEVICE, *P_DISPLAY_DEVICE;
127.110 -
127.111 -/* Basic API's */
127.112 -BOOL WINAPI _enumDisplayMonitors(HDC,LPCRECT,MON_ENUM_CALLBACK_PROC,LPARAM);
127.113 -BOOL WINAPI _enumDisplayDevices (LPVOID,int,P_DISPLAY_DEVICE,DWORD);
127.114 -BOOL WINAPI _getMonitorInfo (MHND,PMONITOR_INFO);
127.115 -MHND WINAPI _monitorFromPoint (POINT,UINT);
127.116 -MHND WINAPI _monitorFromWindow (HWND,UINT);
127.117 -MHND WINAPI _monitorFromRect (LPCRECT,UINT);
127.118 -int WINAPI _getSystemMetrics (int);
127.119 -
127.120 -/* Additional API's */
127.121 -int WINAPI _countMonitors (void);
127.122 -int WINAPI _collectMonitors (MHND*,int);
127.123 -BOOL WINAPI _monitorBounds (MHND,RECT*);
127.124 -HDC WINAPI _makeDCFromMonitor (MHND);
127.125 -HWND WINAPI _createWindowOM (MHND,LPCTSTR,LPCTSTR,DWORD,int,int,int,
127.126 - int,HWND,HMENU,HANDLE,LPVOID);
127.127 -
127.128 -#ifdef __cplusplus
127.129 -}
127.130 -#endif /* __cplusplus */
127.131 -
127.132 -#endif /* !defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500) */
127.133 -
127.134 -#endif /* _INC_MMSTUB */
128.1 --- a/src/windows/native/sun/windows/awt_MenuItem.cpp Tue Feb 17 09:06:16 2009 -0800
128.2 +++ b/src/windows/native/sun/windows/awt_MenuItem.cpp Wed Feb 18 10:05:41 2009 -0800
128.3 @@ -1,5 +1,5 @@
128.4 /*
128.5 - * Copyright 1996-2007 Sun Microsystems, Inc. All Rights Reserved.
128.6 + * Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved.
128.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
128.8 *
128.9 * This code is free software; you can redistribute it and/or modify it
128.10 @@ -23,6 +23,7 @@
128.11 * have any questions.
128.12 */
128.13
128.14 +#include "awt.h"
128.15 #include "awt_MenuItem.h"
128.16 #include "awt_Menu.h"
128.17 #include "awt_MenuBar.h"
128.18 @@ -70,7 +71,6 @@
128.19 LANGID AwtMenuItem::m_idLang = LOWORD(GetKeyboardLayout(0));
128.20 UINT AwtMenuItem::m_CodePage =
128.21 AwtMenuItem::LangToCodePage(AwtMenuItem::m_idLang);
128.22 -BOOL AwtMenuItem::m_isWin95 = IS_WIN95;
128.23 BOOL AwtMenuItem::sm_rtl = PRIMARYLANGID(GetInputLanguage()) == LANG_ARABIC ||
128.24 PRIMARYLANGID(GetInputLanguage()) == LANG_HEBREW;
128.25 BOOL AwtMenuItem::sm_rtlReadingOrder =
128.26 @@ -150,7 +150,7 @@
128.27 jobject createError = NULL;
128.28 if (dw == ERROR_OUTOFMEMORY)
128.29 {
128.30 - jstring errorMsg = env->NewStringUTF("too many menu handles");
128.31 + jstring errorMsg = JNU_NewStringPlatform(env, L"too many menu handles");
128.32 createError = JNU_NewObjectByName(env, "java/lang/OutOfMemoryError",
128.33 "(Ljava/lang/String;)V",
128.34 errorMsg);
128.35 @@ -435,16 +435,7 @@
128.36 if (drawInfo.itemID != m_Id)
128.37 return;
128.38
128.39 - /* Fixed bug 4349969. Since the problem occurs on Windows 98 and not on
128.40 - Windows NT, the fix is to check for Windows 95/98 and to check if the
128.41 - handle to the menu of the item to be drawn is the same as the handle to the
128.42 - menu of the menu object. If they're not the same, just return and don't do
128.43 - the drawing.
128.44 - */
128.45 - if ( IS_WIN95 && drawInfo.hwndItem != (HWND)this->m_menuContainer->GetHMenu()) {
128.46 - return;
128.47 - } else
128.48 - DrawSelf(drawInfo);
128.49 + DrawSelf(drawInfo);
128.50 }
128.51
128.52 void AwtMenuItem::MeasureSelf(HDC hDC, MEASUREITEMSTRUCT& measureInfo)
128.53 @@ -802,8 +793,9 @@
128.54 jobject jitem = GetTarget(env);
128.55 jstring label =
128.56 (jstring)(env)->GetObjectField(jitem, AwtMenuItem::labelID);
128.57 - LPWSTR labelW = TO_WSTRING(label);
128.58 + LPCWSTR labelW = JNU_GetStringPlatformChars(env, label, NULL);
128.59 BOOL isSeparator = (labelW && (wcscmp(labelW, L"-") == 0));
128.60 + JNU_ReleaseStringPlatformChars(env, label, labelW);
128.61
128.62 env->DeleteLocalRef(label);
128.63 env->DeleteLocalRef(jitem);
129.1 --- a/src/windows/native/sun/windows/awt_Multimon.h Tue Feb 17 09:06:16 2009 -0800
129.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
129.3 @@ -1,54 +0,0 @@
129.4 -/*
129.5 - * Copyright 1999-2001 Sun Microsystems, Inc. All Rights Reserved.
129.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
129.7 - *
129.8 - * This code is free software; you can redistribute it and/or modify it
129.9 - * under the terms of the GNU General Public License version 2 only, as
129.10 - * published by the Free Software Foundation. Sun designates this
129.11 - * particular file as subject to the "Classpath" exception as provided
129.12 - * by Sun in the LICENSE file that accompanied this code.
129.13 - *
129.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
129.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
129.16 - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
129.17 - * version 2 for more details (a copy is included in the LICENSE file that
129.18 - * accompanied this code).
129.19 - *
129.20 - * You should have received a copy of the GNU General Public License version
129.21 - * 2 along with this work; if not, write to the Free Software Foundation,
129.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
129.23 - *
129.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
129.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
129.26 - * have any questions.
129.27 - */
129.28 -#ifndef _INC_MULTIMON_
129.29 -#define _INC_MULTIMON_
129.30 -#endif
129.31 -//
129.32 -// build defines that replace the regular APIs with our versions
129.33 -//
129.34 -#undef GetMonitorInfo
129.35 -#undef GetSystemMetrics
129.36 -#undef MonitorFromWindow
129.37 -#undef MonitorFromRect
129.38 -#undef MonitorFromPoint
129.39 -#undef EnumDisplayMonitors
129.40 -#undef EnumDisplayDevices
129.41 -
129.42 -#include "awt_MMStub.h"
129.43 -
129.44 -#define GetSystemMetricsMM _getSystemMetrics
129.45 -#define MonitorFromWindow _monitorFromWindow
129.46 -#define MonitorFromRect _monitorFromRect
129.47 -#define MonitorFromPoint _monitorFromPoint
129.48 -#define GetMonitorInfo _getMonitorInfo
129.49 -#define EnumDisplayMonitors _enumDisplayMonitors
129.50 -#define EnumDisplayDevices _enumDisplayDevices
129.51 -
129.52 -
129.53 -#define CountMonitors _countMonitors
129.54 -#define CollectMonitors _collectMonitors
129.55 -#define MonitorBounds _monitorBounds
129.56 -#define MakeDCFromMonitor _makeDCFromMonitor
129.57 -#define CreateWindowOnMonitor _createWindowOM
130.1 --- a/src/windows/native/sun/windows/awt_Object.cpp Tue Feb 17 09:06:16 2009 -0800
130.2 +++ b/src/windows/native/sun/windows/awt_Object.cpp Wed Feb 18 10:05:41 2009 -0800
130.3 @@ -25,9 +25,6 @@
130.4
130.5 #include "awt_Object.h"
130.6 #include "ObjectList.h"
130.7 -#ifdef DEBUG
130.8 -#include "awt_Unicode.h"
130.9 -#endif
130.10
130.11 #ifdef DEBUG
130.12 static BOOL reportEvents = FALSE;
130.13 @@ -116,8 +113,9 @@
130.14 "getName",
130.15 "()Ljava/lang/String;").l;
130.16 DASSERT(!safe_ExceptionOccurred(env));
130.17 - printf("Posting %s%s method to %S\n", methodName, methodSig,
130.18 - TO_WSTRING(targetStr));
130.19 + LPCWSTR targetStrW = JNU_GetStringPlatformChars(env, targetStr, NULL);
130.20 + printf("Posting %s%s method to %S\n", methodName, methodSig, targetStrW);
130.21 + JNU_ReleaseStringPlatformChars(env, targetStr, targetStrW);
130.22 }
130.23 #endif
130.24 /* caching would do much good here */
130.25 @@ -148,8 +146,11 @@
130.26 (jstring)JNU_CallMethodByName(env, NULL, GetTarget(env),"getName",
130.27 "()Ljava/lang/String;").l;
130.28 DASSERT(!safe_ExceptionOccurred(env));
130.29 - printf("Posting %S to %S\n", TO_WSTRING(eventStr),
130.30 - TO_WSTRING(targetStr));
130.31 + LPCWSTR eventStrW = JNU_GetStringPlatformChars(env, eventStr, NULL);
130.32 + LPCWSTR targetStrW = JNU_GetStringPlatformChars(env, targetStr, NULL);
130.33 + printf("Posting %S to %S\n", eventStrW, targetStrW);
130.34 + JNU_ReleaseStringPlatformChars(env, eventStr, eventStrW);
130.35 + JNU_ReleaseStringPlatformChars(env, targetStr, targetStrW);
130.36 }
130.37 #endif
130.38 /* Post event to the system EventQueue. */
131.1 --- a/src/windows/native/sun/windows/awt_Palette.cpp Tue Feb 17 09:06:16 2009 -0800
131.2 +++ b/src/windows/native/sun/windows/awt_Palette.cpp Wed Feb 18 10:05:41 2009 -0800
131.3 @@ -1,5 +1,5 @@
131.4 /*
131.5 - * Copyright 2001-2004 Sun Microsystems, Inc. All Rights Reserved.
131.6 + * Copyright 2001-2008 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 @@ -23,7 +23,7 @@
131.11 * have any questions.
131.12 */
131.13
131.14 -#include <windows.h>
131.15 +#include "awt.h"
131.16 #include "awt_Palette.h"
131.17 #include "awt_Component.h"
131.18 #include "img_util_md.h"
132.1 --- a/src/windows/native/sun/windows/awt_PopupMenu.cpp Tue Feb 17 09:06:16 2009 -0800
132.2 +++ b/src/windows/native/sun/windows/awt_PopupMenu.cpp Wed Feb 18 10:05:41 2009 -0800
132.3 @@ -234,11 +234,13 @@
132.4 jobject jitem = item->GetTarget(env);
132.5 BOOL bItemEnabled = isEnabled && (jboolean)env->GetBooleanField(jitem,
132.6 AwtMenuItem::enabledID);
132.7 - LPWSTR labelW = TO_WSTRING((jstring)env->GetObjectField(jitem,
132.8 - AwtMenuItem::labelID));
132.9 - if (labelW != NULL && wcscmp(labelW,L"-") != 0) {
132.10 + jstring labelStr = static_cast<jstring>(env->GetObjectField(jitem, AwtMenuItem::labelID));
132.11 + LPCWSTR labelStrW = JNU_GetStringPlatformChars(env, labelStr, NULL);
132.12 + if (labelStrW && wcscmp(labelStrW, L"-") != 0) {
132.13 item->Enable(bItemEnabled);
132.14 }
132.15 + JNU_ReleaseStringPlatformChars(env, labelStr, labelStrW);
132.16 + env->DeleteLocalRef(labelStr);
132.17 env->DeleteLocalRef(jitem);
132.18 }
132.19 env->DeleteLocalRef(target);
133.1 --- a/src/windows/native/sun/windows/awt_PrintControl.cpp Tue Feb 17 09:06:16 2009 -0800
133.2 +++ b/src/windows/native/sun/windows/awt_PrintControl.cpp Wed Feb 18 10:05:41 2009 -0800
133.3 @@ -1,5 +1,5 @@
133.4 /*
133.5 - * Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved.
133.6 + * Copyright 1999-2008 Sun Microsystems, Inc. All Rights Reserved.
133.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
133.8 *
133.9 * This code is free software; you can redistribute it and/or modify it
133.10 @@ -108,16 +108,13 @@
133.11 {
133.12 JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
133.13
133.14 - BOOL nt = IS_NT;
133.15 DWORD cReturned = 0;
133.16
133.17 if (pPrinterEnum == NULL) {
133.18 // Compute size of buffer
133.19 DWORD cbNeeded = 0;
133.20 - if (nt) {
133.21 - ::EnumPrinters(PRINTER_ENUM_LOCAL | PRINTER_ENUM_CONNECTIONS,
133.22 + ::EnumPrinters(PRINTER_ENUM_LOCAL | PRINTER_ENUM_CONNECTIONS,
133.23 NULL, 2, NULL, 0, &cbNeeded, &cReturned);
133.24 - }
133.25 ::EnumPrinters(PRINTER_ENUM_LOCAL,
133.26 NULL, 5, NULL, 0, pcbBuf, &cReturned);
133.27 if (cbNeeded > (*pcbBuf)) {
133.28 @@ -139,65 +136,63 @@
133.29 // doesn't support port searches. So, if the user has specified the
133.30 // printer name as "LPT1:" (even though this is actually a port
133.31 // name), we won't find the printer here.
133.32 - if (nt) {
133.33 - if (!::EnumPrinters(PRINTER_ENUM_LOCAL | PRINTER_ENUM_CONNECTIONS,
133.34 - NULL, 4, pPrinterEnum, cbBuf, &dummyWord, &cReturned)) {
133.35 - return FALSE;
133.36 - }
133.37 + if (!::EnumPrinters(PRINTER_ENUM_LOCAL | PRINTER_ENUM_CONNECTIONS,
133.38 + NULL, 4, pPrinterEnum, cbBuf, &dummyWord, &cReturned)) {
133.39 + return FALSE;
133.40 + }
133.41
133.42 - for (DWORD i = 0; i < cReturned; i++) {
133.43 - PRINTER_INFO_4 *info4 = (PRINTER_INFO_4 *)
133.44 - (pPrinterEnum + i * sizeof(PRINTER_INFO_4));
133.45 - if (info4->pPrinterName != NULL &&
133.46 - _tcsicmp(lpcPrinterName, info4->pPrinterName) == 0) {
133.47 + for (DWORD i = 0; i < cReturned; i++) {
133.48 + PRINTER_INFO_4 *info4 = (PRINTER_INFO_4 *)
133.49 + (pPrinterEnum + i * sizeof(PRINTER_INFO_4));
133.50 + if (info4->pPrinterName != NULL &&
133.51 + _tcsicmp(lpcPrinterName, info4->pPrinterName) == 0) {
133.52
133.53 - // Fix for BugTraq Id 4281380.
133.54 - // Get the port name since some drivers may require
133.55 - // this name to be passed to ::DeviceCapabilities().
133.56 - HANDLE hPrinter = NULL;
133.57 - if (::OpenPrinter(info4->pPrinterName, &hPrinter, NULL)) {
133.58 - // Fix for BugTraq Id 4286812.
133.59 - // Some drivers don't support PRINTER_INFO_5.
133.60 - // In this case we try PRINTER_INFO_2, and if that
133.61 - // isn't supported as well return NULL port name.
133.62 - try {
133.63 - if (AwtPrintControl::IsSupportedLevel(hPrinter, 5)) {
133.64 - VERIFY(::GetPrinter(hPrinter, 5, pPrinterEnum, cbBuf,
133.65 - &dummyWord));
133.66 - PRINTER_INFO_5 *info5 = (PRINTER_INFO_5 *)pPrinterEnum;
133.67 - *foundPrinter = info5->pPrinterName;
133.68 - // pPortName may specify multiple ports. We only want one.
133.69 - *foundPort = (info5->pPortName != NULL)
133.70 - ? _tcstok(info5->pPortName, TEXT(",")) : NULL;
133.71 - } else if (AwtPrintControl::IsSupportedLevel(hPrinter, 2)) {
133.72 - VERIFY(::GetPrinter(hPrinter, 2, pPrinterEnum, cbBuf,
133.73 - &dummyWord));
133.74 - PRINTER_INFO_2 *info2 = (PRINTER_INFO_2 *)pPrinterEnum;
133.75 - *foundPrinter = info2->pPrinterName;
133.76 - // pPortName may specify multiple ports. We only want one.
133.77 - *foundPort = (info2->pPortName != NULL)
133.78 - ? _tcstok(info2->pPortName, TEXT(",")) : NULL;
133.79 - } else {
133.80 - *foundPrinter = info4->pPrinterName;
133.81 - // We failed to determine port name for the found printer.
133.82 - *foundPort = NULL;
133.83 - }
133.84 - } catch (std::bad_alloc&) {
133.85 - VERIFY(::ClosePrinter(hPrinter));
133.86 - throw;
133.87 + // Fix for BugTraq Id 4281380.
133.88 + // Get the port name since some drivers may require
133.89 + // this name to be passed to ::DeviceCapabilities().
133.90 + HANDLE hPrinter = NULL;
133.91 + if (::OpenPrinter(info4->pPrinterName, &hPrinter, NULL)) {
133.92 + // Fix for BugTraq Id 4286812.
133.93 + // Some drivers don't support PRINTER_INFO_5.
133.94 + // In this case we try PRINTER_INFO_2, and if that
133.95 + // isn't supported as well return NULL port name.
133.96 + try {
133.97 + if (AwtPrintControl::IsSupportedLevel(hPrinter, 5)) {
133.98 + VERIFY(::GetPrinter(hPrinter, 5, pPrinterEnum, cbBuf,
133.99 + &dummyWord));
133.100 + PRINTER_INFO_5 *info5 = (PRINTER_INFO_5 *)pPrinterEnum;
133.101 + *foundPrinter = info5->pPrinterName;
133.102 + // pPortName may specify multiple ports. We only want one.
133.103 + *foundPort = (info5->pPortName != NULL)
133.104 + ? _tcstok(info5->pPortName, TEXT(",")) : NULL;
133.105 + } else if (AwtPrintControl::IsSupportedLevel(hPrinter, 2)) {
133.106 + VERIFY(::GetPrinter(hPrinter, 2, pPrinterEnum, cbBuf,
133.107 + &dummyWord));
133.108 + PRINTER_INFO_2 *info2 = (PRINTER_INFO_2 *)pPrinterEnum;
133.109 + *foundPrinter = info2->pPrinterName;
133.110 + // pPortName may specify multiple ports. We only want one.
133.111 + *foundPort = (info2->pPortName != NULL)
133.112 + ? _tcstok(info2->pPortName, TEXT(",")) : NULL;
133.113 + } else {
133.114 + *foundPrinter = info4->pPrinterName;
133.115 + // We failed to determine port name for the found printer.
133.116 + *foundPort = NULL;
133.117 }
133.118 -
133.119 + } catch (std::bad_alloc&) {
133.120 VERIFY(::ClosePrinter(hPrinter));
133.121 -
133.122 - return TRUE;
133.123 + throw;
133.124 }
133.125
133.126 - return FALSE;
133.127 + VERIFY(::ClosePrinter(hPrinter));
133.128 +
133.129 + return TRUE;
133.130 }
133.131 +
133.132 + return FALSE;
133.133 }
133.134 }
133.135
133.136 - // We still haven't found the printer, or we're using 95/98.
133.137 + // We still haven't found the printer, /* or we're using 95/98. */
133.138 // PRINTER_INFO_5 supports both printer name and port name, so
133.139 // we'll test both. On NT, PRINTER_ENUM_LOCAL means just local
133.140 // printers. This is what we want, because we already tested all
133.141 @@ -213,28 +208,17 @@
133.142 for (DWORD i = 0; i < cReturned; i++) {
133.143 PRINTER_INFO_5 *info5 = (PRINTER_INFO_5 *)
133.144 (pPrinterEnum + i * sizeof(PRINTER_INFO_5));
133.145 - if (nt) {
133.146 - // pPortName can specify multiple ports. Test them one at
133.147 - // a time.
133.148 - if (info5->pPortName != NULL) {
133.149 - LPTSTR port = _tcstok(info5->pPortName, TEXT(","));
133.150 - while (port != NULL) {
133.151 - if (_tcsicmp(lpcPrinterName, port) == 0) {
133.152 - *foundPrinter = info5->pPrinterName;
133.153 - *foundPort = port;
133.154 - return TRUE;
133.155 - }
133.156 - port = _tcstok(NULL, TEXT(","));
133.157 + // pPortName can specify multiple ports. Test them one at
133.158 + // a time.
133.159 + if (info5->pPortName != NULL) {
133.160 + LPTSTR port = _tcstok(info5->pPortName, TEXT(","));
133.161 + while (port != NULL) {
133.162 + if (_tcsicmp(lpcPrinterName, port) == 0) {
133.163 + *foundPrinter = info5->pPrinterName;
133.164 + *foundPort = port;
133.165 + return TRUE;
133.166 }
133.167 - }
133.168 - } else {
133.169 - if ((info5->pPrinterName != NULL &&
133.170 - _tcsicmp(lpcPrinterName, info5->pPrinterName) == 0) ||
133.171 - (info5->pPortName != NULL &&
133.172 - _tcsicmp(lpcPrinterName, info5->pPortName) == 0)) {
133.173 - *foundPrinter = info5->pPrinterName;
133.174 - *foundPort = info5->pPortName;
133.175 - return TRUE;
133.176 + port = _tcstok(NULL, TEXT(","));
133.177 }
133.178 }
133.179 }
133.180 @@ -400,13 +384,11 @@
133.181 }
133.182
133.183 // Create DEVNAMES.
133.184 - if (IS_NT) {
133.185 - if (pPortName != NULL) {
133.186 - info2->pPortName = pPortName;
133.187 - } else if (info2->pPortName != NULL) {
133.188 - // pPortName may specify multiple ports. We only want one.
133.189 - info2->pPortName = _tcstok(info2->pPortName, TEXT(","));
133.190 - }
133.191 + if (pPortName != NULL) {
133.192 + info2->pPortName = pPortName;
133.193 + } else if (info2->pPortName != NULL) {
133.194 + // pPortName may specify multiple ports. We only want one.
133.195 + info2->pPortName = _tcstok(info2->pPortName, TEXT(","));
133.196 }
133.197
133.198 size_t lenDriverName = ((info2->pDriverName != NULL)
134.1 --- a/src/windows/native/sun/windows/awt_PrintDialog.cpp Tue Feb 17 09:06:16 2009 -0800
134.2 +++ b/src/windows/native/sun/windows/awt_PrintDialog.cpp Wed Feb 18 10:05:41 2009 -0800
134.3 @@ -1,5 +1,5 @@
134.4 /*
134.5 - * Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved.
134.6 + * Copyright 1999-2008 Sun Microsystems, Inc. All Rights Reserved.
134.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
134.8 *
134.9 * This code is free software; you can redistribute it and/or modify it
134.10 @@ -23,10 +23,10 @@
134.11 * have any questions.
134.12 */
134.13
134.14 +#include "awt.h"
134.15 #include "awt_PrintDialog.h"
134.16 #include "awt_Dialog.h"
134.17 #include "awt_PrintControl.h"
134.18 -#include "awt_dlls.h"
134.19 #include "awt_Window.h"
134.20 #include "ComCtl32Util.h"
134.21 #include <sun_awt_windows_WPrintDialog.h>
134.22 @@ -39,11 +39,9 @@
134.23
134.24 BOOL
134.25 AwtPrintDialog::PrintDlg(LPPRINTDLG data) {
134.26 - AwtCommDialog::load_comdlg_procs();
134.27 return static_cast<BOOL>(reinterpret_cast<INT_PTR>(
134.28 AwtToolkit::GetInstance().InvokeFunction(
134.29 - reinterpret_cast<void *(*)(void *)>(AwtCommDialog::PrintDlgWrapper),
134.30 - data)));
134.31 + reinterpret_cast<void *(*)(void *)>(::PrintDlg), data)));
134.32 }
134.33
134.34 LRESULT CALLBACK PrintDialogWndProc(HWND hWnd, UINT message,
135.1 --- a/src/windows/native/sun/windows/awt_PrintJob.cpp Tue Feb 17 09:06:16 2009 -0800
135.2 +++ b/src/windows/native/sun/windows/awt_PrintJob.cpp Wed Feb 18 10:05:41 2009 -0800
135.3 @@ -1,5 +1,5 @@
135.4 /*
135.5 - * Copyright 1996-2007 Sun Microsystems, Inc. All Rights Reserved.
135.6 + * Copyright 1996-2008 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 @@ -23,6 +23,7 @@
135.11 * have any questions.
135.12 */
135.13
135.14 +#include "awt.h"
135.15 #include <math.h>
135.16 #include <windef.h>
135.17 #include <wtypes.h>
135.18 @@ -30,10 +31,9 @@
135.19 #include <commdlg.h>
135.20 #include <winspool.h>
135.21
135.22 -#include "awt.h"
135.23 -#include "awt_dlls.h"
135.24 #include "awt_Toolkit.h"
135.25 #include "awt_Component.h"
135.26 +#include "awt_Dialog.h"
135.27 #include "awt_Font.h"
135.28 #include "awt_PrintDialog.h"
135.29 #include "awt_PrintControl.h"
135.30 @@ -422,7 +422,7 @@
135.31 */
135.32 if (AwtPrintControl::getPrintHDMode(env, self) == NULL ||
135.33 AwtPrintControl::getPrintHDName(env,self) == NULL) {
135.34 - (void)AwtCommDialog::PageSetupDlg(&setup);
135.35 + (void)::PageSetupDlg(&setup);
135.36 /* check if hDevMode and hDevNames are set.
135.37 * If both are null, then there is no default printer.
135.38 */
135.39 @@ -460,7 +460,7 @@
135.40
135.41 AwtDialog::CheckInstallModalHook();
135.42
135.43 - BOOL ret = AwtCommDialog::PageSetupDlg(&setup);
135.44 + BOOL ret = ::PageSetupDlg(&setup);
135.45 if (ret) {
135.46
135.47 jobject paper = getPaper(env, page);
135.48 @@ -733,7 +733,7 @@
135.49 pd.lStructSize = sizeof(PRINTDLG);
135.50 pd.Flags = PD_RETURNDEFAULT | PD_RETURNDC;
135.51
135.52 - if (AwtCommDialog::PrintDlg(&pd)) {
135.53 + if (::PrintDlg(&pd)) {
135.54 printDC = pd.hDC;
135.55 hDevMode = pd.hDevMode;
135.56 hDevNames = pd.hDevNames;
135.57 @@ -1838,10 +1838,6 @@
135.58 (JNIEnv *env, jobject self, jlong printDC, jlong cap, jlong join, jfloat width,
135.59 jint red, jint green, jint blue) {
135.60
135.61 - /* End cap and line join styles are not supported in Win 9x. */
135.62 - if (IS_WIN95)
135.63 - return JNI_FALSE;
135.64 -
135.65 TRY;
135.66
135.67 LOGBRUSH logBrush;
135.68 @@ -1879,23 +1875,13 @@
135.69 {
135.70 jboolean didSetFont = JNI_FALSE;
135.71
135.72 - if (IS_NT) {
135.73 - didSetFont = jFontToWFontW(env, (HDC)printDC,
135.74 + didSetFont = jFontToWFontW(env, (HDC)printDC,
135.75 fontName,
135.76 fontSize,
135.77 isBold,
135.78 isItalic,
135.79 rotation,
135.80 awScale);
135.81 - } else {
135.82 - didSetFont = jFontToWFontA(env, (HDC)printDC,
135.83 - fontName,
135.84 - fontSize,
135.85 - isBold,
135.86 - isItalic,
135.87 - rotation,
135.88 - awScale);
135.89 - }
135.90
135.91 return didSetFont;
135.92 }
135.93 @@ -1919,7 +1905,7 @@
135.94
135.95 memset(&matchedLogFont, 0, sizeof(matchedLogFont));
135.96
135.97 - WCHAR* name = TO_WSTRING(fontName);
135.98 + LPCWSTR fontNameW = JNU_GetStringPlatformChars(env, fontName, NULL);
135.99
135.100
135.101 /* Some fontnames of Non-ASCII fonts like 'MS Minchou' are themselves
135.102 @@ -1928,14 +1914,14 @@
135.103 */
135.104 int maxlen = static_cast<int>(sizeof(lf.lfFaceName)) - 1;
135.105 // maxlen is int due to cbMultiByte parameter is int
135.106 - int destLen = WideCharToMultiByte(CP_ACP, // convert to ASCII code page
135.107 - 0, // flags
135.108 - name, // Unicode string
135.109 - -1, // Unicode length is calculated automatically
135.110 + int destLen = WideCharToMultiByte(CP_ACP, // convert to ASCII code page
135.111 + 0, // flags
135.112 + fontNameW, // Unicode string
135.113 + -1, // Unicode length is calculated automatically
135.114 lf.lfFaceName, // Put ASCII string here
135.115 - maxlen, // max len
135.116 - NULL, // default handling of unmappables
135.117 - NULL);// do not care if def char is used
135.118 + maxlen, // max len
135.119 + NULL, // default handling of unmappables
135.120 + NULL); // do not care if def char is used
135.121
135.122 /* If WideCharToMultiByte succeeded then the number
135.123 * of bytes it copied into the face name buffer will
135.124 @@ -2018,9 +2004,10 @@
135.125 } else {
135.126 foundFont = false;
135.127 }
135.128 -
135.129 }
135.130
135.131 + JNU_ReleaseStringPlatformChars(env, fontName, fontNameW);
135.132 +
135.133 return foundFont ? JNI_TRUE : JNI_FALSE;
135.134 }
135.135
135.136 @@ -2043,27 +2030,29 @@
135.137
135.138 memset(&matchedLogFont, 0, sizeof(matchedLogFont));
135.139
135.140 + LPCWSTR fontNameW = JNU_GetStringPlatformChars(env, fontName, NULL);
135.141 +
135.142 /* Describe the GDI fonts we want enumerated. We
135.143 * simply supply the java font name and let GDI
135.144 * do the matching. If the java font name is
135.145 * longer than the GDI maximum font lenght then
135.146 * we can't convert the font.
135.147 */
135.148 - WCHAR* name = TO_WSTRING(fontName);
135.149 - size_t nameLen = wcslen(name);
135.150 -
135.151 + size_t nameLen = wcslen(fontNameW);
135.152 if (nameLen < (sizeof(lf.lfFaceName) / sizeof(lf.lfFaceName[0]))) {
135.153
135.154 - wcscpy(lf.lfFaceName, name);
135.155 + wcscpy(lf.lfFaceName, fontNameW);
135.156
135.157 lf.lfCharSet = DEFAULT_CHARSET;
135.158 lf.lfPitchAndFamily = 0;
135.159
135.160 - foundFont = !EnumFontFamiliesExW((HDC)printDC, &lf,
135.161 + foundFont = !::EnumFontFamiliesEx((HDC)printDC, &lf,
135.162 (FONTENUMPROCW) fontEnumProcW,
135.163 (LPARAM) &matchedLogFont, 0);
135.164 }
135.165
135.166 + JNU_ReleaseStringPlatformChars(env, fontName, fontNameW);
135.167 +
135.168 if (!foundFont) {
135.169 return JNI_FALSE;
135.170 }
135.171 @@ -2100,7 +2089,7 @@
135.172
135.173 //Debug: dumpLogFont(&matchedLogFont);
135.174
135.175 - HFONT font = CreateFontIndirectW(&matchedLogFont);
135.176 + HFONT font = ::CreateFontIndirect(&matchedLogFont);
135.177 if (font == NULL) {
135.178 return JNI_FALSE;
135.179 }
135.180 @@ -2123,7 +2112,7 @@
135.181 GetTextMetrics(printDC, &tm);
135.182 avgWidth = tm.tmAveCharWidth;
135.183 matchedLogFont.lfWidth = (LONG)((fabs)(avgWidth*awScale));
135.184 - font = CreateFontIndirectW(&matchedLogFont);
135.185 + font = ::CreateFontIndirect(&matchedLogFont);
135.186 if (font == NULL) {
135.187 return JNI_FALSE;
135.188 }
135.189 @@ -2230,14 +2219,11 @@
135.190 (JNIEnv *env, jobject self, jlong printDC, jstring text)
135.191 {
135.192 SIZE size;
135.193 - LPWSTR wText = TO_WSTRING(text);
135.194 + LPCWSTR wText = JNU_GetStringPlatformChars(env, text, NULL);
135.195 size_t strLen = wcslen(wText);
135.196 BOOL ok = GetTextExtentPoint32((HDC)printDC, wText, (int)strLen, &size);
135.197 - if (ok) {
135.198 - return size.cx;
135.199 - } else {
135.200 - return 0;
135.201 - }
135.202 + JNU_ReleaseStringPlatformChars(env, text, wText);
135.203 + return ok ? size.cx : 0;
135.204 }
135.205
135.206
135.207 @@ -2288,7 +2274,7 @@
135.208 long posX = ROUND_TO_LONG(x);
135.209 long posY = ROUND_TO_LONG(y);
135.210 int flags = (glyphCodes !=0) ? ETO_GLYPH_INDEX : 0;
135.211 - LPWSTR wText = TO_WSTRING(text);
135.212 + LPCWSTR wText = JNU_GetStringPlatformChars(env, text, NULL);
135.213
135.214 int *advances = NULL, *xadvances = NULL, *xyadvances = NULL;
135.215 BOOL useYAdvances = FALSE;
135.216 @@ -2359,7 +2345,7 @@
135.217 *inxyAdvances = 0;
135.218 }
135.219
135.220 - if (useYAdvances && IS_WIN2000) {
135.221 + if (useYAdvances) {
135.222 advances = xyadvances;
135.223 flags |= J2D_ETO_PDY;
135.224 } else {
135.225 @@ -2371,7 +2357,7 @@
135.226 env->ReleaseFloatArrayElements(positions, glyphPos, JNI_ABORT);
135.227 }
135.228
135.229 - BOOL drawn = ::ExtTextOutW( (HDC)printDC,
135.230 + BOOL drawn = ::ExtTextOut((HDC)printDC,
135.231 posX, posY, // starting position for the text
135.232 flags, // glyphCodes?, y advances?
135.233 NULL, // optional clipping-opaquing rectangle
135.234 @@ -2385,6 +2371,8 @@
135.235 if (xyadvances != NULL) {
135.236 free(xyadvances);
135.237 }
135.238 +
135.239 + JNU_ReleaseStringPlatformChars(env, text, wText);
135.240 }
135.241
135.242 /**
135.243 @@ -2968,7 +2956,7 @@
135.244 pd.lStructSize = sizeof(PRINTDLG);
135.245 pd.Flags = PD_RETURNDEFAULT | PD_RETURNDC;
135.246
135.247 - if (AwtCommDialog::PrintDlg(&pd)) {
135.248 + if (::PrintDlg(&pd)) {
135.249 printDC = pd.hDC;
135.250
135.251 /* Find out how many copies the driver can do, and use driver's
136.1 --- a/src/windows/native/sun/windows/awt_Robot.cpp Tue Feb 17 09:06:16 2009 -0800
136.2 +++ b/src/windows/native/sun/windows/awt_Robot.cpp Wed Feb 18 10:05:41 2009 -0800
136.3 @@ -1,5 +1,5 @@
136.4 /*
136.5 - * Copyright 1998-2006 Sun Microsystems, Inc. All Rights Reserved.
136.6 + * Copyright 1998-2008 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 @@ -23,6 +23,7 @@
136.11 * have any questions.
136.12 */
136.13
136.14 +#include "awt.h"
136.15 #include "awt_Toolkit.h"
136.16 #include "awt_Component.h"
136.17 #include "awt_Robot.h"
136.18 @@ -30,8 +31,6 @@
136.19 #include "java_awt_event_InputEvent.h"
136.20 #include <winuser.h>
136.21
136.22 -static const int MOUSE_MAX = 65535;
136.23 -
136.24 AwtRobot::AwtRobot( jobject peer )
136.25 {
136.26 JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
136.27 @@ -44,11 +43,11 @@
136.28 }
136.29
136.30 #ifndef SPI_GETMOUSESPEED
136.31 -#define SPI_GETMOUSESPEED 112
136.32 +#define SPI_GETMOUSESPEED 112
136.33 #endif
136.34
136.35 #ifndef SPI_SETMOUSESPEED
136.36 -#define SPI_SETMOUSESPEED 113
136.37 +#define SPI_SETMOUSESPEED 113
136.38 #endif
136.39
136.40 void AwtRobot::MouseMove( jint x, jint y)
136.41 @@ -102,19 +101,38 @@
136.42 // left handed mouse setup
136.43 BOOL bSwap = ::GetSystemMetrics(SM_SWAPBUTTON);
136.44
136.45 - if ( buttonMask & java_awt_event_InputEvent_BUTTON1_MASK ) {
136.46 + if ( buttonMask & java_awt_event_InputEvent_BUTTON1_MASK ||
136.47 + buttonMask & java_awt_event_InputEvent_BUTTON1_DOWN_MASK)
136.48 + {
136.49 dwFlags |= !bSwap ? MOUSEEVENTF_LEFTDOWN : MOUSEEVENTF_RIGHTDOWN;
136.50 }
136.51
136.52 - if ( buttonMask & java_awt_event_InputEvent_BUTTON3_MASK ) {
136.53 + if ( buttonMask & java_awt_event_InputEvent_BUTTON3_MASK ||
136.54 + buttonMask & java_awt_event_InputEvent_BUTTON3_DOWN_MASK)
136.55 + {
136.56 dwFlags |= !bSwap ? MOUSEEVENTF_RIGHTDOWN : MOUSEEVENTF_LEFTDOWN;
136.57 }
136.58
136.59 - if ( buttonMask & java_awt_event_InputEvent_BUTTON2_MASK ) {
136.60 + if ( buttonMask & java_awt_event_InputEvent_BUTTON2_MASK ||
136.61 + buttonMask & java_awt_event_InputEvent_BUTTON2_DOWN_MASK)
136.62 + {
136.63 dwFlags |= MOUSEEVENTF_MIDDLEDOWN;
136.64 }
136.65
136.66 - mouse_event(dwFlags, 0, 0, 0, 0 );
136.67 + INPUT mouseInput = {0};
136.68 + mouseInput.type = INPUT_MOUSE;
136.69 + mouseInput.mi.time = 0;
136.70 + mouseInput.mi.dwFlags = dwFlags;
136.71 + if ( buttonMask & AwtComponent::masks[3] ) {
136.72 + mouseInput.mi.dwFlags = mouseInput.mi.dwFlags | MOUSEEVENTF_XDOWN;
136.73 + mouseInput.mi.mouseData = XBUTTON1;
136.74 + }
136.75 +
136.76 + if ( buttonMask & AwtComponent::masks[4] ) {
136.77 + mouseInput.mi.dwFlags = mouseInput.mi.dwFlags | MOUSEEVENTF_XDOWN;
136.78 + mouseInput.mi.mouseData = XBUTTON2;
136.79 + }
136.80 + ::SendInput(1, &mouseInput, sizeof(mouseInput));
136.81 }
136.82
136.83 void AwtRobot::MouseRelease( jint buttonMask )
136.84 @@ -125,61 +143,43 @@
136.85 // left handed mouse setup
136.86 BOOL bSwap = ::GetSystemMetrics(SM_SWAPBUTTON);
136.87
136.88 - if ( buttonMask & java_awt_event_InputEvent_BUTTON1_MASK ) {
136.89 + if ( buttonMask & java_awt_event_InputEvent_BUTTON1_MASK ||
136.90 + buttonMask & java_awt_event_InputEvent_BUTTON1_DOWN_MASK)
136.91 + {
136.92 dwFlags |= !bSwap ? MOUSEEVENTF_LEFTUP : MOUSEEVENTF_RIGHTUP;
136.93 }
136.94
136.95 - if ( buttonMask & java_awt_event_InputEvent_BUTTON3_MASK ) {
136.96 + if ( buttonMask & java_awt_event_InputEvent_BUTTON3_MASK ||
136.97 + buttonMask & java_awt_event_InputEvent_BUTTON3_DOWN_MASK)
136.98 + {
136.99 dwFlags |= !bSwap ? MOUSEEVENTF_RIGHTUP : MOUSEEVENTF_LEFTUP;
136.100 }
136.101
136.102 - if ( buttonMask & java_awt_event_InputEvent_BUTTON2_MASK ) {
136.103 + if ( buttonMask & java_awt_event_InputEvent_BUTTON2_MASK ||
136.104 + buttonMask & java_awt_event_InputEvent_BUTTON2_DOWN_MASK)
136.105 + {
136.106 dwFlags |= MOUSEEVENTF_MIDDLEUP;
136.107 }
136.108
136.109 - mouse_event(dwFlags, 0, 0, 0, 0 );
136.110 + INPUT mouseInput = {0};
136.111 + mouseInput.type = INPUT_MOUSE;
136.112 + mouseInput.mi.time = 0;
136.113 + mouseInput.mi.dwFlags = dwFlags;
136.114 +
136.115 + if ( buttonMask & AwtComponent::masks[3] ) {
136.116 + mouseInput.mi.dwFlags = mouseInput.mi.dwFlags | MOUSEEVENTF_XUP;
136.117 + mouseInput.mi.mouseData = XBUTTON1;
136.118 + }
136.119 +
136.120 + if ( buttonMask & AwtComponent::masks[4] ) {
136.121 + mouseInput.mi.dwFlags = mouseInput.mi.dwFlags | MOUSEEVENTF_XUP;
136.122 + mouseInput.mi.mouseData = XBUTTON2;
136.123 + }
136.124 + ::SendInput(1, &mouseInput, sizeof(mouseInput));
136.125 }
136.126
136.127 void AwtRobot::MouseWheel (jint wheelAmt) {
136.128 - if (IS_WIN95 && !IS_WIN98) {
136.129 - // Other win32 platforms do nothing for mouse_event(0), so
136.130 - // do nothing on 95, too.
136.131 - if (wheelAmt == 0) {
136.132 - return;
136.133 - }
136.134 -
136.135 - // Win95 doesn't understand MOUSEEVENTF_WHEEL, so use PostEvent
136.136 - POINT curPos;
136.137 - HWND mouseOver = NULL;
136.138 - HWND topLevel = NULL;
136.139 - UINT wheelMsg = NULL;
136.140 -
136.141 - if (::GetCursorPos((LPPOINT)&curPos) == 0) {
136.142 - return;
136.143 - }
136.144 - // get hwnd of top-level container
136.145 - mouseOver = ::WindowFromPoint(curPos);
136.146 - DASSERT(mouseOver);
136.147 - topLevel = AwtComponent::GetTopLevelParentForWindow(mouseOver);
136.148 - DASSERT(topLevel);
136.149 -
136.150 - if (::ScreenToClient(topLevel, (LPPOINT)&curPos) == 0) {
136.151 - return;
136.152 - }
136.153 - wheelMsg = AwtComponent::Wheel95GetMsg();
136.154 -
136.155 - if (wheelMsg == NULL) {
136.156 - return;
136.157 - }
136.158 -
136.159 - ::PostMessage(topLevel,
136.160 - wheelMsg,
136.161 - wheelAmt * -1 * WHEEL_DELTA,
136.162 - MAKELPARAM((WORD)curPos.x, (WORD)curPos.y));
136.163 - }
136.164 - else {
136.165 - mouse_event(MOUSEEVENTF_WHEEL, 0, 0, wheelAmt * -1 * WHEEL_DELTA, 0);
136.166 - }
136.167 + mouse_event(MOUSEEVENTF_WHEEL, 0, 0, wheelAmt * -1 * WHEEL_DELTA, 0);
136.168 }
136.169
136.170 inline jint AwtRobot::WinToJavaPixel(USHORT r, USHORT g, USHORT b)
136.171 @@ -437,3 +437,9 @@
136.172
136.173 CATCH_BAD_ALLOC;
136.174 }
136.175 +
136.176 +JNIEXPORT jint JNICALL Java_sun_awt_windows_WRobotPeer_getNumberOfButtons(
136.177 + JNIEnv *, jobject self)
136.178 +{
136.179 + return GetSystemMetrics(SM_CMOUSEBUTTONS);
136.180 +}
137.1 --- a/src/windows/native/sun/windows/awt_Robot.h Tue Feb 17 09:06:16 2009 -0800
137.2 +++ b/src/windows/native/sun/windows/awt_Robot.h Wed Feb 18 10:05:41 2009 -0800
137.3 @@ -1,5 +1,5 @@
137.4 /*
137.5 - * Copyright 1998-2006 Sun Microsystems, Inc. All Rights Reserved.
137.6 + * Copyright 1998-2008 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 @@ -42,13 +42,13 @@
137.11 void MouseRelease( jint buttonMask );
137.12
137.13 void MouseWheel(jint wheelAmt);
137.14 + jint getNumberOfButtons();
137.15
137.16 jint GetRGBPixel( jint x, jint y);
137.17 void GetRGBPixels(jint x, jint y, jint width, jint height, jintArray pixelArray);
137.18
137.19 void KeyPress( jint key );
137.20 void KeyRelease( jint key );
137.21 -
137.22 static AwtRobot * GetRobot( jobject self );
137.23
137.24 private:
138.1 --- a/src/windows/native/sun/windows/awt_ScrollPane.cpp Tue Feb 17 09:06:16 2009 -0800
138.2 +++ b/src/windows/native/sun/windows/awt_ScrollPane.cpp Wed Feb 18 10:05:41 2009 -0800
138.3 @@ -1,5 +1,5 @@
138.4 /*
138.5 - * Copyright 1996-2006 Sun Microsystems, Inc. All Rights Reserved.
138.6 + * Copyright 1996-2008 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 @@ -108,13 +108,6 @@
138.11
138.12 {
138.13 DWORD style = WS_CHILD | WS_CLIPCHILDREN | WS_CLIPSIBLINGS;
138.14 - if (!IS_WIN4X) {
138.15 - /*
138.16 - * It's been decided by the UI folks that 3.X ScrollPanes
138.17 - * should have borders...
138.18 - */
138.19 - style |= WS_BORDER;
138.20 - }
138.21 jint scrollbarDisplayPolicy =
138.22 env->GetIntField(target, scrollbarDisplayPolicyID);
138.23
138.24 @@ -122,7 +115,7 @@
138.25 == java_awt_ScrollPane_SCROLLBARS_ALWAYS) {
138.26 style |= WS_HSCROLL | WS_VSCROLL;
138.27 }
138.28 - DWORD exStyle = IS_WIN4X ? WS_EX_CLIENTEDGE : 0;
138.29 + DWORD exStyle = WS_EX_CLIENTEDGE;
138.30
138.31 if (GetRTL()) {
138.32 exStyle |= WS_EX_RIGHT | WS_EX_LEFTSCROLLBAR;
138.33 @@ -225,15 +218,8 @@
138.34 }
138.35
138.36 /* Determine border width without scrollbars. */
138.37 - int horzBorder;
138.38 - int vertBorder;
138.39 - if (IS_WIN4X) {
138.40 - horzBorder = ::GetSystemMetrics(SM_CXEDGE);
138.41 - vertBorder = ::GetSystemMetrics(SM_CYEDGE);
138.42 - } else {
138.43 - horzBorder = ::GetSystemMetrics(SM_CXBORDER);
138.44 - vertBorder = ::GetSystemMetrics(SM_CYBORDER);
138.45 - }
138.46 + int horzBorder = ::GetSystemMetrics(SM_CXEDGE);;
138.47 + int vertBorder = ::GetSystemMetrics(SM_CYEDGE);;
138.48
138.49 parentWidth -= (horzBorder * 2);
138.50 parentHeight -= (vertBorder * 2);
139.1 --- a/src/windows/native/sun/windows/awt_TextArea.cpp Tue Feb 17 09:06:16 2009 -0800
139.2 +++ b/src/windows/native/sun/windows/awt_TextArea.cpp Wed Feb 18 10:05:41 2009 -0800
139.3 @@ -26,10 +26,8 @@
139.4 #include "awt_Toolkit.h"
139.5 #include "awt_TextArea.h"
139.6 #include "awt_TextComponent.h"
139.7 -#include "awt_dlls.h"
139.8 #include "awt_KeyboardFocusManager.h"
139.9 #include "awt_Canvas.h"
139.10 -#include "awt_Unicode.h"
139.11 #include "awt_Window.h"
139.12
139.13 /* IMPORTANT! Read the README.JNI file for notes on JNI converted AWT code.
139.14 @@ -50,7 +48,6 @@
139.15 jfieldID AwtTextArea::scrollbarVisibilityID;
139.16
139.17 WNDPROC AwtTextArea::sm_pDefWindowProc = NULL;
139.18 -BOOL AwtTextArea::sm_RichEdit20 = (IS_WIN98 || IS_NT);
139.19
139.20 /************************************************************************
139.21 * AwtTextArea methods
139.22 @@ -78,8 +75,12 @@
139.23 }
139.24
139.25 LPCTSTR AwtTextArea::GetClassName() {
139.26 - load_rich_edit_library();
139.27 - return sm_RichEdit20 ? RICHEDIT_CLASS : TEXT("RICHEDIT");
139.28 + static BOOL richedLibraryLoaded = FALSE;
139.29 + if (!richedLibraryLoaded) {
139.30 + ::LoadLibrary(TEXT("RICHED20.DLL"));
139.31 + richedLibraryLoaded = TRUE;
139.32 + }
139.33 + return RICHEDIT_CLASS;
139.34 }
139.35
139.36 /* Create a new AwtTextArea object and window. */
139.37 @@ -134,9 +135,8 @@
139.38 * scrollbars instead of hiding them when not needed.
139.39 */
139.40 DWORD style = WS_CHILD | WS_CLIPSIBLINGS | ES_LEFT | ES_MULTILINE |
139.41 - ES_WANTRETURN | scroll_style |
139.42 - (IS_WIN4X ? 0 : WS_BORDER) | ES_DISABLENOSCROLL;
139.43 - DWORD exStyle = IS_WIN4X ? WS_EX_CLIENTEDGE : 0;
139.44 + ES_WANTRETURN | scroll_style | ES_DISABLENOSCROLL;
139.45 + DWORD exStyle = WS_EX_CLIENTEDGE;
139.46 if (GetRTL()) {
139.47 exStyle |= WS_EX_RIGHT | WS_EX_LEFTSCROLLBAR;
139.48 if (GetRTLReadingOrder())
139.49 @@ -169,9 +169,7 @@
139.50 // end-of-document marker or carriage return,
139.51 // to format paragraphs.
139.52 // kdm@sparc.spb.su
139.53 - if (sm_RichEdit20) {
139.54 - c->SendMessage(EM_SETTEXTMODE, TM_PLAINTEXT, 0);
139.55 - }
139.56 + c->SendMessage(EM_SETTEXTMODE, TM_PLAINTEXT, 0);
139.57
139.58 c->m_backgroundColorSet = TRUE;
139.59 /* suppress inheriting parent's color. */
139.60 @@ -242,7 +240,7 @@
139.61 */
139.62 size_t length = env->GetStringLength(jStr) + 1;
139.63 WCHAR *string = new WCHAR[length];
139.64 - env->GetStringRegion(jStr, 0, static_cast<jsize>(length - 1), string);
139.65 + env->GetStringRegion(jStr, 0, static_cast<jsize>(length - 1), reinterpret_cast<jchar*>(string));
139.66 string[length-1] = '\0';
139.67 for (size_t i = 0; i < maxlen && i < length - 1; i++) {
139.68 if (string[i] == L'\n') {
139.69 @@ -461,12 +459,7 @@
139.70 /* Check if all the text is selected. */
139.71 if (cr.cpMin == 0) {
139.72
139.73 - int len = 0;
139.74 - if (m_isWin95) {
139.75 - len = ::GetWindowTextLengthA(GetHWnd());
139.76 - } else {
139.77 - len = ::GetWindowTextLengthW(GetHWnd());
139.78 - }
139.79 + int len = ::GetWindowTextLength(GetHWnd());
139.80 if (cr.cpMin == 0 && cr.cpMax >= len) {
139.81 /*
139.82 * All the text is selected in RichEdit - select all the
139.83 @@ -738,14 +731,8 @@
139.84 // kdm@sparc.spb.su
139.85 UINT platfScrollLines = 3;
139.86 // Retrieve a number of scroll lines.
139.87 - if (!sm_RichEdit20) {
139.88 - // 95 doesn't understand the SPI_GETWHEELSCROLLLINES - get the user
139.89 - // preference by other means
139.90 - platfScrollLines = Wheel95GetScrLines();
139.91 - } else {
139.92 - ::SystemParametersInfo(SPI_GETWHEELSCROLLLINES, 0,
139.93 - &platfScrollLines, 0);
139.94 - }
139.95 + ::SystemParametersInfo(SPI_GETWHEELSCROLLLINES, 0,
139.96 + &platfScrollLines, 0);
139.97
139.98 if (platfScrollLines > 0) {
139.99 HWND hWnd = GetHWnd();
139.100 @@ -838,23 +825,6 @@
139.101 return returnVal;
139.102 }
139.103
139.104 -int AwtTextArea::GetText(LPTSTR buffer, int size)
139.105 -{
139.106 - // Due to a known limitation of the MSLU, GetWindowText cannot be
139.107 - // issued for the Unicode RichEdit control on Win9x. Use EM_GETTEXTEX instead.
139.108 - if (sm_RichEdit20 && !IS_NT) {
139.109 - GETTEXTEX gte;
139.110 - gte.cb = size * sizeof(TCHAR);
139.111 - gte.flags = GT_USECRLF;
139.112 - gte.codepage = 1200; // implies Unicode
139.113 - gte.lpDefaultChar = NULL;
139.114 - gte.lpUsedDefChar = NULL;
139.115 - return (int)SendMessage(EM_GETTEXTEX, (WPARAM)>e, (LPARAM)buffer);
139.116 - } else {
139.117 - return ::GetWindowText(GetHWnd(), buffer, size);
139.118 - }
139.119 -}
139.120 -
139.121 /*
139.122 * WM_CTLCOLOR is not sent by rich edit controls.
139.123 * Use EM_SETCHARFORMAT and EM_SETBKGNDCOLOR to set
139.124 @@ -984,16 +954,16 @@
139.125 jsize length = env->GetStringLength(text) + 1;
139.126 // Bugid 4141477 - Can't use TO_WSTRING here because it uses alloca
139.127 // WCHAR* buffer = TO_WSTRING(text);
139.128 - WCHAR *buffer = new WCHAR[length];
139.129 - env->GetStringRegion(text, 0, length-1, buffer);
139.130 + TCHAR *buffer = new TCHAR[length];
139.131 + env->GetStringRegion(text, 0, length-1, reinterpret_cast<jchar*>(buffer));
139.132 buffer[length-1] = '\0';
139.133
139.134 c->CheckLineSeparator(buffer);
139.135 c->RemoveCR(buffer);
139.136 // Fix for 5003402: added restoring/hiding selection to enable automatic scrolling
139.137 c->SendMessage(EM_HIDESELECTION, FALSE, TRUE);
139.138 - c->SendMessageW(EM_SETSEL, start, end);
139.139 - c->SendMessageW(EM_REPLACESEL, FALSE, (LPARAM)buffer);
139.140 + c->SendMessage(EM_SETSEL, start, end);
139.141 + c->SendMessage(EM_REPLACESEL, FALSE, (LPARAM)buffer);
139.142 c->SendMessage(EM_HIDESELECTION, TRUE, TRUE);
139.143
139.144 delete[] buffer;
139.145 @@ -1187,12 +1157,11 @@
139.146 HGLOBAL hMetaPict) {
139.147 if (reco == RECO_PASTE) {
139.148 // If CF_TEXT format is available edit controls will select it,
139.149 - // otherwise if it is WinNT or Win2000 and CF_UNICODETEXT is
139.150 - // available it will be selected, otherwise if CF_OEMTEXT is
139.151 - // available it will be selected.
139.152 + // otherwise if it is CF_UNICODETEXT is available it will be
139.153 + // selected, otherwise if CF_OEMTEXT is available it will be selected.
139.154 if (::IsClipboardFormatAvailable(CF_TEXT)) {
139.155 *pcfFormat = CF_TEXT;
139.156 - } else if (!m_isWin95 && ::IsClipboardFormatAvailable(CF_UNICODETEXT)) {
139.157 + } else if (::IsClipboardFormatAvailable(CF_UNICODETEXT)) {
139.158 *pcfFormat = CF_UNICODETEXT;
139.159 } else if (::IsClipboardFormatAvailable(CF_OEMTEXT)) {
139.160 *pcfFormat = CF_OEMTEXT;
140.1 --- a/src/windows/native/sun/windows/awt_TextArea.h Tue Feb 17 09:06:16 2009 -0800
140.2 +++ b/src/windows/native/sun/windows/awt_TextArea.h Wed Feb 18 10:05:41 2009 -0800
140.3 @@ -1,5 +1,5 @@
140.4 /*
140.5 - * Copyright 1996-2006 Sun Microsystems, Inc. All Rights Reserved.
140.6 + * Copyright 1996-2008 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 @@ -73,8 +73,6 @@
140.11 MsgRouting WmNcHitTest(UINT x, UINT y, LRESULT &retVal);
140.12 MsgRouting HandleEvent(MSG *msg, BOOL synthetic);
140.13
140.14 - INLINE virtual int GetText(LPTSTR buffer, int size);
140.15 -
140.16 INLINE void SetIgnoreEnChange(BOOL b) { m_bIgnoreEnChange = b; }
140.17
140.18 virtual void SetColor(COLORREF c);
140.19 @@ -96,10 +94,6 @@
140.20 void EditGetSel(CHARRANGE &cr);
140.21 LONG EditGetCharFromPos(POINT& pt);
140.22 private:
140.23 -
140.24 - // TRUE if the rich edit version is 2.0
140.25 - static BOOL sm_RichEdit20;
140.26 -
140.27 // RichEdit 1.0 control generates EN_CHANGE notifications not only
140.28 // on text changes, but also on any character formatting change.
140.29 // This flag is true when the latter case is detected.
141.1 --- a/src/windows/native/sun/windows/awt_TextComponent.cpp Tue Feb 17 09:06:16 2009 -0800
141.2 +++ b/src/windows/native/sun/windows/awt_TextComponent.cpp Wed Feb 18 10:05:41 2009 -0800
141.3 @@ -1,5 +1,5 @@
141.4 /*
141.5 - * Copyright 1996-2005 Sun Microsystems, Inc. All Rights Reserved.
141.6 + * Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved.
141.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
141.8 *
141.9 * This code is free software; you can redistribute it and/or modify it
141.10 @@ -326,7 +326,7 @@
141.11 WCHAR* buf = new WCHAR[len + 1];
141.12 c->GetText(buf, len + 1);
141.13 c->RemoveCR(buf);
141.14 - result = env->NewString(buf, static_cast<jsize>(wcslen(buf)));
141.15 + result = JNU_NewStringPlatform(env, buf);
141.16 delete [] buf;
141.17 }
141.18 }
141.19 @@ -362,7 +362,7 @@
141.20 {
141.21 int length = env->GetStringLength(text);
141.22 WCHAR* buffer = new WCHAR[length + 1];
141.23 - env->GetStringRegion(text, 0, length, buffer);
141.24 + env->GetStringRegion(text, 0, length, reinterpret_cast<jchar*>(buffer));
141.25 buffer[length] = 0;
141.26 c->CheckLineSeparator(buffer);
141.27 c->RemoveCR(buffer);
142.1 --- a/src/windows/native/sun/windows/awt_TextComponent.h Tue Feb 17 09:06:16 2009 -0800
142.2 +++ b/src/windows/native/sun/windows/awt_TextComponent.h Wed Feb 18 10:05:41 2009 -0800
142.3 @@ -1,5 +1,5 @@
142.4 /*
142.5 - * Copyright 1996-2005 Sun Microsystems, Inc. All Rights Reserved.
142.6 + * Copyright 1996-2008 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 @@ -70,15 +70,6 @@
142.11 static jstring _GetText(void *param);
142.12
142.13 BOOL ActMouseMessage(MSG* pMsg);
142.14 - /*
142.15 - * For TextComponents that contains WCHAR strings or messages with
142.16 - * WCHAR parameters.
142.17 - */
142.18 - INLINE LRESULT SendMessageW(UINT msg, WPARAM wParam = 0, LPARAM lParam = 0)
142.19 - {
142.20 - DASSERT(GetHWnd());
142.21 - return ::SendMessageW(GetHWnd(), msg, wParam, lParam);
142.22 - }
142.23
142.24 void SetFont(AwtFont* font);
142.25
143.1 --- a/src/windows/native/sun/windows/awt_TextField.cpp Tue Feb 17 09:06:16 2009 -0800
143.2 +++ b/src/windows/native/sun/windows/awt_TextField.cpp Wed Feb 18 10:05:41 2009 -0800
143.3 @@ -1,5 +1,5 @@
143.4 /*
143.5 - * Copyright 1996-2005 Sun Microsystems, Inc. All Rights Reserved.
143.6 + * Copyright 1996-2008 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 @@ -26,7 +26,6 @@
143.11 #include "awt_Toolkit.h"
143.12 #include "awt_TextField.h"
143.13 #include "awt_TextComponent.h"
143.14 -#include "awt_dlls.h"
143.15 #include "awt_KeyboardFocusManager.h"
143.16 #include "awt_Canvas.h"
143.17
143.18 @@ -69,9 +68,8 @@
143.19
143.20 {
143.21 DWORD style = WS_CHILD | WS_CLIPSIBLINGS |
143.22 - ES_LEFT | ES_AUTOHSCROLL |
143.23 - (IS_WIN4X ? 0 : WS_BORDER);
143.24 - DWORD exStyle = IS_WIN4X ? WS_EX_CLIENTEDGE : 0;
143.25 + ES_LEFT | ES_AUTOHSCROLL;
143.26 + DWORD exStyle = WS_EX_CLIENTEDGE;
143.27 if (GetRTL()) {
143.28 exStyle |= WS_EX_RIGHT | WS_EX_LEFTSCROLLBAR;
143.29 if (GetRTLReadingOrder())
144.1 --- a/src/windows/native/sun/windows/awt_Toolkit.cpp Tue Feb 17 09:06:16 2009 -0800
144.2 +++ b/src/windows/native/sun/windows/awt_Toolkit.cpp Wed Feb 18 10:05:41 2009 -0800
144.3 @@ -23,15 +23,16 @@
144.4 * have any questions.
144.5 */
144.6
144.7 +#include "awt.h"
144.8 #include <signal.h>
144.9 #include <windowsx.h>
144.10
144.11 -#if defined(_DEBUG) && defined(_MSC_VER) && _MSC_VER >= 1000
144.12 -#include <crtdbg.h>
144.13 -#endif
144.14 +//#if defined(_DEBUG) && defined(_MSC_VER) && _MSC_VER >= 1000
144.15 +//#include <crtdbg.h>
144.16 +//#endif
144.17
144.18 #define _JNI_IMPLEMENTATION_
144.19 -#include "stdhdrs.h"
144.20 +
144.21 #include "awt_DrawingSurface.h"
144.22 #include "awt_AWTEvent.h"
144.23 #include "awt_Component.h"
144.24 @@ -51,7 +52,6 @@
144.25 #include "awt_FileDialog.h"
144.26 #include "CmdIDList.h"
144.27 #include "awt_new.h"
144.28 -#include "awt_Unicode.h"
144.29 #include "debug_trace.h"
144.30 #include "debug_mem.h"
144.31
144.32 @@ -225,8 +225,7 @@
144.33 HKL prev = ::ActivateKeyboardLayout(hkl, 0);
144.34
144.35 // If the above call fails, try loading the layout in case of NT
144.36 - if ((prev == 0) && IS_NT) {
144.37 -
144.38 + if (!prev) {
144.39 // create input locale string, e.g., "00000409", from hkl.
144.40 TCHAR inputLocale[9];
144.41 TCHAR buf[9];
144.42 @@ -297,7 +296,7 @@
144.43 if (jstr != NULL) {
144.44 int length = env->GetStringLength(jstr);
144.45 buffer = new TCHAR[length + 1];
144.46 - LPCTSTR tmp = (LPCTSTR)JNU_GetStringPlatformChars(env, jstr, NULL);
144.47 + LPCTSTR tmp = JNU_GetStringPlatformChars(env, jstr, NULL);
144.48 _tcscpy(buffer, tmp);
144.49 JNU_ReleaseStringPlatformChars(env, jstr, tmp);
144.50 } else {
144.51 @@ -323,6 +322,7 @@
144.52 m_vmSignalled = FALSE;
144.53
144.54 m_isDynamicLayoutSet = FALSE;
144.55 + m_areExtraMouseButtonsEnabled = TRUE;
144.56
144.57 m_verifyComponents = FALSE;
144.58 m_breakOnError = FALSE;
144.59 @@ -490,8 +490,6 @@
144.60
144.61 ::CloseHandle(m_waitEvent);
144.62
144.63 - ComCtl32Util::GetInstance().FreeLibraries();
144.64 -
144.65 tk.m_isDisposed = TRUE;
144.66
144.67 return TRUE;
144.68 @@ -886,8 +884,6 @@
144.69 return (DWORD)ImmGetOpenStatus((HIMC)wParam);
144.70 }
144.71 case WM_DISPLAYCHANGE: {
144.72 - AwtCursor::DirtyAllCustomCursors();
144.73 -
144.74 // Reinitialize screens
144.75 initScreens(env);
144.76
144.77 @@ -1161,9 +1157,7 @@
144.78 if (p && p->PreProcessMsg(msg) == mrConsume)
144.79 return TRUE;
144.80
144.81 - if ((msg.message >= WM_MOUSEFIRST && msg.message <= WM_AWT_MOUSELAST) ||
144.82 - (IS_WIN95 && !IS_WIN98 &&
144.83 - msg.message == AwtComponent::Wheel95GetMsg()) ||
144.84 + if ((msg.message >= WM_MOUSEFIRST && msg.message <= WM_MOUSELAST) ||
144.85 (msg.message >= WM_NCMOUSEMOVE && msg.message <= WM_NCMBUTTONDBLCLK)) {
144.86 if (PreProcessMouseMsg(p, msg)) {
144.87 return TRUE;
144.88 @@ -1190,9 +1184,7 @@
144.89 return FALSE;
144.90 }
144.91
144.92 - if (msg.message >= WM_MOUSEFIRST && msg.message <= WM_AWT_MOUSELAST ||
144.93 - (IS_WIN95 && !IS_WIN98 && msg.message == AwtComponent::Wheel95GetMsg()))
144.94 - {
144.95 + if (msg.message >= WM_MOUSEFIRST && msg.message <= WM_MOUSELAST) {
144.96 mouseWParam = msg.wParam;
144.97 mouseLParam = msg.lParam;
144.98 } else {
144.99 @@ -1287,21 +1279,6 @@
144.100 //window
144.101 msg.hwnd = hWndForWheel;
144.102 }
144.103 - else if (IS_WIN95 && !IS_WIN98 &&
144.104 - msg.message == AwtComponent::Wheel95GetMsg() &&
144.105 - mouseWheelComp != NULL) {
144.106 -
144.107 - // On Win95, mouse wheels are _always_ delivered to the top level
144.108 - // Frame. Default behavior only takes place if the message's hwnd
144.109 - // remains that of the Frame. We only want to change the hwnd if
144.110 - // we're changing it to a Component that DOESN'T handle the
144.111 - // mousewheel natively.
144.112 -
144.113 - if (!mouseWheelComp->InheritsNativeMouseWheelBehavior()) {
144.114 - DTRACE_PRINTLN("AwtT::PPMM: changing hwnd on 95");
144.115 - msg.hwnd = hWndForWheel;
144.116 - }
144.117 - }
144.118
144.119 /*
144.120 * Make sure we get at least one last chance to check for transitions
144.121 @@ -1792,7 +1769,7 @@
144.122 {
144.123 jobject insets = NULL;
144.124 RECT rRW;
144.125 - MONITOR_INFO *miInfo;
144.126 + LPMONITORINFO miInfo;
144.127
144.128 TRY;
144.129
144.130 @@ -1814,10 +1791,10 @@
144.131 if (miInfo) {
144.132 insets = env->NewObject(env->FindClass("java/awt/Insets"),
144.133 AwtToolkit::insetsMID,
144.134 - miInfo->rWork.top - miInfo->rMonitor.top,
144.135 - miInfo->rWork.left - miInfo->rMonitor.left,
144.136 - miInfo->rMonitor.bottom - miInfo->rWork.bottom,
144.137 - miInfo->rMonitor.right - miInfo->rWork.right);
144.138 + miInfo->rcWork.top - miInfo->rcMonitor.top,
144.139 + miInfo->rcWork.left - miInfo->rcMonitor.left,
144.140 + miInfo->rcMonitor.bottom - miInfo->rcWork.bottom,
144.141 + miInfo->rcMonitor.right - miInfo->rcWork.right);
144.142 }
144.143 }
144.144
144.145 @@ -2057,29 +2034,15 @@
144.146 swprintf(szVer, L"0x%x = %ld", version, version);
144.147 int l = lstrlen(szVer);
144.148
144.149 - if (IS_WIN95) {
144.150 - if (IS_WIN98) {
144.151 - if (IS_WINME) {
144.152 - swprintf(szVer + l, L" (Windows ME)");
144.153 + if (IS_WIN2000) {
144.154 + if (IS_WINXP) {
144.155 + if (IS_WINVISTA) {
144.156 + swprintf(szVer + l, L" (Windows Vista)");
144.157 } else {
144.158 - swprintf(szVer + l, L" (Windows 98)");
144.159 + swprintf(szVer + l, L" (Windows XP)");
144.160 }
144.161 } else {
144.162 - swprintf(szVer + l, L" (Windows 95)");
144.163 - }
144.164 - } else if (IS_NT) {
144.165 - if (IS_WIN2000) {
144.166 - if (IS_WINXP) {
144.167 - if (IS_WINVISTA) {
144.168 - swprintf(szVer + l, L" (Windows Vista)");
144.169 - } else {
144.170 - swprintf(szVer + l, L" (Windows XP)");
144.171 - }
144.172 - } else {
144.173 - swprintf(szVer + l, L" (Windows 2000)");
144.174 - }
144.175 - } else {
144.176 - swprintf(szVer + l, L" (Windows NT)");
144.177 + swprintf(szVer + l, L" (Windows 2000)");
144.178 }
144.179 } else {
144.180 swprintf(szVer + l, L" (Unknown)");
144.181 @@ -2130,3 +2093,26 @@
144.182 splashClose();
144.183 }
144.184 }
144.185 +
144.186 +/*
144.187 + * accessible from awt_Component
144.188 + */
144.189 +BOOL AwtToolkit::areExtraMouseButtonsEnabled() {
144.190 + return m_areExtraMouseButtonsEnabled;
144.191 +}
144.192 +
144.193 +/*
144.194 + * Class: sun_awt_windows_WToolkit
144.195 + * Method: setExtraMouseButtonsEnabledNative
144.196 + * Signature: (Z)V
144.197 + */
144.198 +extern "C" JNIEXPORT void JNICALL Java_sun_awt_windows_WToolkit_setExtraMouseButtonsEnabledNative
144.199 +(JNIEnv *env, jclass self, jboolean enable){
144.200 + TRY;
144.201 + AwtToolkit::GetInstance().setExtraMouseButtonsEnabled(enable);
144.202 + CATCH_BAD_ALLOC;
144.203 +}
144.204 +
144.205 +void AwtToolkit::setExtraMouseButtonsEnabled(BOOL enable) {
144.206 + m_areExtraMouseButtonsEnabled = enable;
144.207 +}
145.1 --- a/src/windows/native/sun/windows/awt_Toolkit.h Tue Feb 17 09:06:16 2009 -0800
145.2 +++ b/src/windows/native/sun/windows/awt_Toolkit.h Wed Feb 18 10:05:41 2009 -0800
145.3 @@ -50,7 +50,6 @@
145.4
145.5 #include "awt.h"
145.6 #include "awtmsg.h"
145.7 -#include "awt_Multimon.h"
145.8 #include "Trace.h"
145.9
145.10 #include "sun_awt_windows_WToolkit.h"
145.11 @@ -89,11 +88,8 @@
145.12 */
145.13 class CriticalSection {
145.14 public:
145.15 - INLINE CriticalSection() { ::InitializeCriticalSection(&rep);
145.16 - ::InitializeCriticalSection(&tryrep);
145.17 - tryEntered = 0; }
145.18 - INLINE ~CriticalSection() { ::DeleteCriticalSection(&rep);
145.19 - ::DeleteCriticalSection(&tryrep); }
145.20 + INLINE CriticalSection() { ::InitializeCriticalSection(&rep); }
145.21 + INLINE ~CriticalSection() { ::DeleteCriticalSection(&rep); }
145.22
145.23 class Lock {
145.24 public:
145.25 @@ -111,50 +107,18 @@
145.26 private:
145.27 CRITICAL_SECTION rep;
145.28
145.29 - CRITICAL_SECTION tryrep;
145.30 - long tryEntered;
145.31 -
145.32 CriticalSection(const CriticalSection&);
145.33 const CriticalSection& operator =(const CriticalSection&);
145.34
145.35 public:
145.36 - virtual void Enter (void)
145.37 - {
145.38 - ::EnterCriticalSection(&tryrep);
145.39 - tryEntered++;
145.40 - if (tryEntered == 1) {
145.41 - ::EnterCriticalSection(&rep);
145.42 - ::LeaveCriticalSection(&tryrep);
145.43 - } else {
145.44 - ::LeaveCriticalSection(&tryrep);
145.45 - ::EnterCriticalSection(&rep);
145.46 - }
145.47 + virtual void Enter() {
145.48 + ::EnterCriticalSection(&rep);
145.49 }
145.50 - // we cannot use ::TryEnterCriticalSection as it is not supported on Win9x/Me
145.51 - virtual BOOL TryEnter (void)
145.52 - {
145.53 - BOOL result = FALSE;
145.54 - ::EnterCriticalSection(&tryrep);
145.55 - if (tryEntered == 0) {
145.56 - ::EnterCriticalSection(&rep);
145.57 - tryEntered++;
145.58 - result = TRUE;
145.59 - }
145.60 - ::LeaveCriticalSection(&tryrep);
145.61 - return result;
145.62 + virtual BOOL TryEnter() {
145.63 + return ::TryEnterCriticalSection(&rep);
145.64 }
145.65 - virtual void Leave (void)
145.66 - {
145.67 - ::EnterCriticalSection(&tryrep);
145.68 - if (tryEntered > 0) {
145.69 - tryEntered--;
145.70 - } else {
145.71 - // this may happen only if we call to Leave() before
145.72 - // Enter() so this is definitely a bug
145.73 - DASSERT(FALSE);
145.74 - }
145.75 + virtual void Leave() {
145.76 ::LeaveCriticalSection(&rep);
145.77 - ::LeaveCriticalSection(&tryrep);
145.78 }
145.79 };
145.80
145.81 @@ -211,6 +175,8 @@
145.82 BOOL IsDynamicLayoutSet();
145.83 BOOL IsDynamicLayoutSupported();
145.84 BOOL IsDynamicLayoutActive();
145.85 + BOOL areExtraMouseButtonsEnabled();
145.86 + void setExtraMouseButtonsEnabled(BOOL enable);
145.87
145.88 INLINE BOOL localPump() { return m_localPump; }
145.89 INLINE BOOL VerifyComponents() { return FALSE; } // TODO: Use new DebugHelper class to set this flag
145.90 @@ -387,6 +353,7 @@
145.91 BOOL m_verbose;
145.92 BOOL m_isActive; // set to FALSE at beginning of Dispose
145.93 BOOL m_isDisposed; // set to TRUE at end of Dispose
145.94 + BOOL m_areExtraMouseButtonsEnabled;
145.95
145.96 BOOL m_vmSignalled; // set to TRUE if QUERYENDSESSION has successfully
145.97 // raised SIGTERM
146.1 --- a/src/windows/native/sun/windows/awt_TrayIcon.cpp Tue Feb 17 09:06:16 2009 -0800
146.2 +++ b/src/windows/native/sun/windows/awt_TrayIcon.cpp Wed Feb 18 10:05:41 2009 -0800
146.3 @@ -23,9 +23,10 @@
146.4 * have any questions.
146.5 */
146.6
146.7 -#include <windows.h>
146.8 +#include "awt.h"
146.9 #include <windowsx.h>
146.10 #include <shellapi.h>
146.11 +#include <shlwapi.h>
146.12
146.13 #include "awt_Toolkit.h"
146.14 #include "awt_TrayIcon.h"
146.15 @@ -173,27 +174,20 @@
146.16 env->DeleteLocalRef(target);
146.17 return awtTrayIcon;
146.18 }
146.19 -typedef struct _SDLLVERSIONINFO
146.20 -{
146.21 - DWORD cbSize;
146.22 - DWORD dwMajorVersion; // Major version
146.23 - DWORD dwMinorVersion; // Minor version
146.24 - DWORD dwBuildNumber; // Build number
146.25 - DWORD dwPlatformID; // DLLVER_PLATFORM_*
146.26 -} SDLLVERSIONINFO;
146.27 -typedef HRESULT (CALLBACK* SDLLGETVERSIONPROC)(SDLLVERSIONINFO *);
146.28
146.29 void AwtTrayIcon::InitNID(UINT uID)
146.30 {
146.31 // fix for 6271589: we MUST set the size of the structure to match
146.32 // the shell version, otherwise some errors may occur (like missing
146.33 // balloon messages on win2k)
146.34 - SDLLVERSIONINFO dllVersionInfo;
146.35 - dllVersionInfo.cbSize = sizeof(SDLLVERSIONINFO);
146.36 - int shellVersion = 4; // WIN_98
146.37 + DLLVERSIONINFO dllVersionInfo;
146.38 + dllVersionInfo.cbSize = sizeof(DLLVERSIONINFO);
146.39 + int shellVersion = 5; // WIN_2000
146.40 + // MSDN: DllGetVersion should not be implicitly called, but rather
146.41 + // loaded using GetProcAddress
146.42 HMODULE hShell = LoadLibrary(TEXT("Shell32.dll"));
146.43 if (hShell != NULL) {
146.44 - SDLLGETVERSIONPROC proc = (SDLLGETVERSIONPROC)GetProcAddress(hShell, "DllGetVersion");
146.45 + DLLGETVERSIONPROC proc = (DLLGETVERSIONPROC)GetProcAddress(hShell, "DllGetVersion");
146.46 if (proc != NULL) {
146.47 if (proc(&dllVersionInfo) == NOERROR) {
146.48 shellVersion = dllVersionInfo.dwMajorVersion;
146.49 @@ -202,14 +196,16 @@
146.50 }
146.51 FreeLibrary(hShell);
146.52 switch (shellVersion) {
146.53 - case 5: // WIN_2000, WIN_ME
146.54 + case 5: // WIN_2000
146.55 m_nid.cbSize = (BYTE *)(&m_nid.guidItem) - (BYTE *)(&m_nid.cbSize);
146.56 break;
146.57 case 6: // WIN_XP
146.58 + // Uncomment these two lines when moving to VS2008
146.59 +// m_nid.cbSize = (BYTE *)(&m_nid.hBalloonIcon) - (BYTE *)(&m_nid.cbSize);
146.60 +// break;
146.61 + default: // WIN_VISTA?
146.62 m_nid.cbSize = sizeof(m_nid);
146.63 break;
146.64 - default: // WIN_98, WIN_NT
146.65 - m_nid.cbSize = (BYTE *)(&m_nid.szTip) - (BYTE *)(&m_nid.cbSize) + sizeof(m_nid.szTip) / 2;
146.66 }
146.67 m_nid.hWnd = AwtTrayIcon::sm_msgWindow;
146.68 m_nid.uID = uID;
146.69 @@ -217,7 +213,7 @@
146.70 m_nid.uCallbackMessage = WM_AWT_TRAY_NOTIFY;
146.71 m_nid.hIcon = AwtToolkit::GetInstance().GetAwtIcon();
146.72 m_nid.szTip[0] = '\0';
146.73 - m_nid.uVersion = IS_WIN2000 ? AWT_NOTIFYICON_VERSION : 0;
146.74 + m_nid.uVersion = NOTIFYICON_VERSION;
146.75 }
146.76
146.77 BOOL AwtTrayIcon::SendTrayMessage(DWORD dwMessage)
146.78 @@ -304,13 +300,13 @@
146.79 case WM_CONTEXTMENU:
146.80 mr = WmContextMenu(0, pos.x, pos.y);
146.81 break;
146.82 - case AWT_NIN_KEYSELECT:
146.83 + case NIN_KEYSELECT:
146.84 mr = WmKeySelect(0, pos.x, pos.y);
146.85 break;
146.86 - case AWT_NIN_SELECT:
146.87 + case NIN_SELECT:
146.88 mr = WmSelect(0, pos.x, pos.y);
146.89 break;
146.90 - case AWT_NIN_BALLOONUSERCLICK:
146.91 + case NIN_BALLOONUSERCLICK:
146.92 mr = WmBalloonUserClick(0, pos.x, pos.y);
146.93 break;
146.94 }
146.95 @@ -371,7 +367,7 @@
146.96 (AwtComponent::GetButton(button) == java_awt_event_MouseEvent_BUTTON3 ?
146.97 TRUE : FALSE), AwtComponent::GetButton(button), &msg);
146.98
146.99 - if ((m_mouseButtonClickAllowed & AwtComponent::GetButtonMK(button)) != 1) { // No up-button in the drag-state
146.100 + if ((m_mouseButtonClickAllowed & AwtComponent::GetButtonMK(button)) != 0) { // No up-button in the drag-state
146.101 SendMouseEvent(java_awt_event_MouseEvent_MOUSE_CLICKED,
146.102 TimeHelper::windowsToUTC(::GetTickCount()), x, y, AwtComponent::GetJavaModifiers(),
146.103 clickCount, JNI_FALSE, AwtComponent::GetButton(button));
146.104 @@ -397,7 +393,7 @@
146.105 lastX = x;
146.106 lastY = y;
146.107 AwtComponent::InitMessage(&msg, lastMessage, flags, MAKELPARAM(x, y), x, y);
146.108 - if ((flags & AwtComponent::ALL_MK_BUTTONS) != 0) {
146.109 + if ((flags & ALL_MK_BUTTONS) != 0) {
146.110 m_mouseButtonClickAllowed = 0;
146.111 } else {
146.112 SendMouseEvent(java_awt_event_MouseEvent_MOUSE_MOVED, TimeHelper::windowsToUTC(::GetTickCount()), x, y,
146.113 @@ -473,7 +469,7 @@
146.114 BOOL result = item->m_trayIcon->SendTrayMessage(NIM_ADD);
146.115 // 6270114: Instructs the taskbar to behave according to the Shell version 5.0
146.116 if (result) {
146.117 - item->m_trayIcon->SendTrayMessage(AWT_NIM_SETVERSION);
146.118 + item->m_trayIcon->SendTrayMessage(NIM_SETVERSION);
146.119 }
146.120 }
146.121 return mrDoDefault;
146.122 @@ -733,9 +729,9 @@
146.123 goto ret;
146.124 }
146.125
146.126 - tooltipStr = env->GetStringChars(jtooltip, (jboolean *)NULL);
146.127 + tooltipStr = JNU_GetStringPlatformChars(env, jtooltip, (jboolean *)NULL);
146.128 trayIcon->SetToolTip(tooltipStr);
146.129 - env->ReleaseStringChars(jtooltip, tooltipStr);
146.130 + JNU_ReleaseStringPlatformChars(env, jtooltip, tooltipStr);
146.131 ret:
146.132 env->DeleteGlobalRef(self);
146.133 env->DeleteGlobalRef(jtooltip);
146.134 @@ -782,7 +778,7 @@
146.135 BOOL result = trayIcon->SendTrayMessage(jupdate == JNI_TRUE ? NIM_MODIFY : NIM_ADD);
146.136 // 6270114: Instructs the taskbar to behave according to the Shell version 5.0
146.137 if (result && jupdate == JNI_FALSE) {
146.138 - trayIcon->SendTrayMessage(AWT_NIM_SETVERSION);
146.139 + trayIcon->SendTrayMessage(NIM_SETVERSION);
146.140 }
146.141 ret:
146.142 env->DeleteGlobalRef(self);
146.143 @@ -791,22 +787,19 @@
146.144
146.145 void AwtTrayIcon::DisplayMessage(LPCTSTR caption, LPCTSTR text, LPCTSTR msgType)
146.146 {
146.147 - if (!IS_WIN2000)
146.148 - return;
146.149 -
146.150 - m_nid.uFlags |= AWT_NIF_INFO;
146.151 + m_nid.uFlags |= NIF_INFO;
146.152 m_nid.uTimeout = 10000;
146.153
146.154 if (lstrcmp(msgType, TEXT("ERROR")) == 0) {
146.155 - m_nid.dwInfoFlags = AWT_NIIF_ERROR;
146.156 + m_nid.dwInfoFlags = NIIF_ERROR;
146.157 } else if (lstrcmp(msgType, TEXT("WARNING")) == 0) {
146.158 - m_nid.dwInfoFlags = AWT_NIIF_WARNING;
146.159 + m_nid.dwInfoFlags = NIIF_WARNING;
146.160 } else if (lstrcmp(msgType, TEXT("INFO")) == 0) {
146.161 - m_nid.dwInfoFlags = AWT_NIIF_INFO;
146.162 + m_nid.dwInfoFlags = NIIF_INFO;
146.163 } else if (lstrcmp(msgType, TEXT("NONE")) == 0) {
146.164 - m_nid.dwInfoFlags = AWT_NIIF_NONE;
146.165 + m_nid.dwInfoFlags = NIIF_NONE;
146.166 } else {
146.167 - m_nid.dwInfoFlags = AWT_NIIF_NONE;
146.168 + m_nid.dwInfoFlags = NIIF_NONE;
146.169 }
146.170
146.171 if (caption[0] == '\0') {
146.172 @@ -835,7 +828,7 @@
146.173 }
146.174
146.175 SendTrayMessage(NIM_MODIFY);
146.176 - m_nid.uFlags &= ~AWT_NIF_INFO;
146.177 + m_nid.uFlags &= ~NIF_INFO;
146.178 }
146.179
146.180 void AwtTrayIcon::_DisplayMessage(void *param)
146.181 @@ -855,15 +848,15 @@
146.182 JNI_CHECK_PEER_GOTO(self, ret);
146.183 trayIcon = (AwtTrayIcon *)pData;
146.184
146.185 - captionStr = env->GetStringChars(jcaption, (jboolean *)NULL);
146.186 - textStr = env->GetStringChars(jtext, (jboolean *)NULL);
146.187 - msgTypeStr = env->GetStringChars(jmsgType, (jboolean *)NULL);
146.188 + captionStr = JNU_GetStringPlatformChars(env, jcaption, (jboolean *)NULL);
146.189 + textStr = JNU_GetStringPlatformChars(env, jtext, (jboolean *)NULL);
146.190 + msgTypeStr = JNU_GetStringPlatformChars(env, jmsgType, (jboolean *)NULL);
146.191
146.192 trayIcon->DisplayMessage(captionStr, textStr, msgTypeStr);
146.193
146.194 - env->ReleaseStringChars(jcaption, captionStr);
146.195 - env->ReleaseStringChars(jtext, textStr);
146.196 - env->ReleaseStringChars(jmsgType, msgTypeStr);
146.197 + JNU_ReleaseStringPlatformChars(env, jcaption, captionStr);
146.198 + JNU_ReleaseStringPlatformChars(env, jtext, textStr);
146.199 + JNU_ReleaseStringPlatformChars(env, jmsgType, msgTypeStr);
146.200 ret:
146.201 env->DeleteGlobalRef(self);
146.202 env->DeleteGlobalRef(jcaption);
146.203 @@ -1057,16 +1050,14 @@
146.204 {
146.205 TRY;
146.206
146.207 - if (IS_WIN2000) {
146.208 - DisplayMessageStruct *dms = new DisplayMessageStruct;
146.209 - dms->trayIcon = env->NewGlobalRef(self);
146.210 - dms->caption = (jstring)env->NewGlobalRef(caption);
146.211 - dms->text = (jstring)env->NewGlobalRef(text);
146.212 - dms->msgType = (jstring)env->NewGlobalRef(msgType);
146.213 + DisplayMessageStruct *dms = new DisplayMessageStruct;
146.214 + dms->trayIcon = env->NewGlobalRef(self);
146.215 + dms->caption = (jstring)env->NewGlobalRef(caption);
146.216 + dms->text = (jstring)env->NewGlobalRef(text);
146.217 + dms->msgType = (jstring)env->NewGlobalRef(msgType);
146.218
146.219 - AwtToolkit::GetInstance().SyncCall(AwtTrayIcon::_DisplayMessage, dms);
146.220 - // global ref is deleted in _DisplayMessage
146.221 - }
146.222 + AwtToolkit::GetInstance().SyncCall(AwtTrayIcon::_DisplayMessage, dms);
146.223 + // global ref is deleted in _DisplayMessage
146.224
146.225 CATCH_BAD_ALLOC(NULL);
146.226 }
147.1 --- a/src/windows/native/sun/windows/awt_TrayIcon.h Tue Feb 17 09:06:16 2009 -0800
147.2 +++ b/src/windows/native/sun/windows/awt_TrayIcon.h Wed Feb 18 10:05:41 2009 -0800
147.3 @@ -36,57 +36,11 @@
147.4 #define TRAY_ICON_X_HOTSPOT 0
147.5 #define TRAY_ICON_Y_HOTSPOT 0
147.6
147.7 -#define TRAY_ICON_TOOLTIP_MAX_SIZE (IS_WIN2000 ? 128 : 64)
147.8 +#define TRAY_ICON_TOOLTIP_MAX_SIZE 128
147.9
147.10 #define TRAY_ICON_BALLOON_TITLE_MAX_SIZE 64
147.11 #define TRAY_ICON_BALLOON_INFO_MAX_SIZE 256
147.12
147.13 -// **********************************************************************
147.14 -// The following definitions are duplicates for those from the shellapi.h
147.15 -// **********************************************************************
147.16 -
147.17 -#define AWT_NOTIFYICON_VERSION 3
147.18 -
147.19 -#define AWT_NIM_SETVERSION 0x00000004
147.20 -
147.21 -#define AWT_NIN_SELECT (WM_USER + 0)
147.22 -#define AWT_NINF_KEY 0x1
147.23 -#define AWT_NIN_KEYSELECT (AWT_NIN_SELECT | AWT_NINF_KEY)
147.24 -#define AWT_NIN_BALLOONSHOW (WM_USER + 2)
147.25 -#define AWT_NIN_BALLOONHIDE (WM_USER + 3)
147.26 -#define AWT_NIN_BALLOONTIMEOUT (WM_USER + 4)
147.27 -#define AWT_NIN_BALLOONUSERCLICK (WM_USER + 5)
147.28 -
147.29 -#define AWT_NIIF_NONE 0x00000000
147.30 -#define AWT_NIIF_INFO 0x00000001
147.31 -#define AWT_NIIF_WARNING 0x00000002
147.32 -#define AWT_NIIF_ERROR 0x00000003
147.33 -
147.34 -#define AWT_NIF_INFO 0x00000010
147.35 -
147.36 -typedef struct _AWT_NOTIFYICONDATA {
147.37 - DWORD cbSize;
147.38 - HWND hWnd;
147.39 - UINT uID;
147.40 - UINT uFlags;
147.41 - UINT uCallbackMessage;
147.42 - HICON hIcon;
147.43 - TCHAR szTip[128];
147.44 -
147.45 - DWORD dwState; // _WIN32_IE >= 0x0500
147.46 - DWORD dwStateMask;
147.47 - TCHAR szInfo[256];
147.48 - union {
147.49 - UINT uTimeout;
147.50 - UINT uVersion;
147.51 - } DUMMYUNIONNAME;
147.52 - TCHAR szInfoTitle[64];
147.53 - DWORD dwInfoFlags;
147.54 -
147.55 - GUID guidItem; // _WIN32_IE >= 0x600
147.56 -} AWT_NOTIFYICONDATA, *PAWT_NOTIFYICONDATA;
147.57 -
147.58 -
147.59 /************************************************************************
147.60 * AwtTrayIcon class
147.61 */
147.62 @@ -174,7 +128,7 @@
147.63 static int sm_instCount;
147.64
147.65 private:
147.66 - AWT_NOTIFYICONDATA m_nid;
147.67 + NOTIFYICONDATA m_nid;
147.68
147.69 /* A bitmask keeps the button's numbers as MK_LBUTTON, MK_MBUTTON, MK_RBUTTON
147.70 * which are allowed to
148.1 --- a/src/windows/native/sun/windows/awt_Unicode.cpp Tue Feb 17 09:06:16 2009 -0800
148.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
148.3 @@ -1,46 +0,0 @@
148.4 -/*
148.5 - * Copyright 1996-2003 Sun Microsystems, Inc. All Rights Reserved.
148.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
148.7 - *
148.8 - * This code is free software; you can redistribute it and/or modify it
148.9 - * under the terms of the GNU General Public License version 2 only, as
148.10 - * published by the Free Software Foundation. Sun designates this
148.11 - * particular file as subject to the "Classpath" exception as provided
148.12 - * by Sun in the LICENSE file that accompanied this code.
148.13 - *
148.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
148.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
148.16 - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
148.17 - * version 2 for more details (a copy is included in the LICENSE file that
148.18 - * accompanied this code).
148.19 - *
148.20 - * You should have received a copy of the GNU General Public License version
148.21 - * 2 along with this work; if not, write to the Free Software Foundation,
148.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
148.23 - *
148.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
148.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
148.26 - * have any questions.
148.27 - */
148.28 -
148.29 -#include "awt.h"
148.30 -
148.31 -LPWSTR J2WHelper1(LPWSTR lpw, LPWSTR lpj, int offset, int nChars) {
148.32 - memcpy(lpw, lpj + offset, nChars*2);
148.33 - lpw[nChars] = '\0';
148.34 - return lpw;
148.35 -}
148.36 -
148.37 -LPWSTR JNI_J2WHelper1(JNIEnv *env, LPWSTR lpwstr, jstring jstr) {
148.38 -
148.39 - int len = env->GetStringLength(jstr);
148.40 -
148.41 - env->GetStringRegion(jstr, 0, len, lpwstr);
148.42 - lpwstr[len] = '\0';
148.43 -
148.44 - return lpwstr;
148.45 -}
148.46 -
148.47 -LPWSTR J2WHelper(LPWSTR lpw, LPWSTR lpj, int nChars) {
148.48 - return J2WHelper1(lpw, lpj, 0, nChars);
148.49 -}
149.1 --- a/src/windows/native/sun/windows/awt_Unicode.h Tue Feb 17 09:06:16 2009 -0800
149.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
149.3 @@ -1,50 +0,0 @@
149.4 -/*
149.5 - * Copyright 1996-2003 Sun Microsystems, Inc. All Rights Reserved.
149.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
149.7 - *
149.8 - * This code is free software; you can redistribute it and/or modify it
149.9 - * under the terms of the GNU General Public License version 2 only, as
149.10 - * published by the Free Software Foundation. Sun designates this
149.11 - * particular file as subject to the "Classpath" exception as provided
149.12 - * by Sun in the LICENSE file that accompanied this code.
149.13 - *
149.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
149.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
149.16 - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
149.17 - * version 2 for more details (a copy is included in the LICENSE file that
149.18 - * accompanied this code).
149.19 - *
149.20 - * You should have received a copy of the GNU General Public License version
149.21 - * 2 along with this work; if not, write to the Free Software Foundation,
149.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
149.23 - *
149.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
149.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
149.26 - * have any questions.
149.27 - */
149.28 -
149.29 -/*
149.30 - * Unicode to ANSI string conversion macros, based on a slide from a
149.31 - * presentation by Asmus Freytag. These must be macros, since the
149.32 - * alloca() has to be in the caller's stack space.
149.33 - */
149.34 -
149.35 -#ifndef AWT_UNICODE_H
149.36 -#define AWT_UNICODE_H
149.37 -
149.38 -#include <malloc.h>
149.39 -
149.40 -// Get a Unicode string copy of a Java String object (Java String aren't
149.41 -// null-terminated).
149.42 -extern LPWSTR J2WHelper(LPWSTR lpw, LPWSTR lpj, int nChars);
149.43 -extern LPWSTR J2WHelper1(LPWSTR lpw, LPWSTR lpj, int offset, int nChars);
149.44 -
149.45 -extern LPWSTR JNI_J2WHelper1(JNIEnv *env, LPWSTR lpw, jstring jstr);
149.46 -
149.47 -#define TO_WSTRING(jstr) \
149.48 - ((jstr == NULL) ? NULL : \
149.49 - (JNI_J2WHelper1(env, (LPWSTR) alloca((env->GetStringLength(jstr)+1)*2), \
149.50 - jstr) \
149.51 - ))
149.52 -
149.53 -#endif // AWT_UNICODE_H
150.1 --- a/src/windows/native/sun/windows/awt_Win32GraphicsConfig.cpp Tue Feb 17 09:06:16 2009 -0800
150.2 +++ b/src/windows/native/sun/windows/awt_Win32GraphicsConfig.cpp Wed Feb 18 10:05:41 2009 -0800
150.3 @@ -1,5 +1,5 @@
150.4 /*
150.5 - * Copyright 1999-2003 Sun Microsystems, Inc. All Rights Reserved.
150.6 + * Copyright 1999-2008 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 @@ -23,12 +23,12 @@
150.11 * have any questions.
150.12 */
150.13
150.14 -#include <windows.h>
150.15 #include "awt.h"
150.16 #include <sun_awt_Win32GraphicsConfig.h>
150.17 #include "awt_Win32GraphicsConfig.h"
150.18 #include "awt_Canvas.h"
150.19 #include "awt_Win32GraphicsDevice.h"
150.20 +#include "Devices.h"
150.21
150.22 //Info for building a ColorModel
150.23 #include "java_awt_image_DataBuffer.h"
150.24 @@ -93,8 +93,8 @@
150.25 clazz = env->FindClass("java/awt/Rectangle");
150.26 mid = env->GetMethodID(clazz, "<init>", "(IIII)V");
150.27 if (mid != 0) {
150.28 - RECT rRW = {0,0,0,0};
150.29 - if( TRUE == ::MonitorBounds(AwtWin32GraphicsDevice::GetMonitor(screen), &rRW) ) {
150.30 + RECT rRW = {0, 0, 0, 0};
150.31 + if (TRUE == MonitorBounds(AwtWin32GraphicsDevice::GetMonitor(screen), &rRW)) {
150.32 bounds = env->NewObject(clazz, mid,
150.33 rRW.left, rRW.top,
150.34 rRW.right - rRW.left,
151.1 --- a/src/windows/native/sun/windows/awt_Win32GraphicsDevice.cpp Tue Feb 17 09:06:16 2009 -0800
151.2 +++ b/src/windows/native/sun/windows/awt_Win32GraphicsDevice.cpp Wed Feb 18 10:05:41 2009 -0800
151.3 @@ -37,19 +37,17 @@
151.4 * array index.
151.5 */
151.6
151.7 -#include <windows.h>
151.8 -#include <jni.h>
151.9 #include <awt.h>
151.10 #include <sun_awt_Win32GraphicsDevice.h>
151.11 #include "awt_Canvas.h"
151.12 #include "awt_Win32GraphicsDevice.h"
151.13 +#include "awt_Window.h"
151.14 #include "java_awt_Transparency.h"
151.15 #include "java_awt_color_ColorSpace.h"
151.16 #include "sun_awt_Win32GraphicsDevice.h"
151.17 #include "java_awt_image_DataBuffer.h"
151.18 #include "dither.h"
151.19 #include "img_util_md.h"
151.20 -#include "awt_dlls.h"
151.21 #include "Devices.h"
151.22
151.23 uns_ordered_dither_array img_oda_alpha;
151.24 @@ -72,7 +70,7 @@
151.25 * device, and information on whether the primary device is palettized.
151.26 */
151.27 AwtWin32GraphicsDevice::AwtWin32GraphicsDevice(int screen,
151.28 - MHND mhnd, Devices *arr)
151.29 + HMONITOR mhnd, Devices *arr)
151.30 {
151.31 this->screen = screen;
151.32 this->devicesArray = arr;
151.33 @@ -83,8 +81,8 @@
151.34 cData = NULL;
151.35 gpBitmapInfo = NULL;
151.36 monitor = mhnd;
151.37 - pMonitorInfo = (PMONITOR_INFO)new MONITOR_INFO_EXTENDED;
151.38 - pMonitorInfo->dwSize = sizeof(MONITOR_INFO_EXTENDED);
151.39 + pMonitorInfo = new MONITORINFOEX;
151.40 + pMonitorInfo->cbSize = sizeof(MONITORINFOEX);
151.41 ::GetMonitorInfo(monitor, pMonitorInfo);
151.42
151.43 // Set primary device info: other devices will need to know
151.44 @@ -93,7 +91,7 @@
151.45 HDC hDC = this->GetDC();
151.46 colorData->bitsperpixel = ::GetDeviceCaps(hDC, BITSPIXEL);
151.47 this->ReleaseDC(hDC);
151.48 - if (MONITOR_INFO_FLAG_PRIMARY & pMonitorInfo->dwFlags) {
151.49 + if (MONITORINFOF_PRIMARY & pMonitorInfo->dwFlags) {
151.50 primaryIndex = screen;
151.51 if (colorData->bitsperpixel > 8) {
151.52 primaryPalettized = FALSE;
151.53 @@ -124,6 +122,24 @@
151.54 }
151.55 }
151.56
151.57 +HDC AwtWin32GraphicsDevice::MakeDCFromMonitor(HMONITOR hmMonitor) {
151.58 + HDC retCode = NULL;
151.59 + if (NULL != hmMonitor) {
151.60 + MONITORINFOEX mieInfo;
151.61 +
151.62 + memset((void*)(&mieInfo), 0, sizeof(MONITORINFOEX));
151.63 + mieInfo.cbSize = sizeof(MONITORINFOEX);
151.64 +
151.65 + if (TRUE == ::GetMonitorInfo(hmMonitor, (LPMONITORINFOEX)(&mieInfo))) {
151.66 + HDC hDC = CreateDC(mieInfo.szDevice, NULL, NULL, NULL);
151.67 + if (NULL != hDC) {
151.68 + retCode = hDC;
151.69 + }
151.70 + }
151.71 + }
151.72 + return retCode;
151.73 +}
151.74 +
151.75 HDC AwtWin32GraphicsDevice::GetDC()
151.76 {
151.77 return MakeDCFromMonitor(monitor);
151.78 @@ -164,7 +180,7 @@
151.79 VERIFY(::GetDIBits(hBMDC, hBM, 0, 1, NULL, gpBitmapInfo, DIB_RGB_COLORS));
151.80
151.81 if (colorData->bitsperpixel > 8) {
151.82 - if (MONITOR_INFO_FLAG_PRIMARY & pMonitorInfo->dwFlags) {
151.83 + if (MONITORINFOF_PRIMARY & pMonitorInfo->dwFlags) {
151.84 primaryPalettized = FALSE;
151.85 }
151.86 if (colorData->bitsperpixel != 24) { // 15, 16, or 32 bpp
151.87 @@ -250,7 +266,7 @@
151.88 ((int *)gpBitmapInfo->bmiColors)[2] = 0xff0000;
151.89 }
151.90 } else {
151.91 - if (MONITOR_INFO_FLAG_PRIMARY & pMonitorInfo->dwFlags) {
151.92 + if (MONITORINFOF_PRIMARY & pMonitorInfo->dwFlags) {
151.93 primaryPalettized = TRUE;
151.94 }
151.95 gpBitmapInfo->bmiHeader.biBitCount = 8;
151.96 @@ -565,8 +581,8 @@
151.97 */
151.98 int AwtWin32GraphicsDevice::DeviceIndexForWindow(HWND hWnd)
151.99 {
151.100 - MHND mon = MonitorFromWindow(hWnd, MONITOR_DEFAULT_TO_NEAR);
151.101 - int screen = AwtWin32GraphicsDevice::GetScreenFromMHND(mon);
151.102 + HMONITOR mon = MonitorFromWindow(hWnd, MONITOR_DEFAULTTONEAREST);
151.103 + int screen = AwtWin32GraphicsDevice::GetScreenFromHMONITOR(mon);
151.104 return screen;
151.105 }
151.106
151.107 @@ -645,14 +661,14 @@
151.108 return devices->GetDevice(deviceIndex)->GetColorModel(env, dynamic);
151.109 }
151.110
151.111 -MONITOR_INFO *AwtWin32GraphicsDevice::GetMonitorInfo(int deviceIndex)
151.112 +LPMONITORINFO AwtWin32GraphicsDevice::GetMonitorInfo(int deviceIndex)
151.113 {
151.114 Devices::InstanceAccess devices;
151.115 return devices->GetDevice(deviceIndex)->GetMonitorInfo();
151.116 }
151.117
151.118 /**
151.119 - * This function updates the data in the MONITOR_INFO structure pointed to by
151.120 + * This function updates the data in the MONITORINFOEX structure pointed to by
151.121 * pMonitorInfo for all monitors on the system. Added for 4654713.
151.122 */
151.123 void AwtWin32GraphicsDevice::ResetAllMonitorInfo()
151.124 @@ -660,14 +676,14 @@
151.125 Devices::InstanceAccess devices;
151.126 int devicesNum = devices->GetNumDevices();
151.127 for (int deviceIndex = 0; deviceIndex < devicesNum; deviceIndex++) {
151.128 - MHND monitor = devices->GetDevice(deviceIndex)->GetMonitor();
151.129 + HMONITOR monitor = devices->GetDevice(deviceIndex)->GetMonitor();
151.130 ::GetMonitorInfo(monitor,
151.131 devices->GetDevice(deviceIndex)->pMonitorInfo);
151.132 }
151.133 }
151.134
151.135 void AwtWin32GraphicsDevice::DisableOffscreenAccelerationForDevice(
151.136 - MHND hMonitor)
151.137 + HMONITOR hMonitor)
151.138 {
151.139 Devices::InstanceAccess devices;
151.140 if (hMonitor == NULL) {
151.141 @@ -682,7 +698,7 @@
151.142 }
151.143 }
151.144
151.145 -MHND AwtWin32GraphicsDevice::GetMonitor(int deviceIndex)
151.146 +HMONITOR AwtWin32GraphicsDevice::GetMonitor(int deviceIndex)
151.147 {
151.148 Devices::InstanceAccess devices;
151.149 return devices->GetDevice(deviceIndex)->GetMonitor();
151.150 @@ -741,30 +757,31 @@
151.151 return MakeDCFromMonitor(dev->GetMonitor());
151.152 }
151.153
151.154 -/** Compare elements of MONITOR_INFO structures for the given MHNDs.
151.155 +/** Compare elements of MONITORINFOEX structures for the given HMONITORs.
151.156 * If equal, return TRUE
151.157 */
151.158 -BOOL AwtWin32GraphicsDevice::AreSameMonitors(MHND mon1, MHND mon2) {
151.159 +BOOL AwtWin32GraphicsDevice::AreSameMonitors(HMONITOR mon1, HMONITOR mon2) {
151.160 J2dTraceLn2(J2D_TRACE_INFO,
151.161 "AwtWin32GraphicsDevice::AreSameMonitors mhnd1=%x mhnd2=%x",
151.162 mon1, mon2);
151.163 DASSERT(mon1 != NULL);
151.164 DASSERT(mon2 != NULL);
151.165
151.166 - MONITOR_INFO mi1;
151.167 - MONITOR_INFO mi2;
151.168 + MONITORINFOEX mi1;
151.169 + MONITORINFOEX mi2;
151.170
151.171 - memset((void*)(&mi1),0,sizeof(MONITOR_INFO));
151.172 - mi1.dwSize = sizeof(MONITOR_INFO);
151.173 - memset((void*)(&mi2),0,sizeof(MONITOR_INFO));
151.174 - mi2.dwSize = sizeof(MONITOR_INFO);
151.175 + memset((void*)(&mi1), 0, sizeof(MONITORINFOEX));
151.176 + mi1.cbSize = sizeof(MONITORINFOEX);
151.177 + memset((void*)(&mi2), 0, sizeof(MONITORINFOEX));
151.178 + mi2.cbSize = sizeof(MONITORINFOEX);
151.179
151.180 - if (::GetMonitorInfo(mon1,&mi1) != 0 &&
151.181 - ::GetMonitorInfo(mon2,&mi2) != 0 ) {
151.182 -
151.183 - if (::EqualRect(&mi1.rMonitor,&mi2.rMonitor) &&
151.184 - ::EqualRect(&mi1.rWork,&mi2.rWork) &&
151.185 - mi1.dwFlags == mi1.dwFlags) {
151.186 + if (::GetMonitorInfo(mon1, &mi1) != 0 &&
151.187 + ::GetMonitorInfo(mon2, &mi2) != 0 )
151.188 + {
151.189 + if (::EqualRect(&mi1.rcMonitor, &mi2.rcMonitor) &&
151.190 + ::EqualRect(&mi1.rcWork, &mi2.rcWork) &&
151.191 + (mi1.dwFlags == mi1.dwFlags))
151.192 + {
151.193
151.194 J2dTraceLn(J2D_TRACE_VERBOSE, " the monitors are the same");
151.195 return TRUE;
151.196 @@ -774,15 +791,15 @@
151.197 return FALSE;
151.198 }
151.199
151.200 -int AwtWin32GraphicsDevice::GetScreenFromMHND(MHND mon) {
151.201 +int AwtWin32GraphicsDevice::GetScreenFromHMONITOR(HMONITOR mon) {
151.202 J2dTraceLn1(J2D_TRACE_INFO,
151.203 - "AwtWin32GraphicsDevice::GetScreenFromMHND mhnd=%x", mon);
151.204 + "AwtWin32GraphicsDevice::GetScreenFromHMONITOR mhnd=%x", mon);
151.205
151.206 DASSERT(mon != NULL);
151.207 Devices::InstanceAccess devices;
151.208
151.209 for (int i = 0; i < devices->GetNumDevices(); i++) {
151.210 - MHND mhnd = devices->GetDevice(i)->GetMonitor();
151.211 + HMONITOR mhnd = devices->GetDevice(i)->GetMonitor();
151.212 if (AreSameMonitors(mon, mhnd)) {
151.213 J2dTraceLn1(J2D_TRACE_VERBOSE, " Found device: %d", i);
151.214 return i;
151.215 @@ -790,8 +807,8 @@
151.216 }
151.217
151.218 J2dTraceLn1(J2D_TRACE_WARNING,
151.219 - "AwtWin32GraphicsDevice::GetScreenFromMHND(): "\
151.220 - "couldn't find screen for MHND %x, returning default", mon);
151.221 + "AwtWin32GraphicsDevice::GetScreenFromHMONITOR(): "\
151.222 + "couldn't find screen for HMONITOR %x, returning default", mon);
151.223 return AwtWin32GraphicsDevice::GetDefaultDeviceIndex();
151.224 }
151.225
151.226 @@ -1076,19 +1093,19 @@
151.227 * of the structure pointed to by lpDisplayDevice is undefined.
151.228 */
151.229 static BOOL
151.230 -GetAttachedDisplayDevice(int screen, _DISPLAY_DEVICE *lpDisplayDevice)
151.231 +GetAttachedDisplayDevice(int screen, DISPLAY_DEVICE *lpDisplayDevice)
151.232 {
151.233 DWORD dwDeviceNum = 0;
151.234 - lpDisplayDevice->dwSize = sizeof(_DISPLAY_DEVICE);
151.235 + lpDisplayDevice->cb = sizeof(DISPLAY_DEVICE);
151.236 while (EnumDisplayDevices(NULL, dwDeviceNum, lpDisplayDevice, 0) &&
151.237 dwDeviceNum < 20) // avoid infinite loop with buggy drivers
151.238 {
151.239 - if (lpDisplayDevice->dwFlags & DISPLAY_DEVICE_ATTACHED_TO_DESKTOP) {
151.240 + if (lpDisplayDevice->StateFlags & DISPLAY_DEVICE_ATTACHED_TO_DESKTOP) {
151.241 Devices::InstanceAccess devices;
151.242 - MONITOR_INFO_EXTENDED *pMonInfo =
151.243 - (PMONITOR_INFO_EXTENDED) devices->GetDevice(screen)->GetMonitorInfo();
151.244 + MONITORINFOEX *pMonInfo =
151.245 + (LPMONITORINFOEX)devices->GetDevice(screen)->GetMonitorInfo();
151.246 // make sure the device names match
151.247 - if (wcscmp(pMonInfo->strDevice, lpDisplayDevice->strDevName) == 0) {
151.248 + if (wcscmp(pMonInfo->szDevice, lpDisplayDevice->DeviceName) == 0) {
151.249 return TRUE;
151.250 }
151.251 }
151.252 @@ -1114,9 +1131,9 @@
151.253 dm.dmSize = sizeof(dm);
151.254 dm.dmDriverExtra = 0;
151.255
151.256 - _DISPLAY_DEVICE displayDevice;
151.257 + DISPLAY_DEVICE displayDevice;
151.258 if (GetAttachedDisplayDevice(screen, &displayDevice)) {
151.259 - pName = displayDevice.strDevName;
151.260 + pName = displayDevice.DeviceName;
151.261 }
151.262 if (!EnumDisplaySettings(pName, ENUM_CURRENT_SETTINGS, &dm))
151.263 {
151.264 @@ -1156,7 +1173,7 @@
151.265 // ChangeDisplaySettingsEx is not available on NT,
151.266 // so it'd be nice not to break it if we can help it.
151.267 if (screen == AwtWin32GraphicsDevice::GetDefaultDeviceIndex()) {
151.268 - if (ChangeDisplaySettings(&dm, CDS_FULLSCREEN) !=
151.269 + if (::ChangeDisplaySettings(&dm, CDS_FULLSCREEN) !=
151.270 DISP_CHANGE_SUCCESSFUL)
151.271 {
151.272 JNU_ThrowInternalError(env,
151.273 @@ -1165,15 +1182,9 @@
151.274 return;
151.275 }
151.276
151.277 - // make sure the function pointer for fn_change_display_settings_ex
151.278 - // is initialized
151.279 - load_user_procs();
151.280 -
151.281 - _DISPLAY_DEVICE displayDevice;
151.282 - if (fn_change_display_settings_ex == NULL ||
151.283 - !GetAttachedDisplayDevice(screen, &displayDevice) ||
151.284 - ((*fn_change_display_settings_ex)
151.285 - (displayDevice.strDevName, &dm, NULL, CDS_FULLSCREEN, NULL) !=
151.286 + DISPLAY_DEVICE displayDevice;
151.287 + if (!GetAttachedDisplayDevice(screen, &displayDevice) ||
151.288 + (::ChangeDisplaySettingsEx(displayDevice.DeviceName, &dm, NULL, CDS_FULLSCREEN, NULL) !=
151.289 DISP_CHANGE_SUCCESSFUL))
151.290 {
151.291 JNU_ThrowInternalError(env,
151.292 @@ -1231,11 +1242,11 @@
151.293
151.294 DEVMODE dm;
151.295 LPTSTR pName = NULL;
151.296 - _DISPLAY_DEVICE displayDevice;
151.297 + DISPLAY_DEVICE displayDevice;
151.298
151.299
151.300 if (GetAttachedDisplayDevice(screen, &displayDevice)) {
151.301 - pName = displayDevice.strDevName;
151.302 + pName = displayDevice.DeviceName;
151.303 }
151.304
151.305 dm.dmSize = sizeof(dm);
152.1 --- a/src/windows/native/sun/windows/awt_Win32GraphicsDevice.h Tue Feb 17 09:06:16 2009 -0800
152.2 +++ b/src/windows/native/sun/windows/awt_Win32GraphicsDevice.h Wed Feb 18 10:05:41 2009 -0800
152.3 @@ -32,7 +32,6 @@
152.4 } // extern "C"
152.5 #include "colordata.h"
152.6 #include "awt_Palette.h"
152.7 -#include "awt_MMStub.h"
152.8 #include "Devices.h"
152.9
152.10 class AwtPalette;
152.11 @@ -40,7 +39,7 @@
152.12
152.13 class AwtWin32GraphicsDevice {
152.14 public:
152.15 - AwtWin32GraphicsDevice(int screen, MHND mhnd, Devices *arr);
152.16 + AwtWin32GraphicsDevice(int screen, HMONITOR mhnd, Devices *arr);
152.17 ~AwtWin32GraphicsDevice();
152.18 void UpdateDeviceColorState();
152.19 void SetGrayness(int grayValue);
152.20 @@ -60,8 +59,8 @@
152.21 HPALETTE GetPalette();
152.22 ColorData *GetColorData() { return cData; }
152.23 int GetBitDepth() { return colorData->bitsperpixel; }
152.24 - MHND GetMonitor() { return monitor; }
152.25 - MONITOR_INFO *GetMonitorInfo() { return pMonitorInfo; }
152.26 + HMONITOR GetMonitor() { return monitor; }
152.27 + LPMONITORINFO GetMonitorInfo() { return pMonitorInfo; }
152.28 jobject GetJavaDevice() { return javaDevice; }
152.29 int GetDeviceIndex() { return screen; }
152.30 void Release();
152.31 @@ -78,14 +77,14 @@
152.32 static void UpdateDynamicColorModel(int deviceIndex);
152.33 static BOOL UpdateSystemPalette(int deviceIndex);
152.34 static HPALETTE GetPalette(int deviceIndex);
152.35 - static MHND GetMonitor(int deviceIndex);
152.36 - static MONITOR_INFO *GetMonitorInfo(int deviceIndex);
152.37 + static HMONITOR GetMonitor(int deviceIndex);
152.38 + static LPMONITORINFO GetMonitorInfo(int deviceIndex);
152.39 static void ResetAllMonitorInfo();
152.40 static BOOL IsPrimaryPalettized() { return primaryPalettized; }
152.41 static int GetDefaultDeviceIndex() { return primaryIndex; }
152.42 - static void DisableOffscreenAccelerationForDevice(MHND hMonitor);
152.43 + static void DisableOffscreenAccelerationForDevice(HMONITOR hMonitor);
152.44 static HDC GetDCFromScreen(int screen);
152.45 - static int GetScreenFromMHND(MHND mon);
152.46 + static int GetScreenFromHMONITOR(HMONITOR mon);
152.47
152.48 static int primaryIndex;
152.49 static BOOL primaryPalettized;
152.50 @@ -97,17 +96,19 @@
152.51 static jmethodID paletteChangedMID;
152.52
152.53 private:
152.54 - static BOOL AreSameMonitors(MHND mon1, MHND mon2);
152.55 + static BOOL AreSameMonitors(HMONITOR mon1, HMONITOR mon2);
152.56 ImgColorData *colorData;
152.57 AwtPalette *palette;
152.58 ColorData *cData; // Could be static, but may sometime
152.59 // have per-device info in this structure
152.60 BITMAPINFO *gpBitmapInfo;
152.61 int screen;
152.62 - MHND monitor;
152.63 - MONITOR_INFO *pMonitorInfo;
152.64 + HMONITOR monitor;
152.65 + LPMONITORINFO pMonitorInfo;
152.66 jobject javaDevice;
152.67 Devices *devicesArray;
152.68 +
152.69 + static HDC MakeDCFromMonitor(HMONITOR);
152.70 };
152.71
152.72 #endif AWT_WIN32GRAPHICSDEVICE_H
153.1 --- a/src/windows/native/sun/windows/awt_Win32GraphicsEnv.cpp Tue Feb 17 09:06:16 2009 -0800
153.2 +++ b/src/windows/native/sun/windows/awt_Win32GraphicsEnv.cpp Wed Feb 18 10:05:41 2009 -0800
153.3 @@ -23,8 +23,6 @@
153.4 * have any questions.
153.5 */
153.6
153.7 -#include <windows.h>
153.8 -#include <jni.h>
153.9 #include <awt.h>
153.10 #include <sun_awt_Win32GraphicsEnvironment.h>
153.11 #include "awt_Canvas.h"
153.12 @@ -188,44 +186,6 @@
153.13 return AwtWin32GraphicsDevice::GetDefaultDeviceIndex();
153.14 }
153.15
153.16 -#define FR_PRIVATE 0x10 /* from wingdi.h */
153.17 -typedef int (WINAPI *AddFontResourceExType)(LPCTSTR,DWORD,VOID*);
153.18 -typedef int (WINAPI *RemoveFontResourceExType)(LPCTSTR,DWORD,VOID*);
153.19 -
153.20 -static AddFontResourceExType procAddFontResourceEx = NULL;
153.21 -static RemoveFontResourceExType procRemoveFontResourceEx = NULL;
153.22 -
153.23 -static int winVer = -1;
153.24 -
153.25 -static int getWinVer() {
153.26 - if (winVer == -1) {
153.27 - OSVERSIONINFO osvi;
153.28 - osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
153.29 - GetVersionEx(&osvi);
153.30 - winVer = osvi.dwMajorVersion;
153.31 - if (winVer >= 5) {
153.32 - // REMIND verify on 64 bit windows
153.33 - HMODULE hGDI = LoadLibrary(TEXT("gdi32.dll"));
153.34 - if (hGDI != NULL) {
153.35 - procAddFontResourceEx =
153.36 - (AddFontResourceExType)GetProcAddress(hGDI,"AddFontResourceExW");
153.37 - if (procAddFontResourceEx == NULL) {
153.38 - winVer = 0;
153.39 - }
153.40 - procRemoveFontResourceEx =
153.41 - (RemoveFontResourceExType)GetProcAddress(hGDI,
153.42 - "RemoveFontResourceExW");
153.43 - if (procRemoveFontResourceEx == NULL) {
153.44 - winVer = 0;
153.45 - }
153.46 - FreeLibrary(hGDI);
153.47 - }
153.48 - }
153.49 - }
153.50 -
153.51 - return winVer;
153.52 -}
153.53 -
153.54 /*
153.55 * Class: sun_awt_Win32GraphicsEnvironment
153.56 * Method: registerFontWithPlatform
153.57 @@ -236,9 +196,10 @@
153.58 jclass cl,
153.59 jstring fontName)
153.60 {
153.61 - if (getWinVer() >= 5 && procAddFontResourceEx != NULL) {
153.62 - LPTSTR file = (LPTSTR)JNU_GetStringPlatformChars(env, fontName, NULL);
153.63 - (*procAddFontResourceEx)(file, FR_PRIVATE, NULL);
153.64 + LPTSTR file = (LPTSTR)JNU_GetStringPlatformChars(env, fontName, JNI_FALSE);
153.65 + if (file) {
153.66 + ::AddFontResourceEx(file, FR_PRIVATE, NULL);
153.67 + JNU_ReleaseStringPlatformChars(env, fontName, file);
153.68 }
153.69 }
153.70
153.71 @@ -255,9 +216,10 @@
153.72 jclass cl,
153.73 jstring fontName)
153.74 {
153.75 - if (getWinVer() >= 5 && procRemoveFontResourceEx != NULL) {
153.76 - LPTSTR file = (LPTSTR)JNU_GetStringPlatformChars(env, fontName, NULL);
153.77 - (*procRemoveFontResourceEx)(file, FR_PRIVATE, NULL);
153.78 + LPTSTR file = (LPTSTR)JNU_GetStringPlatformChars(env, fontName, JNI_FALSE);
153.79 + if (file) {
153.80 + ::RemoveFontResourceEx(file, FR_PRIVATE, NULL);
153.81 + JNU_ReleaseStringPlatformChars(env, fontName, file);
153.82 }
153.83 }
153.84
154.1 --- a/src/windows/native/sun/windows/awt_Window.cpp Tue Feb 17 09:06:16 2009 -0800
154.2 +++ b/src/windows/native/sun/windows/awt_Window.cpp Wed Feb 18 10:05:41 2009 -0800
154.3 @@ -23,7 +23,7 @@
154.4 * have any questions.
154.5 */
154.6
154.7 -#include <windowsx.h>
154.8 +#include "awt.h"
154.9
154.10 #include "awt_Component.h"
154.11 #include "awt_Container.h"
154.12 @@ -32,7 +32,6 @@
154.13 #include "awt_Panel.h"
154.14 #include "awt_Toolkit.h"
154.15 #include "awt_Window.h"
154.16 -#include "awt_dlls.h"
154.17 #include "awt_Win32GraphicsDevice.h"
154.18 #include "awt_BitmapUtil.h"
154.19 #include "awt_IconCursor.h"
154.20 @@ -42,6 +41,8 @@
154.21 #include <java_awt_event_ComponentEvent.h>
154.22 #include "sun_awt_windows_WCanvasPeer.h"
154.23
154.24 +#include <windowsx.h>
154.25 +
154.26 #if !defined(__int3264)
154.27 typedef __int32 LONG_PTR;
154.28 #endif // __int3264
154.29 @@ -501,8 +502,7 @@
154.30 // which might involve tagging java.awt.Window instances with a semantic
154.31 // property so platforms can animate/decorate/etc accordingly.
154.32 //
154.33 - if ((IS_WIN98 || IS_WIN2000) &&
154.34 - JNU_IsInstanceOfByName(env, target, "com/sun/java/swing/plaf/windows/WindowsPopupWindow") > 0)
154.35 + if (JNU_IsInstanceOfByName(env, target, "com/sun/java/swing/plaf/windows/WindowsPopupWindow") > 0)
154.36 {
154.37 // need this global ref to make the class unloadable (see 6500204)
154.38 static jclass windowsPopupWindowCls;
154.39 @@ -535,13 +535,8 @@
154.40 windowType = env->GetIntField(target, windowTypeFID);
154.41
154.42 if (windowType == windowTYPES[TOOLTIP]) {
154.43 - if (IS_WIN2000) {
154.44 - SystemParametersInfo(SPI_GETTOOLTIPANIMATION, 0, &animateflag, 0);
154.45 - SystemParametersInfo(SPI_GETTOOLTIPFADE, 0, &fadeflag, 0);
154.46 - } else {
154.47 - // use same setting as menus
154.48 - SystemParametersInfo(SPI_GETMENUANIMATION, 0, &animateflag, 0);
154.49 - }
154.50 + SystemParametersInfo(SPI_GETTOOLTIPANIMATION, 0, &animateflag, 0);
154.51 + SystemParametersInfo(SPI_GETTOOLTIPFADE, 0, &fadeflag, 0);
154.52 if (animateflag) {
154.53 // AW_BLEND currently produces runtime parameter error
154.54 // animateStyle = fadeflag? AW_BLEND : AW_SLIDE | AW_VER_POSITIVE;
154.55 @@ -551,13 +546,10 @@
154.56 windowType == windowTYPES[POPUPMENU]) {
154.57 SystemParametersInfo(SPI_GETMENUANIMATION, 0, &animateflag, 0);
154.58 if (animateflag) {
154.59 -
154.60 - if (IS_WIN2000) {
154.61 - SystemParametersInfo(SPI_GETMENUFADE, 0, &fadeflag, 0);
154.62 - if (fadeflag) {
154.63 - // AW_BLEND currently produces runtime parameter error
154.64 - //animateStyle = AW_BLEND;
154.65 - }
154.66 + SystemParametersInfo(SPI_GETMENUFADE, 0, &fadeflag, 0);
154.67 + if (fadeflag) {
154.68 + // AW_BLEND currently produces runtime parameter error
154.69 + //animateStyle = AW_BLEND;
154.70 }
154.71 if (animateStyle == 0 && !fadeflag) {
154.72 animateStyle = AW_SLIDE;
154.73 @@ -578,38 +570,18 @@
154.74 }
154.75
154.76 if (animateStyle != 0) {
154.77 - load_user_procs();
154.78 -
154.79 - if (fn_animate_window != NULL) {
154.80 - BOOL result = (*fn_animate_window)(hWnd, (DWORD)200, animateStyle);
154.81 - if (result == 0) {
154.82 - LPTSTR msgBuffer = NULL;
154.83 - FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
154.84 - FORMAT_MESSAGE_FROM_SYSTEM |
154.85 - FORMAT_MESSAGE_IGNORE_INSERTS,
154.86 - NULL,
154.87 - GetLastError(),
154.88 - MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
154.89 - (LPTSTR)&msgBuffer, // it's an output parameter when allocate buffer is used
154.90 - 0,
154.91 - NULL);
154.92 -
154.93 - if (msgBuffer == NULL) {
154.94 - msgBuffer = TEXT("<Could not get GetLastError() message text>");
154.95 - }
154.96 - _ftprintf(stderr,TEXT("AwtWindow::Show: AnimateWindow: "));
154.97 - _ftprintf(stderr,msgBuffer);
154.98 - LocalFree(msgBuffer);
154.99 - } else {
154.100 - // WM_PAINT is not automatically sent when invoking AnimateWindow,
154.101 - // so force an expose event
154.102 - RECT rect;
154.103 - ::GetWindowRect(hWnd,&rect);
154.104 - ::ScreenToClient(hWnd, (LPPOINT)&rect);
154.105 - ::InvalidateRect(hWnd,&rect,TRUE);
154.106 - ::UpdateWindow(hWnd);
154.107 - done = TRUE;
154.108 - }
154.109 + BOOL result = ::AnimateWindow(hWnd, (DWORD)200, animateStyle);
154.110 + if (!result) {
154.111 + // TODO: log message
154.112 + } else {
154.113 + // WM_PAINT is not automatically sent when invoking AnimateWindow,
154.114 + // so force an expose event
154.115 + RECT rect;
154.116 + ::GetWindowRect(hWnd,&rect);
154.117 + ::ScreenToClient(hWnd, (LPPOINT)&rect);
154.118 + ::InvalidateRect(hWnd, &rect, TRUE);
154.119 + ::UpdateWindow(hWnd);
154.120 + done = TRUE;
154.121 }
154.122 }
154.123 }
154.124 @@ -1205,16 +1177,17 @@
154.125 }
154.126
154.127 /* draw warning text */
154.128 - LPWSTR text = TO_WSTRING(warningString);
154.129 + LPCWSTR text = JNU_GetStringPlatformChars(env, warningString, NULL);
154.130 VERIFY(::SetBkColor(hDC, ::GetSysColor(COLOR_BTNFACE)) != CLR_INVALID);
154.131 VERIFY(::SetTextColor(hDC, ::GetSysColor(COLOR_BTNTEXT)) != CLR_INVALID);
154.132 VERIFY(::SelectObject(hDC, ::GetStockObject(DEFAULT_GUI_FONT)) != NULL);
154.133 VERIFY(::SetTextAlign(hDC, TA_LEFT | TA_BOTTOM) != GDI_ERROR);
154.134 - VERIFY(::ExtTextOutW(hDC, r.left+2, r.bottom-1,
154.135 + VERIFY(::ExtTextOut(hDC, r.left+2, r.bottom-1,
154.136 ETO_CLIPPED | ETO_OPAQUE,
154.137 &r, text, static_cast<UINT>(wcslen(text)), NULL));
154.138 VERIFY(::RestoreDC(hDC, iSaveDC));
154.139 ::ReleaseDC(GetHWnd(), hDC);
154.140 + JNU_ReleaseStringPlatformChars(env, warningString, text);
154.141 }
154.142
154.143 env->DeleteLocalRef(target);
154.144 @@ -1360,13 +1333,13 @@
154.145 }
154.146
154.147 int AwtWindow::GetScreenImOn() {
154.148 - MHND hmon;
154.149 + HMONITOR hmon;
154.150 int scrnNum;
154.151
154.152 - hmon = ::MonitorFromWindow(GetHWnd(), MONITOR_DEFAULT_TO_PRIMARY);
154.153 + hmon = ::MonitorFromWindow(GetHWnd(), MONITOR_DEFAULTTOPRIMARY);
154.154 DASSERT(hmon != NULL);
154.155
154.156 - scrnNum = AwtWin32GraphicsDevice::GetScreenFromMHND(hmon);
154.157 + scrnNum = AwtWin32GraphicsDevice::GetScreenFromHMONITOR(hmon);
154.158 DASSERT(scrnNum > -1);
154.159
154.160 return scrnNum;
154.161 @@ -1619,10 +1592,10 @@
154.162 if (::IsWindow(w->GetHWnd()))
154.163 {
154.164 int length = env->GetStringLength(title);
154.165 - WCHAR *buffer = new WCHAR[length + 1];
154.166 - env->GetStringRegion(title, 0, length, buffer);
154.167 + TCHAR *buffer = new TCHAR[length + 1];
154.168 + env->GetStringRegion(title, 0, length, reinterpret_cast<jchar*>(buffer));
154.169 buffer[length] = L'\0';
154.170 - VERIFY(::SetWindowTextW(w->GetHWnd(), buffer));
154.171 + VERIFY(::SetWindowText(w->GetHWnd(), buffer));
154.172 delete[] buffer;
154.173 }
154.174 ret:
154.175 @@ -1967,13 +1940,11 @@
154.176
154.177 window->m_isFocusableWindow = isFocusableWindow;
154.178
154.179 - if (IS_WIN2000) {
154.180 - if (!window->m_isFocusableWindow) {
154.181 - LONG isPopup = window->GetStyle() & WS_POPUP;
154.182 - window->SetStyleEx(window->GetStyleEx() | (isPopup ? 0 : WS_EX_APPWINDOW) | AWT_WS_EX_NOACTIVATE);
154.183 - } else {
154.184 - window->SetStyleEx(window->GetStyleEx() & ~WS_EX_APPWINDOW & ~AWT_WS_EX_NOACTIVATE);
154.185 - }
154.186 + if (!window->m_isFocusableWindow) {
154.187 + LONG isPopup = window->GetStyle() & WS_POPUP;
154.188 + window->SetStyleEx(window->GetStyleEx() | (isPopup ? 0 : WS_EX_APPWINDOW) | AWT_WS_EX_NOACTIVATE);
154.189 + } else {
154.190 + window->SetStyleEx(window->GetStyleEx() & ~WS_EX_APPWINDOW & ~AWT_WS_EX_NOACTIVATE);
154.191 }
154.192
154.193 ret:
155.1 --- a/src/windows/native/sun/windows/awt_dlls.cpp Tue Feb 17 09:06:16 2009 -0800
155.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
155.3 @@ -1,422 +0,0 @@
155.4 -/*
155.5 - * Copyright 1999-2003 Sun Microsystems, Inc. All Rights Reserved.
155.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
155.7 - *
155.8 - * This code is free software; you can redistribute it and/or modify it
155.9 - * under the terms of the GNU General Public License version 2 only, as
155.10 - * published by the Free Software Foundation. Sun designates this
155.11 - * particular file as subject to the "Classpath" exception as provided
155.12 - * by Sun in the LICENSE file that accompanied this code.
155.13 - *
155.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
155.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
155.16 - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
155.17 - * version 2 for more details (a copy is included in the LICENSE file that
155.18 - * accompanied this code).
155.19 - *
155.20 - * You should have received a copy of the GNU General Public License version
155.21 - * 2 along with this work; if not, write to the Free Software Foundation,
155.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
155.23 - *
155.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
155.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
155.26 - * have any questions.
155.27 - */
155.28 -
155.29 -#include "awt.h"
155.30 -#include "awt_dlls.h"
155.31 -
155.32 -/*
155.33 - * To reduce memory footprint we don't statically link to COMDLG32.DLL
155.34 - * and SHELL32. Instead we programatically load them only when they are
155.35 - * needed.
155.36 - */
155.37 -
155.38 -PrintDlgType AwtCommDialog::do_print_dlg;
155.39 -PageSetupDlgType AwtCommDialog::do_page_setup_dlg;
155.40 -GetOpenFileNameType AwtCommDialog::get_open_file_name;
155.41 -GetSaveFileNameType AwtCommDialog::get_save_file_name;
155.42 -GetExtendedErrorType AwtCommDialog::get_dlg_extended_error;
155.43 -
155.44 -/***********************************************************************/
155.45 -
155.46 -DWORD
155.47 -AwtCommDialog::CommDlgExtendedError(VOID) {
155.48 - AwtCommDialog::load_comdlg_procs();
155.49 - return static_cast<DWORD>(reinterpret_cast<INT_PTR>(
155.50 - AwtToolkit::GetInstance().
155.51 - InvokeFunction(reinterpret_cast<void *(*)(void)>
155.52 - (AwtCommDialog::GetExtendedErrorWrapper))));
155.53 -}
155.54 -
155.55 -BOOL
155.56 -AwtCommDialog::PrintDlg(LPPRINTDLG data) {
155.57 - AwtCommDialog::load_comdlg_procs();
155.58 - return static_cast<BOOL>(reinterpret_cast<INT_PTR>(
155.59 - AwtToolkit::GetInstance().
155.60 - InvokeFunction(reinterpret_cast<void *(*)(void *)>
155.61 - (AwtCommDialog::PrintDlgWrapper), data)));
155.62 -}
155.63 -
155.64 -BOOL
155.65 -AwtCommDialog::PageSetupDlg(LPPAGESETUPDLG data) {
155.66 - AwtCommDialog::load_comdlg_procs();
155.67 - return static_cast<BOOL>(reinterpret_cast<INT_PTR>(
155.68 - AwtToolkit::GetInstance().
155.69 - InvokeFunction(reinterpret_cast<void *(*)(void *)>
155.70 - (AwtCommDialog::PageSetupDlgWrapper), data)));
155.71 -}
155.72 -
155.73 -/*
155.74 - * Load the COMDLG32.dll and get pointers to various procedures.
155.75 - */
155.76 -
155.77 -void
155.78 -AwtCommDialog::load_comdlg_procs()
155.79 -{
155.80 - static int initialized = 0;
155.81 - HMODULE lib = NULL;
155.82 - if (initialized) {
155.83 - return;
155.84 - }
155.85 - lib = LoadLibrary(TEXT("COMDLG32.DLL"));
155.86 - HMODULE libUnicows = UnicowsLoader::GetModuleHandle();
155.87 - do_print_dlg = (PrintDlgType)GetProcAddress(IS_WIN95 ? libUnicows : lib, "PrintDlgW");
155.88 - do_page_setup_dlg = (PageSetupDlgType)GetProcAddress(IS_WIN95 ? libUnicows : lib, "PageSetupDlgW");
155.89 - get_open_file_name = (GetOpenFileNameType)GetProcAddress(IS_WIN95 ? libUnicows : lib, "GetOpenFileNameW");
155.90 - get_save_file_name = (GetSaveFileNameType)GetProcAddress(IS_WIN95 ? libUnicows : lib, "GetSaveFileNameW");
155.91 - get_dlg_extended_error = (GetExtendedErrorType)GetProcAddress(lib, "CommDlgExtendedError");
155.92 - initialized = 1;
155.93 -}
155.94 -
155.95 -/***********************************************************************/
155.96 -
155.97 -DragQueryFileType do_drag_query_file;
155.98 -GetPathFromIDListType get_path_from_idlist;
155.99 -
155.100 -/*
155.101 - * Load the SHELL32.dll and get pointers to various procedures.
155.102 - */
155.103 -
155.104 -void
155.105 -load_shell_procs()
155.106 -{
155.107 - static int initialized = 0;
155.108 - HMODULE lib = NULL;
155.109 - if (initialized) {
155.110 - return;
155.111 - }
155.112 -
155.113 - if (IS_WIN95) {
155.114 - lib = UnicowsLoader::GetModuleHandle();
155.115 - } else {
155.116 - lib = LoadLibrary(TEXT("SHELL32.DLL"));
155.117 - }
155.118 -
155.119 - do_drag_query_file = (DragQueryFileType)GetProcAddress(lib, "DragQueryFileW");
155.120 - get_path_from_idlist = (GetPathFromIDListType)GetProcAddress(lib,
155.121 - "SHGetPathFromIDListW");
155.122 - initialized = 1;
155.123 -}
155.124 -
155.125 -/***********************************************************************/
155.126 -
155.127 -AnimateWindowType fn_animate_window;
155.128 -ChangeDisplaySettingsExType fn_change_display_settings_ex;
155.129 -
155.130 -/*
155.131 - * Load the USER32.dll and get pointers to various procedures.
155.132 - */
155.133 -
155.134 -void
155.135 -load_user_procs()
155.136 -{
155.137 - static int initialized = 0;
155.138 - HMODULE lib = NULL;
155.139 - if (initialized) {
155.140 - return;
155.141 - }
155.142 - lib = LoadLibrary(TEXT("USER32.DLL"));
155.143 - HMODULE libUnicows = UnicowsLoader::GetModuleHandle();
155.144 - fn_animate_window = (AnimateWindowType)GetProcAddress(lib, "AnimateWindow");
155.145 - fn_change_display_settings_ex = (ChangeDisplaySettingsExType)
155.146 - GetProcAddress(IS_WIN95 ? libUnicows : lib, "ChangeDisplaySettingsExW");
155.147 - initialized = 1;
155.148 -}
155.149 -
155.150 -/***********************************************************************/
155.151 -
155.152 -GetFileVersionInfoSizeType get_file_version_info_size;
155.153 -GetFileVersionInfoType get_file_version_info;
155.154 -VerQueryValueType do_ver_query_value;
155.155 -
155.156 -/*
155.157 - * Load the VERSION.dll and get pointers to various procedures.
155.158 - */
155.159 -
155.160 -void
155.161 -load_version_procs()
155.162 -{
155.163 - static int initialized = 0;
155.164 - HMODULE lib = NULL;
155.165 - if (initialized) {
155.166 - return;
155.167 - }
155.168 -
155.169 - if (IS_WIN95) {
155.170 - lib = UnicowsLoader::GetModuleHandle();
155.171 - } else {
155.172 - lib = LoadLibrary(TEXT("VERSION.DLL"));
155.173 - }
155.174 -
155.175 - get_file_version_info_size =
155.176 - (GetFileVersionInfoSizeType)GetProcAddress(lib, "GetFileVersionInfoSizeW");
155.177 - get_file_version_info =
155.178 - (GetFileVersionInfoType)GetProcAddress(lib, "GetFileVersionInfoW");
155.179 - do_ver_query_value =
155.180 - (VerQueryValueType)GetProcAddress(lib, "VerQueryValueW");
155.181 - initialized = 1;
155.182 -}
155.183 -
155.184 -/***********************************************************************/
155.185 -
155.186 -#define MAX_KNOWN_VERSION 4
155.187 -
155.188 -/*
155.189 - * We are going to use an undocumented procedure RSRC32.DLL.
155.190 - * The safest will be to use it only for a finite set of known versions.
155.191 - */
155.192 -
155.193 -DWORD known_versions[MAX_KNOWN_VERSION][2] = {
155.194 - { 0x00040000, 0x000003B6 }, // WIN95\RETAIL
155.195 - // WIN95\RETAIL\UPGRADE
155.196 - // WIN95\OSR2
155.197 - // WIN95\OSR25
155.198 - // WIN95\international\RETAIL
155.199 - // WIN95\international\OSR2
155.200 -
155.201 - { 0x0004000A, 0x00000672 }, // WIN98\international\win98beta3
155.202 -
155.203 - { 0x0004000A, 0x000007CE }, // WIN98\RETAIL
155.204 - // WIN98\international\RETAIL
155.205 - // WIN98\SE
155.206 -
155.207 - { 0x0004005A, 0x00000BB8 } // WIN98ME
155.208 -};
155.209 -
155.210 -GetFreeSystemResourcesType get_free_system_resources = NULL;
155.211 -
155.212 -/*
155.213 - * Load the RSRC32.dll, check that it is a known version
155.214 - * and get the pointer to the undocumented procedure.
155.215 - */
155.216 -
155.217 -void
155.218 -load_rsrc32_procs()
155.219 -{
155.220 - static int initialized = 0;
155.221 - if (initialized) {
155.222 - return;
155.223 - }
155.224 - if (IS_NT) {
155.225 - // 4310028: Only load library on non-NT systems. The load
155.226 - // will always fail anyways. However, if a Win 9x OS is
155.227 - // also installed on the system, and the user's path
155.228 - // includes C:\WINDOWS\SYSTEM, or the equivalent, a really
155.229 - // ugly and annoying warning dialog will appear.
155.230 - initialized = 1;
155.231 - return;
155.232 - }
155.233 - HMODULE lib = LoadLibrary(TEXT("RSRC32.DLL"));
155.234 - if (lib != NULL) {
155.235 - TCHAR szFullPath[_MAX_PATH];
155.236 - DWORD dwVerHnd = 0;
155.237 - DWORD dwVersionInfoSize;
155.238 - LPBYTE lpVersionInfo;
155.239 - LPVOID lpBuffer;
155.240 - UINT uLength = 0;
155.241 -
155.242 - /*
155.243 - * We use undocumented procedure exported by RSRC32.DLL, so the
155.244 - * safest will be to check the library's version and only attempt
155.245 - * to get the procedure address if it's a known version.
155.246 - */
155.247 - if (::GetModuleFileName(lib, szFullPath, sizeof(szFullPath))) {
155.248 - load_version_procs();
155.249 - dwVersionInfoSize = (*get_file_version_info_size)(szFullPath, &dwVerHnd);
155.250 - if (dwVersionInfoSize) {
155.251 - lpVersionInfo = new BYTE[dwVersionInfoSize];
155.252 - (*get_file_version_info)(szFullPath, dwVerHnd,
155.253 - dwVersionInfoSize, lpVersionInfo);
155.254 - if ((*do_ver_query_value)(lpVersionInfo, TEXT("\\"), &lpBuffer, &uLength)) {
155.255 - VS_FIXEDFILEINFO *lpvsFixedFileInfo = (VS_FIXEDFILEINFO *)lpBuffer;
155.256 - DWORD dwFileVersionMS = lpvsFixedFileInfo->dwFileVersionMS;
155.257 - DWORD dwFileVersionLS = lpvsFixedFileInfo->dwFileVersionLS;
155.258 - for (int i = 0; i < MAX_KNOWN_VERSION; i++) {
155.259 - if ((known_versions[i][0] == dwFileVersionMS) &&
155.260 - (known_versions[i][1] == dwFileVersionLS)) {
155.261 - get_free_system_resources =
155.262 - (GetFreeSystemResourcesType)
155.263 - ::GetProcAddress(lib, "_MyGetFreeSystemResources32@4");
155.264 - break;
155.265 - }
155.266 - }
155.267 - }
155.268 - delete[] lpVersionInfo;
155.269 - }
155.270 - }
155.271 - }
155.272 - initialized = 1;
155.273 -}
155.274 -
155.275 -void
155.276 -load_rich_edit_library() {
155.277 - static int initialized = 0;
155.278 - BOOL isRichEdit32Needed = IS_WIN95 && !IS_WIN98;
155.279 -
155.280 - if (initialized) {
155.281 - return;
155.282 - }
155.283 -
155.284 - HMODULE lib = NULL;
155.285 - if (isRichEdit32Needed) {
155.286 - lib = ::LoadLibrary(TEXT("RICHED32.DLL"));
155.287 - } else {
155.288 - lib = ::LoadLibrary(TEXT("RICHED20.DLL"));
155.289 - }
155.290 - if (lib == NULL) {
155.291 - JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
155.292 - JNU_ThrowInternalError(env, "Can't load a rich edit DLL");
155.293 - } else if (isRichEdit32Needed) {
155.294 - // Richedit language checking logic is needed for RICHED32.DLL only.
155.295 - LPTSTR szFullPath = new TCHAR[_MAX_PATH];
155.296 - DWORD dwVerHnd = 0;
155.297 - DWORD dwVersionInfoSize;
155.298 - LPVOID lpVersionInfo;
155.299 - UINT uLength = 0;
155.300 - struct LANGANDCODEPAGE {
155.301 - WORD wLanguage;
155.302 - WORD wCodePage;
155.303 - } *lpTranslate;
155.304 -
155.305 - try {
155.306 - if (!IS_WIN2000 && ::GetModuleFileName(lib, szFullPath, _MAX_PATH)) {
155.307 - load_version_procs();
155.308 - dwVersionInfoSize = (*get_file_version_info_size)(szFullPath, &dwVerHnd);
155.309 - if (dwVersionInfoSize) {
155.310 - lpVersionInfo = new BYTE[dwVersionInfoSize];
155.311 - try {
155.312 - if ((*get_file_version_info)(szFullPath,
155.313 - dwVerHnd,
155.314 - dwVersionInfoSize,
155.315 - lpVersionInfo)
155.316 - && (*do_ver_query_value)(lpVersionInfo,
155.317 - TEXT("\\VarFileInfo\\Translation"),
155.318 - (LPVOID*)&lpTranslate,
155.319 - &uLength)) {
155.320 -
155.321 - if (::GetSystemMetrics(SM_DBCSENABLED)
155.322 - && LANGIDFROMLCID(::GetThreadLocale()) != lpTranslate[0].wLanguage) {
155.323 -
155.324 - JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
155.325 - if (env->PushLocalFrame(6) >= 0) {
155.326 - jstring keystr = env->NewStringUTF("AWT.InconsistentDLLsWarning");
155.327 - jstring defstr = env->NewStringUTF(
155.328 -"Text based operations may not work correctly due to \
155.329 -an inconsistent set of dynamic linking libraries (DLLs) installed on your \
155.330 -system. For more information on this problem and a suggested workaround \
155.331 -please see the Java(TM) 2 SDK, Standard Edition Release Notes \
155.332 -on java.sun.com.");
155.333 -
155.334 - jstring retstr =
155.335 - (jstring) JNU_CallStaticMethodByName(
155.336 - env,
155.337 - NULL,
155.338 - "java/awt/Toolkit",
155.339 - "getProperty",
155.340 - "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;",
155.341 - keystr,
155.342 - defstr).l;
155.343 -
155.344 - jboolean exception;
155.345 - jstring pkgstr = env->NewStringUTF("java.awt");
155.346 - jobject logger =
155.347 - (jobject) JNU_CallStaticMethodByName(
155.348 - env,
155.349 - &exception,
155.350 - "java/util/logging/Logger",
155.351 - "getLogger",
155.352 - "(Ljava/lang/String;)Ljava/util/logging/Logger;",
155.353 - pkgstr).l;
155.354 -
155.355 - jstring msgstr = (retstr) ? retstr : defstr;
155.356 - if (!exception) {
155.357 - JNU_CallMethodByName(
155.358 - env,
155.359 - NULL,
155.360 - logger,
155.361 - "warning",
155.362 - "(Ljava/lang/String;)V",
155.363 - msgstr);
155.364 - } else {
155.365 - LPCTSTR outstr = JNU_GetStringPlatformChars(env, msgstr, NULL);
155.366 - _ftprintf(stdout, TEXT("\nWARNING: %s\n"), outstr);
155.367 - fflush(stdout);
155.368 - JNU_ReleaseStringPlatformChars(env, msgstr, outstr);
155.369 - }
155.370 -
155.371 - env->PopLocalFrame(NULL);
155.372 - }
155.373 - }
155.374 - }
155.375 - } catch (...) {
155.376 - delete[] lpVersionInfo;
155.377 - throw;
155.378 - }
155.379 - delete[] lpVersionInfo;
155.380 - }
155.381 - }
155.382 - } catch (...) {
155.383 - delete[] szFullPath;
155.384 - throw;
155.385 - }
155.386 - delete[] szFullPath;
155.387 - }
155.388 - initialized = 1;
155.389 -}
155.390 -
155.391 -/***********************************************************************/
155.392 -
155.393 -bool AwtWinMM::initialized = false;
155.394 -AwtWinMM::PlaySoundWFunc* AwtWinMM::playSoundFunc = NULL;
155.395 -
155.396 -BOOL AwtWinMM::PlaySoundWrapper(LPCTSTR pszSound, HMODULE hmod, DWORD fdwSound) {
155.397 - load_winmm_procs();
155.398 - if (playSoundFunc == NULL) {
155.399 - return FALSE;
155.400 - }
155.401 - return (*playSoundFunc)(pszSound, hmod, fdwSound);
155.402 -}
155.403 -
155.404 -void AwtWinMM::load_winmm_procs() {
155.405 - if (initialized) {
155.406 - return;
155.407 - }
155.408 - HMODULE dll = NULL;
155.409 -
155.410 - if (IS_WIN95) {
155.411 - dll = UnicowsLoader::GetModuleHandle();
155.412 - } else {
155.413 - dll = ::LoadLibrary(TEXT("winmm.dll"));
155.414 - }
155.415 -
155.416 - if (dll == NULL) {
155.417 - return;
155.418 - }
155.419 - playSoundFunc =
155.420 - (PlaySoundWFunc*) GetProcAddress(dll, "PlaySoundW");
155.421 - if (playSoundFunc == NULL) {
155.422 - return;
155.423 - }
155.424 - initialized = true;
155.425 -}
156.1 --- a/src/windows/native/sun/windows/awt_dlls.h Tue Feb 17 09:06:16 2009 -0800
156.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
156.3 @@ -1,173 +0,0 @@
156.4 -/*
156.5 - * Copyright 1999-2003 Sun Microsystems, Inc. All Rights Reserved.
156.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
156.7 - *
156.8 - * This code is free software; you can redistribute it and/or modify it
156.9 - * under the terms of the GNU General Public License version 2 only, as
156.10 - * published by the Free Software Foundation. Sun designates this
156.11 - * particular file as subject to the "Classpath" exception as provided
156.12 - * by Sun in the LICENSE file that accompanied this code.
156.13 - *
156.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
156.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
156.16 - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
156.17 - * version 2 for more details (a copy is included in the LICENSE file that
156.18 - * accompanied this code).
156.19 - *
156.20 - * You should have received a copy of the GNU General Public License version
156.21 - * 2 along with this work; if not, write to the Free Software Foundation,
156.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
156.23 - *
156.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
156.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
156.26 - * have any questions.
156.27 - */
156.28 -
156.29 -#ifndef AWT_DLLS_H
156.30 -#define AWT_DLLS_H
156.31 -
156.32 -#include <commdlg.h>
156.33 -#include <shellapi.h>
156.34 -#include <shlobj.h>
156.35 -#include "awt_FileDialog.h"
156.36 -#include "awt_PrintDialog.h"
156.37 -
156.38 -/*
156.39 - * To reduce memory footprint we don't statically link to COMDLG32.DLL
156.40 - * and SHELL32. Instead we programatically load them only when they are
156.41 - * needed.
156.42 - */
156.43 -
156.44 -//---------------------------------------------------------------------------
156.45 -
156.46 -typedef BOOL (APIENTRY *PrintDlgType)(LPPRINTDLGW);
156.47 -typedef BOOL (APIENTRY *PageSetupDlgType)(LPPAGESETUPDLGW);
156.48 -typedef BOOL (APIENTRY *GetOpenFileNameType)(LPOPENFILENAMEW);
156.49 -typedef BOOL (APIENTRY *GetSaveFileNameType)(LPOPENFILENAMEW);
156.50 -typedef DWORD (APIENTRY *GetExtendedErrorType)(VOID);
156.51 -
156.52 -class AwtCommDialog {
156.53 -public:
156.54 - static DWORD CommDlgExtendedError(VOID);
156.55 -
156.56 - static BOOL PrintDlg(LPPRINTDLG data);
156.57 -
156.58 - static BOOL PageSetupDlg(LPPAGESETUPDLG data);
156.59 -
156.60 -private:
156.61 - static void load_comdlg_procs();
156.62 -
156.63 - // Use wrapper functions with default calling convention. If the
156.64 - // default isn't __stdcall, accessing the Win32 functions directly
156.65 - // will cause stack corruption if we cast away __stdcall.
156.66 - static BOOL PrintDlgWrapper(LPPRINTDLG data) {
156.67 - return (*do_print_dlg)(data);
156.68 - }
156.69 - static BOOL PageSetupDlgWrapper(LPPAGESETUPDLG data) {
156.70 - return (*do_page_setup_dlg)(data);
156.71 - }
156.72 - static BOOL GetOpenFileNameWrapper(LPOPENFILENAME data) {
156.73 - return (*get_open_file_name)(data);
156.74 - }
156.75 - static BOOL GetSaveFileNameWrapper(LPOPENFILENAME data) {
156.76 - return (*get_save_file_name)(data);
156.77 - }
156.78 - static DWORD GetExtendedErrorWrapper(VOID) {
156.79 - return (*get_dlg_extended_error)();
156.80 - }
156.81 -
156.82 - friend BOOL AwtFileDialog::GetOpenFileName(LPAWTOPENFILENAME);
156.83 - friend BOOL AwtFileDialog::GetSaveFileName(LPAWTOPENFILENAME);
156.84 - friend BOOL AwtPrintDialog::PrintDlg(LPPRINTDLG);
156.85 -
156.86 - static PrintDlgType do_print_dlg;
156.87 - static PageSetupDlgType do_page_setup_dlg;
156.88 - static GetOpenFileNameType get_open_file_name;
156.89 - static GetSaveFileNameType get_save_file_name;
156.90 - static GetExtendedErrorType get_dlg_extended_error;
156.91 -};
156.92 -
156.93 -//---------------------------------------------------------------------------
156.94 -
156.95 -// Dynamically load in SHELL32.DLL and define the procedure pointers listed below.
156.96 -extern void load_shell_procs();
156.97 -
156.98 -// Procedure pointers obtained from SHELL32.DLL
156.99 -// You must call load_shell_procs() before using any of these.
156.100 -typedef UINT (APIENTRY *DragQueryFileType)(HDROP,UINT,LPTSTR,UINT);
156.101 -typedef BOOL (APIENTRY *GetPathFromIDListType)(LPCITEMIDLIST,LPTSTR);
156.102 -extern DragQueryFileType do_drag_query_file;
156.103 -extern GetPathFromIDListType get_path_from_idlist;
156.104 -
156.105 -//---------------------------------------------------------------------------
156.106 -
156.107 -// Dynamically load in USER32.DLL and define the procedure pointers listed below.
156.108 -extern void load_user_procs();
156.109 -
156.110 -// Procedure pointers obtained from USER32.DLL
156.111 -// You must call load_user_procs() before using any of these.
156.112 -typedef BOOL (WINAPI *AnimateWindowType)(HWND,DWORD,DWORD);
156.113 -typedef LONG (WINAPI *ChangeDisplaySettingsExType)(LPCTSTR,LPDEVMODE,HWND,DWORD,LPVOID lParam);
156.114 -extern AnimateWindowType fn_animate_window;
156.115 -extern ChangeDisplaySettingsExType fn_change_display_settings_ex;
156.116 -
156.117 -//---------------------------------------------------------------------------
156.118 -
156.119 -// Dynamically load in VERSION.DLL and define the procedure pointers listed below.
156.120 -extern void load_version_procs();
156.121 -
156.122 -// Procedure pointers obtained from VERSION.DLL
156.123 -// You must call load_version_procs() before using any of these.
156.124 -typedef DWORD (APIENTRY *GetFileVersionInfoSizeType)(LPTSTR,LPDWORD);
156.125 -typedef BOOL (APIENTRY *GetFileVersionInfoType)(LPTSTR,DWORD,DWORD,LPVOID);
156.126 -typedef BOOL (APIENTRY *VerQueryValueType)(const LPVOID,LPTSTR,LPVOID*,PUINT);
156.127 -extern GetFileVersionInfoSizeType get_file_version_info_size;
156.128 -extern GetFileVersionInfoType get_file_version_info;
156.129 -extern VerQueryValueType do_ver_query_value;
156.130 -
156.131 -//---------------------------------------------------------------------------
156.132 -
156.133 -// Dynamically load in RSRC32.DLL and define the procedure pointers listed below.
156.134 -extern void load_rsrc32_procs();
156.135 -
156.136 -// Procedure pointers obtained from RSRC32.DLL
156.137 -// You must call load_rsrc32_procs() before using this procedure.
156.138 -
156.139 -/*
156.140 - * NOTE: even after load_rsrc32_procs() you must check that
156.141 - * the function pointer is valid before use.
156.142 - * It will be NULL in three cases:
156.143 - * 1.RSRC32.DLL not found. This means that Resource Meter
156.144 - * isn't installed.
156.145 - * 2.RSRC32.DLL can't be loaded. This happens on WinNT.
156.146 - * 3.Unknown version of RSRC32.DLL. This is undocumented
156.147 - * procedure, so the safest will be to use it only for
156.148 - * a finite set of known versions.
156.149 - */
156.150 -typedef UINT (APIENTRY *GetFreeSystemResourcesType)(UINT);
156.151 -
156.152 -extern GetFreeSystemResourcesType get_free_system_resources;
156.153 -
156.154 -extern void load_rich_edit_library();
156.155 -
156.156 -//---------------------------------------------------------------------------
156.157 -
156.158 -/*
156.159 - * Loading WINMM.DLL (the Windows MultiMedia library) is extremely
156.160 - * expensive. The AWT only uses it to play certain Windows sounds
156.161 - * (which are off by default) so we dynamically load it upon demand
156.162 - * instead of statically linking to it.
156.163 - */
156.164 -
156.165 -class AwtWinMM {
156.166 -public:
156.167 - static BOOL PlaySoundWrapper(LPCTSTR pszSound, HMODULE hmod, DWORD fdwSound);
156.168 -
156.169 -private:
156.170 - static void load_winmm_procs();
156.171 - static bool initialized;
156.172 - typedef BOOL WINAPI PlaySoundWFunc(LPCTSTR pszSound, HMODULE hmod, DWORD fdwSound);
156.173 - static PlaySoundWFunc* playSoundFunc;
156.174 -};
156.175 -
156.176 -#endif /* AWT_DLLS_H */
157.1 --- a/src/windows/native/sun/windows/awtmsg.h Tue Feb 17 09:06:16 2009 -0800
157.2 +++ b/src/windows/native/sun/windows/awtmsg.h Wed Feb 18 10:05:41 2009 -0800
157.3 @@ -182,18 +182,6 @@
157.4 #endif //AW_BLEND
157.5
157.6
157.7 -
157.8 -
157.9 -// WM_MOUSEWHEEL should be WM_MOUSELAST, but
157.10 -// is not being defined. See winuser.h
157.11 -#ifdef WM_MOUSELAST
157.12 -#if WM_MOUSELAST <= 0x020A
157.13 -#define WM_AWT_MOUSELAST 0x020A
157.14 -#else
157.15 -#error Unexpected value of WM_MOUSELAST
157.16 -#endif //WM_MOUSELAST <= 0x0209
157.17 -#endif //WM_MOUSELAST
157.18 -
157.19 // AwtComponent messages
157.20 enum {
157.21 // 6427323: unfortunately WM_APP+nnn conflicts with edit control messages
158.1 --- a/src/windows/native/sun/windows/jawt.cpp Tue Feb 17 09:06:16 2009 -0800
158.2 +++ b/src/windows/native/sun/windows/jawt.cpp Wed Feb 18 10:05:41 2009 -0800
158.3 @@ -1,5 +1,5 @@
158.4 /*
158.5 - * Copyright 1999-2001 Sun Microsystems, Inc. All Rights Reserved.
158.6 + * Copyright 1999-2008 Sun Microsystems, Inc. All Rights Reserved.
158.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
158.8 *
158.9 * This code is free software; you can redistribute it and/or modify it
158.10 @@ -26,6 +26,7 @@
158.11 #define _JNI_IMPLEMENTATION_
158.12 #include <jawt.h>
158.13
158.14 +#include "awt.h"
158.15 #include "awt_DrawingSurface.h"
158.16
158.17 /*
159.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
159.2 +++ b/test/java/awt/EventDispatchThread/HandleExceptionOnEDT/HandleExceptionOnEDT.java Wed Feb 18 10:05:41 2009 -0800
159.3 @@ -0,0 +1,136 @@
159.4 +/*
159.5 + @test
159.6 + @bug 6304473 6727884
159.7 + @summary Tests that an exception on EDT is handled with ThreadGroup.uncaughtException()
159.8 + @author artem.ananiev: area=awt.eventdispatching
159.9 + @library ../../regtesthelpers
159.10 + @build Util
159.11 + @run main HandleExceptionOnEDT
159.12 +*/
159.13 +
159.14 +import java.awt.*;
159.15 +import java.awt.event.*;
159.16 +
159.17 +import test.java.awt.regtesthelpers.Util;
159.18 +
159.19 +public class HandleExceptionOnEDT
159.20 +{
159.21 + private final static String EXCEPTION_MESSAGE = "A1234567890";
159.22 +
159.23 + private static volatile boolean exceptionHandled = false;
159.24 + private static volatile boolean mousePressed = false;
159.25 +
159.26 + public static void main(String[] args)
159.27 + {
159.28 + final Thread.UncaughtExceptionHandler eh = new Thread.UncaughtExceptionHandler()
159.29 + {
159.30 + @Override
159.31 + public void uncaughtException(Thread t, Throwable e)
159.32 + {
159.33 + if (e.getMessage().equals(EXCEPTION_MESSAGE))
159.34 + {
159.35 + exceptionHandled = true;
159.36 + }
159.37 + }
159.38 + };
159.39 +
159.40 + Frame f = new Frame("F");
159.41 + f.setBounds(100, 100, 400, 300);
159.42 + // set exception handler for EDT
159.43 + f.addWindowListener(new WindowAdapter()
159.44 + {
159.45 + @Override
159.46 + public void windowOpened(WindowEvent we)
159.47 + {
159.48 + Thread edt = Thread.currentThread();
159.49 + edt.setUncaughtExceptionHandler(eh);
159.50 + }
159.51 + });
159.52 + f.setVisible(true);
159.53 +
159.54 + Robot r = Util.createRobot();
159.55 + Util.waitForIdle(r);
159.56 +
159.57 + // check exception without modal dialog
159.58 + MouseListener exceptionListener = new MouseAdapter()
159.59 + {
159.60 + @Override
159.61 + public void mousePressed(MouseEvent me)
159.62 + {
159.63 + throw new RuntimeException(EXCEPTION_MESSAGE);
159.64 + }
159.65 + };
159.66 + f.addMouseListener(exceptionListener);
159.67 +
159.68 + exceptionHandled = false;
159.69 + Point fp = f.getLocationOnScreen();
159.70 + r.mouseMove(fp.x + f.getWidth() / 2, fp.y + f.getHeight() / 2);
159.71 + Util.waitForIdle(r);
159.72 + r.mousePress(InputEvent.BUTTON1_MASK);
159.73 + Util.waitForIdle(r);
159.74 + r.mouseRelease(InputEvent.BUTTON2_MASK);
159.75 + f.removeMouseListener(exceptionListener);
159.76 +
159.77 + if (!exceptionHandled)
159.78 + {
159.79 + throw new RuntimeException("Test FAILED: exception is not handled for frame");
159.80 + }
159.81 +
159.82 + // check exception with modal dialog
159.83 + final Dialog d = new Dialog(f, "D", true);
159.84 + d.setBounds(fp.x + 100, fp.y + 100, 400, 300);
159.85 + d.addMouseListener(exceptionListener);
159.86 + EventQueue.invokeLater(new Runnable()
159.87 + {
159.88 + @Override
159.89 + public void run()
159.90 + {
159.91 + d.setVisible(true);
159.92 + }
159.93 + });
159.94 + Util.waitForIdle(r);
159.95 +
159.96 + exceptionHandled = false;
159.97 + Point dp = d.getLocationOnScreen();
159.98 + r.mouseMove(dp.x + d.getWidth() / 2, dp.y + d.getHeight() / 2);
159.99 + Util.waitForIdle(r);
159.100 + r.mousePress(InputEvent.BUTTON1_MASK);
159.101 + Util.waitForIdle(r);
159.102 + r.mouseRelease(InputEvent.BUTTON2_MASK);
159.103 + d.removeMouseListener(exceptionListener);
159.104 +
159.105 + if (!exceptionHandled)
159.106 + {
159.107 + throw new RuntimeException("Test FAILED: exception is not handled for modal dialog");
159.108 + }
159.109 +
159.110 + // check the dialog is still modal
159.111 + MouseListener pressedListener = new MouseAdapter()
159.112 + {
159.113 + @Override
159.114 + public void mousePressed(MouseEvent me)
159.115 + {
159.116 + mousePressed = true;
159.117 + }
159.118 + };
159.119 + f.addMouseListener(pressedListener);
159.120 +
159.121 + mousePressed = false;
159.122 + r.mouseMove(fp.x + 50, fp.y + 50);
159.123 + Util.waitForIdle(r);
159.124 + r.mousePress(InputEvent.BUTTON1_MASK);
159.125 + Util.waitForIdle(r);
159.126 + r.mouseRelease(InputEvent.BUTTON1_MASK);
159.127 + Util.waitForIdle(r);
159.128 + f.removeMouseListener(pressedListener);
159.129 +
159.130 + if (mousePressed)
159.131 + {
159.132 + throw new RuntimeException("Test FAILED: modal dialog is not modal or visible after exception");
159.133 + }
159.134 +
159.135 + // test is passed
159.136 + d.dispose();
159.137 + f.dispose();
159.138 + }
159.139 +}
160.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
160.2 +++ b/test/java/awt/Frame/FrameSize/TestFrameSize.java Wed Feb 18 10:05:41 2009 -0800
160.3 @@ -0,0 +1,67 @@
160.4 +/*
160.5 + * Copyright 2009 Red Hat, Inc. All Rights Reserved.
160.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
160.7 + *
160.8 + * This code is free software; you can redistribute it and/or modify it
160.9 + * under the terms of the GNU General Public License version 2 only, as
160.10 + * published by the Free Software Foundation.
160.11 + *
160.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
160.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
160.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
160.15 + * version 2 for more details (a copy is included in the LICENSE file that
160.16 + * accompanied this code).
160.17 + *
160.18 + * You should have received a copy of the GNU General Public License version
160.19 + * 2 along with this work; if not, write to the Free Software Foundation,
160.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
160.21 + */
160.22 +
160.23 +/*
160.24 + @test
160.25 + @bug 6721088
160.26 + @summary X11 Window sizes should be what we set them to
160.27 + @author Omair Majid <omajid@redhat.com>: area=awt.toplevel
160.28 + @run main TestFrameSize
160.29 + */
160.30 +
160.31 +/**
160.32 + * TestFrameSize.java
160.33 + *
160.34 + * Summary: test that X11 Awt windows are drawn with correct sizes
160.35 + *
160.36 + * Test fails if size of window is wrong
160.37 + */
160.38 +
160.39 +import java.awt.Dimension;
160.40 +import java.awt.Frame;
160.41 +
160.42 +public class TestFrameSize {
160.43 +
160.44 + static Dimension desiredDimensions = new Dimension(200, 200);
160.45 + static int ERROR_MARGIN = 15;
160.46 + static Frame mainWindow;
160.47 +
160.48 + public static void drawGui() {
160.49 + mainWindow = new Frame("");
160.50 + mainWindow.setPreferredSize(desiredDimensions);
160.51 + mainWindow.pack();
160.52 +
160.53 + Dimension actualDimensions = mainWindow.getSize();
160.54 + System.out.println("Desired dimensions: " + desiredDimensions.toString());
160.55 + System.out.println("Actual dimensions: " + actualDimensions.toString());
160.56 + if (Math.abs(actualDimensions.height - desiredDimensions.height) > ERROR_MARGIN) {
160.57 + throw new RuntimeException("Incorrect widow size");
160.58 + }
160.59 + }
160.60 +
160.61 + public static void main(String[] args) {
160.62 + try {
160.63 + drawGui();
160.64 + } finally {
160.65 + if (mainWindow != null) {
160.66 + mainWindow.dispose();
160.67 + }
160.68 + }
160.69 + }
160.70 +}
161.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
161.2 +++ b/test/java/awt/Mixing/HWDisappear.java Wed Feb 18 10:05:41 2009 -0800
161.3 @@ -0,0 +1,426 @@
161.4 +/*
161.5 + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
161.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
161.7 + *
161.8 + * This code is free software; you can redistribute it and/or modify it
161.9 + * under the terms of the GNU General Public License version 2 only, as
161.10 + * published by the Free Software Foundation.
161.11 + *
161.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
161.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
161.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
161.15 + * version 2 for more details (a copy is included in the LICENSE file that
161.16 + * accompanied this code).
161.17 + *
161.18 + * You should have received a copy of the GNU General Public License version
161.19 + * 2 along with this work; if not, write to the Free Software Foundation,
161.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
161.21 + *
161.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
161.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
161.24 + * have any questions.
161.25 + */
161.26 +
161.27 +/*
161.28 + @test %W% %E%
161.29 + @bug 6769511
161.30 + @summary AWT components are invisible for a while after frame is moved & menu items are visible
161.31 + @author anthony.petrov@...: area=awt.mixing
161.32 + @library ../regtesthelpers
161.33 + @build Util
161.34 + @run main HWDisappear
161.35 +*/
161.36 +
161.37 +/**
161.38 + * HWDisappear.java
161.39 + *
161.40 + * summary: AWT components are invisible for a while after frame is moved & menu items are visible
161.41 + */
161.42 +
161.43 +import java.awt.*;
161.44 +import java.awt.event.*;
161.45 +import javax.swing.*;
161.46 +import test.java.awt.regtesthelpers.Util;
161.47 +
161.48 +public class HWDisappear
161.49 +{
161.50 +
161.51 + static volatile boolean clickPassed = false;
161.52 +
161.53 + private static void init()
161.54 + {
161.55 + //*** Create instructions for the user here ***
161.56 +
161.57 + String[] instructions =
161.58 + {
161.59 + "This is an AUTOMATIC test, simply wait until it is done.",
161.60 + "The result (passed or failed) will be shown in the",
161.61 + "message window below."
161.62 + };
161.63 + Sysout.createDialog( );
161.64 + Sysout.printInstructions( instructions );
161.65 +
161.66 +
161.67 + // Create the frame and the button
161.68 + JFrame f = new JFrame();
161.69 + f.setBounds(100, 100, 400, 300);
161.70 +
161.71 + JMenuBar menubar = new JMenuBar();
161.72 + f.setJMenuBar(menubar);
161.73 +
161.74 + // Create lightweight-enabled menu
161.75 + JMenu lmenu = new JMenu("Lite Menu");
161.76 + lmenu.add("Salad");
161.77 + lmenu.add("Fruit Plate");
161.78 + lmenu.add("Water");
161.79 + menubar.add(lmenu);
161.80 +
161.81 + Button b = new Button("OK");
161.82 +
161.83 + f.setLayout(null);
161.84 + f.add(b);
161.85 + b.setBounds(50, 50, 200, 50);
161.86 +
161.87 + b.addActionListener(new java.awt.event.ActionListener() {
161.88 + public void actionPerformed(java.awt.event.ActionEvent e) {
161.89 + clickPassed = true;
161.90 + }
161.91 + });
161.92 +
161.93 + f.setVisible(true);
161.94 +
161.95 + Robot robot = Util.createRobot();
161.96 + robot.setAutoDelay(20);
161.97 +
161.98 + Util.waitForIdle(robot);
161.99 +
161.100 + // Move quite far to ensure the button is hidden completely
161.101 + f.setLocation(500, 200);
161.102 +
161.103 + Util.waitForIdle(robot);
161.104 +
161.105 + // Activate the menu
161.106 + Point lLoc = lmenu.getLocationOnScreen();
161.107 + robot.mouseMove(lLoc.x + 5, lLoc.y + 5);
161.108 +
161.109 + robot.mousePress(InputEvent.BUTTON1_MASK);
161.110 + robot.mouseRelease(InputEvent.BUTTON1_MASK);
161.111 + Util.waitForIdle(robot);
161.112 +
161.113 + // Click on the button.
161.114 + Point bLoc = b.getLocationOnScreen();
161.115 + robot.mouseMove(bLoc.x + b.getWidth() / 2, bLoc.y + 5);
161.116 +
161.117 + robot.mousePress(InputEvent.BUTTON1_MASK);
161.118 + robot.mouseRelease(InputEvent.BUTTON1_MASK);
161.119 + Util.waitForIdle(robot);
161.120 +
161.121 + if (clickPassed) {
161.122 + pass();
161.123 + } else {
161.124 + fail("The button cannot be clicked.");
161.125 + }
161.126 + }//End init()
161.127 +
161.128 +
161.129 +
161.130 + /*****************************************************
161.131 + * Standard Test Machinery Section
161.132 + * DO NOT modify anything in this section -- it's a
161.133 + * standard chunk of code which has all of the
161.134 + * synchronisation necessary for the test harness.
161.135 + * By keeping it the same in all tests, it is easier
161.136 + * to read and understand someone else's test, as
161.137 + * well as insuring that all tests behave correctly
161.138 + * with the test harness.
161.139 + * There is a section following this for test-
161.140 + * classes
161.141 + ******************************************************/
161.142 + private static boolean theTestPassed = false;
161.143 + private static boolean testGeneratedInterrupt = false;
161.144 + private static String failureMessage = "";
161.145 +
161.146 + private static Thread mainThread = null;
161.147 +
161.148 + private static int sleepTime = 300000;
161.149 +
161.150 + // Not sure about what happens if multiple of this test are
161.151 + // instantiated in the same VM. Being static (and using
161.152 + // static vars), it aint gonna work. Not worrying about
161.153 + // it for now.
161.154 + public static void main( String args[] ) throws InterruptedException
161.155 + {
161.156 + mainThread = Thread.currentThread();
161.157 + try
161.158 + {
161.159 + init();
161.160 + }
161.161 + catch( TestPassedException e )
161.162 + {
161.163 + //The test passed, so just return from main and harness will
161.164 + // interepret this return as a pass
161.165 + return;
161.166 + }
161.167 + //At this point, neither test pass nor test fail has been
161.168 + // called -- either would have thrown an exception and ended the
161.169 + // test, so we know we have multiple threads.
161.170 +
161.171 + //Test involves other threads, so sleep and wait for them to
161.172 + // called pass() or fail()
161.173 + try
161.174 + {
161.175 + Thread.sleep( sleepTime );
161.176 + //Timed out, so fail the test
161.177 + throw new RuntimeException( "Timed out after " + sleepTime/1000 + " seconds" );
161.178 + }
161.179 + catch (InterruptedException e)
161.180 + {
161.181 + //The test harness may have interrupted the test. If so, rethrow the exception
161.182 + // so that the harness gets it and deals with it.
161.183 + if( ! testGeneratedInterrupt ) throw e;
161.184 +
161.185 + //reset flag in case hit this code more than once for some reason (just safety)
161.186 + testGeneratedInterrupt = false;
161.187 +
161.188 + if ( theTestPassed == false )
161.189 + {
161.190 + throw new RuntimeException( failureMessage );
161.191 + }
161.192 + }
161.193 +
161.194 + }//main
161.195 +
161.196 + public static synchronized void setTimeoutTo( int seconds )
161.197 + {
161.198 + sleepTime = seconds * 1000;
161.199 + }
161.200 +
161.201 + public static synchronized void pass()
161.202 + {
161.203 + Sysout.println( "The test passed." );
161.204 + Sysout.println( "The test is over, hit Ctl-C to stop Java VM" );
161.205 + //first check if this is executing in main thread
161.206 + if ( mainThread == Thread.currentThread() )
161.207 + {
161.208 + //Still in the main thread, so set the flag just for kicks,
161.209 + // and throw a test passed exception which will be caught
161.210 + // and end the test.
161.211 + theTestPassed = true;
161.212 + throw new TestPassedException();
161.213 + }
161.214 + theTestPassed = true;
161.215 + testGeneratedInterrupt = true;
161.216 + mainThread.interrupt();
161.217 + }//pass()
161.218 +
161.219 + public static synchronized void fail()
161.220 + {
161.221 + //test writer didn't specify why test failed, so give generic
161.222 + fail( "it just plain failed! :-)" );
161.223 + }
161.224 +
161.225 + public static synchronized void fail( String whyFailed )
161.226 + {
161.227 + Sysout.println( "The test failed: " + whyFailed );
161.228 + Sysout.println( "The test is over, hit Ctl-C to stop Java VM" );
161.229 + //check if this called from main thread
161.230 + if ( mainThread == Thread.currentThread() )
161.231 + {
161.232 + //If main thread, fail now 'cause not sleeping
161.233 + throw new RuntimeException( whyFailed );
161.234 + }
161.235 + theTestPassed = false;
161.236 + testGeneratedInterrupt = true;
161.237 + failureMessage = whyFailed;
161.238 + mainThread.interrupt();
161.239 + }//fail()
161.240 +
161.241 +}// class HWDisappear
161.242 +
161.243 +//This exception is used to exit from any level of call nesting
161.244 +// when it's determined that the test has passed, and immediately
161.245 +// end the test.
161.246 +class TestPassedException extends RuntimeException
161.247 +{
161.248 +}
161.249 +
161.250 +//*********** End Standard Test Machinery Section **********
161.251 +
161.252 +
161.253 +//************ Begin classes defined for the test ****************
161.254 +
161.255 +// if want to make listeners, here is the recommended place for them, then instantiate
161.256 +// them in init()
161.257 +
161.258 +/* Example of a class which may be written as part of a test
161.259 +class NewClass implements anInterface
161.260 + {
161.261 + static int newVar = 0;
161.262 +
161.263 + public void eventDispatched(AWTEvent e)
161.264 + {
161.265 + //Counting events to see if we get enough
161.266 + eventCount++;
161.267 +
161.268 + if( eventCount == 20 )
161.269 + {
161.270 + //got enough events, so pass
161.271 +
161.272 + HWDisappear.pass();
161.273 + }
161.274 + else if( tries == 20 )
161.275 + {
161.276 + //tried too many times without getting enough events so fail
161.277 +
161.278 + HWDisappear.fail();
161.279 + }
161.280 +
161.281 + }// eventDispatched()
161.282 +
161.283 + }// NewClass class
161.284 +
161.285 +*/
161.286 +
161.287 +
161.288 +//************** End classes defined for the test *******************
161.289 +
161.290 +
161.291 +
161.292 +
161.293 +/****************************************************
161.294 + Standard Test Machinery
161.295 + DO NOT modify anything below -- it's a standard
161.296 + chunk of code whose purpose is to make user
161.297 + interaction uniform, and thereby make it simpler
161.298 + to read and understand someone else's test.
161.299 + ****************************************************/
161.300 +
161.301 +/**
161.302 + This is part of the standard test machinery.
161.303 + It creates a dialog (with the instructions), and is the interface
161.304 + for sending text messages to the user.
161.305 + To print the instructions, send an array of strings to Sysout.createDialog
161.306 + WithInstructions method. Put one line of instructions per array entry.
161.307 + To display a message for the tester to see, simply call Sysout.println
161.308 + with the string to be displayed.
161.309 + This mimics System.out.println but works within the test harness as well
161.310 + as standalone.
161.311 + */
161.312 +
161.313 +class Sysout
161.314 +{
161.315 + private static TestDialog dialog;
161.316 +
161.317 + public static void createDialogWithInstructions( String[] instructions )
161.318 + {
161.319 + dialog = new TestDialog( new Frame(), "Instructions" );
161.320 + dialog.printInstructions( instructions );
161.321 + dialog.setVisible(true);
161.322 + println( "Any messages for the tester will display here." );
161.323 + }
161.324 +
161.325 + public static void createDialog( )
161.326 + {
161.327 + dialog = new TestDialog( new Frame(), "Instructions" );
161.328 + String[] defInstr = { "Instructions will appear here. ", "" } ;
161.329 + dialog.printInstructions( defInstr );
161.330 + dialog.setVisible(true);
161.331 + println( "Any messages for the tester will display here." );
161.332 + }
161.333 +
161.334 +
161.335 + public static void printInstructions( String[] instructions )
161.336 + {
161.337 + dialog.printInstructions( instructions );
161.338 + }
161.339 +
161.340 +
161.341 + public static void println( String messageIn )
161.342 + {
161.343 + dialog.displayMessage( messageIn );
161.344 + System.out.println(messageIn);
161.345 + }
161.346 +
161.347 +}// Sysout class
161.348 +
161.349 +/**
161.350 + This is part of the standard test machinery. It provides a place for the
161.351 + test instructions to be displayed, and a place for interactive messages
161.352 + to the user to be displayed.
161.353 + To have the test instructions displayed, see Sysout.
161.354 + To have a message to the user be displayed, see Sysout.
161.355 + Do not call anything in this dialog directly.
161.356 + */
161.357 +class TestDialog extends Dialog
161.358 +{
161.359 +
161.360 + TextArea instructionsText;
161.361 + TextArea messageText;
161.362 + int maxStringLength = 80;
161.363 +
161.364 + //DO NOT call this directly, go through Sysout
161.365 + public TestDialog( Frame frame, String name )
161.366 + {
161.367 + super( frame, name );
161.368 + int scrollBoth = TextArea.SCROLLBARS_BOTH;
161.369 + instructionsText = new TextArea( "", 15, maxStringLength, scrollBoth );
161.370 + add( "North", instructionsText );
161.371 +
161.372 + messageText = new TextArea( "", 5, maxStringLength, scrollBoth );
161.373 + add("Center", messageText);
161.374 +
161.375 + pack();
161.376 +
161.377 + setVisible(true);
161.378 + }// TestDialog()
161.379 +
161.380 + //DO NOT call this directly, go through Sysout
161.381 + public void printInstructions( String[] instructions )
161.382 + {
161.383 + //Clear out any current instructions
161.384 + instructionsText.setText( "" );
161.385 +
161.386 + //Go down array of instruction strings
161.387 +
161.388 + String printStr, remainingStr;
161.389 + for( int i=0; i < instructions.length; i++ )
161.390 + {
161.391 + //chop up each into pieces maxSringLength long
161.392 + remainingStr = instructions[ i ];
161.393 + while( remainingStr.length() > 0 )
161.394 + {
161.395 + //if longer than max then chop off first max chars to print
161.396 + if( remainingStr.length() >= maxStringLength )
161.397 + {
161.398 + //Try to chop on a word boundary
161.399 + int posOfSpace = remainingStr.
161.400 + lastIndexOf( ' ', maxStringLength - 1 );
161.401 +
161.402 + if( posOfSpace <= 0 ) posOfSpace = maxStringLength - 1;
161.403 +
161.404 + printStr = remainingStr.substring( 0, posOfSpace + 1 );
161.405 + remainingStr = remainingStr.substring( posOfSpace + 1 );
161.406 + }
161.407 + //else just print
161.408 + else
161.409 + {
161.410 + printStr = remainingStr;
161.411 + remainingStr = "";
161.412 + }
161.413 +
161.414 + instructionsText.append( printStr + "\n" );
161.415 +
161.416 + }// while
161.417 +
161.418 + }// for
161.419 +
161.420 + }//printInstructions()
161.421 +
161.422 + //DO NOT call this directly, go through Sysout
161.423 + public void displayMessage( String messageIn )
161.424 + {
161.425 + messageText.append( messageIn + "\n" );
161.426 + System.out.println(messageIn);
161.427 + }
161.428 +
161.429 +}// TestDialog class
162.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
162.2 +++ b/test/java/awt/Mixing/JButtonInGlassPane.java Wed Feb 18 10:05:41 2009 -0800
162.3 @@ -0,0 +1,430 @@
162.4 +/*
162.5 + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
162.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
162.7 + *
162.8 + * This code is free software; you can redistribute it and/or modify it
162.9 + * under the terms of the GNU General Public License version 2 only, as
162.10 + * published by the Free Software Foundation.
162.11 + *
162.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
162.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
162.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
162.15 + * version 2 for more details (a copy is included in the LICENSE file that
162.16 + * accompanied this code).
162.17 + *
162.18 + * You should have received a copy of the GNU General Public License version
162.19 + * 2 along with this work; if not, write to the Free Software Foundation,
162.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
162.21 + *
162.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
162.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
162.24 + * have any questions.
162.25 + */
162.26 +
162.27 +/*
162.28 + @test %W% %E%
162.29 + @bug 6779670
162.30 + @summary Tests if a LW components in the glass pane affects HW in the content pane
162.31 + @author anthony.petrov@...: area=awt.mixing
162.32 + @library ../regtesthelpers
162.33 + @build Util
162.34 + @run main JButtonInGlassPane
162.35 +*/
162.36 +
162.37 +
162.38 +/**
162.39 + * JButtonInGlassPane.java
162.40 + *
162.41 + * summary: Tests whether a LW menu correctly overlaps a HW button
162.42 + */
162.43 +
162.44 +import java.awt.*;
162.45 +import java.awt.event.*;
162.46 +import javax.swing.*;
162.47 +import test.java.awt.regtesthelpers.Util;
162.48 +
162.49 +
162.50 +
162.51 +public class JButtonInGlassPane
162.52 +{
162.53 + static volatile boolean failed = false;
162.54 +
162.55 + private static void init()
162.56 + {
162.57 + //*** Create instructions for the user here ***
162.58 +
162.59 + String[] instructions =
162.60 + {
162.61 + "This is an AUTOMATIC test, simply wait until it is done.",
162.62 + "The result (passed or failed) will be shown in the",
162.63 + "message window below."
162.64 + };
162.65 + Sysout.createDialog( );
162.66 + Sysout.printInstructions( instructions );
162.67 +
162.68 + JFrame frame = new JFrame("Glass Pane children test");
162.69 + frame.setLayout(null);
162.70 +
162.71 + final Button button = new Button("AWT Button");
162.72 + button.setBounds(100,100,100,100);
162.73 + frame.add(button);
162.74 +
162.75 + button.addActionListener(new ActionListener() {
162.76 + public void actionPerformed(ActionEvent e) {
162.77 + failed = true;
162.78 + }
162.79 + });
162.80 +
162.81 + frame.getGlassPane().setVisible(true);
162.82 + Container glassPane = (Container) frame.getGlassPane();
162.83 + glassPane.setLayout(null);
162.84 +
162.85 + final JButton jbutton = new JButton("JButton");
162.86 + jbutton.setBounds(50,50,100,100);
162.87 + glassPane.add(jbutton);
162.88 +
162.89 + jbutton.setVisible(false);
162.90 +
162.91 + frame.setSize(400, 400);
162.92 + frame.setLocationRelativeTo(null);
162.93 + frame.setVisible(true);
162.94 +
162.95 + Robot robot = Util.createRobot();
162.96 + robot.setAutoDelay(20);
162.97 +
162.98 + Util.waitForIdle(robot);
162.99 +
162.100 + jbutton.setVisible(true);
162.101 + Util.waitForIdle(robot);
162.102 +
162.103 + // Click the LW button - in the area that intersects with
162.104 + // the HW button.
162.105 + Point lLoc = jbutton.getLocationOnScreen();
162.106 + robot.mouseMove(lLoc.x + jbutton.getWidth() - 5, lLoc.y + jbutton.getHeight() - 5);
162.107 +
162.108 + robot.mousePress(InputEvent.BUTTON1_MASK);
162.109 + robot.mouseRelease(InputEvent.BUTTON1_MASK);
162.110 + Util.waitForIdle(robot);
162.111 +
162.112 + jbutton.setBounds(50,50,120,120);
162.113 + Util.waitForIdle(robot);
162.114 +
162.115 + // Now click on the 'added' area of the LW button that again
162.116 + // intersects with the HW.
162.117 + robot.mouseMove(lLoc.x + jbutton.getWidth() - 5, lLoc.y + jbutton.getHeight() - 5);
162.118 +
162.119 + robot.mousePress(InputEvent.BUTTON1_MASK);
162.120 + robot.mouseRelease(InputEvent.BUTTON1_MASK);
162.121 + Util.waitForIdle(robot);
162.122 +
162.123 + if (failed) {
162.124 + JButtonInGlassPane.fail("The LW button did not receive the click.");
162.125 + } else {
162.126 + JButtonInGlassPane.pass();
162.127 + }
162.128 + }//End init()
162.129 +
162.130 +
162.131 +
162.132 + /*****************************************************
162.133 + * Standard Test Machinery Section
162.134 + * DO NOT modify anything in this section -- it's a
162.135 + * standard chunk of code which has all of the
162.136 + * synchronisation necessary for the test harness.
162.137 + * By keeping it the same in all tests, it is easier
162.138 + * to read and understand someone else's test, as
162.139 + * well as insuring that all tests behave correctly
162.140 + * with the test harness.
162.141 + * There is a section following this for test-
162.142 + * classes
162.143 + ******************************************************/
162.144 + private static boolean theTestPassed = false;
162.145 + private static boolean testGeneratedInterrupt = false;
162.146 + private static String failureMessage = "";
162.147 +
162.148 + private static Thread mainThread = null;
162.149 +
162.150 + private static int sleepTime = 300000;
162.151 +
162.152 + // Not sure about what happens if multiple of this test are
162.153 + // instantiated in the same VM. Being static (and using
162.154 + // static vars), it aint gonna work. Not worrying about
162.155 + // it for now.
162.156 + public static void main( String args[] ) throws InterruptedException
162.157 + {
162.158 + mainThread = Thread.currentThread();
162.159 + try
162.160 + {
162.161 + init();
162.162 + }
162.163 + catch( TestPassedException e )
162.164 + {
162.165 + //The test passed, so just return from main and harness will
162.166 + // interepret this return as a pass
162.167 + return;
162.168 + }
162.169 + //At this point, neither test pass nor test fail has been
162.170 + // called -- either would have thrown an exception and ended the
162.171 + // test, so we know we have multiple threads.
162.172 +
162.173 + //Test involves other threads, so sleep and wait for them to
162.174 + // called pass() or fail()
162.175 + try
162.176 + {
162.177 + Thread.sleep( sleepTime );
162.178 + //Timed out, so fail the test
162.179 + throw new RuntimeException( "Timed out after " + sleepTime/1000 + " seconds" );
162.180 + }
162.181 + catch (InterruptedException e)
162.182 + {
162.183 + //The test harness may have interrupted the test. If so, rethrow the exception
162.184 + // so that the harness gets it and deals with it.
162.185 + if( ! testGeneratedInterrupt ) throw e;
162.186 +
162.187 + //reset flag in case hit this code more than once for some reason (just safety)
162.188 + testGeneratedInterrupt = false;
162.189 +
162.190 + if ( theTestPassed == false )
162.191 + {
162.192 + throw new RuntimeException( failureMessage );
162.193 + }
162.194 + }
162.195 +
162.196 + }//main
162.197 +
162.198 + public static synchronized void setTimeoutTo( int seconds )
162.199 + {
162.200 + sleepTime = seconds * 1000;
162.201 + }
162.202 +
162.203 + public static synchronized void pass()
162.204 + {
162.205 + Sysout.println( "The test passed." );
162.206 + Sysout.println( "The test is over, hit Ctl-C to stop Java VM" );
162.207 + //first check if this is executing in main thread
162.208 + if ( mainThread == Thread.currentThread() )
162.209 + {
162.210 + //Still in the main thread, so set the flag just for kicks,
162.211 + // and throw a test passed exception which will be caught
162.212 + // and end the test.
162.213 + theTestPassed = true;
162.214 + throw new TestPassedException();
162.215 + }
162.216 + theTestPassed = true;
162.217 + testGeneratedInterrupt = true;
162.218 + mainThread.interrupt();
162.219 + }//pass()
162.220 +
162.221 + public static synchronized void fail()
162.222 + {
162.223 + //test writer didn't specify why test failed, so give generic
162.224 + fail( "it just plain failed! :-)" );
162.225 + }
162.226 +
162.227 + public static synchronized void fail( String whyFailed )
162.228 + {
162.229 + Sysout.println( "The test failed: " + whyFailed );
162.230 + Sysout.println( "The test is over, hit Ctl-C to stop Java VM" );
162.231 + //check if this called from main thread
162.232 + if ( mainThread == Thread.currentThread() )
162.233 + {
162.234 + //If main thread, fail now 'cause not sleeping
162.235 + throw new RuntimeException( whyFailed );
162.236 + }
162.237 + theTestPassed = false;
162.238 + testGeneratedInterrupt = true;
162.239 + failureMessage = whyFailed;
162.240 + mainThread.interrupt();
162.241 + }//fail()
162.242 +
162.243 +}// class JButtonInGlassPane
162.244 +
162.245 +//This exception is used to exit from any level of call nesting
162.246 +// when it's determined that the test has passed, and immediately
162.247 +// end the test.
162.248 +class TestPassedException extends RuntimeException
162.249 +{
162.250 +}
162.251 +
162.252 +//*********** End Standard Test Machinery Section **********
162.253 +
162.254 +
162.255 +//************ Begin classes defined for the test ****************
162.256 +
162.257 +// if want to make listeners, here is the recommended place for them, then instantiate
162.258 +// them in init()
162.259 +
162.260 +/* Example of a class which may be written as part of a test
162.261 +class NewClass implements anInterface
162.262 + {
162.263 + static int newVar = 0;
162.264 +
162.265 + public void eventDispatched(AWTEvent e)
162.266 + {
162.267 + //Counting events to see if we get enough
162.268 + eventCount++;
162.269 +
162.270 + if( eventCount == 20 )
162.271 + {
162.272 + //got enough events, so pass
162.273 +
162.274 + JButtonInGlassPane.pass();
162.275 + }
162.276 + else if( tries == 20 )
162.277 + {
162.278 + //tried too many times without getting enough events so fail
162.279 +
162.280 + JButtonInGlassPane.fail();
162.281 + }
162.282 +
162.283 + }// eventDispatched()
162.284 +
162.285 + }// NewClass class
162.286 +
162.287 +*/
162.288 +
162.289 +
162.290 +//************** End classes defined for the test *******************
162.291 +
162.292 +
162.293 +
162.294 +
162.295 +/****************************************************
162.296 + Standard Test Machinery
162.297 + DO NOT modify anything below -- it's a standard
162.298 + chunk of code whose purpose is to make user
162.299 + interaction uniform, and thereby make it simpler
162.300 + to read and understand someone else's test.
162.301 + ****************************************************/
162.302 +
162.303 +/**
162.304 + This is part of the standard test machinery.
162.305 + It creates a dialog (with the instructions), and is the interface
162.306 + for sending text messages to the user.
162.307 + To print the instructions, send an array of strings to Sysout.createDialog
162.308 + WithInstructions method. Put one line of instructions per array entry.
162.309 + To display a message for the tester to see, simply call Sysout.println
162.310 + with the string to be displayed.
162.311 + This mimics System.out.println but works within the test harness as well
162.312 + as standalone.
162.313 + */
162.314 +
162.315 +class Sysout
162.316 +{
162.317 + private static TestDialog dialog;
162.318 +
162.319 + public static void createDialogWithInstructions( String[] instructions )
162.320 + {
162.321 + dialog = new TestDialog( new Frame(), "Instructions" );
162.322 + dialog.printInstructions( instructions );
162.323 + dialog.setVisible(true);
162.324 + println( "Any messages for the tester will display here." );
162.325 + }
162.326 +
162.327 + public static void createDialog( )
162.328 + {
162.329 + dialog = new TestDialog( new Frame(), "Instructions" );
162.330 + String[] defInstr = { "Instructions will appear here. ", "" } ;
162.331 + dialog.printInstructions( defInstr );
162.332 + dialog.setVisible(true);
162.333 + println( "Any messages for the tester will display here." );
162.334 + }
162.335 +
162.336 +
162.337 + public static void printInstructions( String[] instructions )
162.338 + {
162.339 + dialog.printInstructions( instructions );
162.340 + }
162.341 +
162.342 +
162.343 + public static void println( String messageIn )
162.344 + {
162.345 + dialog.displayMessage( messageIn );
162.346 + System.out.println(messageIn);
162.347 + }
162.348 +
162.349 +}// Sysout class
162.350 +
162.351 +/**
162.352 + This is part of the standard test machinery. It provides a place for the
162.353 + test instructions to be displayed, and a place for interactive messages
162.354 + to the user to be displayed.
162.355 + To have the test instructions displayed, see Sysout.
162.356 + To have a message to the user be displayed, see Sysout.
162.357 + Do not call anything in this dialog directly.
162.358 + */
162.359 +class TestDialog extends Dialog
162.360 +{
162.361 +
162.362 + TextArea instructionsText;
162.363 + TextArea messageText;
162.364 + int maxStringLength = 80;
162.365 +
162.366 + //DO NOT call this directly, go through Sysout
162.367 + public TestDialog( Frame frame, String name )
162.368 + {
162.369 + super( frame, name );
162.370 + int scrollBoth = TextArea.SCROLLBARS_BOTH;
162.371 + instructionsText = new TextArea( "", 15, maxStringLength, scrollBoth );
162.372 + add( "North", instructionsText );
162.373 +
162.374 + messageText = new TextArea( "", 5, maxStringLength, scrollBoth );
162.375 + add("Center", messageText);
162.376 +
162.377 + pack();
162.378 +
162.379 + setVisible(true);
162.380 + }// TestDialog()
162.381 +
162.382 + //DO NOT call this directly, go through Sysout
162.383 + public void printInstructions( String[] instructions )
162.384 + {
162.385 + //Clear out any current instructions
162.386 + instructionsText.setText( "" );
162.387 +
162.388 + //Go down array of instruction strings
162.389 +
162.390 + String printStr, remainingStr;
162.391 + for( int i=0; i < instructions.length; i++ )
162.392 + {
162.393 + //chop up each into pieces maxSringLength long
162.394 + remainingStr = instructions[ i ];
162.395 + while( remainingStr.length() > 0 )
162.396 + {
162.397 + //if longer than max then chop off first max chars to print
162.398 + if( remainingStr.length() >= maxStringLength )
162.399 + {
162.400 + //Try to chop on a word boundary
162.401 + int posOfSpace = remainingStr.
162.402 + lastIndexOf( ' ', maxStringLength - 1 );
162.403 +
162.404 + if( posOfSpace <= 0 ) posOfSpace = maxStringLength - 1;
162.405 +
162.406 + printStr = remainingStr.substring( 0, posOfSpace + 1 );
162.407 + remainingStr = remainingStr.substring( posOfSpace + 1 );
162.408 + }
162.409 + //else just print
162.410 + else
162.411 + {
162.412 + printStr = remainingStr;
162.413 + remainingStr = "";
162.414 + }
162.415 +
162.416 + instructionsText.append( printStr + "\n" );
162.417 +
162.418 + }// while
162.419 +
162.420 + }// for
162.421 +
162.422 + }//printInstructions()
162.423 +
162.424 + //DO NOT call this directly, go through Sysout
162.425 + public void displayMessage( String messageIn )
162.426 + {
162.427 + messageText.append( messageIn + "\n" );
162.428 + System.out.println(messageIn);
162.429 + }
162.430 +
162.431 +}// TestDialog class
162.432 +
162.433 +
163.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
163.2 +++ b/test/java/awt/Mixing/LWComboBox.java Wed Feb 18 10:05:41 2009 -0800
163.3 @@ -0,0 +1,425 @@
163.4 +/*
163.5 + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
163.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
163.7 + *
163.8 + * This code is free software; you can redistribute it and/or modify it
163.9 + * under the terms of the GNU General Public License version 2 only, as
163.10 + * published by the Free Software Foundation.
163.11 + *
163.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
163.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
163.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
163.15 + * version 2 for more details (a copy is included in the LICENSE file that
163.16 + * accompanied this code).
163.17 + *
163.18 + * You should have received a copy of the GNU General Public License version
163.19 + * 2 along with this work; if not, write to the Free Software Foundation,
163.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
163.21 + *
163.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
163.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
163.24 + * have any questions.
163.25 + */
163.26 +
163.27 +/*
163.28 + @test %W% %E%
163.29 + @bug 6637655
163.30 + @summary Tests whether a LW combobox correctly overlaps a HW button
163.31 + @author anthony.petrov@...: area=awt.mixing
163.32 + @library ../regtesthelpers
163.33 + @build Util
163.34 + @run main LWComboBox
163.35 +*/
163.36 +
163.37 +
163.38 +/**
163.39 + * LWComboBox.java
163.40 + *
163.41 + * summary: Tests whether a LW combobox correctly overlaps a HW button
163.42 + */
163.43 +
163.44 +import java.awt.*;
163.45 +import java.awt.event.*;
163.46 +import javax.swing.*;
163.47 +import java.util.Vector;
163.48 +import test.java.awt.regtesthelpers.Util;
163.49 +
163.50 +
163.51 +
163.52 +public class LWComboBox
163.53 +{
163.54 + static volatile boolean failed = false;
163.55 +
163.56 + private static void init()
163.57 + {
163.58 + //*** Create instructions for the user here ***
163.59 +
163.60 + String[] instructions =
163.61 + {
163.62 + "This is an AUTOMATIC test, simply wait until it is done.",
163.63 + "The result (passed or failed) will be shown in the",
163.64 + "message window below."
163.65 + };
163.66 + Sysout.createDialog( );
163.67 + Sysout.printInstructions( instructions );
163.68 +
163.69 + JFrame f = new JFrame("LW menu test");
163.70 +
163.71 + JComboBox ch;
163.72 + Button b;
163.73 +
163.74 + Vector v = new Vector();
163.75 + for(int i = 1 ; i <=20;i++){
163.76 + v.add("Item # "+i);
163.77 + }
163.78 + ch = new JComboBox(v);
163.79 +
163.80 +
163.81 + b = new Button("AWT Button");
163.82 + b.addActionListener(new ActionListener() {
163.83 + public void actionPerformed(ActionEvent e) {
163.84 + failed = true;
163.85 + }
163.86 + });
163.87 +
163.88 + f.add(ch,BorderLayout.NORTH);
163.89 + f.add(b,BorderLayout.CENTER);
163.90 + f.setSize(300,300);
163.91 + f.setVisible(true);
163.92 +
163.93 + Robot robot = Util.createRobot();
163.94 + robot.setAutoDelay(20);
163.95 +
163.96 + Util.waitForIdle(robot);
163.97 +
163.98 + // Pop up the combobox
163.99 + Point lLoc = ch.getLocationOnScreen();
163.100 + System.err.println("lLoc: " + lLoc);
163.101 + robot.mouseMove(lLoc.x + 5, lLoc.y + 5);
163.102 +
163.103 + robot.mousePress(InputEvent.BUTTON1_MASK);
163.104 + robot.mouseRelease(InputEvent.BUTTON1_MASK);
163.105 + Util.waitForIdle(robot);
163.106 +
163.107 + // Click on the combo popup.
163.108 + // It's assumed that the popup item is located
163.109 + // above the heavyweight button.
163.110 + Point bLoc = b.getLocationOnScreen();
163.111 + System.err.println("bLoc: " + bLoc);
163.112 + robot.mouseMove(bLoc.x + 10, bLoc.y + 10);
163.113 +
163.114 + robot.mousePress(InputEvent.BUTTON1_MASK);
163.115 + robot.mouseRelease(InputEvent.BUTTON1_MASK);
163.116 + Util.waitForIdle(robot);
163.117 +
163.118 + if (failed) {
163.119 + fail("The LW popup did not received the click.");
163.120 + } else {
163.121 + pass();
163.122 + }
163.123 + }//End init()
163.124 +
163.125 +
163.126 +
163.127 + /*****************************************************
163.128 + * Standard Test Machinery Section
163.129 + * DO NOT modify anything in this section -- it's a
163.130 + * standard chunk of code which has all of the
163.131 + * synchronisation necessary for the test harness.
163.132 + * By keeping it the same in all tests, it is easier
163.133 + * to read and understand someone else's test, as
163.134 + * well as insuring that all tests behave correctly
163.135 + * with the test harness.
163.136 + * There is a section following this for test-
163.137 + * classes
163.138 + ******************************************************/
163.139 + private static boolean theTestPassed = false;
163.140 + private static boolean testGeneratedInterrupt = false;
163.141 + private static String failureMessage = "";
163.142 +
163.143 + private static Thread mainThread = null;
163.144 +
163.145 + private static int sleepTime = 300000;
163.146 +
163.147 + // Not sure about what happens if multiple of this test are
163.148 + // instantiated in the same VM. Being static (and using
163.149 + // static vars), it aint gonna work. Not worrying about
163.150 + // it for now.
163.151 + public static void main( String args[] ) throws InterruptedException
163.152 + {
163.153 + mainThread = Thread.currentThread();
163.154 + try
163.155 + {
163.156 + init();
163.157 + }
163.158 + catch( TestPassedException e )
163.159 + {
163.160 + //The test passed, so just return from main and harness will
163.161 + // interepret this return as a pass
163.162 + return;
163.163 + }
163.164 + //At this point, neither test pass nor test fail has been
163.165 + // called -- either would have thrown an exception and ended the
163.166 + // test, so we know we have multiple threads.
163.167 +
163.168 + //Test involves other threads, so sleep and wait for them to
163.169 + // called pass() or fail()
163.170 + try
163.171 + {
163.172 + Thread.sleep( sleepTime );
163.173 + //Timed out, so fail the test
163.174 + throw new RuntimeException( "Timed out after " + sleepTime/1000 + " seconds" );
163.175 + }
163.176 + catch (InterruptedException e)
163.177 + {
163.178 + //The test harness may have interrupted the test. If so, rethrow the exception
163.179 + // so that the harness gets it and deals with it.
163.180 + if( ! testGeneratedInterrupt ) throw e;
163.181 +
163.182 + //reset flag in case hit this code more than once for some reason (just safety)
163.183 + testGeneratedInterrupt = false;
163.184 +
163.185 + if ( theTestPassed == false )
163.186 + {
163.187 + throw new RuntimeException( failureMessage );
163.188 + }
163.189 + }
163.190 +
163.191 + }//main
163.192 +
163.193 + public static synchronized void setTimeoutTo( int seconds )
163.194 + {
163.195 + sleepTime = seconds * 1000;
163.196 + }
163.197 +
163.198 + public static synchronized void pass()
163.199 + {
163.200 + Sysout.println( "The test passed." );
163.201 + Sysout.println( "The test is over, hit Ctl-C to stop Java VM" );
163.202 + //first check if this is executing in main thread
163.203 + if ( mainThread == Thread.currentThread() )
163.204 + {
163.205 + //Still in the main thread, so set the flag just for kicks,
163.206 + // and throw a test passed exception which will be caught
163.207 + // and end the test.
163.208 + theTestPassed = true;
163.209 + throw new TestPassedException();
163.210 + }
163.211 + theTestPassed = true;
163.212 + testGeneratedInterrupt = true;
163.213 + mainThread.interrupt();
163.214 + }//pass()
163.215 +
163.216 + public static synchronized void fail()
163.217 + {
163.218 + //test writer didn't specify why test failed, so give generic
163.219 + fail( "it just plain failed! :-)" );
163.220 + }
163.221 +
163.222 + public static synchronized void fail( String whyFailed )
163.223 + {
163.224 + Sysout.println( "The test failed: " + whyFailed );
163.225 + Sysout.println( "The test is over, hit Ctl-C to stop Java VM" );
163.226 + //check if this called from main thread
163.227 + if ( mainThread == Thread.currentThread() )
163.228 + {
163.229 + //If main thread, fail now 'cause not sleeping
163.230 + throw new RuntimeException( whyFailed );
163.231 + }
163.232 + theTestPassed = false;
163.233 + testGeneratedInterrupt = true;
163.234 + failureMessage = whyFailed;
163.235 + mainThread.interrupt();
163.236 + }//fail()
163.237 +
163.238 +}// class LWComboBox
163.239 +
163.240 +//This exception is used to exit from any level of call nesting
163.241 +// when it's determined that the test has passed, and immediately
163.242 +// end the test.
163.243 +class TestPassedException extends RuntimeException
163.244 +{
163.245 +}
163.246 +
163.247 +//*********** End Standard Test Machinery Section **********
163.248 +
163.249 +
163.250 +//************ Begin classes defined for the test ****************
163.251 +
163.252 +// if want to make listeners, here is the recommended place for them, then instantiate
163.253 +// them in init()
163.254 +
163.255 +/* Example of a class which may be written as part of a test
163.256 +class NewClass implements anInterface
163.257 + {
163.258 + static int newVar = 0;
163.259 +
163.260 + public void eventDispatched(AWTEvent e)
163.261 + {
163.262 + //Counting events to see if we get enough
163.263 + eventCount++;
163.264 +
163.265 + if( eventCount == 20 )
163.266 + {
163.267 + //got enough events, so pass
163.268 +
163.269 + LWComboBox.pass();
163.270 + }
163.271 + else if( tries == 20 )
163.272 + {
163.273 + //tried too many times without getting enough events so fail
163.274 +
163.275 + LWComboBox.fail();
163.276 + }
163.277 +
163.278 + }// eventDispatched()
163.279 +
163.280 + }// NewClass class
163.281 +
163.282 +*/
163.283 +
163.284 +
163.285 +//************** End classes defined for the test *******************
163.286 +
163.287 +
163.288 +
163.289 +
163.290 +/****************************************************
163.291 + Standard Test Machinery
163.292 + DO NOT modify anything below -- it's a standard
163.293 + chunk of code whose purpose is to make user
163.294 + interaction uniform, and thereby make it simpler
163.295 + to read and understand someone else's test.
163.296 + ****************************************************/
163.297 +
163.298 +/**
163.299 + This is part of the standard test machinery.
163.300 + It creates a dialog (with the instructions), and is the interface
163.301 + for sending text messages to the user.
163.302 + To print the instructions, send an array of strings to Sysout.createDialog
163.303 + WithInstructions method. Put one line of instructions per array entry.
163.304 + To display a message for the tester to see, simply call Sysout.println
163.305 + with the string to be displayed.
163.306 + This mimics System.out.println but works within the test harness as well
163.307 + as standalone.
163.308 + */
163.309 +
163.310 +class Sysout
163.311 +{
163.312 + private static TestDialog dialog;
163.313 +
163.314 + public static void createDialogWithInstructions( String[] instructions )
163.315 + {
163.316 + dialog = new TestDialog( new Frame(), "Instructions" );
163.317 + dialog.printInstructions( instructions );
163.318 + dialog.setVisible(true);
163.319 + println( "Any messages for the tester will display here." );
163.320 + }
163.321 +
163.322 + public static void createDialog( )
163.323 + {
163.324 + dialog = new TestDialog( new Frame(), "Instructions" );
163.325 + String[] defInstr = { "Instructions will appear here. ", "" } ;
163.326 + dialog.printInstructions( defInstr );
163.327 + dialog.setVisible(true);
163.328 + println( "Any messages for the tester will display here." );
163.329 + }
163.330 +
163.331 +
163.332 + public static void printInstructions( String[] instructions )
163.333 + {
163.334 + dialog.printInstructions( instructions );
163.335 + }
163.336 +
163.337 +
163.338 + public static void println( String messageIn )
163.339 + {
163.340 + dialog.displayMessage( messageIn );
163.341 + System.out.println(messageIn);
163.342 + }
163.343 +
163.344 +}// Sysout class
163.345 +
163.346 +/**
163.347 + This is part of the standard test machinery. It provides a place for the
163.348 + test instructions to be displayed, and a place for interactive messages
163.349 + to the user to be displayed.
163.350 + To have the test instructions displayed, see Sysout.
163.351 + To have a message to the user be displayed, see Sysout.
163.352 + Do not call anything in this dialog directly.
163.353 + */
163.354 +class TestDialog extends Dialog
163.355 +{
163.356 +
163.357 + TextArea instructionsText;
163.358 + TextArea messageText;
163.359 + int maxStringLength = 80;
163.360 +
163.361 + //DO NOT call this directly, go through Sysout
163.362 + public TestDialog( Frame frame, String name )
163.363 + {
163.364 + super( frame, name );
163.365 + int scrollBoth = TextArea.SCROLLBARS_BOTH;
163.366 + instructionsText = new TextArea( "", 15, maxStringLength, scrollBoth );
163.367 + add( "North", instructionsText );
163.368 +
163.369 + messageText = new TextArea( "", 5, maxStringLength, scrollBoth );
163.370 + add("Center", messageText);
163.371 +
163.372 + pack();
163.373 +
163.374 + setVisible(true);
163.375 + }// TestDialog()
163.376 +
163.377 + //DO NOT call this directly, go through Sysout
163.378 + public void printInstructions( String[] instructions )
163.379 + {
163.380 + //Clear out any current instructions
163.381 + instructionsText.setText( "" );
163.382 +
163.383 + //Go down array of instruction strings
163.384 +
163.385 + String printStr, remainingStr;
163.386 + for( int i=0; i < instructions.length; i++ )
163.387 + {
163.388 + //chop up each into pieces maxSringLength long
163.389 + remainingStr = instructions[ i ];
163.390 + while( remainingStr.length() > 0 )
163.391 + {
163.392 + //if longer than max then chop off first max chars to print
163.393 + if( remainingStr.length() >= maxStringLength )
163.394 + {
163.395 + //Try to chop on a word boundary
163.396 + int posOfSpace = remainingStr.
163.397 + lastIndexOf( ' ', maxStringLength - 1 );
163.398 +
163.399 + if( posOfSpace <= 0 ) posOfSpace = maxStringLength - 1;
163.400 +
163.401 + printStr = remainingStr.substring( 0, posOfSpace + 1 );
163.402 + remainingStr = remainingStr.substring( posOfSpace + 1 );
163.403 + }
163.404 + //else just print
163.405 + else
163.406 + {
163.407 + printStr = remainingStr;
163.408 + remainingStr = "";
163.409 + }
163.410 +
163.411 + instructionsText.append( printStr + "\n" );
163.412 +
163.413 + }// while
163.414 +
163.415 + }// for
163.416 +
163.417 + }//printInstructions()
163.418 +
163.419 + //DO NOT call this directly, go through Sysout
163.420 + public void displayMessage( String messageIn )
163.421 + {
163.422 + messageText.append( messageIn + "\n" );
163.423 + System.out.println(messageIn);
163.424 + }
163.425 +
163.426 +}// TestDialog class
163.427 +
163.428 +
164.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
164.2 +++ b/test/java/awt/Mixing/MixingOnShrinkingHWButton.java Wed Feb 18 10:05:41 2009 -0800
164.3 @@ -0,0 +1,429 @@
164.4 +/*
164.5 + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
164.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
164.7 + *
164.8 + * This code is free software; you can redistribute it and/or modify it
164.9 + * under the terms of the GNU General Public License version 2 only, as
164.10 + * published by the Free Software Foundation.
164.11 + *
164.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
164.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
164.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
164.15 + * version 2 for more details (a copy is included in the LICENSE file that
164.16 + * accompanied this code).
164.17 + *
164.18 + * You should have received a copy of the GNU General Public License version
164.19 + * 2 along with this work; if not, write to the Free Software Foundation,
164.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
164.21 + *
164.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
164.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
164.24 + * have any questions.
164.25 + */
164.26 +
164.27 +/*
164.28 + @test %W% %E%
164.29 + @bug 6777320
164.30 + @summary PIT : Canvas is not fully painted on the internal frame & internal frame goes behind the canvas
164.31 + @author dmitry.cherepanov@...: area=awt.mixing
164.32 + @library ../regtesthelpers
164.33 + @build Util
164.34 + @run main MixingOnShrinkingHWButton
164.35 +*/
164.36 +
164.37 +
164.38 +/**
164.39 + * MixingOnDialog.java
164.40 + *
164.41 + * summary: Tests whether awt.Button and swing.JButton mix correctly
164.42 + * when awt.Button's width got shrinked
164.43 + */
164.44 +
164.45 +import java.awt.*;
164.46 +import java.awt.event.*;
164.47 +import javax.swing.*;
164.48 +import test.java.awt.regtesthelpers.Util;
164.49 +
164.50 +
164.51 +
164.52 +public class MixingOnShrinkingHWButton
164.53 +{
164.54 + static volatile boolean heavyClicked = false;
164.55 + static volatile boolean lightClicked = false;
164.56 +
164.57 + private static void init()
164.58 + {
164.59 + //*** Create instructions for the user here ***
164.60 +
164.61 + String[] instructions =
164.62 + {
164.63 + "This is an AUTOMATIC test, simply wait until it is done.",
164.64 + "The result (passed or failed) will be shown in the",
164.65 + "message window below."
164.66 + };
164.67 + Sysout.createDialog( );
164.68 + Sysout.printInstructions( instructions );
164.69 +
164.70 +
164.71 + // Create components
164.72 + final Dialog d = new Dialog((Frame)null, "Button-JButton mix test");
164.73 + final Button heavy = new Button(" Heavyweight Button ");
164.74 + final JButton light = new JButton(" LW Button ");
164.75 +
164.76 + // Actions for the buttons add appropriate number to the test sequence
164.77 + heavy.addActionListener(new java.awt.event.ActionListener()
164.78 + {
164.79 + public void actionPerformed(java.awt.event.ActionEvent e) {
164.80 + heavyClicked = true;
164.81 + }
164.82 + }
164.83 + );
164.84 +
164.85 + light.addActionListener(new java.awt.event.ActionListener()
164.86 + {
164.87 + public void actionPerformed(java.awt.event.ActionEvent e) {
164.88 + lightClicked = true;
164.89 + }
164.90 + }
164.91 + );
164.92 +
164.93 + // Shrink the HW button under LW button
164.94 + heavy.setBounds(30, 30, 100, 100);
164.95 + light.setBounds(40, 30, 100, 100);
164.96 +
164.97 + // Put the components into the frame
164.98 + d.setLayout(null);
164.99 + d.add(light);
164.100 + d.add(heavy);
164.101 + d.setBounds(50, 50, 400, 400);
164.102 + d.setVisible(true);
164.103 +
164.104 +
164.105 + Robot robot = Util.createRobot();
164.106 + robot.setAutoDelay(20);
164.107 +
164.108 + Util.waitForIdle(robot);
164.109 +
164.110 + // Move the mouse pointer to the position where both
164.111 + // buttons overlap
164.112 + Point heavyLoc = heavy.getLocationOnScreen();
164.113 + robot.mouseMove(heavyLoc.x + 20, heavyLoc.y + 20);
164.114 +
164.115 + // Now perform the click at this point
164.116 + robot.mousePress(InputEvent.BUTTON1_MASK);
164.117 + robot.mouseRelease(InputEvent.BUTTON1_MASK);
164.118 + Util.waitForIdle(robot);
164.119 +
164.120 + // If the buttons are correctly mixed, the test sequence
164.121 + // is equal to the check sequence.
164.122 + if (lightClicked == true) {
164.123 + MixingOnShrinkingHWButton.pass();
164.124 + } else {
164.125 + MixingOnShrinkingHWButton.fail("The lightweight component left behind the heavyweight one.");
164.126 + }
164.127 + }//End init()
164.128 +
164.129 +
164.130 +
164.131 + /*****************************************************
164.132 + * Standard Test Machinery Section
164.133 + * DO NOT modify anything in this section -- it's a
164.134 + * standard chunk of code which has all of the
164.135 + * synchronisation necessary for the test harness.
164.136 + * By keeping it the same in all tests, it is easier
164.137 + * to read and understand someone else's test, as
164.138 + * well as insuring that all tests behave correctly
164.139 + * with the test harness.
164.140 + * There is a section following this for test-
164.141 + * classes
164.142 + ******************************************************/
164.143 + private static boolean theTestPassed = false;
164.144 + private static boolean testGeneratedInterrupt = false;
164.145 + private static String failureMessage = "";
164.146 +
164.147 + private static Thread mainThread = null;
164.148 +
164.149 + private static int sleepTime = 300000;
164.150 +
164.151 + // Not sure about what happens if multiple of this test are
164.152 + // instantiated in the same VM. Being static (and using
164.153 + // static vars), it aint gonna work. Not worrying about
164.154 + // it for now.
164.155 + public static void main( String args[] ) throws InterruptedException
164.156 + {
164.157 + mainThread = Thread.currentThread();
164.158 + try
164.159 + {
164.160 + init();
164.161 + }
164.162 + catch( TestPassedException e )
164.163 + {
164.164 + //The test passed, so just return from main and harness will
164.165 + // interepret this return as a pass
164.166 + return;
164.167 + }
164.168 + //At this point, neither test pass nor test fail has been
164.169 + // called -- either would have thrown an exception and ended the
164.170 + // test, so we know we have multiple threads.
164.171 +
164.172 + //Test involves other threads, so sleep and wait for them to
164.173 + // called pass() or fail()
164.174 + try
164.175 + {
164.176 + Thread.sleep( sleepTime );
164.177 + //Timed out, so fail the test
164.178 + throw new RuntimeException( "Timed out after " + sleepTime/1000 + " seconds" );
164.179 + }
164.180 + catch (InterruptedException e)
164.181 + {
164.182 + //The test harness may have interrupted the test. If so, rethrow the exception
164.183 + // so that the harness gets it and deals with it.
164.184 + if( ! testGeneratedInterrupt ) throw e;
164.185 +
164.186 + //reset flag in case hit this code more than once for some reason (just safety)
164.187 + testGeneratedInterrupt = false;
164.188 +
164.189 + if ( theTestPassed == false )
164.190 + {
164.191 + throw new RuntimeException( failureMessage );
164.192 + }
164.193 + }
164.194 +
164.195 + }//main
164.196 +
164.197 + public static synchronized void setTimeoutTo( int seconds )
164.198 + {
164.199 + sleepTime = seconds * 1000;
164.200 + }
164.201 +
164.202 + public static synchronized void pass()
164.203 + {
164.204 + Sysout.println( "The test passed." );
164.205 + Sysout.println( "The test is over, hit Ctl-C to stop Java VM" );
164.206 + //first check if this is executing in main thread
164.207 + if ( mainThread == Thread.currentThread() )
164.208 + {
164.209 + //Still in the main thread, so set the flag just for kicks,
164.210 + // and throw a test passed exception which will be caught
164.211 + // and end the test.
164.212 + theTestPassed = true;
164.213 + throw new TestPassedException();
164.214 + }
164.215 + theTestPassed = true;
164.216 + testGeneratedInterrupt = true;
164.217 + mainThread.interrupt();
164.218 + }//pass()
164.219 +
164.220 + public static synchronized void fail()
164.221 + {
164.222 + //test writer didn't specify why test failed, so give generic
164.223 + fail( "it just plain failed! :-)" );
164.224 + }
164.225 +
164.226 + public static synchronized void fail( String whyFailed )
164.227 + {
164.228 + Sysout.println( "The test failed: " + whyFailed );
164.229 + Sysout.println( "The test is over, hit Ctl-C to stop Java VM" );
164.230 + //check if this called from main thread
164.231 + if ( mainThread == Thread.currentThread() )
164.232 + {
164.233 + //If main thread, fail now 'cause not sleeping
164.234 + throw new RuntimeException( whyFailed );
164.235 + }
164.236 + theTestPassed = false;
164.237 + testGeneratedInterrupt = true;
164.238 + failureMessage = whyFailed;
164.239 + mainThread.interrupt();
164.240 + }//fail()
164.241 +
164.242 +}// class MixingOnDialog
164.243 +
164.244 +//This exception is used to exit from any level of call nesting
164.245 +// when it's determined that the test has passed, and immediately
164.246 +// end the test.
164.247 +class TestPassedException extends RuntimeException
164.248 +{
164.249 +}
164.250 +
164.251 +//*********** End Standard Test Machinery Section **********
164.252 +
164.253 +
164.254 +//************ Begin classes defined for the test ****************
164.255 +
164.256 +// if want to make listeners, here is the recommended place for them, then instantiate
164.257 +// them in init()
164.258 +
164.259 +/* Example of a class which may be written as part of a test
164.260 +class NewClass implements anInterface
164.261 + {
164.262 + static int newVar = 0;
164.263 +
164.264 + public void eventDispatched(AWTEvent e)
164.265 + {
164.266 + //Counting events to see if we get enough
164.267 + eventCount++;
164.268 +
164.269 + if( eventCount == 20 )
164.270 + {
164.271 + //got enough events, so pass
164.272 +
164.273 + MixingOnDialog.pass();
164.274 + }
164.275 + else if( tries == 20 )
164.276 + {
164.277 + //tried too many times without getting enough events so fail
164.278 +
164.279 + MixingOnDialog.fail();
164.280 + }
164.281 +
164.282 + }// eventDispatched()
164.283 +
164.284 + }// NewClass class
164.285 +
164.286 +*/
164.287 +
164.288 +
164.289 +//************** End classes defined for the test *******************
164.290 +
164.291 +
164.292 +
164.293 +
164.294 +/****************************************************
164.295 + Standard Test Machinery
164.296 + DO NOT modify anything below -- it's a standard
164.297 + chunk of code whose purpose is to make user
164.298 + interaction uniform, and thereby make it simpler
164.299 + to read and understand someone else's test.
164.300 + ****************************************************/
164.301 +
164.302 +/**
164.303 + This is part of the standard test machinery.
164.304 + It creates a dialog (with the instructions), and is the interface
164.305 + for sending text messages to the user.
164.306 + To print the instructions, send an array of strings to Sysout.createDialog
164.307 + WithInstructions method. Put one line of instructions per array entry.
164.308 + To display a message for the tester to see, simply call Sysout.println
164.309 + with the string to be displayed.
164.310 + This mimics System.out.println but works within the test harness as well
164.311 + as standalone.
164.312 + */
164.313 +
164.314 +class Sysout
164.315 +{
164.316 + private static TestDialog dialog;
164.317 +
164.318 + public static void createDialogWithInstructions( String[] instructions )
164.319 + {
164.320 + dialog = new TestDialog( new Frame(), "Instructions" );
164.321 + dialog.printInstructions( instructions );
164.322 + dialog.setVisible(true);
164.323 + println( "Any messages for the tester will display here." );
164.324 + }
164.325 +
164.326 + public static void createDialog( )
164.327 + {
164.328 + dialog = new TestDialog( new Frame(), "Instructions" );
164.329 + String[] defInstr = { "Instructions will appear here. ", "" } ;
164.330 + dialog.printInstructions( defInstr );
164.331 + dialog.setVisible(true);
164.332 + println( "Any messages for the tester will display here." );
164.333 + }
164.334 +
164.335 +
164.336 + public static void printInstructions( String[] instructions )
164.337 + {
164.338 + dialog.printInstructions( instructions );
164.339 + }
164.340 +
164.341 +
164.342 + public static void println( String messageIn )
164.343 + {
164.344 + dialog.displayMessage( messageIn );
164.345 + System.out.println(messageIn);
164.346 + }
164.347 +
164.348 +}// Sysout class
164.349 +
164.350 +/**
164.351 + This is part of the standard test machinery. It provides a place for the
164.352 + test instructions to be displayed, and a place for interactive messages
164.353 + to the user to be displayed.
164.354 + To have the test instructions displayed, see Sysout.
164.355 + To have a message to the user be displayed, see Sysout.
164.356 + Do not call anything in this dialog directly.
164.357 + */
164.358 +class TestDialog extends Dialog
164.359 +{
164.360 +
164.361 + TextArea instructionsText;
164.362 + TextArea messageText;
164.363 + int maxStringLength = 80;
164.364 +
164.365 + //DO NOT call this directly, go through Sysout
164.366 + public TestDialog( Frame frame, String name )
164.367 + {
164.368 + super( frame, name );
164.369 + int scrollBoth = TextArea.SCROLLBARS_BOTH;
164.370 + instructionsText = new TextArea( "", 15, maxStringLength, scrollBoth );
164.371 + add( "North", instructionsText );
164.372 +
164.373 + messageText = new TextArea( "", 5, maxStringLength, scrollBoth );
164.374 + add("Center", messageText);
164.375 +
164.376 + pack();
164.377 +
164.378 + setVisible(true);
164.379 + }// TestDialog()
164.380 +
164.381 + //DO NOT call this directly, go through Sysout
164.382 + public void printInstructions( String[] instructions )
164.383 + {
164.384 + //Clear out any current instructions
164.385 + instructionsText.setText( "" );
164.386 +
164.387 + //Go down array of instruction strings
164.388 +
164.389 + String printStr, remainingStr;
164.390 + for( int i=0; i < instructions.length; i++ )
164.391 + {
164.392 + //chop up each into pieces maxSringLength long
164.393 + remainingStr = instructions[ i ];
164.394 + while( remainingStr.length() > 0 )
164.395 + {
164.396 + //if longer than max then chop off first max chars to print
164.397 + if( remainingStr.length() >= maxStringLength )
164.398 + {
164.399 + //Try to chop on a word boundary
164.400 + int posOfSpace = remainingStr.
164.401 + lastIndexOf( ' ', maxStringLength - 1 );
164.402 +
164.403 + if( posOfSpace <= 0 ) posOfSpace = maxStringLength - 1;
164.404 +
164.405 + printStr = remainingStr.substring( 0, posOfSpace + 1 );
164.406 + remainingStr = remainingStr.substring( posOfSpace + 1 );
164.407 + }
164.408 + //else just print
164.409 + else
164.410 + {
164.411 + printStr = remainingStr;
164.412 + remainingStr = "";
164.413 + }
164.414 +
164.415 + instructionsText.append( printStr + "\n" );
164.416 +
164.417 + }// while
164.418 +
164.419 + }// for
164.420 +
164.421 + }//printInstructions()
164.422 +
164.423 + //DO NOT call this directly, go through Sysout
164.424 + public void displayMessage( String messageIn )
164.425 + {
164.426 + messageText.append( messageIn + "\n" );
164.427 + System.out.println(messageIn);
164.428 + }
164.429 +
164.430 +}// TestDialog class
164.431 +
164.432 +
165.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
165.2 +++ b/test/java/awt/Mixing/NonOpaqueInternalFrame.java Wed Feb 18 10:05:41 2009 -0800
165.3 @@ -0,0 +1,434 @@
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 6768332
165.30 + @summary Tests whether internal frames are always considered opaque
165.31 + @author anthony.petrov@...: area=awt.mixing
165.32 + @library ../regtesthelpers
165.33 + @build Util
165.34 + @run main NonOpaqueInternalFrame
165.35 +*/
165.36 +
165.37 +
165.38 +/**
165.39 + * NonOpaqueInternalFrame.java
165.40 + *
165.41 + * summary: Tests whether internal frames are always considered opaque
165.42 + */
165.43 +
165.44 +import java.awt.*;
165.45 +import java.awt.event.*;
165.46 +import java.beans.PropertyVetoException;
165.47 +import javax.swing.*;
165.48 +import java.util.Vector;
165.49 +import test.java.awt.regtesthelpers.Util;
165.50 +
165.51 +
165.52 +
165.53 +public class NonOpaqueInternalFrame
165.54 +{
165.55 + static volatile boolean failed = false;
165.56 +
165.57 + private static final class MyButton extends Button
165.58 + implements ActionListener
165.59 + {
165.60 + public MyButton() {
165.61 + setPreferredSize(new Dimension(100, 100));
165.62 + addActionListener(this);
165.63 + }
165.64 +
165.65 + public void actionPerformed(ActionEvent e) {
165.66 + failed = true;
165.67 + }
165.68 + }
165.69 +
165.70 + private static void init()
165.71 + {
165.72 + String[] instructions =
165.73 + {
165.74 + "This is an AUTOMATIC test, simply wait until it is done.",
165.75 + "The result (passed or failed) will be shown in the",
165.76 + "message window below."
165.77 + };
165.78 + Sysout.createDialog( );
165.79 + Sysout.printInstructions( instructions );
165.80 +
165.81 +
165.82 + // Create a frame with two non-opaque JInternalFrame's containing
165.83 + // heavyweight buttons.
165.84 + JFrame jframe = new JFrame("mixing test");
165.85 + JDesktopPane desktop = new JDesktopPane();
165.86 + jframe.setContentPane(desktop);
165.87 + JInternalFrame iframe1 = new JInternalFrame("iframe 1");
165.88 + iframe1.setIconifiable(true);
165.89 + iframe1.add(new MyButton());
165.90 + iframe1.setBounds(10, 10, 100, 100);
165.91 + iframe1.setOpaque(false);
165.92 + iframe1.setVisible(true);
165.93 + desktop.add(iframe1);
165.94 + JInternalFrame iframe2 = new JInternalFrame("iframe 2");
165.95 + iframe2.setIconifiable(true);
165.96 + iframe2.add(new MyButton());
165.97 + iframe2.setBounds(50, 50, 100, 100);
165.98 + iframe2.setOpaque(false);
165.99 + iframe2.setVisible(true);
165.100 + desktop.add(iframe2);
165.101 + jframe.setSize(300, 300);
165.102 + jframe.setVisible(true);
165.103 +
165.104 + Robot robot = Util.createRobot();
165.105 + robot.setAutoDelay(20);
165.106 +
165.107 + Util.waitForIdle(robot);
165.108 +
165.109 + // Try selecting the bottommost frame
165.110 + try {
165.111 + iframe2.setSelected(true);
165.112 + } catch (PropertyVetoException ex) {
165.113 + ex.printStackTrace();
165.114 + }
165.115 +
165.116 + // Click the title bar of the internal frame
165.117 + Point lLoc = iframe2.getLocationOnScreen();
165.118 + System.err.println("lLoc: " + lLoc);
165.119 + robot.mouseMove(lLoc.x + 10, lLoc.y + 10);
165.120 + Util.waitForIdle(robot);
165.121 +
165.122 + robot.mousePress(InputEvent.BUTTON1_MASK);
165.123 + robot.mouseRelease(InputEvent.BUTTON1_MASK);
165.124 + Util.waitForIdle(robot);
165.125 +
165.126 +
165.127 + if (failed) {
165.128 + fail("The JInternalFrame is considered non-opaque.");
165.129 + } else {
165.130 + pass();
165.131 + }
165.132 + }//End init()
165.133 +
165.134 +
165.135 +
165.136 + /*****************************************************
165.137 + * Standard Test Machinery Section
165.138 + * DO NOT modify anything in this section -- it's a
165.139 + * standard chunk of code which has all of the
165.140 + * synchronisation necessary for the test harness.
165.141 + * By keeping it the same in all tests, it is easier
165.142 + * to read and understand someone else's test, as
165.143 + * well as insuring that all tests behave correctly
165.144 + * with the test harness.
165.145 + * There is a section following this for test-
165.146 + * classes
165.147 + ******************************************************/
165.148 + private static boolean theTestPassed = false;
165.149 + private static boolean testGeneratedInterrupt = false;
165.150 + private static String failureMessage = "";
165.151 +
165.152 + private static Thread mainThread = null;
165.153 +
165.154 + private static int sleepTime = 300000;
165.155 +
165.156 + // Not sure about what happens if multiple of this test are
165.157 + // instantiated in the same VM. Being static (and using
165.158 + // static vars), it aint gonna work. Not worrying about
165.159 + // it for now.
165.160 + public static void main( String args[] ) throws InterruptedException
165.161 + {
165.162 + mainThread = Thread.currentThread();
165.163 + try
165.164 + {
165.165 + init();
165.166 + }
165.167 + catch( TestPassedException e )
165.168 + {
165.169 + //The test passed, so just return from main and harness will
165.170 + // interepret this return as a pass
165.171 + return;
165.172 + }
165.173 + //At this point, neither test pass nor test fail has been
165.174 + // called -- either would have thrown an exception and ended the
165.175 + // test, so we know we have multiple threads.
165.176 +
165.177 + //Test involves other threads, so sleep and wait for them to
165.178 + // called pass() or fail()
165.179 + try
165.180 + {
165.181 + Thread.sleep( sleepTime );
165.182 + //Timed out, so fail the test
165.183 + throw new RuntimeException( "Timed out after " + sleepTime/1000 + " seconds" );
165.184 + }
165.185 + catch (InterruptedException e)
165.186 + {
165.187 + //The test harness may have interrupted the test. If so, rethrow the exception
165.188 + // so that the harness gets it and deals with it.
165.189 + if( ! testGeneratedInterrupt ) throw e;
165.190 +
165.191 + //reset flag in case hit this code more than once for some reason (just safety)
165.192 + testGeneratedInterrupt = false;
165.193 +
165.194 + if ( theTestPassed == false )
165.195 + {
165.196 + throw new RuntimeException( failureMessage );
165.197 + }
165.198 + }
165.199 +
165.200 + }//main
165.201 +
165.202 + public static synchronized void setTimeoutTo( int seconds )
165.203 + {
165.204 + sleepTime = seconds * 1000;
165.205 + }
165.206 +
165.207 + public static synchronized void pass()
165.208 + {
165.209 + Sysout.println( "The test passed." );
165.210 + Sysout.println( "The test is over, hit Ctl-C to stop Java VM" );
165.211 + //first check if this is executing in main thread
165.212 + if ( mainThread == Thread.currentThread() )
165.213 + {
165.214 + //Still in the main thread, so set the flag just for kicks,
165.215 + // and throw a test passed exception which will be caught
165.216 + // and end the test.
165.217 + theTestPassed = true;
165.218 + throw new TestPassedException();
165.219 + }
165.220 + theTestPassed = true;
165.221 + testGeneratedInterrupt = true;
165.222 + mainThread.interrupt();
165.223 + }//pass()
165.224 +
165.225 + public static synchronized void fail()
165.226 + {
165.227 + //test writer didn't specify why test failed, so give generic
165.228 + fail( "it just plain failed! :-)" );
165.229 + }
165.230 +
165.231 + public static synchronized void fail( String whyFailed )
165.232 + {
165.233 + Sysout.println( "The test failed: " + whyFailed );
165.234 + Sysout.println( "The test is over, hit Ctl-C to stop Java VM" );
165.235 + //check if this called from main thread
165.236 + if ( mainThread == Thread.currentThread() )
165.237 + {
165.238 + //If main thread, fail now 'cause not sleeping
165.239 + throw new RuntimeException( whyFailed );
165.240 + }
165.241 + theTestPassed = false;
165.242 + testGeneratedInterrupt = true;
165.243 + failureMessage = whyFailed;
165.244 + mainThread.interrupt();
165.245 + }//fail()
165.246 +
165.247 +}// class NonOpaqueInternalFrame
165.248 +
165.249 +//This exception is used to exit from any level of call nesting
165.250 +// when it's determined that the test has passed, and immediately
165.251 +// end the test.
165.252 +class TestPassedException extends RuntimeException
165.253 +{
165.254 +}
165.255 +
165.256 +//*********** End Standard Test Machinery Section **********
165.257 +
165.258 +
165.259 +//************ Begin classes defined for the test ****************
165.260 +
165.261 +// if want to make listeners, here is the recommended place for them, then instantiate
165.262 +// them in init()
165.263 +
165.264 +/* Example of a class which may be written as part of a test
165.265 +class NewClass implements anInterface
165.266 + {
165.267 + static int newVar = 0;
165.268 +
165.269 + public void eventDispatched(AWTEvent e)
165.270 + {
165.271 + //Counting events to see if we get enough
165.272 + eventCount++;
165.273 +
165.274 + if( eventCount == 20 )
165.275 + {
165.276 + //got enough events, so pass
165.277 +
165.278 + NonOpaqueInternalFrame.pass();
165.279 + }
165.280 + else if( tries == 20 )
165.281 + {
165.282 + //tried too many times without getting enough events so fail
165.283 +
165.284 + NonOpaqueInternalFrame.fail();
165.285 + }
165.286 +
165.287 + }// eventDispatched()
165.288 +
165.289 + }// NewClass class
165.290 +
165.291 +*/
165.292 +
165.293 +
165.294 +//************** End classes defined for the test *******************
165.295 +
165.296 +
165.297 +
165.298 +
165.299 +/****************************************************
165.300 + Standard Test Machinery
165.301 + DO NOT modify anything below -- it's a standard
165.302 + chunk of code whose purpose is to make user
165.303 + interaction uniform, and thereby make it simpler
165.304 + to read and understand someone else's test.
165.305 + ****************************************************/
165.306 +
165.307 +/**
165.308 + This is part of the standard test machinery.
165.309 + It creates a dialog (with the instructions), and is the interface
165.310 + for sending text messages to the user.
165.311 + To print the instructions, send an array of strings to Sysout.createDialog
165.312 + WithInstructions method. Put one line of instructions per array entry.
165.313 + To display a message for the tester to see, simply call Sysout.println
165.314 + with the string to be displayed.
165.315 + This mimics System.out.println but works within the test harness as well
165.316 + as standalone.
165.317 + */
165.318 +
165.319 +class Sysout
165.320 +{
165.321 + private static TestDialog dialog;
165.322 +
165.323 + public static void createDialogWithInstructions( String[] instructions )
165.324 + {
165.325 + dialog = new TestDialog( new Frame(), "Instructions" );
165.326 + dialog.printInstructions( instructions );
165.327 + dialog.setVisible(true);
165.328 + println( "Any messages for the tester will display here." );
165.329 + }
165.330 +
165.331 + public static void createDialog( )
165.332 + {
165.333 + dialog = new TestDialog( new Frame(), "Instructions" );
165.334 + String[] defInstr = { "Instructions will appear here. ", "" } ;
165.335 + dialog.printInstructions( defInstr );
165.336 + dialog.setVisible(true);
165.337 + println( "Any messages for the tester will display here." );
165.338 + }
165.339 +
165.340 +
165.341 + public static void printInstructions( String[] instructions )
165.342 + {
165.343 + dialog.printInstructions( instructions );
165.344 + }
165.345 +
165.346 +
165.347 + public static void println( String messageIn )
165.348 + {
165.349 + dialog.displayMessage( messageIn );
165.350 + System.out.println(messageIn);
165.351 + }
165.352 +
165.353 +}// Sysout class
165.354 +
165.355 +/**
165.356 + This is part of the standard test machinery. It provides a place for the
165.357 + test instructions to be displayed, and a place for interactive messages
165.358 + to the user to be displayed.
165.359 + To have the test instructions displayed, see Sysout.
165.360 + To have a message to the user be displayed, see Sysout.
165.361 + Do not call anything in this dialog directly.
165.362 + */
165.363 +class TestDialog extends Dialog
165.364 +{
165.365 +
165.366 + TextArea instructionsText;
165.367 + TextArea messageText;
165.368 + int maxStringLength = 80;
165.369 +
165.370 + //DO NOT call this directly, go through Sysout
165.371 + public TestDialog( Frame frame, String name )
165.372 + {
165.373 + super( frame, name );
165.374 + int scrollBoth = TextArea.SCROLLBARS_BOTH;
165.375 + instructionsText = new TextArea( "", 15, maxStringLength, scrollBoth );
165.376 + add( "North", instructionsText );
165.377 +
165.378 + messageText = new TextArea( "", 5, maxStringLength, scrollBoth );
165.379 + add("Center", messageText);
165.380 +
165.381 + pack();
165.382 +
165.383 + setVisible(true);
165.384 + }// TestDialog()
165.385 +
165.386 + //DO NOT call this directly, go through Sysout
165.387 + public void printInstructions( String[] instructions )
165.388 + {
165.389 + //Clear out any current instructions
165.390 + instructionsText.setText( "" );
165.391 +
165.392 + //Go down array of instruction strings
165.393 +
165.394 + String printStr, remainingStr;
165.395 + for( int i=0; i < instructions.length; i++ )
165.396 + {
165.397 + //chop up each into pieces maxSringLength long
165.398 + remainingStr = instructions[ i ];
165.399 + while( remainingStr.length() > 0 )
165.400 + {
165.401 + //if longer than max then chop off first max chars to print
165.402 + if( remainingStr.length() >= maxStringLength )
165.403 + {
165.404 + //Try to chop on a word boundary
165.405 + int posOfSpace = remainingStr.
165.406 + lastIndexOf( ' ', maxStringLength - 1 );
165.407 +
165.408 + if( posOfSpace <= 0 ) posOfSpace = maxStringLength - 1;
165.409 +
165.410 + printStr = remainingStr.substring( 0, posOfSpace + 1 );
165.411 + remainingStr = remainingStr.substring( posOfSpace + 1 );
165.412 + }
165.413 + //else just print
165.414 + else
165.415 + {
165.416 + printStr = remainingStr;
165.417 + remainingStr = "";
165.418 + }
165.419 +
165.420 + instructionsText.append( printStr + "\n" );
165.421 +
165.422 + }// while
165.423 +
165.424 + }// for
165.425 +
165.426 + }//printInstructions()
165.427 +
165.428 + //DO NOT call this directly, go through Sysout
165.429 + public void displayMessage( String messageIn )
165.430 + {
165.431 + messageText.append( messageIn + "\n" );
165.432 + System.out.println(messageIn);
165.433 + }
165.434 +
165.435 +}// TestDialog class
165.436 +
165.437 +
166.1 --- a/test/java/awt/Mixing/OpaqueTest.java Tue Feb 17 09:06:16 2009 -0800
166.2 +++ b/test/java/awt/Mixing/OpaqueTest.java Wed Feb 18 10:05:41 2009 -0800
166.3 @@ -42,6 +42,7 @@
166.4 import java.awt.event.*;
166.5 import javax.swing.*;
166.6 import test.java.awt.regtesthelpers.Util;
166.7 +import com.sun.awt.AWTUtilities;
166.8
166.9
166.10
166.11 @@ -78,6 +79,7 @@
166.12 {
166.13 public void actionPerformed(java.awt.event.ActionEvent e) {
166.14 p.setComponentZOrder(light, 0);
166.15 + f.validate();
166.16 testSeq = testSeq + "0";
166.17 }
166.18 }
166.19 @@ -87,6 +89,7 @@
166.20 {
166.21 public void actionPerformed(java.awt.event.ActionEvent e) {
166.22 p.setComponentZOrder(heavy, 0);
166.23 + f.validate();
166.24 testSeq = testSeq + "1";
166.25 }
166.26 }
166.27 @@ -120,10 +123,12 @@
166.28 // flag value.
166.29 for (int i = 0; i < 9; ++i) {
166.30 if (i == 3) {
166.31 - light.setOpaque(false);
166.32 + AWTUtilities.setComponentMixingCutoutShape(light,
166.33 + new Rectangle());
166.34 }
166.35 if (i == 6) {
166.36 - light.setOpaque(true);
166.37 + AWTUtilities.setComponentMixingCutoutShape(light,
166.38 + null);
166.39 }
166.40
166.41 robot.mousePress(InputEvent.BUTTON1_MASK);
167.1 --- a/test/java/awt/Mixing/OverlappingButtons.java Tue Feb 17 09:06:16 2009 -0800
167.2 +++ b/test/java/awt/Mixing/OverlappingButtons.java Wed Feb 18 10:05:41 2009 -0800
167.3 @@ -78,6 +78,7 @@
167.4 {
167.5 public void actionPerformed(java.awt.event.ActionEvent e) {
167.6 p.setComponentZOrder(light, 0);
167.7 + f.validate();
167.8 testSeq = testSeq + "0";
167.9 }
167.10 }
167.11 @@ -87,6 +88,7 @@
167.12 {
167.13 public void actionPerformed(java.awt.event.ActionEvent e) {
167.14 p.setComponentZOrder(heavy, 0);
167.15 + f.validate();
167.16 testSeq = testSeq + "1";
167.17 }
167.18 }
168.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
168.2 +++ b/test/java/awt/Mouse/MaximizedFrameTest/MaximizedFrameTest.html Wed Feb 18 10:05:41 2009 -0800
168.3 @@ -0,0 +1,42 @@
168.4 +/*
168.5 + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved.
168.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
168.7 + *
168.8 + * This code is free software; you can redistribute it and/or modify it
168.9 + * under the terms of the GNU General Public License version 2 only, as
168.10 + * published by the Free Software Foundation.
168.11 + *
168.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
168.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
168.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
168.15 + * version 2 for more details (a copy is included in the LICENSE file that
168.16 + * accompanied this code).
168.17 + *
168.18 + * You should have received a copy of the GNU General Public License version
168.19 + * 2 along with this work; if not, write to the Free Software Foundation,
168.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
168.21 + *
168.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
168.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
168.24 + * have any questions.
168.25 + */
168.26 +
168.27 +<!--
168.28 + @test
168.29 + @bug 6176814
168.30 + @summary Metalworks frame maximizes after the move
168.31 + @author Andrei.Dmitriev.Com area=Event
168.32 + @run applet MaximizedFrameTest.html
168.33 + -->
168.34 +<head>
168.35 +<title> </title>
168.36 +</head>
168.37 +<body>
168.38 +
168.39 +<h1>bug 6176814<br>Bug ID: 6176814 </h1>
168.40 +
168.41 +<p> This is an AUTOMATIC test, simply wait for completion </p>
168.42 +
168.43 +<APPLET CODE="MaximizedFrameTest.class" WIDTH=200 HEIGHT=200></APPLET>
168.44 +</body>
168.45 +</html>
169.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
169.2 +++ b/test/java/awt/Mouse/MaximizedFrameTest/MaximizedFrameTest.java Wed Feb 18 10:05:41 2009 -0800
169.3 @@ -0,0 +1,112 @@
169.4 +/*
169.5 + * Copyright 2008 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.
169.11 + *
169.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
169.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
169.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
169.15 + * version 2 for more details (a copy is included in the LICENSE file that
169.16 + * accompanied this code).
169.17 + *
169.18 + * You should have received a copy of the GNU General Public License version
169.19 + * 2 along with this work; if not, write to the Free Software Foundation,
169.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
169.21 + *
169.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
169.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
169.24 + * have any questions.
169.25 + */
169.26 +
169.27 +/*
169.28 + test
169.29 + @bug 6176814
169.30 + @summary Metalworks frame maximizes after the move
169.31 + @author Andrei.Dmitriev area=Event
169.32 + @run applet MaximizedFrameTest.html
169.33 +*/
169.34 +
169.35 +import java.applet.Applet;
169.36 +import javax.swing.*;
169.37 +import java.awt.event.*;
169.38 +import java.awt.*;
169.39 +
169.40 +public class MaximizedFrameTest extends Applet
169.41 +{
169.42 + final int ITERATIONS_COUNT = 20;
169.43 + Robot robot;
169.44 + Point framePosition;
169.45 + Point newFrameLocation;
169.46 + JFrame frame;
169.47 + Rectangle gcBounds;
169.48 + public static Object LOCK = new Object();
169.49 +
169.50 + public void init()
169.51 + {
169.52 + String[] instructions =
169.53 + {
169.54 + "This is an AUTOMATIC test",
169.55 + "simply wait until it is done"
169.56 + };
169.57 + JFrame.setDefaultLookAndFeelDecorated(true);
169.58 + frame = new JFrame("JFrame Maximization Test");
169.59 + frame.pack();
169.60 + frame.setSize(450, 260);
169.61 + }//End init()
169.62 +
169.63 + public void start ()
169.64 + {
169.65 + frame.setVisible(true);
169.66 + validate();
169.67 + JLayeredPane lPane = frame.getLayeredPane();
169.68 + // System.out.println("JFrame's LayeredPane " + lPane );
169.69 + Component titleComponent = null;
169.70 + boolean titleFound = false;
169.71 + for (int j=0; j < lPane.getComponentsInLayer(JLayeredPane.FRAME_CONTENT_LAYER.intValue()).length; j++){
169.72 + titleComponent = lPane.getComponentsInLayer(JLayeredPane.FRAME_CONTENT_LAYER.intValue())[j];
169.73 + if (titleComponent.getClass().getName().equals("javax.swing.plaf.metal.MetalTitlePane")){
169.74 + titleFound = true;
169.75 + break;
169.76 + }
169.77 + }
169.78 + if ( !titleFound ){
169.79 + throw new RuntimeException("Test Failed. Unable to determine title's size.");
169.80 + }
169.81 + //--------------------------------
169.82 + // it is sufficient to get maximized Frame only once.
169.83 + Point tempMousePosition;
169.84 + framePosition = frame.getLocationOnScreen();
169.85 + try {
169.86 + robot = new Robot();
169.87 + tempMousePosition = new Point(framePosition.x +
169.88 + frame.getWidth()/2,
169.89 + framePosition.y +
169.90 + titleComponent.getHeight()/2);
169.91 + robot.mouseMove(tempMousePosition.x, tempMousePosition.y);
169.92 + for (int iteration=0; iteration < ITERATIONS_COUNT; iteration++){
169.93 + robot.mousePress(InputEvent.BUTTON1_MASK);
169.94 + gcBounds =
169.95 + GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices()[0].getConfigurations()[0].getBounds();
169.96 + //Moving a mouse pointer less than a few pixels
169.97 + //leads to rising a double click event.
169.98 + //We have to use exceeded the AWT_MULTICLICK_SMUDGE
169.99 + //const value (which is 4 by default on GNOME) to test that.
169.100 + tempMousePosition.x += 5;
169.101 + robot.mouseMove(tempMousePosition.x, tempMousePosition.y);
169.102 + robot.delay(70);
169.103 + robot.mouseRelease(InputEvent.BUTTON1_MASK);
169.104 + if ( frame.getExtendedState() != 0 ){
169.105 + throw new RuntimeException ("Test failed. JFrame was maximized. ExtendedState is : "+frame.getExtendedState());
169.106 + }
169.107 + robot.delay(500);
169.108 + } //for iteration
169.109 +
169.110 + }catch(AWTException e) {
169.111 + throw new RuntimeException("Test Failed. AWTException thrown.");
169.112 + }
169.113 + System.out.println("Test passed.");
169.114 + }// start()
169.115 +}// class
170.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
170.2 +++ b/test/java/awt/Mouse/MouseModifiersUnitTest/ExtraButtonDrag.java Wed Feb 18 10:05:41 2009 -0800
170.3 @@ -0,0 +1,131 @@
170.4 +/*
170.5 + @test %I% %E%
170.6 + @bug 6315717
170.7 + @summary verifies that drag events are coming for every button if the property is set to true
170.8 + @author Andrei Dmitriev : area=awt.mouse
170.9 + @run main ExtraButtonDrag
170.10 + */
170.11 +
170.12 +//events from standard should also come
170.13 +
170.14 +import java.awt.*;
170.15 +import java.awt.event.*;
170.16 +
170.17 +public class ExtraButtonDrag extends Frame {
170.18 + static String tk = Toolkit.getDefaultToolkit().getClass().getName();
170.19 + static Robot robot;
170.20 + static int [] buttonsPressed;
170.21 + static int [] buttonsReleased;
170.22 + static int [] buttonsClicked;
170.23 + volatile static boolean dragged = false;
170.24 + volatile static boolean moved = false;
170.25 +
170.26 + public ExtraButtonDrag(){
170.27 + super("ExtraButtonDrag");
170.28 + }
170.29 +
170.30 + public static void main(String []s){
170.31 + Frame frame = new ExtraButtonDrag();
170.32 +
170.33 + MouseAdapter ma = new MouseAdapter() {
170.34 + public void mouseDragged(MouseEvent e) {
170.35 + System.out.println("Dragged "+e);// +" : "+ e.getButton() + " : " +e.getButtonState(e.getButton()));
170.36 + dragged = true;
170.37 + }
170.38 + public void mouseMoved(MouseEvent e) {
170.39 + System.out.println("Moved "+e);
170.40 + moved = true;
170.41 + }
170.42 + public void mousePressed(MouseEvent e) {
170.43 + System.out.println(">>> "+e);
170.44 + }
170.45 + public void mouseReleased(MouseEvent e) {
170.46 + System.out.println(">>> "+e);
170.47 + }
170.48 +
170.49 + };
170.50 +
170.51 + frame.addMouseMotionListener(ma);
170.52 + frame.addMouseListener(ma);
170.53 +
170.54 + frame.setSize(300, 300);
170.55 + frame.setVisible(true);
170.56 +
170.57 + int [] buttonMask = new int [MouseInfo.getNumberOfButtons()]; //InputEvent.getButtonMasks();
170.58 +
170.59 + for (int i = 0; i < MouseInfo.getNumberOfButtons(); i++){
170.60 + buttonMask[i] = InputEvent.getMaskForButton(i+1);
170.61 + // System.out.println("TEST: "+tmp[i]);
170.62 + }
170.63 +
170.64 + try {
170.65 + robot = new Robot();
170.66 + robot.delay(1000);
170.67 + Point centerFrame = new Point(frame.getLocationOnScreen().x + frame.getWidth()/2, frame.getLocationOnScreen().y + frame.getHeight()/2);
170.68 + Point outboundsFrame = new Point(frame.getLocationOnScreen().x + frame.getWidth()*3/2, frame.getLocationOnScreen().y + frame.getHeight()/2);
170.69 +
170.70 + System.out.println("areExtraMouseButtonsEnabled() == " + Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled() );
170.71 +
170.72 + for (int i = 0; i < MouseInfo.getNumberOfButtons(); i++){
170.73 + System.out.println("button to drag = " +(i+1) + " : value passed to robot = " +buttonMask[i]);
170.74 +
170.75 + try {
170.76 + dragMouse(buttonMask[i], centerFrame.x, centerFrame.y, outboundsFrame.x, outboundsFrame.y);
170.77 + } catch (IllegalArgumentException e){
170.78 + throw new RuntimeException("Test failed. Exception occured.", e);
170.79 + }
170.80 +
170.81 + robot.delay(500);
170.82 + //this is a choice-case for X protocol issue: native events from extra buttons doesn't contain
170.83 + // the correct state so it's unable to decide if there is a drag or move. By default we send MOVED event.
170.84 + //XToolkit: extra buttons should report MOVED events only
170.85 + //WToolkit: extra buttons should report DRAGGED events only
170.86 + if (i > 2){ //extra buttons only
170.87 + if (tk.equals("sun.awt.X11.XToolkit") || tk.equals("sun.awt.motif.MToolkit")) {
170.88 + if (!moved || dragged) {
170.89 + throw new RuntimeException("Test failed."+ tk +" Button = " +(i+1) + " moved = "+moved +" : dragged = " +dragged);
170.90 + }
170.91 + } else { //WToolkit
170.92 + if (moved || !dragged) {
170.93 + throw new RuntimeException("Test failed."+ tk +" Button = " +(i+1) + " moved = "+moved +" : dragged = " +dragged);
170.94 + }
170.95 + }
170.96 + } else {
170.97 + if (moved || !dragged){
170.98 + throw new RuntimeException("Test failed. Button = " +(i+1) + " not dragged.");
170.99 + }
170.100 + }
170.101 + }
170.102 + } catch (Exception e){
170.103 + throw new RuntimeException("", e);
170.104 + }
170.105 + }
170.106 +
170.107 + public static void dragMouse(int button, int x0, int y0, int x1, int y1){
170.108 + int curX = x0;
170.109 + int curY = y0;
170.110 + int dx = x0 < x1 ? 1 : -1;
170.111 + int dy = y0 < y1 ? 1 : -1;
170.112 + robot.mouseMove(x0, y0);
170.113 +
170.114 + robot.delay(200);
170.115 + dragged = false;
170.116 + moved = false;
170.117 +
170.118 + robot.mousePress(button);
170.119 +
170.120 + while (curX != x1){
170.121 + curX += dx;
170.122 + robot.mouseMove(curX, curY);
170.123 + robot.delay(5);
170.124 + }
170.125 + while (curY != y1 ){
170.126 + curY += dy;
170.127 + robot.mouseMove(curX, curY);
170.128 + robot.delay(5);
170.129 + }
170.130 + robot.mouseRelease(button);
170.131 + }
170.132 +
170.133 +}
170.134 +
171.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
171.2 +++ b/test/java/awt/Mouse/MouseModifiersUnitTest/ModifierPermutation.java Wed Feb 18 10:05:41 2009 -0800
171.3 @@ -0,0 +1,320 @@
171.4 +/*
171.5 + test %I% %E%
171.6 + @bug 6315717
171.7 + @summary presses buttons in all permutations and verifies modifiers
171.8 + @author Andrei Dmitriev : area=awt.mouse
171.9 + @run main ModifierPermutation
171.10 + */
171.11 +//package modifierpermutation;
171.12 +
171.13 +/*
171.14 +The test will try to press-release every button present on the mouse in different order.
171.15 +Here are some abbreviations:
171.16 + BUTTON1 press = P1
171.17 + BUTTON2 press = P2 etc.
171.18 + BUTTON1 release = R1
171.19 + BUTTON2 release = R2 etc.
171.20 +Only sequences alike below are possible : <P1, P2, R2, R1>.
171.21 +Sequences like <P1, P2, R1, R2> will not be covered by this test due to its probable complexity.
171.22 + */
171.23 +
171.24 +import java.awt.*;
171.25 +import sun.awt.SunToolkit;
171.26 +import java.awt.event.*;
171.27 +import java.util.Arrays;
171.28 +
171.29 +public class ModifierPermutation {
171.30 + static boolean failed = false;
171.31 + final static int BUTTONSNUMBER = MouseInfo.getNumberOfButtons();
171.32 +
171.33 +/*
171.34 + * Because of some problems with BUTTONx_MASK
171.35 + * (they are not ordered. Instead, their values are: 16 8 4)
171.36 + * We have to use array [1..n] and make every permutation on its
171.37 + * containment. After each permutation, make the same thing with
171.38 + * array of buttons and array of expected modifiers.
171.39 + */
171.40 + static SunToolkit st = (SunToolkit)(Toolkit.getDefaultToolkit());
171.41 + //all button masks
171.42 + static int [] mouseButtons = new int [BUTTONSNUMBER]; //BUTTONx_MASK
171.43 + static int [] mouseButtonsDown = new int [BUTTONSNUMBER]; //BUTTONx_DOWN_MASK
171.44 +
171.45 + //used to store mouse buttons sequences to press/to release
171.46 + static int [] affectedButtonsToPressRelease;
171.47 +// static int [] buttonsToRelease;
171.48 +// static int [] modifiersToVerifyOnPressRelease;
171.49 +
171.50 + static Robot robot;
171.51 + static CheckingAdapter adapterTest1;
171.52 + static Frame f;
171.53 +
171.54 + static {
171.55 + for (int i = 0; i < BUTTONSNUMBER; i++){
171.56 + mouseButtons[i] = InputEvent.getMaskForButton(i+1); //then change first three elements here to BUTTONx_MASK
171.57 + mouseButtonsDown[i] = InputEvent.getMaskForButton(i+1);
171.58 + }
171.59 + //mouseButtons initially has following values : 16 8 4.
171.60 +/* mouseButtons[0] = InputEvent.BUTTON1_MASK;
171.61 + mouseButtons[1] = InputEvent.BUTTON2_MASK;
171.62 + mouseButtons[2] = InputEvent.BUTTON3_MASK;
171.63 + */
171.64 + }
171.65 +
171.66 + public static void main(String s[]){
171.67 + init();
171.68 +
171.69 + try {
171.70 + robot = new Robot();
171.71 + } catch (Exception e){
171.72 + e.printStackTrace();
171.73 + throw new RuntimeException("Test failed.", e);
171.74 + }
171.75 + robot.delay(500);
171.76 + robot.mouseMove(f.getLocationOnScreen().x + f.getWidth()/2, f.getLocationOnScreen().y + f.getHeight()/2);
171.77 + robot.delay(500);
171.78 + //Top limit is the factorial of the number of existing buttons
171.79 + for (int k = 0; k < factorial(mouseButtons.length)-1; k++){
171.80 + //now we will press 2 up to maximum buttons and release them in different order and listen for
171.81 + // PRESSED events and check it's ExModifiers
171.82 + for (int buttonsToPressNumber = 2; buttonsToPressNumber <= BUTTONSNUMBER; buttonsToPressNumber++ ){
171.83 + System.out.println(">>>");
171.84 +
171.85 + //Now get the slice of affected buttons
171.86 + affectedButtonsToPressRelease = Arrays.copyOf(mouseButtons, buttonsToPressNumber);
171.87 +// modifiersToVerifyOnPressRelease = Arrays.copyOf(mouseButtons, buttonsToPressNumber);
171.88 +
171.89 + //Now press all these buttons in the order as they are in array affectedButtonsToPressRelease
171.90 + //And release all these buttons in back order.
171.91 +
171.92 + dumpArray("Affected Buttons ", affectedButtonsToPressRelease);
171.93 + pressAllButtons(affectedButtonsToPressRelease);
171.94 + releaseAllButtonsForwardOrder(affectedButtonsToPressRelease);
171.95 +// nextPermutation(i, buttonsToRelease);
171.96 + //TODO: press buttons and release them backward
171.97 + //All I have to add is :
171.98 +// pressAllButtons(affectedButtonsToPressRelease);
171.99 +// releaseAllButtonsBackwardOrder(affectedButtonsToPressRelease);
171.100 +
171.101 + System.out.println("<<<");
171.102 + }
171.103 + nextPermutation(k, mouseButtons);
171.104 +// PermutationGenerator.nextPermutation(k, mouseButtonsDown);
171.105 + dumpArray("mouseButtons (step="+k+")", mouseButtons);
171.106 +// dumpArray("mouseButtonsDown (step="+k+")", mouseButtonsDown);
171.107 + }
171.108 + }
171.109 +
171.110 + private static void init(){
171.111 + adapterTest1 = new CheckingAdapter();
171.112 + f = new Frame("Robot presses mouse here");
171.113 + f.setSize(300, 300);
171.114 + f.setVisible(true);
171.115 + f.addMouseListener(adapterTest1);
171.116 + }
171.117 + public static int factorial(int t){
171.118 + if (t <=1 ) {
171.119 + return 1;
171.120 + } else {
171.121 + return t*factorial(t-1);
171.122 + }
171.123 + }
171.124 +
171.125 + // use this variable to get current button on EDT in checkModifiers()
171.126 + static volatile int currentButtonIndexUnderAction;
171.127 +
171.128 + public static void pressAllButtons(int []array){
171.129 + for (int i = 0; i <array.length; i ++){
171.130 + if (failed) {
171.131 + throw new RuntimeException("PRESSED_EVENT is not filled with correct values. Review messaage above.");
171.132 + }
171.133 + System.out.println("Pressing button = " + array[i]);
171.134 + currentButtonIndexUnderAction = i;
171.135 + robot.mousePress(array[i]);
171.136 + System.out.println("currentButtonIndexUnderAction ="+currentButtonIndexUnderAction);
171.137 + st.realSync();
171.138 + // robot.delay(100);
171.139 + }
171.140 + }
171.141 +
171.142 + public static void releaseAllButtonsForwardOrder(int []array){
171.143 + for (int i = 0; i <array.length; i ++){
171.144 + System.out.println("Releasing button = " + array[i]);
171.145 + currentButtonIndexUnderAction = i;
171.146 + robot.mouseRelease(array[i]);
171.147 + System.out.println("currentButtonIndexUnderAction ="+currentButtonIndexUnderAction);
171.148 + st.realSync();
171.149 + // robot.delay(100);
171.150 + }
171.151 + }
171.152 +
171.153 + public static void checkModifiersOnPress(MouseEvent e){
171.154 + System.out.println("checkModifiers. currentButtonIndexUnderAction ="+currentButtonIndexUnderAction);
171.155 + for (int i = 0; i<= currentButtonIndexUnderAction; i++){
171.156 + if ((e.getModifiersEx() & affectedButtonsToPressRelease[i]) == 0){
171.157 + System.out.println("ERROR["+i+"]: PRESSED_EVENT is not filled with correct values. affectedButtonsToPressRelease[i]= "+affectedButtonsToPressRelease[i] +" Event = "+e);
171.158 + ModifierPermutation.failed = true;
171.159 + } else {
171.160 + System.out.println("CORRECT["+i+"]: affectedButtonsToPressRelease[i]= "+affectedButtonsToPressRelease[i]+ " Event = "+e);
171.161 + }
171.162 + }
171.163 + }
171.164 +
171.165 + /*======================================================================*/
171.166 + public static void dumpValues(int button, int modifiers, int modifiersStandard, int modifiersEx, int modifiersExStandard){
171.167 + System.out.println("Button = "+button + "Modifiers = "+ modifiers + " standard = "+ modifiersStandard);
171.168 + System.out.println(" ModifiersEx = "+ modifiersEx + " standardEx = "+ modifiersExStandard);
171.169 + }
171.170 +
171.171 + public static void dumpArray(String id, int [] array){
171.172 + System.out.print(id);
171.173 + for (int i = 0; i < array.length; i++){
171.174 + System.out.print(array[i]+" ");
171.175 + }
171.176 + System.out.println();
171.177 + }
171.178 + public static void nextPermutation(int step, int []array){
171.179 + int i;
171.180 + int leftEl = 0;
171.181 + int rightEl = 0;
171.182 +
171.183 + i = array.length - 2;
171.184 + while (i>=0) {
171.185 + if (array[i] < array[i+1]){
171.186 + leftEl = i;
171.187 + // System.out.println("leftEl = "+leftEl);
171.188 + break;
171.189 + }
171.190 + i--;
171.191 + }
171.192 +
171.193 + i = array.length - 1;
171.194 + while (i>=0) {
171.195 + if (array[i] > array[leftEl]) {
171.196 + rightEl = i;
171.197 + // System.out.println("rightEl = "+rightEl);
171.198 + break;
171.199 + }
171.200 + i--;
171.201 + }
171.202 + swapElements(array, leftEl, rightEl);
171.203 + if (leftEl + 2 < array.length){
171.204 + // System.out.println("sort");
171.205 + Arrays.sort(array, leftEl + 1 , array.length);
171.206 + }
171.207 + }
171.208 +
171.209 + public static void swapElements(int [] array, int leftEl, int rightEl){
171.210 + int tmp = array[leftEl];
171.211 + array[leftEl] = array[rightEl];
171.212 + array[rightEl] = tmp;
171.213 + }
171.214 +
171.215 + public static void checkModifiersOnRelease(MouseEvent e){
171.216 + System.out.println("CheckModifiersOnRelease. currentButtonIndexUnderAction ="+currentButtonIndexUnderAction);
171.217 + for (int i = currentButtonIndexUnderAction+1; i<affectedButtonsToPressRelease.length; i++){
171.218 + if ((e.getModifiersEx() & affectedButtonsToPressRelease[i]) == 0){
171.219 + System.out.println("ERROR["+i+"]: RELEASED_EVENT is not filled with correct values. affectedButtonsToPressRelease[i]= "+affectedButtonsToPressRelease[i] +" Event = "+e);
171.220 + ModifierPermutation.failed = true;
171.221 + } else {
171.222 + System.out.println("CORRECT["+i+"]: affectedButtonsToPressRelease[i]= "+affectedButtonsToPressRelease[i]+ " Event = "+e);
171.223 + }
171.224 + }
171.225 + }
171.226 +
171.227 + public static void checkModifiersOnClick(MouseEvent e){
171.228 + System.out.println("CheckModifiersOnClick. currentButtonIndexUnderAction ="+currentButtonIndexUnderAction);
171.229 +//Actually the same as in checkModifiersOnRelease()
171.230 + for (int i = currentButtonIndexUnderAction+1; i<affectedButtonsToPressRelease.length; i++){
171.231 + if ((e.getModifiersEx() & affectedButtonsToPressRelease[i]) == 0){
171.232 + System.out.println("ERROR["+i+"]: CLICK_EVENT is not filled with correct values. affectedButtonsToPressRelease[i]= "+affectedButtonsToPressRelease[i] +" Event = "+e);
171.233 + ModifierPermutation.failed = true;
171.234 + } else {
171.235 + System.out.println("CORRECT["+i+"]: affectedButtonsToPressRelease[i]= "+affectedButtonsToPressRelease[i]+ " Event = "+e);
171.236 + }
171.237 + }
171.238 + }
171.239 +}
171.240 +///~ ModifierPermutation clas
171.241 +
171.242 +/* A class that invoke appropriate verification
171.243 + * routine with current modifier.
171.244 + */
171.245 +class CheckingAdapter extends MouseAdapter{
171.246 + public CheckingAdapter(){}
171.247 +
171.248 + public void mousePressed(MouseEvent e) {
171.249 + System.out.println("PRESSED "+e);
171.250 + ModifierPermutation.checkModifiersOnPress(e);
171.251 + }
171.252 + public void mouseReleased(MouseEvent e) {
171.253 + System.out.println("RELEASED "+e);
171.254 + ModifierPermutation.checkModifiersOnRelease(e);
171.255 +
171.256 + }
171.257 + public void mouseClicked(MouseEvent e) {
171.258 + System.out.println("CLICKED "+e);
171.259 + ModifierPermutation.checkModifiersOnClick(e);
171.260 + }
171.261 +}
171.262 +
171.263 +// A class that could make a standard permutation with no regard to the
171.264 +// values of array passed in.
171.265 +// It uses a buttonIndicesToPermutate array with [1..N] values to perform
171.266 +// these permutations.
171.267 +//Note that nextPermutation is a static method and you can't keep track
171.268 +// of more the single permutation sequence.
171.269 +/*
171.270 +class PermutationGenerator{
171.271 + final static int BUTTONSNUMBER = MouseInfo.getNumberOfButtons();
171.272 + static int [] buttonIndicesToPermutate = new int [BUTTONSNUMBER];;
171.273 + public PermutationGenerator(){
171.274 + for (int i = 0; i < BUTTONSNUMBER; i++){
171.275 + buttonIndicesToPermutate[i] = i+1; //fill it with [1..N] values
171.276 + }
171.277 + }
171.278 +
171.279 + public static void nextPermutation(int step, int []array){
171.280 + if (array.length != buttonIndicesToPermutate.length) {
171.281 + throw new IllegalArgumentException("Array should have length equals to mouse buttons number.");
171.282 + }
171.283 + int i;
171.284 + int leftEl = 0;
171.285 + int rightEl = 0;
171.286 +
171.287 + i = array.length - 2;
171.288 + while (i>=0) {
171.289 + if (buttonIndicesToPermutate[i] < buttonIndicesToPermutate[i+1]){
171.290 + leftEl = i;
171.291 + // System.out.println("leftEl = "+leftEl);
171.292 + break;
171.293 + }
171.294 + i--;
171.295 + }
171.296 +
171.297 + i = array.length - 1;
171.298 + while (i>=0) {
171.299 + if (buttonIndicesToPermutate[i] >buttonIndicesToPermutate[leftEl]) {
171.300 + rightEl = i;
171.301 + // System.out.println("rightEl = "+rightEl);
171.302 + break;
171.303 + }
171.304 + i--;
171.305 + }
171.306 + swapElements(array, leftEl, rightEl);
171.307 + swapElements(buttonIndicesToPermutate, leftEl, rightEl);
171.308 +
171.309 + if (leftEl + 2 < array.length){
171.310 + // System.out.println("sort");
171.311 +//need to make our own sorting because arraysort makes this on actual values in array...
171.312 + Arrays.sort(array, leftEl + 1 , array.length);
171.313 + Arrays.sort(buttonIndicesToPermutate, leftEl + 1 , buttonIndicesToPermutate.length);
171.314 +// sortArray(array, leftEl + 1 , array.length);
171.315 + }
171.316 + }
171.317 + public static void swapElements(int [] array, int leftEl, int rightEl){
171.318 + int tmp = array[leftEl];
171.319 + array[leftEl] = array[rightEl];
171.320 + array[rightEl] = tmp;
171.321 + }
171.322 +}
171.323 +*/
172.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
172.2 +++ b/test/java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Extra.java Wed Feb 18 10:05:41 2009 -0800
172.3 @@ -0,0 +1,490 @@
172.4 +/*
172.5 + @test %I% %E%
172.6 + @bug 6315717
172.7 + @summary verifies that modifiers are correct for extra buttons
172.8 + @author Andrei Dmitriev : area=awt.mouse
172.9 + @run main MouseModifiersUnitTest_Extra
172.10 + */
172.11 +
172.12 +import java.awt.*;
172.13 +import java.awt.event.*;
172.14 +import java.util.Arrays;
172.15 +import java.util.HashMap;
172.16 +import java.util.StringTokenizer;
172.17 +import java.util.Vector;
172.18 +
172.19 +// will process extra buttons only
172.20 +// asking parameters from CMD: manual/automatic, modifier to test
172.21 +
172.22 +public class MouseModifiersUnitTest_Extra extends Frame {
172.23 + static final int NONE = 0;
172.24 + static final int SHIFT = 1;
172.25 + static final int CTRL = 2;
172.26 + static final int ALT = 3;
172.27 + static CheckingModifierAdapter adapterTest1;
172.28 + static CheckingModifierAdapter adapterTest2;
172.29 + static CheckingModifierAdapter adapterTest3;
172.30 + static CheckingModifierAdapter adapterTest4;
172.31 +
172.32 + static boolean debug = true; //dump all errors (debug) or throw first(under jtreg) exception
172.33 + static boolean autorun = false; //use robot or manual run
172.34 + static int testModifier = NONE;
172.35 +
172.36 + static int [] mouseButtons;
172.37 + static int [] mouseButtonDownMasks;
172.38 +
172.39 + //an arrays representing a modifiersEx of extra mouse buttons while using ALT/CTRL/SHIFT or none of them
172.40 + static int [] modifiersExStandard;
172.41 + static int [] modifiersExStandardSHIFT;
172.42 + static int [] modifiersExStandardCTRL;
172.43 + static int [] modifiersExStandardALT;
172.44 +
172.45 + // final static int [] mouseButtons = new int [] {MouseEvent.BUTTON1_MASK, MouseEvent.BUTTON2_MASK, MouseEvent.BUTTON3_MASK};
172.46 + // BUTTON1, 2, 3 press-release.
172.47 + final static int modifiersStandard = 0; //InputEvent.BUTTON_DOWN_MASK;
172.48 +
172.49 + public static void checkPressedModifiersTest(int testModifier, MouseEvent event){
172.50 + int [] curStandardExModifiers = getStandardExArray(testModifier);
172.51 + int button = event.getButton();
172.52 + int modifiers = event.getModifiers();
172.53 + int modifiersEx = event.getModifiersEx();
172.54 + int index = (button - 4)*3;
172.55 + dumpValues(button, modifiers, modifiersStandard, modifiersEx, curStandardExModifiers[index]);
172.56 + if (modifiers != modifiersStandard){
172.57 + MessageLogger.reportError("Test failed : Pressed. modifiers != modifiersStandard");
172.58 + }
172.59 +
172.60 + if (modifiersEx != curStandardExModifiers[index]){
172.61 +// System.out.println(">>>>>>>>>>>>>>> Pressed. modifiersEx "+modifiersEx +" : "+!= curStandardExModifiers");
172.62 + MessageLogger.reportError("Test failed : Pressed. modifiersEx != curStandardExModifiers");
172.63 + }
172.64 +
172.65 + //check event.paramString() output
172.66 + HashMap <String, String> paramStringElements = tokenizeParamString(event.paramString());
172.67 + System.out.println(event.paramString());
172.68 + checkButton(paramStringElements, button);
172.69 + checkModifiers(testModifier, paramStringElements, button);
172.70 + checkExtModifiersOnPress(testModifier, paramStringElements, button);
172.71 + }
172.72 +
172.73 + public static void checkExtModifiersOnReleaseClick(int testModifier, HashMap h, int button){
172.74 + String ethalon = "";
172.75 + switch (testModifier){
172.76 + case SHIFT:{
172.77 + ethalon = "Shift";
172.78 + break;
172.79 + }
172.80 + case ALT:{
172.81 + ethalon = "Alt";
172.82 + break;
172.83 + }
172.84 + case CTRL:{
172.85 + ethalon = "Ctrl";
172.86 + break;
172.87 + }
172.88 + }
172.89 + //
172.90 + if (h.get("extModifiers") == null){
172.91 + h.put("extModifiers", "");
172.92 + }
172.93 + if (!ethalon.equals(h.get("extModifiers"))) {
172.94 + MessageLogger.reportError("Test failed : Released/Clicked. extModifiers = " +h.get("extModifiers")+" instead of : "+ethalon);
172.95 + }
172.96 + }
172.97 +
172.98 + public static void checkExtModifiersOnPress(int testModifier, HashMap h, int button){
172.99 + String ethalon = "";
172.100 + switch (testModifier){
172.101 + case SHIFT:{
172.102 + ethalon = "Shift+";
172.103 + break;
172.104 + }
172.105 + case ALT:{
172.106 + ethalon = "Alt+";
172.107 + break;
172.108 + }
172.109 + case CTRL:{
172.110 + ethalon = "Ctrl+";
172.111 + break;
172.112 + }
172.113 + }
172.114 + ethalon = ethalon + "Button" +button;
172.115 +
172.116 + if (!h.get("extModifiers").equals(ethalon)) {
172.117 + MessageLogger.reportError("Test failed : Pressed. extModifiers = " +h.get("extModifiers")+" instead of : "+ethalon);
172.118 + }
172.119 + }
172.120 +
172.121 + public static void checkModifiers(int testModifier, HashMap<String, String> h, int button){
172.122 + // none of modifiers for extra button should be null
172.123 + if (h.get("modifiers") != null) {
172.124 + MessageLogger.reportError("Test failed : modifiers != null");
172.125 + }
172.126 + }
172.127 +
172.128 + public static void checkButton(HashMap<String, String> h, int button){
172.129 + if (h.get("button") == null) {
172.130 + MessageLogger.reportError("Test failed : checkButton(). button is absent in paramString()");
172.131 + }
172.132 + if (Integer.parseInt(h.get("button")) != button) {
172.133 + MessageLogger.reportError("Test failed : checkButton. button in paramString() doesn't equal to button being pressed.");
172.134 + }
172.135 + }
172.136 + public static HashMap<String, String> tokenizeParamString(String param){
172.137 + HashMap <String, String> params = new HashMap<String, String>();
172.138 + StringTokenizer st = new StringTokenizer(param, ",=");
172.139 + while (st.hasMoreTokens()){
172.140 + String tmp = st.nextToken();
172.141 +// System.out.println("PARSER : "+tmp);
172.142 + if (tmp.equals("button") ||
172.143 + tmp.equals("modifiers") ||
172.144 + tmp.equals("extModifiers")) {
172.145 + params.put(tmp, st.nextToken());
172.146 + }
172.147 + }
172.148 + return params;
172.149 + }
172.150 +
172.151 + public static Vector<String> tokenizeModifiers(String modifierList){
172.152 + Vector<String> modifiers = new Vector<String>();
172.153 + StringTokenizer st = new StringTokenizer(modifierList, "+");
172.154 + while (st.hasMoreTokens()){
172.155 + String tmp = st.nextToken();
172.156 + modifiers.addElement(tmp);
172.157 + System.out.println("MODIFIER PARSER : "+tmp);
172.158 + }
172.159 + return modifiers;
172.160 + }
172.161 +
172.162 + public static void checkReleasedModifiersTest(int testModifier, MouseEvent event){
172.163 + int [] curStandardExModifiers = getStandardExArray(testModifier);
172.164 + int button = event.getButton();
172.165 + int modifiers = event.getModifiers();
172.166 + int modifiersEx = event.getModifiersEx();
172.167 + int index = (button - 4)*3 + 1;
172.168 + dumpValues(button, modifiers, modifiersStandard, modifiersEx, curStandardExModifiers[index]);
172.169 + if (modifiers != modifiersStandard){
172.170 + MessageLogger.reportError("Test failed : Released. modifiers != modifiersStandard");
172.171 + }
172.172 +
172.173 + if (modifiersEx != curStandardExModifiers[index]){
172.174 + MessageLogger.reportError("Test failed : Released. modifiersEx != curStandardExModifiers");
172.175 + }
172.176 +
172.177 + //check event.paramString() output
172.178 + HashMap <String, String> paramStringElements = tokenizeParamString(event.paramString());
172.179 + checkButton(paramStringElements, button);
172.180 + checkModifiers(testModifier, paramStringElements, button);
172.181 + System.out.println("paramStringElements = "+paramStringElements);
172.182 + checkExtModifiersOnReleaseClick(testModifier, paramStringElements, button);
172.183 + }
172.184 +
172.185 + public static void checkClickedModifiersTest(int testModifier, MouseEvent event){
172.186 + int [] curStandardExModifiers = getStandardExArray(testModifier);
172.187 + int button = event.getButton();
172.188 + int modifiers = event.getModifiers();
172.189 + int modifiersEx = event.getModifiersEx();
172.190 + int index = (button - 4)*3 + 2;
172.191 + dumpValues(button, modifiers, modifiersStandard, modifiersEx, curStandardExModifiers[index]);
172.192 + if (modifiers != modifiersStandard){
172.193 + MessageLogger.reportError("Test failed : Clicked. modifiers != modifiersStandard");
172.194 + }
172.195 +
172.196 + if (modifiersEx != curStandardExModifiers[index]){
172.197 + MessageLogger.reportError("Test failed : Clicked. modifiersEx != curStandardExModifiers");
172.198 + }
172.199 +
172.200 + //check event.paramString() output
172.201 + HashMap <String, String> paramStringElements = tokenizeParamString(event.paramString());
172.202 + checkButton(paramStringElements, button);
172.203 + checkModifiers(testModifier, paramStringElements, button);
172.204 + checkExtModifiersOnReleaseClick(testModifier, paramStringElements, button);
172.205 + }
172.206 +
172.207 + private static int[] getStandardExArray(int testModifier) {
172.208 + int [] curStandardExModifiers;
172.209 + switch (testModifier){
172.210 + case SHIFT:
172.211 + curStandardExModifiers = modifiersExStandardSHIFT;
172.212 + break;
172.213 + case CTRL:
172.214 + curStandardExModifiers = modifiersExStandardCTRL;
172.215 + break;
172.216 + case ALT:
172.217 + curStandardExModifiers = modifiersExStandardALT;
172.218 + break;
172.219 + default: //NONE by default
172.220 + curStandardExModifiers = modifiersExStandard;
172.221 + }
172.222 + return curStandardExModifiers;
172.223 + }
172.224 +
172.225 + static Robot robot;
172.226 + public void init() {
172.227 + this.setLayout(new BorderLayout());
172.228 +
172.229 + String[] instructions =
172.230 + {
172.231 + "This test should be used with the mouse having more then three buttons.",
172.232 + "Currently, " + MouseInfo.getNumberOfButtons() +" buttons are available.",
172.233 + "If there are less then three buttons, press PASS.",
172.234 + "1. Press each extra mouse button.",
172.235 + "2. For each mouse event its modifiers and ExModifiers will be printed.",
172.236 + "3. Verify that they are correct.",
172.237 + "4. Press Pass or Fail accordingly."
172.238 + };
172.239 +// Sysout.createDialogWithInstructions( instructions );
172.240 +
172.241 +// addMouseListener(adapterTest1);
172.242 + try {
172.243 + robot = new Robot();
172.244 + } catch (Exception e) {
172.245 + MessageLogger.reportError("Test failed. "+e);
172.246 + }
172.247 + }//End init()
172.248 +
172.249 + public void start() {
172.250 + //Get things going. Request focus, set size, et cetera
172.251 + setSize(200,200);
172.252 + setVisible(true);
172.253 + validate();
172.254 + if (autorun) {
172.255 + testNONE();
172.256 + testSHIFT();
172.257 + testCTRL();
172.258 + testALT();
172.259 + } else {
172.260 + switch (testModifier){
172.261 + case SHIFT:
172.262 + this.addMouseListener(adapterTest2);
172.263 + break;
172.264 + case CTRL:
172.265 + this.addMouseListener(adapterTest3);
172.266 + break;
172.267 + case ALT:
172.268 + this.addMouseListener(adapterTest4);
172.269 + break;
172.270 + default: //NONE by default
172.271 + this.addMouseListener(adapterTest1);
172.272 + }
172.273 + }
172.274 + }// start()
172.275 +
172.276 + //000000000000000000000000000000000000000000000000000000000000000
172.277 + public void testNONE(){
172.278 + this.addMouseListener(adapterTest1);
172.279 + robot.delay(1000);
172.280 + robot.mouseMove(getLocationOnScreen().x + getWidth()/2, getLocationOnScreen().y + getHeight()/2);
172.281 + for (int i = 3; i< mouseButtons.length; i++){
172.282 + System.out.println("testNONE() => " +mouseButtons[i] );
172.283 + robot.mousePress(mouseButtons[i]);
172.284 + robot.delay(100);
172.285 + robot.mouseRelease(mouseButtons[i]);
172.286 + }
172.287 + robot.delay(1000);
172.288 + this.removeMouseListener(adapterTest1);
172.289 + }
172.290 +
172.291 + public void testSHIFT(){
172.292 + this.addMouseListener(adapterTest2);
172.293 + robot.delay(1000);
172.294 + robot.mouseMove(getLocationOnScreen().x + getWidth()/2, getLocationOnScreen().y + getHeight()/2);
172.295 + for (int i = 3; i< mouseButtons.length; i++){
172.296 + robot.keyPress(KeyEvent.VK_SHIFT);
172.297 + System.out.println("testSHIFT() => " +mouseButtons[i] );
172.298 + robot.mousePress(mouseButtons[i]);
172.299 + robot.delay(100);
172.300 + robot.mouseRelease(mouseButtons[i]);
172.301 + robot.keyRelease(KeyEvent.VK_SHIFT);
172.302 + }
172.303 + robot.delay(1000);
172.304 + this.removeMouseListener(adapterTest2);
172.305 + }
172.306 +
172.307 + public void testCTRL(){
172.308 + this.addMouseListener(adapterTest3);
172.309 + robot.delay(1000);
172.310 + robot.mouseMove(getLocationOnScreen().x + getWidth()/2, getLocationOnScreen().y + getHeight()/2);
172.311 + for (int i = 3; i< mouseButtons.length; i++){
172.312 + robot.keyPress(KeyEvent.VK_CONTROL);
172.313 + System.out.println("testCTRL() => " +mouseButtons[i] );
172.314 + robot.mousePress(mouseButtons[i]);
172.315 + robot.delay(100);
172.316 + robot.mouseRelease(mouseButtons[i]);
172.317 + robot.keyRelease(KeyEvent.VK_CONTROL);
172.318 + }
172.319 + robot.delay(1000);
172.320 + this.removeMouseListener(adapterTest3);
172.321 + }
172.322 +
172.323 + public void testALT(){
172.324 + this.addMouseListener(adapterTest4);
172.325 + robot.delay(1000);
172.326 + robot.mouseMove(getLocationOnScreen().x + getWidth()/2, getLocationOnScreen().y + getHeight()/2);
172.327 + for (int i = 3; i< mouseButtons.length; i++){
172.328 + robot.keyPress(KeyEvent.VK_ALT);
172.329 + System.out.println("testALT() => " +mouseButtons[i] );
172.330 + robot.mousePress(mouseButtons[i]);
172.331 + robot.delay(100);
172.332 + robot.mouseRelease(mouseButtons[i]);
172.333 + robot.keyRelease(KeyEvent.VK_ALT);
172.334 + }
172.335 + robot.delay(1000);
172.336 + this.removeMouseListener(adapterTest4);
172.337 + }
172.338 +
172.339 + //**************************************************************************************************
172.340 + public static void dumpValues(int button, int modifiers, int modifiersStandard, int modifiersEx, int modifiersExStandard){
172.341 + System.out.println("Button = "+button + "Modifiers = "+ modifiers + "standard = "+ modifiersStandard);
172.342 + System.out.println("Button = "+button + "ModifiersEx = "+ modifiersEx + "standardEx = "+ modifiersExStandard);
172.343 + }
172.344 +
172.345 + public static void initParams(String []s){
172.346 + if (s.length != 3){
172.347 + autorun = true;
172.348 + debug = false;
172.349 + testModifier = NONE;
172.350 + } else {
172.351 + autorun = Boolean.valueOf(s[0]);
172.352 + debug = Boolean.valueOf(s[1]);
172.353 +
172.354 + if (s[2].equals("NONE")){
172.355 + testModifier = NONE;
172.356 + }
172.357 + if (s[2].equals("SHIFT")){
172.358 + testModifier = SHIFT;
172.359 + }
172.360 + if (s[2].equals("CTRL")){
172.361 + testModifier = CTRL;
172.362 + }
172.363 + if (s[2].equals("ALT")){
172.364 + testModifier = ALT;
172.365 + }
172.366 + }
172.367 + MessageLogger.setDebug(debug);
172.368 + System.out.println("Autorun : " +autorun);
172.369 + System.out.println("Debug mode : " +debug);
172.370 + System.out.println("Modifier to verify : " + testModifier);
172.371 + }
172.372 +
172.373 + public static void initAdapters(){
172.374 + adapterTest1 = new CheckingModifierAdapter(NONE);
172.375 + adapterTest2 = new CheckingModifierAdapter(SHIFT);
172.376 + adapterTest3 = new CheckingModifierAdapter(CTRL);
172.377 + adapterTest4 = new CheckingModifierAdapter(ALT);
172.378 + }
172.379 +
172.380 + public static void initVars(){
172.381 + int [] tmp = new int [MouseInfo.getNumberOfButtons()];
172.382 + for (int i = 0; i < MouseInfo.getNumberOfButtons(); i++){
172.383 + tmp[i] = InputEvent.getMaskForButton(i+1);
172.384 + // System.out.println("TEST: "+tmp[i]);
172.385 + }
172.386 +
172.387 + mouseButtons = Arrays.copyOf(tmp, tmp.length);
172.388 +
172.389 + for (int i = 0; i < mouseButtons.length; i++){
172.390 + System.out.println("MouseArray [i] == "+mouseButtons[i]);
172.391 + }
172.392 +
172.393 + mouseButtonDownMasks = Arrays.copyOf(tmp, tmp.length);
172.394 +
172.395 + // So we need to get the number of extra buttons on the mouse: "MouseInfo.getNumberOfButtons() - 3"
172.396 + // and multyply on 3 because each button will generate three events : PRESS, RELEASE and CLICK.
172.397 + tmp = new int [(MouseInfo.getNumberOfButtons()-3)*3];
172.398 + Arrays.fill(tmp, 0);
172.399 +
172.400 + for (int i = 0, j = 3; i < tmp.length; i = i + 3, j++){
172.401 + tmp[i] = mouseButtonDownMasks[j];
172.402 + }
172.403 + modifiersExStandard = Arrays.copyOf(tmp, tmp.length);
172.404 +
172.405 + Arrays.fill(tmp, InputEvent.SHIFT_DOWN_MASK);
172.406 + for (int i = 0, j = 3; i < MouseInfo.getNumberOfButtons(); i = i + 3, j++){
172.407 + tmp[i] = tmp[j] | mouseButtonDownMasks[j];
172.408 + }
172.409 + modifiersExStandardSHIFT = Arrays.copyOf(tmp, tmp.length);
172.410 +
172.411 + Arrays.fill(tmp, InputEvent.CTRL_DOWN_MASK);
172.412 + for (int i = 0, j = 3; i < MouseInfo.getNumberOfButtons(); i = i + 3, j++){
172.413 + tmp[i] = tmp[j] | mouseButtonDownMasks[j];
172.414 + }
172.415 + modifiersExStandardCTRL = Arrays.copyOf(tmp, tmp.length);
172.416 +
172.417 + Arrays.fill(tmp, InputEvent.ALT_DOWN_MASK);
172.418 + for (int i = 0, j = 3; i < MouseInfo.getNumberOfButtons(); i = i + 3, j++){
172.419 + tmp[i] = tmp[j] | mouseButtonDownMasks[j];
172.420 + }
172.421 + modifiersExStandardALT = Arrays.copyOf(tmp, tmp.length);
172.422 + }
172.423 +
172.424 + public static void main(String []s){
172.425 + if (MouseInfo.getNumberOfButtons() < 4){
172.426 + System.out.println("There are less then 4 buttons on the mouse. The test may not be accomplished. Skipping.");
172.427 + return;
172.428 + }
172.429 + initVars();
172.430 + MouseModifiersUnitTest_Extra frame = new MouseModifiersUnitTest_Extra();
172.431 + frame.initParams(s);
172.432 + frame.init();
172.433 + initAdapters();
172.434 + frame.start();
172.435 + }
172.436 +
172.437 +}// class
172.438 +
172.439 +/* A class that invoke appropriate verification
172.440 + * routine with current modifier.
172.441 + */
172.442 +class CheckingModifierAdapter extends MouseAdapter{
172.443 + int modifier;
172.444 + public CheckingModifierAdapter(int modifier){
172.445 + this.modifier = modifier;
172.446 + }
172.447 +
172.448 + public void mousePressed(MouseEvent e) {
172.449 + System.out.println("PRESSED "+e);
172.450 + if (e.getButton() <= MouseEvent.BUTTON3) {
172.451 + System.out.println("Standard button affected. Skip.");
172.452 + } else {
172.453 + MouseModifiersUnitTest_Extra.checkPressedModifiersTest(modifier, e);
172.454 + }
172.455 + }
172.456 + public void mouseReleased(MouseEvent e) {
172.457 + System.out.println("RELEASED "+e);
172.458 + if (e.getButton() <= MouseEvent.BUTTON3) {
172.459 + System.out.println("Standard button affected. Skip.");
172.460 + } else {
172.461 + MouseModifiersUnitTest_Extra.checkReleasedModifiersTest(modifier, e);
172.462 + }
172.463 + }
172.464 + public void mouseClicked(MouseEvent e) {
172.465 + System.out.println("CLICKED "+e);
172.466 + if (e.getButton() <= MouseEvent.BUTTON3) {
172.467 + System.out.println("Standard button affected. Skip.");
172.468 + } else {
172.469 + MouseModifiersUnitTest_Extra.checkClickedModifiersTest(modifier, e);
172.470 + }
172.471 + }
172.472 +}
172.473 +//Utility class that could report a message depending on current purpose of the test run
172.474 +class MessageLogger{
172.475 + private static boolean debug;
172.476 +
172.477 + public static void setDebug(boolean d){
172.478 + debug = d;
172.479 + log("Switch to "+ ((debug)?"debug":"trial") +" mode");
172.480 + }
172.481 +
172.482 + public static void log(String message){
172.483 + System.out.println(message);
172.484 + }
172.485 +
172.486 + public static void reportError(String message){
172.487 + if (debug){
172.488 + System.out.println(message);
172.489 + } else {
172.490 + throw new RuntimeException(message);
172.491 + }
172.492 + }
172.493 +}
173.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
173.2 +++ b/test/java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Standard.java Wed Feb 18 10:05:41 2009 -0800
173.3 @@ -0,0 +1,598 @@
173.4 +/*
173.5 + @test %I% %E%
173.6 + @bug 6315717
173.7 + @summary verifies that modifiers are correct for standard (1, 2, 3, wheel) mouse buttons
173.8 + @author Andrei Dmitriev : area=awt.mouse
173.9 + @run main MouseModifiersUnitTest_Standard
173.10 + */
173.11 +
173.12 +import java.awt.*;
173.13 +import java.awt.event.*;
173.14 +import java.util.HashMap;
173.15 +import java.util.StringTokenizer;
173.16 +import java.util.Vector;
173.17 +
173.18 +//the test verifies:
173.19 +// 1) verifies that modifiers are correct for standard (1, 2, 3) mouse buttons
173.20 +// TODO: 2) verifies that modifiers are correct for wheel
173.21 +// TODO: 3)
173.22 +// Case1. the test posts BUTTONx_MASK and verifies that paramString() contains correct modifiers and exModifiers
173.23 +// Case2. the test posts BUTTONx_DOWN_MASK and verifies that paramString() contains correct modifiers and exModifiers
173.24 +// Case3. the test posts getMaskForButton(n) and verifies that paramString() contains correct modifiers and exModifiers
173.25 +// repeat all cases with SHIFT/ALT/CTRL modifiers verify that paramString() contains correct modifiers and exModifiers
173.26 +// I'm verifying button, modifiers and extModifiers for now.
173.27 +
173.28 +public class MouseModifiersUnitTest_Standard {
173.29 + static final int NONE = 0;
173.30 + static final int SHIFT = 1;
173.31 + static final int CTRL = 2;
173.32 + static final int ALT = 3;
173.33 + static boolean debug = true; //dump all errors (debug) or throw first(under jtreg) exception
173.34 + static boolean autorun = false; //use robot or manual run
173.35 + static int testModifier = NONE;
173.36 + // static String testModifier = "NONE";
173.37 + static CheckingModifierAdapter adapterTest1;
173.38 + static CheckingModifierAdapter adapterTest2;
173.39 + static CheckingModifierAdapter adapterTest3;
173.40 + static CheckingModifierAdapter adapterTest4;
173.41 + static Frame f;
173.42 + final static int [] mouseButtons = new int [] {MouseEvent.BUTTON1_MASK, MouseEvent.BUTTON2_MASK, MouseEvent.BUTTON3_MASK};
173.43 + // BUTTON1, 2, 3 press-release.
173.44 + final static int [] modifiersStandardTestNONE = new int[] {MouseEvent.BUTTON1_MASK, MouseEvent.BUTTON1_MASK, MouseEvent.BUTTON1_MASK,
173.45 + MouseEvent.BUTTON2_MASK, MouseEvent.BUTTON2_MASK, MouseEvent.BUTTON2_MASK,
173.46 + MouseEvent.BUTTON3_MASK, MouseEvent.BUTTON3_MASK, MouseEvent.BUTTON3_MASK };
173.47 + final static int [] modifiersExStandardTestNONE = new int[] {MouseEvent.BUTTON1_DOWN_MASK, 0, 0,
173.48 + MouseEvent.BUTTON2_DOWN_MASK, 0, 0,
173.49 + MouseEvent.BUTTON3_DOWN_MASK, 0, 0};
173.50 + // BUTTON1, 2, 3 press-release with shift modifier
173.51 + final static int [] modifiersStandardTestSHIFT = new int[] {MouseEvent.BUTTON1_MASK|InputEvent.SHIFT_MASK, MouseEvent.BUTTON1_MASK|InputEvent.SHIFT_MASK, MouseEvent.BUTTON1_MASK|InputEvent.SHIFT_MASK,
173.52 + MouseEvent.BUTTON2_MASK|InputEvent.SHIFT_MASK, MouseEvent.BUTTON2_MASK|InputEvent.SHIFT_MASK, MouseEvent.BUTTON2_MASK|InputEvent.SHIFT_MASK,
173.53 + MouseEvent.BUTTON3_MASK|InputEvent.SHIFT_MASK, MouseEvent.BUTTON3_MASK|InputEvent.SHIFT_MASK, MouseEvent.BUTTON3_MASK|InputEvent.SHIFT_MASK };
173.54 + final static int [] modifiersExStandardTestSHIFT = new int[] {MouseEvent.BUTTON1_DOWN_MASK|InputEvent.SHIFT_DOWN_MASK, InputEvent.SHIFT_DOWN_MASK, InputEvent.SHIFT_DOWN_MASK,
173.55 + MouseEvent.BUTTON2_DOWN_MASK|InputEvent.SHIFT_DOWN_MASK, InputEvent.SHIFT_DOWN_MASK, InputEvent.SHIFT_DOWN_MASK,
173.56 + MouseEvent.BUTTON3_DOWN_MASK|InputEvent.SHIFT_DOWN_MASK, InputEvent.SHIFT_DOWN_MASK, InputEvent.SHIFT_DOWN_MASK};
173.57 + // BUTTON1, 2, 3 press-release with CTRL modifier
173.58 + final static int [] modifiersStandardTestCTRL = new int[] {MouseEvent.BUTTON1_MASK|InputEvent.CTRL_MASK, MouseEvent.BUTTON1_MASK|InputEvent.CTRL_MASK, MouseEvent.BUTTON1_MASK|InputEvent.CTRL_MASK,
173.59 + MouseEvent.BUTTON2_MASK|InputEvent.CTRL_MASK, MouseEvent.BUTTON2_MASK|InputEvent.CTRL_MASK, MouseEvent.BUTTON2_MASK|InputEvent.CTRL_MASK,
173.60 + MouseEvent.BUTTON3_MASK|InputEvent.CTRL_MASK, MouseEvent.BUTTON3_MASK|InputEvent.CTRL_MASK, MouseEvent.BUTTON3_MASK|InputEvent.CTRL_MASK };
173.61 + final static int [] modifiersExStandardTestCTRL = new int[] {MouseEvent.BUTTON1_DOWN_MASK|InputEvent.CTRL_DOWN_MASK, InputEvent.CTRL_DOWN_MASK, InputEvent.CTRL_DOWN_MASK,
173.62 + MouseEvent.BUTTON2_DOWN_MASK|InputEvent.CTRL_DOWN_MASK, InputEvent.CTRL_DOWN_MASK, InputEvent.CTRL_DOWN_MASK,
173.63 + MouseEvent.BUTTON3_DOWN_MASK|InputEvent.CTRL_DOWN_MASK, InputEvent.CTRL_DOWN_MASK, InputEvent.CTRL_DOWN_MASK};
173.64 +
173.65 + // BUTTON1, 2, 3 press-release with ALT modifier
173.66 + final static int [] modifiersStandardTestALT = new int[] {MouseEvent.BUTTON1_MASK|InputEvent.ALT_MASK, MouseEvent.BUTTON1_MASK|InputEvent.ALT_MASK, MouseEvent.BUTTON1_MASK|InputEvent.ALT_MASK,
173.67 + MouseEvent.BUTTON2_MASK|InputEvent.ALT_MASK, MouseEvent.BUTTON2_MASK|InputEvent.ALT_MASK, MouseEvent.BUTTON2_MASK|InputEvent.ALT_MASK,
173.68 + MouseEvent.BUTTON3_MASK|InputEvent.ALT_MASK, MouseEvent.BUTTON3_MASK|InputEvent.ALT_MASK, MouseEvent.BUTTON3_MASK|InputEvent.ALT_MASK };
173.69 + final static int [] modifiersExStandardTestALT = new int[] {MouseEvent.BUTTON1_DOWN_MASK|InputEvent.ALT_DOWN_MASK, InputEvent.ALT_DOWN_MASK, InputEvent.ALT_DOWN_MASK,
173.70 + MouseEvent.BUTTON2_DOWN_MASK|InputEvent.ALT_DOWN_MASK, InputEvent.ALT_DOWN_MASK, InputEvent.ALT_DOWN_MASK,
173.71 + MouseEvent.BUTTON3_DOWN_MASK|InputEvent.ALT_DOWN_MASK, InputEvent.ALT_DOWN_MASK, InputEvent.ALT_DOWN_MASK};
173.72 +
173.73 + static Robot robot;
173.74 +
173.75 + public static void main(String s[]){
173.76 + initParams(s);
173.77 + initAdapters();
173.78 + f = new Frame();
173.79 + final int [] modifiers = {InputEvent.SHIFT_MASK, InputEvent.CTRL_MASK};
173.80 + final String [] modifierNames = {"InputEvent.SHIFT_MASK", "InputEvent.CTRL_MASK"};
173.81 + f.setLayout(new FlowLayout());
173.82 + f.addMouseWheelListener(new MouseWheelListener() {
173.83 + public void mouseWheelMoved(MouseWheelEvent e) {
173.84 + System.out.println("WHEEL "+e);
173.85 + }
173.86 + });
173.87 + f.setSize(300, 300);
173.88 + f.setVisible(true);
173.89 +
173.90 + try {
173.91 + robot = new Robot();
173.92 + robot.delay(500);
173.93 + robot.mouseMove(f.getLocationOnScreen().x + f.getWidth()/2, f.getLocationOnScreen().y + f.getHeight()/2);
173.94 + if (autorun) {
173.95 + //testing buttons 1, 2, 3 only
173.96 + testPlainButtons();
173.97 + robot.delay(500);
173.98 +
173.99 + //testing buttons 1, 2, 3 with SHIFT, CTRL, ALT keyboard modifiers
173.100 + testButtonsWithShift();
173.101 + robot.delay(500);
173.102 +
173.103 + testButtonsWithControl();
173.104 + robot.delay(500);
173.105 +
173.106 + testButtonsWithAlt();
173.107 + robot.delay(500);
173.108 + } else {
173.109 + switch (testModifier){
173.110 + case SHIFT:
173.111 + f.addMouseListener(adapterTest2);
173.112 + break;
173.113 + case CTRL:
173.114 + f.addMouseListener(adapterTest3);
173.115 + break;
173.116 + case ALT:
173.117 + f.addMouseListener(adapterTest4);
173.118 + break;
173.119 + default: //NONE inclusive
173.120 + f.addMouseListener(adapterTest1);
173.121 + }
173.122 + }
173.123 + } catch (Exception e){
173.124 + throw new RuntimeException("Test failed.");
173.125 + }
173.126 +
173.127 + }
173.128 +
173.129 + public static void initAdapters(){
173.130 + adapterTest1 = new CheckingModifierAdapter(NONE);
173.131 + adapterTest2 = new CheckingModifierAdapter(SHIFT);
173.132 + adapterTest3 = new CheckingModifierAdapter(CTRL);
173.133 + adapterTest4 = new CheckingModifierAdapter(ALT);
173.134 + }
173.135 +
173.136 + /*======================================================================*/
173.137 + public static void checkPressedModifiersTest(int testModifier, MouseEvent event){
173.138 + int [] curStandardModifiers = getStandardArray(testModifier);
173.139 + int [] curStandardExModifiers = getStandardExArray(testModifier);
173.140 + int button = event.getButton();
173.141 + int modifiers = event.getModifiers();
173.142 + int modifiersEx = event.getModifiersEx();
173.143 + int index = (button - 1)*3;
173.144 + // int index = (button - 4)*3;
173.145 + dumpValues(button, modifiers, curStandardModifiers[index], modifiersEx, curStandardExModifiers[index]);
173.146 + if (modifiers != curStandardModifiers[index]){
173.147 + if (debug){
173.148 + System.out.println("Test failed : Pressed. modifiers != modifiersStandard");
173.149 + } else {
173.150 + throw new RuntimeException("Test failed : Pressed. modifiers != modifiersStandard");
173.151 + }
173.152 + }
173.153 +
173.154 + if (modifiersEx != curStandardExModifiers[index]){
173.155 +// System.out.println(">>>>>>>>>>>>>>> Pressed. modifiersEx "+modifiersEx +" : "+!= curStandardExModifiers");
173.156 + if (debug){
173.157 + System.out.println("Test failed : Pressed. modifiersEx != curStandardExModifiers");
173.158 + } else {
173.159 + throw new RuntimeException("Test failed : Pressed. modifiersEx != curStandardExModifiers");
173.160 + }
173.161 + }
173.162 + HashMap <String, String> paramStringElements = tokenizeParamString(event.paramString());
173.163 + System.out.println(event.paramString());
173.164 + checkButton(paramStringElements, button);
173.165 + checkModifiers(testModifier, paramStringElements, button);
173.166 + checkExtModifiersOnPress(testModifier, paramStringElements, button);
173.167 + }
173.168 +
173.169 + public static void checkButton(HashMap<String, String> h, int button){
173.170 + if (h.get("button") == null) {
173.171 + throw new RuntimeException("Test failed : Clicked. button is absent in paramString()");
173.172 + }
173.173 + if (Integer.parseInt(h.get("button")) != button) {
173.174 + throw new RuntimeException("Test failed : Clicked. button in paramString() doesn't equal to button being pressed.");
173.175 + }
173.176 + }
173.177 +
173.178 + public static void checkExtModifiersOnPress(int testModifier, HashMap h, int button){
173.179 + String ethalon = "";
173.180 + if (h.get("extModifiers") == null) {
173.181 + System.out.println("Test failed : Pressed. extModifiers == null");
173.182 + throw new RuntimeException("Test failed : Pressed. extModifiers == null");
173.183 + }
173.184 + switch (testModifier){
173.185 + case SHIFT:{
173.186 + ethalon = "Shift+";
173.187 + break;
173.188 + }
173.189 + case ALT:{
173.190 + ethalon = "Alt+";
173.191 + break;
173.192 + }
173.193 + case CTRL:{
173.194 + ethalon = "Ctrl+";
173.195 + break;
173.196 + }
173.197 + default: {
173.198 + ethalon = "";
173.199 + }
173.200 + ethalon = ethalon + "Button" +button;
173.201 +
173.202 + if (!h.get("extModifiers").equals(ethalon)) {
173.203 + System.out.println("Test failed : Pressed. extModifiers = " +h.get("extModifiers")+" instead of : "+ethalon);
173.204 + throw new RuntimeException("Test failed : Pressed. extModifiers = " +h.get("extModifiers")+" instead of : "+ethalon);
173.205 + }
173.206 + }
173.207 + }
173.208 +
173.209 +
173.210 +
173.211 + public static void checkModifiers(int testModifier, HashMap<String, String> h, int button){
173.212 + // none of modifiers should be null
173.213 + if (h.get("modifiers") == null) {
173.214 + System.out.println("Test failed : modifiers == null");
173.215 + throw new RuntimeException("Test failed : modifiers == null");
173.216 + }
173.217 + Vector <String> modifierElements = tokenizeModifiers(h.get("modifiers"));
173.218 + //check that ButtonX is there
173.219 + String buttonEthalon = "Button" + button;
173.220 + if (modifierElements.contains(buttonEthalon)){
173.221 + modifierElements.remove(buttonEthalon);
173.222 + } else {
173.223 + System.out.println("Test failed : modifiers doesn't contain Button "+h.get("modifiers"));
173.224 + throw new RuntimeException("Test failed : modifiers doesn't contain Button "+h.get("modifiers"));
173.225 + }
173.226 +
173.227 +
173.228 + //Check all explicitly pressed modifires
173.229 +// boolean altIncluded = false; //don't duplicate Alt when ALT is pressed and BUTTON2_MASK.
173.230 + String excplicitModifier = "";
173.231 + boolean altIncluded = false;
173.232 + switch (testModifier){
173.233 + case SHIFT:{
173.234 + excplicitModifier = "Shift";
173.235 + break;
173.236 + }
173.237 + case ALT:{
173.238 + excplicitModifier = "Alt";
173.239 + altIncluded = true; //there should be only on "Alt" for two modifiers. So check it.
173.240 + break;
173.241 + }
173.242 + case CTRL:{
173.243 + excplicitModifier = "Ctrl";
173.244 + break;
173.245 + }
173.246 + }
173.247 + if (!excplicitModifier.equals("")){
173.248 + if (modifierElements.contains(excplicitModifier)){
173.249 + modifierElements.remove(excplicitModifier);
173.250 + } else {
173.251 + System.out.println("Test failed : modifiers doesn't contain explicit modifier "+excplicitModifier + " in "+ h.get("modifiers"));
173.252 + throw new RuntimeException("Test failed : modifiers doesn't contain explicit modifier "+excplicitModifier + " in "+ h.get("modifiers"));
173.253 + }
173.254 + }
173.255 +
173.256 + //Button 2 and 3 reports about Alt+Button2 and Meta+Button3 respectively.
173.257 + //Check these values too
173.258 + String extraModifiers = "";
173.259 + String extraModifiersButton3 = "";
173.260 + switch (button){
173.261 + //BUTTON1 with ALT reports about Alt+Button1+Button2.
173.262 + //We should fix this but I would not change this.
173.263 + case 1: {
173.264 + //Alt+Button1+Button2:
173.265 + // 1) we already handled "Alt" in excplicitModifier
173.266 + // 2) we already took "Button1" in buttonEthalon
173.267 + // 3) so "Button2" is only remained.
173.268 + // This should only happen when ALT+Button1 is pressed
173.269 + if (altIncluded){
173.270 + extraModifiers = "Button2";
173.271 + }
173.272 + break;
173.273 + }
173.274 + case 2: {
173.275 + //Alt+Button2 report about "Alt+Button2".
173.276 + extraModifiers = "Alt";
173.277 + break;
173.278 + }
173.279 + case 3: {
173.280 + //ALT+BUTTON3 reports about "Alt+Meta+Button2+Button3"
173.281 + // This should only happen when ALT+Button3 is pressed
173.282 + extraModifiers = "Meta";
173.283 + if (altIncluded){
173.284 + extraModifiersButton3 = "Button2";
173.285 + }
173.286 + break;
173.287 + }
173.288 + }//switch
173.289 +
173.290 + if (!extraModifiers.equals("")){
173.291 + if (modifierElements.contains(extraModifiers)){
173.292 + modifierElements.remove(extraModifiers);
173.293 + } else {
173.294 + //we may already removed "Alt" when filtered explicit modifiers.
173.295 + //Here is no failure in this case.
173.296 + if (!altIncluded) {
173.297 + System.out.println("Test failed : modifiers doesn't contain a modifier from BUTTON2 or BUTTON3 "+extraModifiers + " in "+ h.get("modifiers"));
173.298 + throw new RuntimeException("Test failed : modifiers doesn't contain a modifier from BUTTON2 or BUTTON3 "+extraModifiers + " in "+ h.get("modifiers"));
173.299 + }
173.300 + }
173.301 + }
173.302 +
173.303 + if (!extraModifiersButton3.equals("")){
173.304 + if (modifierElements.contains(extraModifiersButton3)){
173.305 + modifierElements.remove(extraModifiersButton3);
173.306 + } else {
173.307 + System.out.println("Test failed : modifiers doesn't contain a modifier from BUTTON2 or BUTTON3 "+extraModifiersButton3 + " in "+ h.get("modifiers"));
173.308 + throw new RuntimeException("Test failed : modifiers doesn't contain a modifier from BUTTON2 or BUTTON3 "+extraModifiersButton3 + " in "+ h.get("modifiers"));
173.309 + }
173.310 + }
173.311 +
173.312 + //the length of vector should now be zero
173.313 + if (!modifierElements.isEmpty()){
173.314 + System.out.println("Test failed : there is some more elements in modifiers that shouldn't be there: "+h.get("modifiers"));
173.315 + throw new RuntimeException("Test failed : there is some more elements in modifiers that shouldn't be there: "+h.get("modifiers"));
173.316 + }
173.317 + }
173.318 +
173.319 + public static void checkExtModifiersOnReleaseClick(int testModifier, HashMap h, int button){
173.320 + String ethalon = "";
173.321 + switch (testModifier){
173.322 + case SHIFT:{
173.323 + ethalon = "Shift+";
173.324 + break;
173.325 + }
173.326 + case ALT:{
173.327 + ethalon = "Alt+";
173.328 + break;
173.329 + }
173.330 + case CTRL:{
173.331 + ethalon = "Ctrl+";
173.332 + break;
173.333 + }
173.334 + default: {
173.335 + if (h.get("extModifiers") != null) {
173.336 + System.out.println("Test failed : Released. extModifiers != null but no modifiers keys are pressed");
173.337 + throw new RuntimeException("Test failed : Released. extModifiers != null but no modifiers keys are pressed");
173.338 + } else {
173.339 + //no modifiers
173.340 + return;
173.341 + }
173.342 + }
173.343 + }
173.344 + if (h.get("extModifiers").equals(ethalon)) {
173.345 + System.out.println("Test failed : Released. extModifiers = "+ h.get("extModifiers") +" instead of : "+ethalon);
173.346 + throw new RuntimeException("Test failed : Released. extModifiers = "+ h.get("extModifiers") +" instead of : "+ethalon);
173.347 + }
173.348 + }
173.349 +
173.350 + public static void checkReleasedModifiersTest(int testModifier, MouseEvent event){
173.351 + int [] curStandardModifiers = getStandardArray(testModifier);
173.352 + int [] curStandardExModifiers = getStandardExArray(testModifier);
173.353 + // int index = (button - 4)*3 + 1;
173.354 + int button = event.getButton();
173.355 + int modifiers = event.getModifiers();
173.356 + int modifiersEx = event.getModifiersEx();
173.357 + int index = (button - 1)*3 + 1;
173.358 + dumpValues(button, modifiers, curStandardModifiers[index], modifiersEx, curStandardExModifiers[index]);
173.359 + if (modifiers != curStandardModifiers[index]){
173.360 + if (debug){
173.361 + System.out.println("Test failed : Released. modifiers != modifiersStandard");
173.362 + } else {
173.363 + throw new RuntimeException("Test failed : Released. modifiers != modifiersStandard");
173.364 + }
173.365 + }
173.366 + if (modifiersEx != curStandardExModifiers[index]){
173.367 + if (debug){
173.368 + System.out.println("Test failed : Released. modifiersEx != curStandardExModifiers");
173.369 + } else {
173.370 + throw new RuntimeException("Test failed : Released. modifiersEx != curStandardExModifiers");
173.371 + }
173.372 + }
173.373 + HashMap <String, String> paramStringElements = tokenizeParamString(event.paramString());
173.374 + System.out.println(event.paramString());
173.375 + checkButton(paramStringElements, button);
173.376 + checkModifiers(testModifier, paramStringElements, button);
173.377 + checkExtModifiersOnReleaseClick(testModifier, paramStringElements, button);
173.378 + }
173.379 +
173.380 + public static void checkClickedModifiersTest(int testModifier, MouseEvent event){
173.381 + int [] curStandardModifiers = getStandardArray(testModifier);
173.382 + int [] curStandardExModifiers = getStandardExArray(testModifier);
173.383 + // int index = (button - 4)*3 + 2;
173.384 + int button = event.getButton();
173.385 + int modifiers = event.getModifiers();
173.386 + int modifiersEx = event.getModifiersEx();
173.387 + int index = (button - 1)*3 + 2;
173.388 + dumpValues(button, modifiers, curStandardModifiers[index], modifiersEx, curStandardExModifiers[index]);
173.389 + if (modifiers != curStandardModifiers[index]){
173.390 + if (debug){
173.391 + System.out.println("Test failed : Clicked. modifiers != modifiersStandard");
173.392 + } else {
173.393 + throw new RuntimeException("Test failed : Clicked. modifiers != modifiersStandard");
173.394 + }
173.395 + }
173.396 + if (modifiersEx != curStandardExModifiers[index]){
173.397 + if (debug){
173.398 + System.out.println("Test failed : Clicked. modifiersEx != curStandardExModifiers");
173.399 + } else {
173.400 + throw new RuntimeException("Test failed : Clicked. modifiersEx != curStandardExModifiers");
173.401 + }
173.402 + }
173.403 + HashMap <String, String> paramStringElements = tokenizeParamString(event.paramString());
173.404 + checkButton(paramStringElements, button);
173.405 + checkModifiers(testModifier, paramStringElements, button);
173.406 + checkExtModifiersOnReleaseClick(testModifier, paramStringElements, button);
173.407 + }
173.408 + /*======================================================================*/
173.409 +
173.410 + public static HashMap<String, String> tokenizeParamString(String param){
173.411 + HashMap <String, String> params = new HashMap<String, String>();
173.412 + StringTokenizer st = new StringTokenizer(param, ",=");
173.413 + while (st.hasMoreTokens()){
173.414 + String tmp = st.nextToken();
173.415 +// System.out.println("PARSER : "+tmp);
173.416 + if (tmp.equals("button") ||
173.417 + tmp.equals("modifiers") ||
173.418 + tmp.equals("extModifiers")) {
173.419 + params.put(tmp, st.nextToken());
173.420 + }
173.421 + }
173.422 + return params;
173.423 + }
173.424 +
173.425 + public static Vector<String> tokenizeModifiers(String modifierList){
173.426 + Vector<String> modifiers = new Vector<String>();
173.427 + StringTokenizer st = new StringTokenizer(modifierList, "+");
173.428 + while (st.hasMoreTokens()){
173.429 + String tmp = st.nextToken();
173.430 + modifiers.addElement(tmp);
173.431 + System.out.println("MODIFIER PARSER : "+tmp);
173.432 + }
173.433 + return modifiers;
173.434 + }
173.435 +
173.436 +
173.437 + //test BUTTON1, 2 and 3 without any modifiers keys
173.438 + public static void testPlainButtons(){
173.439 + System.out.println("Testing buttons without modifiers.");
173.440 + f.addMouseListener(adapterTest1);
173.441 + for (int button : mouseButtons){
173.442 + robot.mousePress(button);
173.443 + robot.delay(100);
173.444 + robot.mouseRelease(button);
173.445 + }
173.446 + robot.delay(1000);
173.447 + f.removeMouseListener(adapterTest1);
173.448 + }
173.449 +
173.450 + //test BUTTON1, 2 and 3 with SHIFT key
173.451 + public static void testButtonsWithShift(){
173.452 + System.out.println("Testing buttons with SHIFT modifier.");
173.453 + f.addMouseListener(adapterTest2);
173.454 +
173.455 + for (int button : mouseButtons){
173.456 + robot.keyPress(KeyEvent.VK_SHIFT);
173.457 + robot.mousePress(button);
173.458 + robot.delay(100);
173.459 + robot.mouseRelease(button);
173.460 + robot.keyRelease(KeyEvent.VK_SHIFT);
173.461 + }
173.462 + robot.delay(1000);
173.463 + f.removeMouseListener(adapterTest2);
173.464 + }
173.465 +
173.466 + //test BUTTON1, 2 and 3 with CTRL key
173.467 + public static void testButtonsWithControl(){
173.468 + System.out.println("Testing buttons with CONTROL modifier.");
173.469 + f.addMouseListener(adapterTest3);
173.470 + for (int button : mouseButtons){
173.471 + robot.keyPress(KeyEvent.VK_CONTROL);
173.472 + robot.mousePress(button);
173.473 + robot.delay(100);
173.474 + robot.mouseRelease(button);
173.475 + robot.keyRelease(KeyEvent.VK_CONTROL);
173.476 + }
173.477 + robot.delay(1000);
173.478 + f.removeMouseListener(adapterTest3);
173.479 + }
173.480 +
173.481 + //test BUTTON1, 2 and 3 with ALT key
173.482 + public static void testButtonsWithAlt(){
173.483 + System.out.println("Testing buttons with ALT modifier.");
173.484 + f.addMouseListener(adapterTest4);
173.485 + for (int button : mouseButtons){
173.486 + robot.keyPress(KeyEvent.VK_ALT);
173.487 + robot.mousePress(button);
173.488 + robot.delay(100);
173.489 + robot.mouseRelease(button);
173.490 + robot.keyRelease(KeyEvent.VK_ALT);
173.491 + }
173.492 + robot.delay(1000);
173.493 + f.removeMouseListener(adapterTest4);
173.494 + }
173.495 +
173.496 + public static void initParams(String []s){
173.497 + if (s.length != 3){
173.498 + autorun = true;
173.499 + debug = false;
173.500 + testModifier = NONE;
173.501 + } else {
173.502 + autorun = Boolean.valueOf(s[0]);
173.503 + debug = Boolean.valueOf(s[1]);
173.504 +
173.505 + if (s[2].equals("NONE")){
173.506 + testModifier = NONE;
173.507 + }
173.508 + if (s[2].equals("SHIFT")){
173.509 + testModifier = SHIFT;
173.510 + }
173.511 + if (s[2].equals("CTRL")){
173.512 + testModifier = CTRL;
173.513 + }
173.514 + if (s[2].equals("ALT")){
173.515 + testModifier = ALT;
173.516 + }
173.517 + }
173.518 + System.out.println("Autorun : " +autorun);
173.519 + System.out.println("Debug mode : " +debug);
173.520 + System.out.println("Modifier to verify : " + testModifier);
173.521 + }
173.522 +
173.523 + public static void dumpValues(int button, int modifiers, int modifiersStandard, int modifiersEx, int modifiersExStandard){
173.524 + System.out.println("Button = "+button + "Modifiers = "+ modifiers + " standard = "+ modifiersStandard);
173.525 + System.out.println(" ModifiersEx = "+ modifiersEx + " standardEx = "+ modifiersExStandard);
173.526 + }
173.527 +
173.528 + private static int[] getStandardExArray(int testModifier) {
173.529 + int [] curStandardExModifiers;
173.530 + switch (testModifier){
173.531 + case SHIFT:
173.532 + curStandardExModifiers = modifiersExStandardTestSHIFT;
173.533 + break;
173.534 + case CTRL:
173.535 + curStandardExModifiers = modifiersExStandardTestCTRL;
173.536 + break;
173.537 + case ALT:
173.538 + curStandardExModifiers = modifiersExStandardTestALT;
173.539 + break;
173.540 + default: //NONE by default
173.541 + curStandardExModifiers = modifiersExStandardTestNONE;
173.542 + }
173.543 + return curStandardExModifiers;
173.544 + }
173.545 +
173.546 + private static int[] getStandardArray(int testModifier) {
173.547 + int [] curStandardModifiers;
173.548 + switch (testModifier){
173.549 + case SHIFT:
173.550 + curStandardModifiers = modifiersStandardTestSHIFT;
173.551 + break;
173.552 + case CTRL:
173.553 + curStandardModifiers = modifiersStandardTestCTRL;
173.554 + break;
173.555 + case ALT:
173.556 + curStandardModifiers = modifiersStandardTestALT;
173.557 + break;
173.558 + default: //NONE by default
173.559 + curStandardModifiers = modifiersStandardTestNONE;
173.560 + }
173.561 + return curStandardModifiers;
173.562 + }
173.563 +
173.564 +}
173.565 +
173.566 +
173.567 +/* A class that invoke appropriate verification
173.568 + * routine with current modifier.
173.569 + */
173.570 +class CheckingModifierAdapter extends MouseAdapter{
173.571 + int modifier;
173.572 + public CheckingModifierAdapter(int modifier){
173.573 + this.modifier = modifier;
173.574 + }
173.575 +
173.576 + public void mousePressed(MouseEvent e) {
173.577 + System.out.println("PRESSED "+e);
173.578 + if (e.getButton() > MouseEvent.BUTTON3) {
173.579 + System.out.println("Extra button affected. Skip.");
173.580 + } else {
173.581 + MouseModifiersUnitTest_Standard.checkPressedModifiersTest(modifier, e); // e.getButton(), e.getModifiers(), e.getModifiersEx(),
173.582 + }
173.583 + }
173.584 + public void mouseReleased(MouseEvent e) {
173.585 + System.out.println("RELEASED "+e);
173.586 + if (e.getButton() > MouseEvent.BUTTON3) {
173.587 + System.out.println("Extra button affected. Skip.");
173.588 + } else {
173.589 + MouseModifiersUnitTest_Standard.checkReleasedModifiersTest(modifier, e); // e.getButton(), e.getModifiers(), e.getModifiersEx()
173.590 + }
173.591 + }
173.592 + public void mouseClicked(MouseEvent e) {
173.593 + System.out.println("CLICKED "+e);
173.594 + if (e.getButton() > MouseEvent.BUTTON3) {
173.595 + System.out.println("Extra button affected. Skip.");
173.596 + } else {
173.597 + MouseModifiersUnitTest_Standard.checkClickedModifiersTest(modifier, e); //e.getButton(), e.getModifiers(), e.getModifiersEx()
173.598 + }
173.599 + }
173.600 +}
173.601 +
174.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
174.2 +++ b/test/java/awt/Robot/AcceptExtraMouseButtons/AcceptExtraMouseButtons.java Wed Feb 18 10:05:41 2009 -0800
174.3 @@ -0,0 +1,118 @@
174.4 +/*
174.5 + @test %I% %E%
174.6 + @bug 6315717
174.7 + @summary verifies that Robot is accepting extra mouse buttons
174.8 + @author Andrei Dmitriev : area=awt.mouse
174.9 + @library ../../regtesthelpers
174.10 + @build Util
174.11 + @run main AcceptExtraMouseButtons
174.12 + */
174.13 +
174.14 +//if we do robot.mousePress(InputEvent.BUTTON1_DOWN_MASK) the test must
174.15 +// 1) accept it (i.e. don't throw an IllegalArgumentException
174.16 +// 2) actually post a MouseEvent
174.17 +// Also, Robot should still accept InputEvent.BUTTONx_MASKs
174.18 +
174.19 +import java.awt.*;
174.20 +import java.awt.event.*;
174.21 +import sun.awt.SunToolkit;
174.22 +import test.java.awt.regtesthelpers.Util;
174.23 +
174.24 +public class AcceptExtraMouseButtons extends Frame {
174.25 + static String tk = Toolkit.getDefaultToolkit().getClass().getName();
174.26 + static Robot robot;
174.27 + static int [] standardButtonMasks = {InputEvent.BUTTON1_MASK,
174.28 + InputEvent.BUTTON2_MASK,
174.29 + InputEvent.BUTTON3_MASK};
174.30 + static int [] buttonsPressed;
174.31 + static int [] buttonsReleased;
174.32 + static int [] buttonsClicked;
174.33 +
174.34 + static int buttonsNum = MouseInfo.getNumberOfButtons();
174.35 +
174.36 + public static void main(String []s){
174.37 +
174.38 + //MouseInfo.getNumberOfButtons() reports two more buttons on XToolkit
174.39 + //as they reserved for wheel (both directions).
174.40 + if (tk.equals("sun.awt.X11.XToolkit") || tk.equals("sun.awt.motif.MToolkit")) {
174.41 + buttonsNum = buttonsNum - 2;
174.42 + }
174.43 + System.out.println("Number Of Buttons = "+ buttonsNum);
174.44 + if (buttonsNum < 3) {
174.45 + System.out.println("Linux and Windows systems should emulate three buttons if even there are only 1 or 2 are phsically available. Setting number of buttons to 3.");
174.46 + buttonsNum = 3;
174.47 + }
174.48 +
174.49 + buttonsPressed = new int [buttonsNum];
174.50 + buttonsReleased = new int [buttonsNum];
174.51 + buttonsClicked = new int [buttonsNum];
174.52 +
174.53 + AcceptExtraMouseButtons frame = new AcceptExtraMouseButtons();
174.54 +
174.55 + MouseAdapter ma1 = new MouseAdapter() {
174.56 + public void mousePressed(MouseEvent e) {
174.57 + buttonsPressed[e.getButton() - 1] += 1;
174.58 + System.out.println("PRESSED "+e);
174.59 + }
174.60 + public void mouseReleased(MouseEvent e) {
174.61 + buttonsReleased[e.getButton() - 1] += 1;
174.62 + System.out.println("RELEASED "+e);
174.63 + }
174.64 + public void mouseClicked(MouseEvent e) {
174.65 + buttonsClicked[e.getButton() - 1] += 1;
174.66 + System.out.println("CLICKED "+e);
174.67 + }
174.68 + };
174.69 + frame.addMouseListener(ma1);
174.70 +
174.71 + frame.setSize(300, 300);
174.72 + frame.setVisible(true);
174.73 +
174.74 + Util.waitForIdle(robot); //a time to show a Frame
174.75 +
174.76 + try {
174.77 + robot = new Robot();
174.78 + robot.delay(1000);
174.79 + robot.mouseMove(frame.getLocationOnScreen().x + frame.getWidth()/2,
174.80 + frame.getLocationOnScreen().y + frame.getHeight()/2);
174.81 +
174.82 + //TestCase 1: verify that all BUTTONx_DOWN_MASKs are accepted by the Robot.
174.83 +
174.84 + for (int i = 0; i < buttonsNum; i++){
174.85 + int buttonMask = InputEvent.getMaskForButton(i+1);
174.86 + System.out.println("button to press = " +(i+1) + " : value passed to robot = " +buttonMask);
174.87 + robot.mousePress(buttonMask);
174.88 + robot.delay(30);
174.89 + robot.mouseRelease(buttonMask);
174.90 + Util.waitForIdle(robot);
174.91 + }
174.92 + for (int i = 0; i < buttonsNum; i++){
174.93 + if (buttonsPressed[i] != 1 || buttonsReleased[i] != 1 || buttonsClicked[i] !=1 ) {
174.94 + throw new RuntimeException("TESTCASE 1 FAILED : button " + (i+1) + " wasn't single pressed|released|clicked : "+ buttonsPressed[i] +" : "+ buttonsReleased[i] +" : "+ buttonsClicked[i]);
174.95 + }
174.96 + }
174.97 +
174.98 + java.util.Arrays.fill(buttonsPressed, 0);
174.99 + java.util.Arrays.fill(buttonsReleased, 0);
174.100 + java.util.Arrays.fill(buttonsClicked, 0);
174.101 + //TestCase 2: verify that all BUTTONx_MASKs are accepted by the Robot.
174.102 + for (int i = 0; i < standardButtonMasks.length; i++){
174.103 + int buttonMask = standardButtonMasks[i];
174.104 + System.out.println("button to press = " +(i+1) + " : value passed to robot = " +buttonMask);
174.105 + robot.mousePress(buttonMask);
174.106 + robot.delay(30);
174.107 + robot.mouseRelease(buttonMask);
174.108 + Util.waitForIdle(robot);
174.109 + }
174.110 + for (int i = 0; i < standardButtonMasks.length; i++){
174.111 + if (buttonsPressed[i] != 1 || buttonsReleased[i] != 1 || buttonsClicked[i] !=1 ) {
174.112 + throw new RuntimeException("TESTCASE 2 FAILED : button " + (i+1) + " wasn't single pressed|released|clicked : "+ buttonsPressed[i] +" : "+ buttonsReleased[i] +" : "+ buttonsClicked[i]);
174.113 + }
174.114 + }
174.115 +
174.116 + } catch (Exception e){
174.117 + e.printStackTrace();
174.118 + throw new RuntimeException(e);
174.119 + }
174.120 + }
174.121 +}
175.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
175.2 +++ b/test/java/awt/Robot/ManualInstructions/ManualInstructions.java Wed Feb 18 10:05:41 2009 -0800
175.3 @@ -0,0 +1,305 @@
175.4 +/*
175.5 + test %W% %E% %I%, %G%
175.6 + @bug 6315717
175.7 + @summary manual control over the Robot
175.8 + @author Andrei Dmitriev : area=awt.robot
175.9 + @run applet/manual=yesno ManualInstructions.html
175.10 +*/
175.11 +
175.12 +import java.applet.Applet;
175.13 +import java.awt.*;
175.14 +import java.awt.event.*;
175.15 +import java.util.Timer;
175.16 +import java.util.TimerTask;
175.17 +
175.18 +public class ManualInstructions extends Applet
175.19 +{
175.20 + final static long SEND_DELAY = 1000;
175.21 +
175.22 + public static void main(String s[]){
175.23 + ManualInstructions mi = new ManualInstructions();
175.24 + mi.init();
175.25 + mi.start();
175.26 + }
175.27 +
175.28 + static Robot robot;
175.29 + Point mouseLocation; //where mouse should be pressed each time
175.30 + Panel target = new Panel();
175.31 + Button pressOn = new Button("press on ...");
175.32 + Button releaseOn = new Button("release on ...");
175.33 + Button clickOn = new Button("click on ...");
175.34 + Choice buttonNumber = new Choice();
175.35 +
175.36 + public void init()
175.37 + {
175.38 + try {
175.39 + robot = new Robot();
175.40 + } catch (AWTException ex) {
175.41 + ex.printStackTrace();
175.42 + throw new RuntimeException(ex);
175.43 + }
175.44 + this.setLayout (new BorderLayout ());
175.45 +
175.46 + target.setBackground(Color.green);
175.47 + target.setName("GreenBox");//for the ease of debug
175.48 + target.setPreferredSize(new Dimension(100, 100));
175.49 + String toolkit = Toolkit.getDefaultToolkit().getClass().getName();
175.50 +
175.51 + // on X systems two buttons are reserved for wheel though they are countable by MouseInfo.
175.52 + int buttonsNumber = toolkit.equals("sun.awt.windows.WToolkit")?MouseInfo.getNumberOfButtons():MouseInfo.getNumberOfButtons()-2;
175.53 +
175.54 + for (int i = 0; i < 8; i++){
175.55 + buttonNumber.add("BUTTON"+(i+1)+"_MASK");
175.56 + }
175.57 +
175.58 + pressOn.addActionListener(new ActionListener(){
175.59 + public void actionPerformed(ActionEvent e){
175.60 + System.out.println("Now pressing : " + (buttonNumber.getSelectedIndex()+1));
175.61 +
175.62 + Timer timer = new Timer();
175.63 + TimerTask robotInteraction = new TimerTask(){
175.64 + public void run(){
175.65 + robot.mouseMove(updateTargetLocation().x, updateTargetLocation().y);
175.66 + robot.mousePress(getMask(buttonNumber.getSelectedIndex()+1));
175.67 + }
175.68 + };
175.69 + timer.schedule(robotInteraction, SEND_DELAY);
175.70 + }
175.71 + });
175.72 +
175.73 + releaseOn.addActionListener(new ActionListener(){
175.74 + public void actionPerformed(ActionEvent e){
175.75 + System.out.println("Now releasing : " + (buttonNumber.getSelectedIndex()+1));
175.76 + Timer timer = new Timer();
175.77 + TimerTask robotInteraction = new TimerTask(){
175.78 + public void run(){
175.79 + robot.mouseMove(updateTargetLocation().x, updateTargetLocation().y);
175.80 + robot.mouseRelease(getMask(buttonNumber.getSelectedIndex()+1));
175.81 + }
175.82 + };
175.83 + timer.schedule(robotInteraction, SEND_DELAY);
175.84 + }
175.85 + });
175.86 +
175.87 + clickOn.addActionListener(new ActionListener(){
175.88 + public void actionPerformed(ActionEvent e){
175.89 + System.out.println("Now clicking : " + (buttonNumber.getSelectedIndex()+1));
175.90 + Timer timer = new Timer();
175.91 + TimerTask robotInteraction = new TimerTask(){
175.92 + public void run(){
175.93 + robot.mouseMove(updateTargetLocation().x, updateTargetLocation().y);
175.94 + robot.mousePress(getMask(buttonNumber.getSelectedIndex()+1));
175.95 + robot.mouseRelease(getMask(buttonNumber.getSelectedIndex()+1));
175.96 + }
175.97 + };
175.98 + timer.schedule(robotInteraction, SEND_DELAY);
175.99 + }
175.100 +
175.101 + });
175.102 + target.addMouseListener(new MouseAdapter(){
175.103 + public void mousePressed(MouseEvent e){
175.104 + Sysout.println(""+e);
175.105 + }
175.106 + public void mouseReleased(MouseEvent e){
175.107 + Sysout.println(""+e);
175.108 + }
175.109 + public void mouseClicked(MouseEvent e){
175.110 + Sysout.println(""+e);
175.111 + }
175.112 + });
175.113 +
175.114 + String[] instructions =
175.115 + {
175.116 + "Do provide an instruction to the robot by",
175.117 + "choosing the button number to act and ",
175.118 + "pressing appropriate java.awt.Button on the left.",
175.119 + "Inspect an output in the TextArea below.",
175.120 + "Please don't generate non-natural sequences like Release-Release, etc.",
175.121 + "If you use keyboard be sure that you released the keyboard shortly.",
175.122 + "If events are generated well press Pass, otherwise Fail."
175.123 + };
175.124 + Sysout.createDialogWithInstructions( instructions );
175.125 +
175.126 + }//End init()
175.127 +
175.128 + private int getMask(int button){
175.129 + return InputEvent.getMaskForButton(button);
175.130 +
175.131 + /*
175.132 + //this only works for standard buttons and for old JDK builds
175.133 + int mask = 0;
175.134 + switch (button){
175.135 + case 1: {
175.136 + mask = InputEvent.BUTTON1_MASK;
175.137 + break;
175.138 + }
175.139 + case 2: {
175.140 + mask = InputEvent.BUTTON2_MASK;
175.141 + break;
175.142 + }
175.143 + case 3: {
175.144 + mask = InputEvent.BUTTON3_MASK;
175.145 + break;
175.146 + }
175.147 + }
175.148 + return mask;
175.149 + */
175.150 + }
175.151 +
175.152 + private Point updateTargetLocation() {
175.153 + return new Point(target.getLocationOnScreen().x + target.getWidth()/2, target.getLocationOnScreen().y + target.getHeight()/2);
175.154 + }
175.155 +
175.156 + public void start ()
175.157 + {
175.158 + //Get things going. Request focus, set size, et cetera
175.159 + setSize (200,200);
175.160 + setVisible(true);
175.161 + validate();
175.162 + Frame f = new Frame ("Set action for Robot here.");
175.163 + f.setLayout(new FlowLayout());
175.164 + f.add(buttonNumber);
175.165 + f.add(pressOn);
175.166 + f.add(releaseOn);
175.167 + f.add(clickOn);
175.168 + f.add(target);
175.169 + f.pack();
175.170 + f.setVisible(true);
175.171 + }// start()
175.172 +}// class
175.173 +
175.174 +/* Place other classes related to the test after this line */
175.175 +
175.176 +
175.177 +/****************************************************
175.178 + Standard Test Machinery
175.179 + DO NOT modify anything below -- it's a standard
175.180 + chunk of code whose purpose is to make user
175.181 + interaction uniform, and thereby make it simpler
175.182 + to read and understand someone else's test.
175.183 + ****************************************************/
175.184 +
175.185 +/**
175.186 + This is part of the standard test machinery.
175.187 + It creates a dialog (with the instructions), and is the interface
175.188 + for sending text messages to the user.
175.189 + To print the instructions, send an array of strings to Sysout.createDialog
175.190 + WithInstructions method. Put one line of instructions per array entry.
175.191 + To display a message for the tester to see, simply call Sysout.println
175.192 + with the string to be displayed.
175.193 + This mimics System.out.println but works within the test harness as well
175.194 + as standalone.
175.195 + */
175.196 +
175.197 +class Sysout
175.198 +{
175.199 + private static TestDialog dialog;
175.200 +
175.201 + public static void createDialogWithInstructions( String[] instructions )
175.202 + {
175.203 + dialog = new TestDialog( new Frame(), "Instructions" );
175.204 + dialog.printInstructions( instructions );
175.205 + dialog.setVisible(true);
175.206 + println( "Any messages for the tester will display here." );
175.207 + }
175.208 +
175.209 + public static void createDialog( )
175.210 + {
175.211 + dialog = new TestDialog( new Frame(), "Instructions" );
175.212 + String[] defInstr = { "Instructions will appear here. ", "" } ;
175.213 + dialog.printInstructions( defInstr );
175.214 + dialog.setVisible(true);
175.215 + println( "Any messages for the tester will display here." );
175.216 + }
175.217 +
175.218 + public static void printInstructions( String[] instructions )
175.219 + {
175.220 + dialog.printInstructions( instructions );
175.221 + }
175.222 +
175.223 +
175.224 + public static void println( String messageIn )
175.225 + {
175.226 + dialog.displayMessage( messageIn );
175.227 + }
175.228 +
175.229 +}// Sysout class
175.230 +
175.231 +/**
175.232 + This is part of the standard test machinery. It provides a place for the
175.233 + test instructions to be displayed, and a place for interactive messages
175.234 + to the user to be displayed.
175.235 + To have the test instructions displayed, see Sysout.
175.236 + To have a message to the user be displayed, see Sysout.
175.237 + Do not call anything in this dialog directly.
175.238 + */
175.239 +class TestDialog extends Dialog
175.240 +{
175.241 +
175.242 + TextArea instructionsText;
175.243 + TextArea messageText;
175.244 + int maxStringLength = 120;
175.245 +
175.246 + //DO NOT call this directly, go through Sysout
175.247 + public TestDialog( Frame frame, String name )
175.248 + {
175.249 + super( frame, name );
175.250 + int scrollBoth = TextArea.SCROLLBARS_BOTH;
175.251 + instructionsText = new TextArea( "", 15, maxStringLength, scrollBoth );
175.252 + add( "North", instructionsText );
175.253 +
175.254 + messageText = new TextArea( "", 5, maxStringLength, scrollBoth );
175.255 + add("Center", messageText);
175.256 +
175.257 + pack();
175.258 +
175.259 + setVisible(true);
175.260 + }// TestDialog()
175.261 +
175.262 + //DO NOT call this directly, go through Sysout
175.263 + public void printInstructions( String[] instructions )
175.264 + {
175.265 + //Clear out any current instructions
175.266 + instructionsText.setText( "" );
175.267 +
175.268 + //Go down array of instruction strings
175.269 +
175.270 + String printStr, remainingStr;
175.271 + for( int i=0; i < instructions.length; i++ )
175.272 + {
175.273 + //chop up each into pieces maxSringLength long
175.274 + remainingStr = instructions[ i ];
175.275 + while( remainingStr.length() > 0 )
175.276 + {
175.277 + //if longer than max then chop off first max chars to print
175.278 + if( remainingStr.length() >= maxStringLength )
175.279 + {
175.280 + //Try to chop on a word boundary
175.281 + int posOfSpace = remainingStr.
175.282 + lastIndexOf( ' ', maxStringLength - 1 );
175.283 +
175.284 + if( posOfSpace <= 0 ) posOfSpace = maxStringLength - 1;
175.285 +
175.286 + printStr = remainingStr.substring( 0, posOfSpace + 1 );
175.287 + remainingStr = remainingStr.substring( posOfSpace + 1 );
175.288 + }
175.289 + //else just print
175.290 + else
175.291 + {
175.292 + printStr = remainingStr;
175.293 + remainingStr = "";
175.294 + }
175.295 +
175.296 + instructionsText.append( printStr + "\n" );
175.297 + }// while
175.298 + }// for
175.299 + }//printInstructions()
175.300 +
175.301 + //DO NOT call this directly, go through Sysout
175.302 + public void displayMessage( String messageIn )
175.303 + {
175.304 + messageText.append( messageIn + "\n" );
175.305 + System.out.println(messageIn);
175.306 + }
175.307 +
175.308 +}// TestDialog class
176.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
176.2 +++ b/test/java/awt/Robot/RobotExtraButton/RobotExtraButton.java Wed Feb 18 10:05:41 2009 -0800
176.3 @@ -0,0 +1,79 @@
176.4 +/*
176.5 + @test %I% %E%
176.6 + @bug 6315717
176.7 + @summary verifies that robot could accept extra buttons
176.8 + @author Andrei Dmitriev : area=awt.mouse
176.9 + @library ../../regtesthelpers
176.10 + @build Util
176.11 + @run main RobotExtraButton
176.12 + */
176.13 +
176.14 +import java.awt.*;
176.15 +import java.awt.event.*;
176.16 +import test.java.awt.regtesthelpers.Util;
176.17 +
176.18 +public class RobotExtraButton extends Frame {
176.19 + static Robot robot;
176.20 + public static void main(String []s){
176.21 + RobotExtraButton frame = new RobotExtraButton();
176.22 + frame.setSize(300, 300);
176.23 + frame.setVisible(true);
176.24 + frame.addMouseListener(new MouseAdapter() {
176.25 + public void mousePressed(MouseEvent e) {
176.26 + System.out.println("PRESSED "+e);
176.27 + }
176.28 + public void mouseReleased(MouseEvent e) {
176.29 + System.out.println("RELEASED "+e);
176.30 + }
176.31 + public void mouseClicked(MouseEvent e) {
176.32 + System.out.println("CLICKED "+e);
176.33 + }
176.34 + });
176.35 + Util.waitForIdle(robot);
176.36 + int [] buttonMask = new int[MouseInfo.getNumberOfButtons()]; // = InputEvent.getButtonDownMasks();
176.37 + for (int i = 0; i < MouseInfo.getNumberOfButtons(); i++){
176.38 + buttonMask[i] = InputEvent.getMaskForButton(i+1);
176.39 + System.out.println("TEST: "+buttonMask[i]);
176.40 + }
176.41 +
176.42 + try {
176.43 + robot = new Robot();
176.44 + robot.mouseMove(frame.getLocationOnScreen().x + frame.getWidth()/2, frame.getLocationOnScreen().y + frame.getHeight()/2);
176.45 + /*
176.46 + if (MouseInfo.getNumberOfButtons() <= 3) {
176.47 + System.out.println("Number Of Buttons = "+ MouseInfo.getNumberOfButtons() +". Finish!");
176.48 + return;
176.49 + }*/
176.50 +
176.51 + System.out.println("TEST: press 1");
176.52 + robot.mousePress(InputEvent.BUTTON1_MASK);
176.53 + robot.delay(50);
176.54 + robot.mouseRelease(InputEvent.BUTTON1_MASK);
176.55 + Util.waitForIdle(robot);
176.56 +
176.57 + System.out.println("TEST: press 2");
176.58 +
176.59 + robot.mousePress(InputEvent.BUTTON2_MASK);
176.60 + robot.delay(50);
176.61 + robot.mouseRelease(InputEvent.BUTTON2_MASK);
176.62 + Util.waitForIdle(robot);
176.63 + System.out.println("TEST: press 3");
176.64 +
176.65 + robot.mousePress(InputEvent.BUTTON3_MASK);
176.66 + robot.delay(50);
176.67 + robot.mouseRelease(InputEvent.BUTTON3_MASK);
176.68 + Util.waitForIdle(robot);
176.69 + System.out.println("--------------------------------------------------");
176.70 + for (int i = 0; i < buttonMask.length; i++){
176.71 + System.out.println("button would = " +i + " : value = " +buttonMask[i]);
176.72 + robot.mousePress(buttonMask[i]);
176.73 + robot.delay(50);
176.74 + robot.mouseRelease(buttonMask[i]);
176.75 + Util.waitForIdle(robot);
176.76 + }
176.77 + } catch (Exception e){
176.78 + e.printStackTrace();
176.79 + throw new RuntimeException("Test failed.", e);
176.80 + }
176.81 + }
176.82 +}
177.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
177.2 +++ b/test/java/awt/Toolkit/Headless/AWTEventListener/AWTListener.java Wed Feb 18 10:05:41 2009 -0800
177.3 @@ -0,0 +1,48 @@
177.4 +/*
177.5 + @test
177.6 + @bug 6738181
177.7 + @library ../../../regtesthelpers
177.8 + @build Sysout
177.9 + @summary Toolkit.getAWTEventListeners returns empty array
177.10 + @author andrei dmitriev: area=awt.headless
177.11 + @run main/othervm -Djava.awt.headless=true AWTListener
177.12 +*/
177.13 +
177.14 +/**
177.15 + * In a headless mode add a listener for container events.
177.16 + * Check if a single listener is still assigned to the Toolkit class.
177.17 + */
177.18 +
177.19 +import java.awt.*;
177.20 +import java.awt.event.*;
177.21 +import test.java.awt.regtesthelpers.Sysout;
177.22 +
177.23 +public class AWTListener {
177.24 + public static void main(String []s) {
177.25 + Toolkit toolkit = Toolkit.getDefaultToolkit();
177.26 +
177.27 + AWTEventListener orig = new AWTEventListener() {
177.28 + public void eventDispatched(AWTEvent event) { }
177.29 + };
177.30 +
177.31 + Sysout.println("Test: listener to add = " +orig);
177.32 + toolkit.addAWTEventListener(orig, AWTEvent.CONTAINER_EVENT_MASK);
177.33 +
177.34 + for (AWTEventListener l: toolkit.getAWTEventListeners()){
177.35 + Sysout.println("Test: listener = " +l+" ");
177.36 + }
177.37 +
177.38 + if ( toolkit.getAWTEventListeners().length == 0 ) {
177.39 + throw new RuntimeException("Case 1. An empty array returned unexpectedly");
177.40 + }
177.41 +
177.42 + for (AWTEventListener l: toolkit.getAWTEventListeners(AWTEvent.CONTAINER_EVENT_MASK)){
177.43 + Sysout.println("Test: listener = " +l);
177.44 + }
177.45 +
177.46 + if ( toolkit.getAWTEventListeners(AWTEvent.CONTAINER_EVENT_MASK).length == 0 ) {
177.47 + throw new RuntimeException("Case 2. An empty array returned unexpectedly");
177.48 + }
177.49 + Sysout.println("Test PASSED");
177.50 + }
177.51 +}
178.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
178.2 +++ b/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_1.java Wed Feb 18 10:05:41 2009 -0800
178.3 @@ -0,0 +1,36 @@
178.4 +/*
178.5 + @test %I% %E%
178.6 + @bug 6315717
178.7 + @summary verifies that system property sun.awt.enableExtraMouseButtons is true by default
178.8 + @author Andrei Dmitriev : area=awt.mouse
178.9 + @run main SystemPropTest_1
178.10 + */
178.11 +//1) Verifies that System.getProperty("sun.awt.enableExtraMouseButtons") returns false initially.
178.12 +//2) Verifies that Toolkit.areExtraMouseButtonsEnabled() returns true by default.
178.13 +// This must initlizes the Toolkit class.
178.14 +//3) Verifies that System.getProperty("sun.awt.enableExtraMouseButtons") returns true (default).
178.15 +import java.awt.*;
178.16 +
178.17 +public class SystemPropTest_1 {
178.18 +
178.19 + public static void main(String []s){
178.20 + boolean propValue = Boolean.parseBoolean(System.getProperty("sun.awt.enableExtraMouseButtons"));
178.21 + System.out.println("1. System.getProperty = " + propValue);
178.22 + if (propValue){
178.23 + throw new RuntimeException("TEST FAILED(1) : System property sun.awt.enableExtraMouseButtons = " + propValue);
178.24 + }
178.25 + if (!Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled()){
178.26 + throw new RuntimeException("TEST FAILED : Toolkit.areExtraMouseButtonsEnabled() returns false");
178.27 + }
178.28 +
178.29 + System.getProperties().list(System.out);
178.30 + System.out.println("XXXX. System.getProperty = " + System.getProperty("sun.awt.enableExtraMouseButtons"));
178.31 +
178.32 + propValue = Boolean.parseBoolean(System.getProperty("sun.awt.enableExtraMouseButtons"));
178.33 + System.out.println("2. System.getProperty = " + propValue);
178.34 + if (!propValue){
178.35 + throw new RuntimeException("TEST FAILED(2) : System property sun.awt.enableExtraMouseButtons = " + propValue);
178.36 + }
178.37 + System.out.println("Test passed.");
178.38 + }
178.39 +}
179.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
179.2 +++ b/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_2.java Wed Feb 18 10:05:41 2009 -0800
179.3 @@ -0,0 +1,25 @@
179.4 +/*
179.5 + @test %I% %E%
179.6 + @bug 6315717
179.7 + @summary verifies that system property sun.awt.enableExtraMouseButtons might be set to true by the command line
179.8 + @author Andrei Dmitriev : area=awt.mouse
179.9 + @run main/othervm -Dsun.awt.enableExtraMouseButtons=true SystemPropTest_2
179.10 + */
179.11 +//1) Verifies that System.getProperty("sun.awt.enableExtraMouseButtons") returns true if set through the command line.
179.12 +//2) Verifies that Toolkit.areExtraMouseButtonsEnabled() returns true if the proprty is set through the command line.
179.13 +import java.awt.*;
179.14 +
179.15 +public class SystemPropTest_2 {
179.16 +
179.17 + public static void main(String []s){
179.18 + boolean propValue = Boolean.parseBoolean(System.getProperty("sun.awt.enableExtraMouseButtons"));
179.19 + System.out.println("System.getProperty = " + propValue);
179.20 + if (!propValue){
179.21 + throw new RuntimeException("TEST FAILED : System property sun.awt.enableExtraMouseButtons = " + propValue);
179.22 + }
179.23 + if (!Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled()){
179.24 + throw new RuntimeException("TEST FAILED : Toolkit.areExtraMouseButtonsEnabled() returns false");
179.25 + }
179.26 + System.out.println("Test passed.");
179.27 + }
179.28 +}
180.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
180.2 +++ b/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_3.java Wed Feb 18 10:05:41 2009 -0800
180.3 @@ -0,0 +1,26 @@
180.4 +/*
180.5 + @test %I% %E%
180.6 + @bug 6315717
180.7 + @summary verifies that system property sun.awt.enableExtraMouseButtons might be set to false by the command line
180.8 + @author Andrei Dmitriev : area=awt.mouse
180.9 + @run main/othervm -Dsun.awt.enableExtraMouseButtons=false SystemPropTest_3
180.10 + */
180.11 +//1) Verifies that System.getProperty("sun.awt.enableExtraMouseButtons") returns false if set through the command line.
180.12 +//2) Verifies that Toolkit.areExtraMouseButtonsEnabled() returns false if the proprty is set through the command line.
180.13 +import java.awt.*;
180.14 +
180.15 +public class SystemPropTest_3 {
180.16 +
180.17 + public static void main(String []s){
180.18 + boolean propValue = Boolean.parseBoolean(System.getProperty("sun.awt.enableExtraMouseButtons"));
180.19 + System.out.println("Test System.getProperty = " + System.getProperty("sun.awt.enableExtraMouseButtons"));
180.20 + System.out.println("System.getProperty = " + propValue);
180.21 + if (propValue){
180.22 + throw new RuntimeException("TEST FAILED : System property sun.awt.enableExtraMouseButtons = " + propValue);
180.23 + }
180.24 + if (Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled()){
180.25 + throw new RuntimeException("TEST FAILED : Toolkit.areExtraMouseButtonsEnabled() returns true");
180.26 + }
180.27 + System.out.println("Test passed.");
180.28 + }
180.29 +}
181.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
181.2 +++ b/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_4.java Wed Feb 18 10:05:41 2009 -0800
181.3 @@ -0,0 +1,42 @@
181.4 +/*
181.5 + @test %I% %E%
181.6 + @bug 6315717
181.7 + @summary verifies that system property sun.awt.enableExtraMouseButtons might be set to true by the System class API.
181.8 + @author Andrei Dmitriev : area=awt.mouse
181.9 + @run main SystemPropTest_4
181.10 + */
181.11 +//1)
181.12 +// - Use System.setProperty("sun.awt.enableExtraMouseButtons", "true")
181.13 +// - Verifies that System.getProperty("sun.awt.enableExtraMouseButtons") returns true
181.14 +// - Verifies that Toolkit.areExtraMouseButtonsEnabled() returns true.
181.15 +//2)
181.16 +// - Use System.setProperty("sun.awt.enableExtraMouseButtons", "false")
181.17 +// - Verifies that System.getProperty("sun.awt.enableExtraMouseButtons") returns false
181.18 +// - Verifies that Toolkit.areExtraMouseButtonsEnabled() returns true still.
181.19 +
181.20 +import java.awt.*;
181.21 +
181.22 +public class SystemPropTest_4 {
181.23 + public static void main(String []s){
181.24 + System.out.println("STAGE 1");
181.25 + System.setProperty("sun.awt.enableExtraMouseButtons", "true");
181.26 + boolean propValue = Boolean.parseBoolean(System.getProperty("sun.awt.enableExtraMouseButtons"));
181.27 + if (!propValue){
181.28 + throw new RuntimeException("TEST FAILED(1) : System property sun.awt.enableExtraMouseButtons = " + propValue);
181.29 + }
181.30 + if (!Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled()){
181.31 + throw new RuntimeException("TEST FAILED(1) : Toolkit.areExtraMouseButtonsEnabled() returns false");
181.32 + }
181.33 +
181.34 + System.out.println("STAGE 2");
181.35 + System.setProperty("sun.awt.enableExtraMouseButtons", "false");
181.36 + propValue = Boolean.parseBoolean(System.getProperty("sun.awt.enableExtraMouseButtons"));
181.37 + if (propValue){
181.38 + throw new RuntimeException("TEST FAILED(2) : System property sun.awt.enableExtraMouseButtons = " + propValue);
181.39 + }
181.40 + if (!Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled()){
181.41 + throw new RuntimeException("TEST FAILED(2) : Toolkit.areExtraMouseButtonsEnabled() returns false");
181.42 + }
181.43 + System.out.println("Test passed.");
181.44 + }
181.45 +}
182.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
182.2 +++ b/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_5.java Wed Feb 18 10:05:41 2009 -0800
182.3 @@ -0,0 +1,42 @@
182.4 +/*
182.5 + @test %I% %E%
182.6 + @bug 6315717
182.7 + @summary verifies that system property sun.awt.enableExtraMouseButtons might be set to false by the System class API.
182.8 + @author Andrei Dmitriev : area=awt.mouse
182.9 + @run main SystemPropTest_5
182.10 + */
182.11 +//1)
182.12 +// - Use System.setProperty("sun.awt.enableExtraMouseButtons", "false")
182.13 +// - Verifies that System.getProperty("sun.awt.enableExtraMouseButtons") returns false
182.14 +// - Verifies that Toolkit.areExtraMouseButtonsEnabled() returns false.
182.15 +//2)
182.16 +// - Use System.setProperty("sun.awt.enableExtraMouseButtons", "true")
182.17 +// - Verifies that System.getProperty("sun.awt.enableExtraMouseButtons") returns true
182.18 +// - Verifies that Toolkit.areExtraMouseButtonsEnabled() returns false still.
182.19 +
182.20 +import java.awt.*;
182.21 +
182.22 +public class SystemPropTest_5 {
182.23 + public static void main(String []s){
182.24 + System.out.println("STAGE 1");
182.25 + System.setProperty("sun.awt.enableExtraMouseButtons", "false");
182.26 + boolean propValue = Boolean.parseBoolean(System.getProperty("sun.awt.enableExtraMouseButtons"));
182.27 + if (propValue){
182.28 + throw new RuntimeException("TEST FAILED(1) : System property sun.awt.enableExtraMouseButtons = " + propValue);
182.29 + }
182.30 + if (Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled()){
182.31 + throw new RuntimeException("TEST FAILED(1) : Toolkit.areExtraMouseButtonsEnabled() returns true");
182.32 + }
182.33 +
182.34 + System.out.println("STAGE 2");
182.35 + System.setProperty("sun.awt.enableExtraMouseButtons", "true");
182.36 + propValue = Boolean.parseBoolean(System.getProperty("sun.awt.enableExtraMouseButtons"));
182.37 + if (!propValue){
182.38 + throw new RuntimeException("TEST FAILED(2) : System property sun.awt.enableExtraMouseButtons = " + propValue);
182.39 + }
182.40 + if (Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled()){
182.41 + throw new RuntimeException("TEST FAILED(2) : Toolkit.areExtraMouseButtonsEnabled() returns true");
182.42 + }
182.43 + System.out.println("Test passed.");
182.44 + }
182.45 +}
183.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
183.2 +++ b/test/java/awt/Toolkit/ToolkitPropertyTest/ToolkitPropertyTest_Disable.java Wed Feb 18 10:05:41 2009 -0800
183.3 @@ -0,0 +1,143 @@
183.4 +/*
183.5 + @test %I% %E%
183.6 + @bug 6315717
183.7 + @summary verifies that sun.awt.enableExtraMouseButtons = false consumes extra events
183.8 + @author Andrei Dmitriev : area=awt.mouse
183.9 + @run main/othervm -Dsun.awt.enableExtraMouseButtons=false ToolkitPropertyTest_Disable
183.10 + */
183.11 +
183.12 +import java.awt.*;
183.13 +import java.awt.event.*;
183.14 +
183.15 +// Testcase 1: set to FALSE and check
183.16 +// Testcase 2: set to FALSE and check that extra events are not coming
183.17 +// check that standard events are coming
183.18 +
183.19 +public class ToolkitPropertyTest_Disable extends Frame {
183.20 + static boolean propValue;
183.21 + static Robot robot;
183.22 + static int [] buttonsPressed;
183.23 + static int [] buttonsReleased;
183.24 + static int [] buttonsClicked;
183.25 +
183.26 + static boolean lessThenFourButtons;
183.27 +
183.28 + public static void main(String []s){
183.29 + propValue = Boolean.parseBoolean(System.getProperty("sun.awt.enableExtraMouseButtons"));
183.30 + buttonsPressed = new int [MouseInfo.getNumberOfButtons()];
183.31 + buttonsReleased = new int [MouseInfo.getNumberOfButtons()];
183.32 + buttonsClicked = new int [MouseInfo.getNumberOfButtons()];
183.33 +
183.34 + ToolkitPropertyTest_Disable frame = new ToolkitPropertyTest_Disable();
183.35 + frame.setSize(300, 300);
183.36 + frame.setVisible(true);
183.37 +
183.38 + MouseAdapter ma1 = new MouseAdapter() {
183.39 + public void mousePressed(MouseEvent e) {
183.40 + buttonsPressed[e.getButton() - 1] += 1;
183.41 + System.out.println("PRESSED "+e);
183.42 + }
183.43 + public void mouseReleased(MouseEvent e) {
183.44 + buttonsReleased[e.getButton() - 1] += 1;
183.45 + System.out.println("RELEASED "+e);
183.46 + }
183.47 + public void mouseClicked(MouseEvent e) {
183.48 + buttonsClicked[e.getButton() - 1] += 1;
183.49 + System.out.println("CLICKED "+e);
183.50 + }
183.51 + };
183.52 +
183.53 + try {
183.54 + robot = new Robot();
183.55 + robot.delay(1000);
183.56 + robot.mouseMove(frame.getLocationOnScreen().x + frame.getWidth()/2, frame.getLocationOnScreen().y + frame.getHeight()/2);
183.57 +
183.58 + System.out.println("Property = " + propValue);
183.59 + testCase0();
183.60 +
183.61 + testCase1();
183.62 + System.out.println("Number Of Buttons = "+ MouseInfo.getNumberOfButtons());
183.63 +
183.64 + lessThenFourButtons = (MouseInfo.getNumberOfButtons() <= 3);
183.65 + if ( !lessThenFourButtons ) {
183.66 + frame.addMouseListener(ma1);
183.67 + testCase2();
183.68 + }
183.69 + } catch (Exception e){
183.70 + e.printStackTrace();
183.71 +// throw new RuntimeException(e);
183.72 + } finally {
183.73 +// frame.removeMouseListener(ma1);
183.74 + }
183.75 + }
183.76 +
183.77 + public static void testCase0(){
183.78 + if (propValue){
183.79 + throw new RuntimeException("TEST FAILED (0): System property sun.awt.enableExtraMouseButtons = " + propValue);
183.80 + }
183.81 + }
183.82 +
183.83 + public static void testCase1(){
183.84 + if (Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled() == true){
183.85 + throw new RuntimeException("TEST FAILED (1): setting to FALSE. Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled() = " + Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled());
183.86 + }
183.87 + }
183.88 +
183.89 + public static void testCase2(){
183.90 + emptyArrays();
183.91 + int [] buttonMasks = new int[MouseInfo.getNumberOfButtons()]; // = InputEvent.getButtonDownMasks();
183.92 + for (int i = 0; i < MouseInfo.getNumberOfButtons(); i++){
183.93 + buttonMasks[i] = InputEvent.getMaskForButton(i+1);
183.94 + System.out.println("TEST: "+buttonMasks[i]);
183.95 + }
183.96 +
183.97 + for (int i = 0; i < MouseInfo.getNumberOfButtons(); i++){
183.98 + System.out.println("button to press = " +(i+1) + " : value passed to robot = " +buttonMasks[i]);
183.99 + try {
183.100 + robot.mousePress(buttonMasks[i]);
183.101 + robot.delay(70);
183.102 + robot.mouseRelease(buttonMasks[i]);
183.103 + robot.delay(200);
183.104 + //no exception is thrown
183.105 + if (i >= 3) {
183.106 + throw new RuntimeException("TESTCASE 2 FAILED : robot accepted the extra button " + (i+1) + " instead of throwing an exception.");
183.107 + }
183.108 + } catch (IllegalArgumentException e){
183.109 + if (i >= 3) {
183.110 + System.out.println("Passed: an exception caught for extra button.");
183.111 + } else {
183.112 + throw new RuntimeException("TESTCASE 2 FAILED : exception happen on standard button.", e);
183.113 + }
183.114 + }
183.115 + }
183.116 + robot.delay(2000);
183.117 + if (MouseInfo.getNumberOfButtons() < 3) {
183.118 + for (int i = 0; i < MouseInfo.getNumberOfButtons(); i++){
183.119 + if (buttonsPressed[i] != 1 || buttonsReleased[i] != 1 || buttonsClicked[i] !=1 ) {
183.120 + throw new RuntimeException("TESTCASE 2 FAILED : button " + (i+1) + " wasn't single pressed.");
183.121 + }
183.122 + }
183.123 + } else {
183.124 + for (int i = 0; i < 3; i++){
183.125 + if (buttonsPressed[i] != 1 || buttonsReleased[i] != 1 || buttonsClicked[i] !=1 ) {
183.126 + throw new RuntimeException("TESTCASE 2 FAILED : button " + (i+1) + " wasn't single pressed.");
183.127 + }
183.128 + }
183.129 +
183.130 + for (int i = 3; i < MouseInfo.getNumberOfButtons(); i++){
183.131 + if (buttonsPressed[i] != 0 || buttonsReleased[i] != 0 || buttonsClicked[i] != 0 ) {
183.132 + throw new RuntimeException("TESTCASE 2 FAILED : button " + (i+1) + " was pressed.");
183.133 + }
183.134 + }
183.135 + }
183.136 + }
183.137 +
183.138 + public static void emptyArrays(){
183.139 + for (int i = 0; i < MouseInfo.getNumberOfButtons(); i++){
183.140 + buttonsPressed[i] = 0;
183.141 + buttonsReleased[i] = 0;
183.142 + buttonsClicked[i] = 0;
183.143 + }
183.144 + }
183.145 +
183.146 +}
184.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
184.2 +++ b/test/java/awt/Toolkit/ToolkitPropertyTest/ToolkitPropertyTest_Enable.java Wed Feb 18 10:05:41 2009 -0800
184.3 @@ -0,0 +1,120 @@
184.4 +/*
184.5 + @test %I% %E%
184.6 + @bug 6315717
184.7 + @summary verifies that sun.awt.enableExtraMouseButtons is working
184.8 + @author Andrei Dmitriev : area=awt.mouse
184.9 + @run main/othervm -Dsun.awt.enableExtraMouseButtons=true ToolkitPropertyTest_Enable
184.10 + */
184.11 +
184.12 +import java.awt.*;
184.13 +import java.awt.event.*;
184.14 +
184.15 +// Testcase 1: set to TRUE (via jtreg option)
184.16 +// Testcase 2: set to TRUE and check that extra events are coming
184.17 +// check that standard events are coming
184.18 +
184.19 +public class ToolkitPropertyTest_Enable extends Frame {
184.20 + static boolean propValue;
184.21 + static Robot robot;
184.22 + static int [] buttonsPressed;
184.23 + static int [] buttonsReleased;
184.24 + static int [] buttonsClicked;
184.25 +
184.26 + public static void main(String []s){
184.27 + propValue = Boolean.parseBoolean(System.getProperty("sun.awt.enableExtraMouseButtons"));
184.28 + buttonsPressed = new int [MouseInfo.getNumberOfButtons()];
184.29 + buttonsReleased = new int [MouseInfo.getNumberOfButtons()];
184.30 + buttonsClicked = new int [MouseInfo.getNumberOfButtons()];
184.31 +
184.32 + ToolkitPropertyTest_Enable frame = new ToolkitPropertyTest_Enable();
184.33 + frame.setSize(300, 300);
184.34 + frame.setVisible(true);
184.35 +
184.36 + MouseAdapter ma1 = new MouseAdapter() {
184.37 + public void mousePressed(MouseEvent e) {
184.38 + buttonsPressed[e.getButton() - 1] += 1;
184.39 + System.out.println("PRESSED "+e);
184.40 + }
184.41 + public void mouseReleased(MouseEvent e) {
184.42 + buttonsReleased[e.getButton() - 1] += 1;
184.43 + System.out.println("RELEASED "+e);
184.44 + }
184.45 + public void mouseClicked(MouseEvent e) {
184.46 + buttonsClicked[e.getButton() - 1] += 1;
184.47 + System.out.println("CLICKED "+e);
184.48 + }
184.49 + };
184.50 + // frame.addMouseListener(ma1);
184.51 +
184.52 + try {
184.53 + robot = new Robot();
184.54 + robot.delay(1000);
184.55 + robot.mouseMove(frame.getLocationOnScreen().x + frame.getWidth()/2, frame.getLocationOnScreen().y + frame.getHeight()/2);
184.56 +
184.57 + System.out.println("Property = " + propValue);
184.58 + testCase0();
184.59 +
184.60 + testCase1();
184.61 + System.out.println("Number Of Buttons = "+ MouseInfo.getNumberOfButtons());
184.62 +
184.63 + boolean lessThenFourButtons = (MouseInfo.getNumberOfButtons() <= 3);
184.64 + if ( !lessThenFourButtons ) {
184.65 + frame.addMouseListener(ma1);
184.66 + testCase2();
184.67 + // testCase3();
184.68 + // testCase4();
184.69 + frame.removeMouseListener(ma1);
184.70 + }
184.71 + } catch (Exception e){
184.72 + e.printStackTrace();
184.73 + throw new RuntimeException(e);
184.74 + }
184.75 +
184.76 + }
184.77 +
184.78 + public static void testCase0(){
184.79 + if (!propValue){
184.80 + throw new RuntimeException("TEST FAILED (0) : System property sun.awt.enableExtraMouseButtons = " + propValue);
184.81 + }
184.82 + }
184.83 +
184.84 + public static void testCase1(){
184.85 + if (Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled() == false){
184.86 + throw new RuntimeException("TEST FAILED (1) : setting to TRUE. enabled = " + Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled());
184.87 + }
184.88 + }
184.89 +
184.90 + public static void testCase2(){
184.91 + emptyArrays();
184.92 + //we can't post a message from an unexistent button
184.93 + int [] buttonMasks = new int[MouseInfo.getNumberOfButtons()]; // = InputEvent.getButtonDownMasks();
184.94 + for (int i = 0; i < MouseInfo.getNumberOfButtons(); i++){
184.95 + buttonMasks[i] = InputEvent.getMaskForButton(i+1);
184.96 + System.out.println("TEST: "+buttonMasks[i]);
184.97 + }
184.98 +
184.99 + for (int i = 0; i < MouseInfo.getNumberOfButtons(); i++){
184.100 + System.out.println("button to press = " +(i+1) + " : value passed to robot = " +buttonMasks[i]);
184.101 + robot.mousePress(buttonMasks[i]);
184.102 + robot.delay(70);
184.103 + robot.mouseRelease(buttonMasks[i]);
184.104 + robot.delay(200);
184.105 + }
184.106 + robot.delay(1000);
184.107 +
184.108 + for (int i = 0; i < MouseInfo.getNumberOfButtons(); i++){
184.109 + if (buttonsPressed[i] != 1 || buttonsReleased[i] != 1 || buttonsClicked[i] !=1 ) {
184.110 + throw new RuntimeException("TESTCASE 2 FAILED : button " + (i+1) + " wasn't single pressed|released|clicked : "+ buttonsPressed[i] +" : "+ buttonsReleased[i] +" : "+ buttonsClicked[i]);
184.111 + }
184.112 + }
184.113 + }
184.114 +
184.115 + public static void emptyArrays(){
184.116 + for (int i = 0; i < MouseInfo.getNumberOfButtons(); i++){
184.117 + buttonsPressed[i] = 0;
184.118 + buttonsReleased[i] = 0;
184.119 + buttonsClicked[i] = 0;
184.120 + }
184.121 + }
184.122 +
184.123 +}
185.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
185.2 +++ b/test/java/awt/Window/OwnedWindowsLeak/OwnedWindowsLeak.java Wed Feb 18 10:05:41 2009 -0800
185.3 @@ -0,0 +1,104 @@
185.4 +/*
185.5 + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved.
185.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
185.7 + *
185.8 + * This code is free software; you can redistribute it and/or modify it
185.9 + * under the terms of the GNU General Public License version 2 only, as
185.10 + * published by the Free Software Foundation.
185.11 + *
185.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
185.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
185.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
185.15 + * version 2 for more details (a copy is included in the LICENSE file that
185.16 + * accompanied this code).
185.17 + *
185.18 + * You should have received a copy of the GNU General Public License version
185.19 + * 2 along with this work; if not, write to the Free Software Foundation,
185.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
185.21 + *
185.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
185.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
185.24 + * have any questions.
185.25 + */
185.26 +
185.27 +/*
185.28 + @test
185.29 + @bug 6758673
185.30 + @summary Tests that windows are removed from owner's child windows list
185.31 + @author art: area=awt.toplevel
185.32 + @run main OwnedWindowsLeak
185.33 +*/
185.34 +
185.35 +import java.awt.*;
185.36 +import java.awt.event.*;
185.37 +
185.38 +import java.lang.ref.*;
185.39 +import java.lang.reflect.*;
185.40 +
185.41 +import java.util.*;
185.42 +
185.43 +public class OwnedWindowsLeak
185.44 +{
185.45 + public static void main(String[] args)
185.46 + {
185.47 + Frame owner = new Frame("F");
185.48 +
185.49 + // First, create many windows
185.50 + Vector<WeakReference<Window>> children =
185.51 + new Vector<WeakReference<Window>>();
185.52 + for (int i = 0; i < 1000; i++)
185.53 + {
185.54 + Window child = new Window(owner);
185.55 + children.add(new WeakReference<Window>(child));
185.56 + }
185.57 +
185.58 + // Second, make sure all the memory is allocated
185.59 + Vector garbage = new Vector();
185.60 + while (true)
185.61 + {
185.62 + try
185.63 + {
185.64 + garbage.add(new byte[1000]);
185.65 + }
185.66 + catch (OutOfMemoryError e)
185.67 + {
185.68 + break;
185.69 + }
185.70 + }
185.71 +
185.72 + // Third, make sure all the weak references are null
185.73 + for (WeakReference<Window> ref : children)
185.74 + {
185.75 + if (ref.get() != null)
185.76 + {
185.77 + throw new RuntimeException("Test FAILED: some of child windows are not GCed");
185.78 + }
185.79 + }
185.80 +
185.81 + // Fourth, make sure owner's children list contains no elements
185.82 + try
185.83 + {
185.84 + Field f = Window.class.getDeclaredField("ownedWindowList");
185.85 + f.setAccessible(true);
185.86 + Vector ownersChildren = (Vector)f.get(owner);
185.87 + if (ownersChildren.size() > 0)
185.88 + {
185.89 + throw new RuntimeException("Test FAILED: some of the child windows are not removed from owner's children list");
185.90 + }
185.91 + }
185.92 + catch (NoSuchFieldException z)
185.93 + {
185.94 + System.out.println("Test PASSED: no 'ownedWindowList' field in Window class");
185.95 + return;
185.96 + }
185.97 + catch (Exception z)
185.98 + {
185.99 + throw new RuntimeException("Test FAILED: unexpected exception", z);
185.100 + }
185.101 +
185.102 + // Test passed
185.103 + System.out.println("Test PASSED");
185.104 +
185.105 + owner.dispose();
185.106 + }
185.107 +}
186.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
186.2 +++ b/test/java/awt/event/InputEvent/ButtonArraysEquality/ButtonArraysEquality.java Wed Feb 18 10:05:41 2009 -0800
186.3 @@ -0,0 +1,83 @@
186.4 +/*
186.5 + @test %I% %E%
186.6 + @bug 6315717
186.7 + @summary verifies that InputEvents button masks arrays are the same
186.8 + @author Andrei Dmitriev : area=awt.event
186.9 + @run main ButtonArraysEquality
186.10 + */
186.11 +
186.12 +import java.awt.*;
186.13 +import java.awt.event.*;
186.14 +import java.lang.reflect.*;
186.15 +import java.security.AccessController;
186.16 +import java.security.PrivilegedAction;
186.17 +
186.18 +// get array InputEvent.BUTTON_MASK via reflection
186.19 +// get array InputEvent.BUTTON_DOWN_MASK via reflection
186.20 +// compare their lengths and values
186.21 +
186.22 +public class ButtonArraysEquality {
186.23 + static int [] eventDownMask = new int []{InputEvent.BUTTON1_DOWN_MASK, InputEvent.BUTTON2_DOWN_MASK, InputEvent.BUTTON3_DOWN_MASK};
186.24 +
186.25 + public static void main(String []s){
186.26 + int [] buttonDownMasksAPI = new int [MouseInfo.getNumberOfButtons()];
186.27 + for (int i = 0; i < MouseInfo.getNumberOfButtons(); i++){
186.28 + buttonDownMasksAPI[i] = InputEvent.getMaskForButton(i+1);
186.29 + System.out.println("TEST: "+buttonDownMasksAPI[i]);
186.30 + }
186.31 +
186.32 + // getButtonDownMasks()
186.33 + Object obj = AccessController.doPrivileged(
186.34 + new PrivilegedAction() {
186.35 + public Object run() {
186.36 + try {
186.37 + Class clazz = Class.forName("java.awt.event.InputEvent");
186.38 + Method method = clazz.getDeclaredMethod("getButtonDownMasks",new Class [] {});
186.39 + if (method != null) {
186.40 + method.setAccessible(true);
186.41 + return method.invoke(null, (Object[])null);
186.42 + }
186.43 + }catch (Exception e){
186.44 + throw new RuntimeException("Test failed. Exception occured:", e);
186.45 + }
186.46 + return null;
186.47 + }
186.48 + });
186.49 +
186.50 + int [] buttonDownMasks = new int [Array.getLength(obj)];
186.51 + checkNullAndPutValuesToArray(buttonDownMasks, obj);
186.52 +
186.53 + //check lengths: array shouldn't contain less elements then the number of buttons on a mouse
186.54 + if (buttonDownMasks.length < buttonDownMasksAPI.length){
186.55 + throw new RuntimeException("Test failed. The lengths array is less then the number of buttons");
186.56 + }
186.57 +
186.58 + // verify values for first three buttons
186.59 + for (int i = 0; i < 3; i++) {
186.60 + if (eventDownMask[i] != buttonDownMasks[i])
186.61 + {
186.62 + System.out.println("Test : "+ i + " | " + " | " +eventDownMask[i] + " | "+ buttonDownMasks[i]);
186.63 + throw new RuntimeException("Failure: masks are not correct for standard buttons");
186.64 + }
186.65 + }
186.66 +
186.67 + // verify values for extra buttons if any
186.68 + for (int i = 3; i < MouseInfo.getNumberOfButtons(); i++) {
186.69 + if (buttonDownMasksAPI[i] != buttonDownMasks[i]) {
186.70 + throw new RuntimeException("Failure: masks are not the same for extra buttons");
186.71 + }
186.72 + }
186.73 + System.out.println("Test passed.");
186.74 + }
186.75 +
186.76 + public static void checkNullAndPutValuesToArray(int [] array, Object obj){
186.77 + if (obj == null){
186.78 + throw new RuntimeException("Test failed. The array obtained via reflection is "+obj);
186.79 + }
186.80 +
186.81 + for (int i = 0; i < Array.getLength(obj); i++){
186.82 + System.out.println("Test (Reflection): "+ Array.getInt(obj, i));
186.83 + array[i] = Array.getInt(obj, i);
186.84 + }
186.85 + }
186.86 +}
187.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
187.2 +++ b/test/java/awt/event/MouseEvent/AcceptExtraButton/AcceptExtraButton.java Wed Feb 18 10:05:41 2009 -0800
187.3 @@ -0,0 +1,53 @@
187.4 +/*
187.5 + @test %I% %E%
187.6 + @bug 6315717
187.7 + @summary verifies that MouseEvent CTOR accepts extra mouse button numbers
187.8 + @author Andrei Dmitriev : area=awt.event
187.9 + @run main AcceptExtraButton
187.10 + */
187.11 +
187.12 +//package acceptextrabutton;
187.13 +
187.14 +import java.awt.*;
187.15 +import java.awt.event.MouseEvent;
187.16 +import java.awt.event.MouseAdapter;
187.17 +
187.18 +public class AcceptExtraButton extends Frame {
187.19 + static int [] eventID = new int []{MouseEvent.MOUSE_PRESSED, MouseEvent.MOUSE_RELEASED, MouseEvent.MOUSE_CLICKED};
187.20 +
187.21 + public static void main(String []s){
187.22 + AcceptExtraButton f = new AcceptExtraButton();
187.23 + f.setSize(300, 300);
187.24 + f.setVisible(true);
187.25 +
187.26 + for (int buttonId = 0; buttonId<eventID.length; buttonId++) {
187.27 + for (int button = 0; button <= MouseInfo.getNumberOfButtons(); button++){
187.28 + System.out.println("button == "+button);
187.29 + MouseEvent me = new MouseEvent(f,
187.30 + eventID[buttonId],
187.31 + System.currentTimeMillis(),
187.32 + 0, //MouseEvent.BUTTON1_DOWN_MASK, modifiers
187.33 + 100, 100, // x, y
187.34 + 150, 150, // x, y on screen
187.35 + 1, //clickCount
187.36 + false, //popupTrigger
187.37 + button );// MouseEvent.NOBUTTON : button
187.38 +
187.39 + System.out.println("dispatching >>>"+me);
187.40 + f.dispatchEvent( ( AWTEvent )me );
187.41 + }
187.42 + }
187.43 + MouseAdapter ma1 = new MouseAdapter() {
187.44 + public void mousePressed(MouseEvent e) {
187.45 + System.out.println("PRESSED "+e);
187.46 + }
187.47 + public void mouseReleased(MouseEvent e) {
187.48 + System.out.println("RELEASED "+e);
187.49 + }
187.50 + public void mouseClicked(MouseEvent e) {
187.51 + System.out.println("CLICKED "+e);
187.52 + }
187.53 + };
187.54 + f.addMouseListener(ma1);
187.55 + }
187.56 +}
188.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
188.2 +++ b/test/java/awt/event/MouseEvent/CTORRestrictions/CTORRestrictions.java Wed Feb 18 10:05:41 2009 -0800
188.3 @@ -0,0 +1,89 @@
188.4 +/*
188.5 + test %I% %E%
188.6 + @bug 6315717
188.7 + @summary verifies that MouseEvent could be constructed correctly for mouse extra buttons in regard to sun.awt.enableExtraMouseButtons property
188.8 + @author Andrei Dmitriev : area=awt.event
188.9 + @run main CTORRestrictions
188.10 + */
188.11 +
188.12 +/*
188.13 + * verify that user can create the MouseEvent? with button1|2|3|4|5|... when property "sun.awt.enableExtraMouseButtons" is true by default
188.14 + */
188.15 +import java.awt.*;
188.16 +import java.awt.event.*;
188.17 +
188.18 +public class CTORRestrictions{
188.19 + static Frame frame = new Frame("MouseEvent Test Frame");
188.20 + static Point mousePosition;
188.21 + static Point mousePositionOnScreen;
188.22 +
188.23 + public static void main(String []s){
188.24 + Robot robot = null;
188.25 + try {
188.26 + robot = new Robot();
188.27 + } catch (AWTException ex) {
188.28 + throw new RuntimeException("Test Failed", ex);
188.29 + }
188.30 + frame.setSize (200,200);
188.31 + frame.setLocation (300, 400);
188.32 + frame.setVisible(true);
188.33 + robot.delay(1000);
188.34 + System.out.println("sun.awt.enableExtraMouseButtons = "+Toolkit.getDefaultToolkit().getDesktopProperty("sun.awt.enableExtraMouseButtons"));
188.35 + mousePosition = new Point(100, 100);
188.36 + mousePositionOnScreen = new Point(frame.getLocationOnScreen().x + mousePosition.x,
188.37 + frame.getLocationOnScreen().y + mousePosition.y);
188.38 +
188.39 + /*
188.40 + * On Linux the native system count a wheel (both directions) as two more buttons on a mouse.
188.41 + * So, MouseInfo.getNumberOfButtons() would report 5 buttons on a three-button mouse.
188.42 + * On Windows it would still report that MouseInfo.getNumberOfButtons() == 3.
188.43 + * We should handle XToolkit case and iterate through the buttons
188.44 + * up to (MouseInfo.getNumberOfButtons() - 2) value.
188.45 + */
188.46 + int numberOfButtons;
188.47 + if (Toolkit.getDefaultToolkit().getClass().getName().equals("sun.awt.windows.WToolkit")){
188.48 + numberOfButtons = MouseInfo.getNumberOfButtons();
188.49 + } else {
188.50 + numberOfButtons = MouseInfo.getNumberOfButtons() - 2;
188.51 + }
188.52 + System.out.println("Stage 1. Number of buttons = "+ numberOfButtons);
188.53 +
188.54 + for (int buttonId = 1; buttonId <= numberOfButtons; buttonId++){
188.55 + postMouseEventNewCtor(buttonId);
188.56 + }
188.57 +
188.58 + System.out.println("Stage 2. Number of buttons = "+ numberOfButtons);
188.59 + for (int buttonId = 1; buttonId <= numberOfButtons; buttonId++){
188.60 + postMouseEventOldCtor(buttonId);
188.61 + }
188.62 + System.out.println("Test passed.");
188.63 + }
188.64 +
188.65 + public static void postMouseEventNewCtor(int buttonId) {
188.66 + MouseEvent me = new MouseEvent(frame,
188.67 + MouseEvent.MOUSE_PRESSED,
188.68 + System.currentTimeMillis(),
188.69 + MouseEvent.BUTTON1_DOWN_MASK,
188.70 + mousePosition.x, mousePosition.y,
188.71 + mousePositionOnScreen.x,
188.72 + mousePositionOnScreen.y,
188.73 + 1,
188.74 + false, //popupTrigger
188.75 + buttonId //button
188.76 + );
188.77 + frame.dispatchEvent( ( AWTEvent )me );
188.78 + }
188.79 +
188.80 + public static void postMouseEventOldCtor(int buttonId) {
188.81 + MouseEvent meOld = new MouseEvent(frame,
188.82 + MouseEvent.MOUSE_PRESSED,
188.83 + System.currentTimeMillis(),
188.84 + MouseEvent.BUTTON1_DOWN_MASK,
188.85 + mousePosition.x, mousePosition.y,
188.86 + 1,
188.87 + false, //popupTrigger
188.88 + buttonId //button
188.89 + );
188.90 + frame.dispatchEvent( ( AWTEvent )meOld );
188.91 + }
188.92 +}
189.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
189.2 +++ b/test/java/awt/event/MouseEvent/CTORRestrictions/CTORRestrictions_Disable.java Wed Feb 18 10:05:41 2009 -0800
189.3 @@ -0,0 +1,101 @@
189.4 +/*
189.5 + test %I% %E%
189.6 + @bug 6315717
189.7 + @summary verifies that MouseEvent could be constructed correctly for mouse extra buttons in regard to sun.awt.enableExtraMouseButtons property
189.8 + @author Andrei Dmitriev : area=awt.event
189.9 + @run main/othervm -Dsun.awt.enableExtraMouseButtons=false CTORRestrictions_Disable
189.10 + */
189.11 +
189.12 +/*
189.13 + * verify that user can't create the MouseEvent? with button4|5|... when property "sun.awt.enableExtraMouseButtons"=false
189.14 + * verify that user can create the MouseEvent? with button1|2|3 when property "sun.awt.enableExtraMouseButtons"=false
189.15 + */
189.16 +
189.17 +import java.awt.*;
189.18 +import java.awt.event.*;
189.19 +
189.20 +public class CTORRestrictions_Disable {
189.21 + static Frame frame = new Frame("MouseEvent Test Frame");
189.22 + static Point mousePosition;
189.23 + static Point mousePositionOnScreen;
189.24 +
189.25 + public static void main(String []s){
189.26 + Robot robot = null;
189.27 + try {
189.28 + robot = new Robot();
189.29 + } catch (AWTException ex) {
189.30 + throw new RuntimeException("Test Failed", ex);
189.31 + }
189.32 + frame.setSize (200,200);
189.33 + frame.setLocation (300, 400);
189.34 + frame.setVisible(true);
189.35 + robot.delay(1000);
189.36 + System.out.println(Toolkit.getDefaultToolkit().getDesktopProperty("sun.awt.enableExtraMouseButtons"));
189.37 + mousePosition = new Point(100, 100);
189.38 + mousePositionOnScreen = new Point(frame.getLocationOnScreen().x + mousePosition.x,
189.39 + frame.getLocationOnScreen().y + mousePosition.y);
189.40 +
189.41 + System.out.println("Stage 1");
189.42 + for (int buttonId = 1; buttonId <= MouseInfo.getNumberOfButtons(); buttonId++){
189.43 + try {
189.44 + postMouseEventNewCtor(buttonId);
189.45 + if (buttonId > 3) {
189.46 + throw new RuntimeException("Stage 1 FAILED: MouseEvent CTOR accepted the extra button " + (buttonId+1) + " instead of throwing an exception.");
189.47 + }
189.48 + } catch (IllegalArgumentException e){
189.49 + if (buttonId > 3) {
189.50 + System.out.println("Passed: an exception caught for extra button.");
189.51 + } else {
189.52 + throw new RuntimeException("Stage 1 FAILED : exception happen on standard button.", e);
189.53 + }
189.54 + }
189.55 + }
189.56 +
189.57 + System.out.println("Stage 2");
189.58 + for (int buttonId = 1; buttonId <= MouseInfo.getNumberOfButtons(); buttonId++){
189.59 + try {
189.60 + postMouseEventOldCtor(buttonId);
189.61 + if (buttonId > 3) {
189.62 + throw new RuntimeException("Stage 2 FAILED: MouseEvent CTOR accepted the extra button " + (buttonId+1) + " instead of throwing an exception.");
189.63 + }
189.64 + } catch (IllegalArgumentException e){
189.65 + if (buttonId > 3) {
189.66 + System.out.println("Passed: an exception caught for extra button.");
189.67 + } else {
189.68 + throw new RuntimeException("Stage 2 FAILED : exception happen on standard button.", e);
189.69 + }
189.70 + }
189.71 + }
189.72 + System.out.println("Test passed.");
189.73 + }
189.74 +
189.75 + public static void postMouseEventNewCtor(int buttonId) {
189.76 + MouseEvent me = new MouseEvent(frame,
189.77 + MouseEvent.MOUSE_PRESSED,
189.78 + System.currentTimeMillis(),
189.79 + MouseEvent.BUTTON1_DOWN_MASK,
189.80 + mousePosition.x, mousePosition.y,
189.81 + mousePositionOnScreen.x,
189.82 + mousePositionOnScreen.y,
189.83 + 1,
189.84 + false, //popupTrigger
189.85 + buttonId //button
189.86 + );
189.87 + frame.dispatchEvent( ( AWTEvent )me );
189.88 + }
189.89 +
189.90 + public static void postMouseEventOldCtor(int buttonId) {
189.91 + MouseEvent meOld = new MouseEvent(frame,
189.92 + MouseEvent.MOUSE_PRESSED,
189.93 + System.currentTimeMillis(),
189.94 + MouseEvent.BUTTON1_DOWN_MASK,
189.95 + mousePosition.x, mousePosition.y,
189.96 + 1,
189.97 + false, //popupTrigger
189.98 + buttonId //button
189.99 + );
189.100 + frame.dispatchEvent( ( AWTEvent )meOld );
189.101 + }
189.102 +}
189.103 +
189.104 +
190.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
190.2 +++ b/test/java/awt/event/MouseEvent/CheckGetMaskForButton/CheckGetMaskForButton.java Wed Feb 18 10:05:41 2009 -0800
190.3 @@ -0,0 +1,65 @@
190.4 +/*
190.5 + @test %I% %E%
190.6 + @bug 6315717
190.7 + @summary verifies that InputEvent.getMaskForButton() returns the same values as in InputEvent.BUTTON_DOWN_MASK
190.8 + @author Andrei Dmitriev : area=awt.event
190.9 + @run main CheckGetMaskForButton
190.10 +*/
190.11 +
190.12 +import java.awt.*;
190.13 +import java.awt.event.InputEvent;
190.14 +import java.lang.reflect.*;
190.15 +import java.security.AccessController;
190.16 +import java.security.PrivilegedAction;
190.17 +
190.18 +public class CheckGetMaskForButton{
190.19 + static Robot robot;
190.20 +
190.21 + public static void main(String []s){
190.22 + System.out.println("Number Of Buttons = "+ MouseInfo.getNumberOfButtons());
190.23 + CheckGetMaskForButton f = new CheckGetMaskForButton();
190.24 + int [] buttonMasksViaAPI = new int[MouseInfo.getNumberOfButtons()];
190.25 + for (int i = 0; i < MouseInfo.getNumberOfButtons(); i++){
190.26 + buttonMasksViaAPI[i] = InputEvent.getMaskForButton(i+1);
190.27 + System.out.println("Test (API): "+ buttonMasksViaAPI[i]);
190.28 + }
190.29 +
190.30 + //get same array via reflection
190.31 + Object obj = AccessController.doPrivileged(
190.32 + new PrivilegedAction() {
190.33 + public Object run() {
190.34 + try {
190.35 + Class clazz = Class.forName("java.awt.event.InputEvent");
190.36 + Method method = clazz.getDeclaredMethod("getButtonDownMasks",new Class [] {});
190.37 + if (method != null) {
190.38 + method.setAccessible(true);
190.39 + return method.invoke(null, (Object[])null);
190.40 + }
190.41 + }catch (Exception e){
190.42 + throw new RuntimeException("Test failed. Exception occured:", e);
190.43 + }
190.44 + return null;
190.45 + }
190.46 + });
190.47 +
190.48 + if (obj == null){
190.49 + throw new RuntimeException("Test failed. The value obtained via reflection is "+obj);
190.50 + }
190.51 +
190.52 + int [] buttonDownMasksViaReflection = new int [Array.getLength(obj)];
190.53 + //check that length of API array greater or equals then Reflect array.
190.54 + if (Array.getLength(obj) < buttonMasksViaAPI.length){
190.55 + throw new RuntimeException("Test failed. The length of API array greater or equals then the length of Reflect array.");
190.56 + }
190.57 +
190.58 + //Check that the values obtained via reflection from InputEvent.BUTTON_DOWN_MASK are the
190.59 + // same as for standard API.
190.60 + for (int i = 0; i < MouseInfo.getNumberOfButtons(); i++){
190.61 + System.out.println("Test (Reflection): "+ Array.getInt(obj, i));
190.62 + if (buttonMasksViaAPI[i] != Array.getInt(obj, i)){
190.63 + throw new RuntimeException("Test failed. Values of InputEvent array are different for API and Reflection invocations");
190.64 + }
190.65 + }
190.66 + System.out.println("Test passed.");
190.67 + }
190.68 +}