# HG changeset patch # User art # Date 1234361226 -10800 # Node ID 597df8e1d7860fe91ffb25c3ccd1479296f6e8aa # Parent 8b981ce05cd09764bfe1977e5dcdb9e6ef75f735 6633275: Need to support shaped/translucent windows Summary: forward-port from 6u14, no public API is introduced Reviewed-by: anthony, dcherepanov diff -r 8b981ce05cd0 -r 597df8e1d786 jdk/make/sun/awt/FILES_c_windows.gmk --- a/jdk/make/sun/awt/FILES_c_windows.gmk Wed Feb 04 11:58:13 2009 +0300 +++ b/jdk/make/sun/awt/FILES_c_windows.gmk Wed Feb 11 17:07:06 2009 +0300 @@ -1,5 +1,5 @@ # -# Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. +# Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -104,7 +104,8 @@ OGLVertexCache.c \ WGLGraphicsConfig.c \ WGLSurfaceData.c \ - AccelGlyphCache.c + AccelGlyphCache.c \ + rect.c FILES_cpp = \ CmdIDList.cpp \ diff -r 8b981ce05cd0 -r 597df8e1d786 jdk/make/sun/awt/Makefile --- a/jdk/make/sun/awt/Makefile Wed Feb 04 11:58:13 2009 +0300 +++ b/jdk/make/sun/awt/Makefile Wed Feb 11 17:07:06 2009 +0300 @@ -1,5 +1,5 @@ # -# Copyright 1995-2008 Sun Microsystems, Inc. All Rights Reserved. +# Copyright 1995-2009 Sun Microsystems, Inc. All Rights Reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -219,6 +219,7 @@ vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/shell vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/medialib vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/debug +vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/utility vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../java2d vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../java2d/loops vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../java2d/pipe diff -r 8b981ce05cd0 -r 597df8e1d786 jdk/make/sun/awt/make.depend --- a/jdk/make/sun/awt/make.depend Wed Feb 04 11:58:13 2009 +0300 +++ b/jdk/make/sun/awt/make.depend Wed Feb 11 17:07:06 2009 +0300 @@ -16,7 +16,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_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 -$(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 +$(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/awt/utility/rect.h $(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 @@ -32,7 +32,7 @@ $(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 -$(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 +$(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 ../../../src/windows/native/sun/awt/utility/rect.h $(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 @@ -144,9 +144,9 @@ $(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 -$(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 +$(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/awt/utility/rect.h ../../../src/windows/native/sun/java2d/j2d_md.h -$(OBJDIR)/BlitBg.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_BlitBg.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h +$(OBJDIR)/BlitBg.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_BlitBg.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/awt/utility/rect.h ../../../src/windows/native/sun/java2d/j2d_md.h $(OBJDIR)/BufferedMaskBlit.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedMaskBlit.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedOpCodes.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntBgr.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h @@ -240,11 +240,11 @@ $(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 -$(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 +$(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/awt/utility/rect.h ../../../src/windows/native/sun/windows/stdhdrs.h $(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 -$(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 +$(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/awt/utility/rect.h ../../../src/windows/native/sun/java2d/j2d_md.h $(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 @@ -272,7 +272,7 @@ $(OBJDIR)/IntRgbx.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyInt.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/IntRgbx.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h -$(OBJDIR)/MaskBlit.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_MaskBlit.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h +$(OBJDIR)/MaskBlit.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_MaskBlit.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/awt/utility/rect.h $(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 @@ -284,7 +284,7 @@ $(OBJDIR)/OGLBufImgOps.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/OGLBufImgOps.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h -$(OBJDIR)/OGLContext.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h +$(OBJDIR)/OGLContext.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h ../../../src/windows/native/sun/awt/utility/rect.h $(OBJDIR)/OGLFuncs.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h @@ -306,11 +306,11 @@ $(OBJDIR)/ProcessPath.obj:: $(CLASSHDRDIR)/java_awt_geom_PathIterator.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/loops/ProcessPath.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h -$(OBJDIR)/Region.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/pipe/Region.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/jlong_md.h +$(OBJDIR)/Region.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/pipe/Region.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/awt/utility/rect.h $(OBJDIR)/RenderBuffer.obj:: $(CLASSHDRDIR)/sun_java2d_pipe_RenderBuffer.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 -$(OBJDIR)/ScaledBlit.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_ScaledBlit.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 +$(OBJDIR)/ScaledBlit.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_ScaledBlit.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 ../../../src/windows/native/sun/awt/utility/rect.h $(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 @@ -326,7 +326,7 @@ $(OBJDIR)/Trace.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h -$(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 +$(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 ../../../src/windows/native/sun/awt/utility/rect.h $(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 diff -r 8b981ce05cd0 -r 597df8e1d786 jdk/make/sun/awt/mapfile-mawt-vers --- a/jdk/make/sun/awt/mapfile-mawt-vers Wed Feb 04 11:58:13 2009 +0300 +++ b/jdk/make/sun/awt/mapfile-mawt-vers Wed Feb 11 17:07:06 2009 +0300 @@ -291,6 +291,7 @@ Java_sun_awt_X11GraphicsConfig_createBackBuffer; Java_sun_awt_X11GraphicsConfig_destroyBackBuffer; Java_sun_awt_X11GraphicsConfig_swapBuffers; + Java_sun_awt_X11GraphicsConfig_isTranslucencyCapable; Java_sun_awt_X11GraphicsDevice_isDBESupported; Java_sun_awt_X11GraphicsDevice_getDisplay; Java_sun_awt_X11GraphicsDevice_getDoubleBufferVisuals; diff -r 8b981ce05cd0 -r 597df8e1d786 jdk/make/sun/awt/mapfile-vers-linux --- a/jdk/make/sun/awt/mapfile-vers-linux Wed Feb 04 11:58:13 2009 +0300 +++ b/jdk/make/sun/awt/mapfile-vers-linux Wed Feb 11 17:07:06 2009 +0300 @@ -407,6 +407,7 @@ Java_sun_awt_X11GraphicsConfig_getNumColors; Java_sun_awt_X11GraphicsConfig_getXResolution; Java_sun_awt_X11GraphicsConfig_getYResolution; + Java_sun_awt_X11GraphicsConfig_isTranslucencyCapable; Java_sun_awt_X11GraphicsDevice_isDBESupported; Java_sun_awt_X11GraphicsDevice_getDisplay; Java_sun_awt_X11GraphicsDevice_getDoubleBufferVisuals; diff -r 8b981ce05cd0 -r 597df8e1d786 jdk/make/sun/xawt/mapfile-vers --- a/jdk/make/sun/xawt/mapfile-vers Wed Feb 04 11:58:13 2009 +0300 +++ b/jdk/make/sun/xawt/mapfile-vers Wed Feb 11 17:07:06 2009 +0300 @@ -217,6 +217,7 @@ Java_sun_awt_X11GraphicsConfig_createBackBuffer; Java_sun_awt_X11GraphicsConfig_destroyBackBuffer; Java_sun_awt_X11GraphicsConfig_swapBuffers; + Java_sun_awt_X11GraphicsConfig_isTranslucencyCapable; Java_java_awt_Insets_initIDs; Java_java_awt_KeyboardFocusManager_initIDs; Java_java_awt_Font_initIDs; diff -r 8b981ce05cd0 -r 597df8e1d786 jdk/src/share/classes/com/sun/awt/AWTUtilities.java --- a/jdk/src/share/classes/com/sun/awt/AWTUtilities.java Wed Feb 04 11:58:13 2009 +0300 +++ b/jdk/src/share/classes/com/sun/awt/AWTUtilities.java Wed Feb 11 17:07:06 2009 +0300 @@ -1,5 +1,5 @@ /* - * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -26,17 +26,37 @@ package com.sun.awt; import java.awt.*; + import sun.awt.AWTAccessor; - +import sun.awt.SunToolkit; /** * A collection of utility methods for AWT. * * The functionality provided by the static methods of the class includes: *
+ * A "top-level window" is an instance of the {@code Window} class (or its + * descendant, such as {@code JFrame}). + *
+ * Some of the mentioned features may not be supported by the native platform. + * To determine whether a particular feature is supported, the user must use + * the {@code isTranslucencySupported()} method of the class passing a desired + * translucency kind (a member of the {@code Translucency} enum) as an + * argument. + *
+ * The per-pixel alpha feature also requires the user to create her/his + * windows using a translucency-capable graphics configuration. + * The {@code isTranslucencyCapable()} method must + * be used to verify whether any given GraphicsConfiguration supports + * the trasnlcency effects. + *
* WARNING: This class is an implementation detail and only meant * for limited use outside of the core platform. This API may change * drastically between update release, and it may even be @@ -50,6 +70,344 @@ private AWTUtilities() { } + /** Kinds of translucency supported by the underlying system. + * @see #isTranslucencySupported + */ + public static enum Translucency { + /** + * Represents support in the underlying system for windows each pixel + * of which is guaranteed to be either completely opaque, with + * an alpha value of 1.0, or completely transparent, with an alpha + * value of 0.0. + */ + PERPIXEL_TRANSPARENT, + + /** + * Represents support in the underlying system for windows all of + * the pixels of which have the same alpha value between or including + * 0.0 and 1.0. + */ + TRANSLUCENT, + + /** + * Represents support in the underlying system for windows that + * contain or might contain pixels with arbitrary alpha values + * between and including 0.0 and 1.0. + */ + PERPIXEL_TRANSLUCENT; + } + + + /** + * Returns whether the given level of translucency is supported by + * the underlying system. + * + * Note that this method may sometimes return the value + * indicating that the particular level is supported, but + * the native windowing system may still not support the + * given level of translucency (due to the bugs in + * the windowing system). + * + * @param translucencyKind a kind of translucency support + * (either PERPIXEL_TRANSPARENT, + * TRANSLUCENT, or PERPIXEL_TRANSLUCENT) + * @return whether the given translucency kind is supported + */ + public static boolean isTranslucencySupported(Translucency translucencyKind) { + switch (translucencyKind) { + case PERPIXEL_TRANSPARENT: + return isWindowShapingSupported(); + case TRANSLUCENT: + return isWindowOpacitySupported(); + case PERPIXEL_TRANSLUCENT: + return isWindowTranslucencySupported(); + } + return false; + } + + + /** + * Returns whether the windowing system supports changing the opacity + * value of top-level windows. + * Note that this method may sometimes return true, but the native + * windowing system may still not support the concept of + * translucency (due to the bugs in the windowing system). + */ + private static boolean isWindowOpacitySupported() { + Toolkit curToolkit = Toolkit.getDefaultToolkit(); + if (!(curToolkit instanceof SunToolkit)) { + return false; + } + return ((SunToolkit)curToolkit).isWindowOpacitySupported(); + } + + /** + * Set the opacity of the window. The opacity is at the range [0..1]. + * Note that setting the opacity level of 0 may or may not disable + * the mouse event handling on this window. This is + * a platform-dependent behavior. + * + * In order for this method to enable the translucency effect, + * the isTranslucencySupported() method should indicate that the + * TRANSLUCENT level of translucency is supported. + * + *
Also note that the window must not be in the full-screen mode + * when setting the opacity value < 1.0f. Otherwise + * the IllegalArgumentException is thrown. + * + * @param window the window to set the opacity level to + * @param opacity the opacity level to set to the window + * @throws NullPointerException if the window argument is null + * @throws IllegalArgumentException if the opacity is out of + * the range [0..1] + * @throws IllegalArgumentException if the window is in full screen mode, + * and the opacity is less than 1.0f + * @throws UnsupportedOperationException if the TRANSLUCENT translucency + * kind is not supported + */ + public static void setWindowOpacity(Window window, float opacity) { + if (window == null) { + throw new NullPointerException( + "The window argument should not be null."); + } + + AWTAccessor.getWindowAccessor().setOpacity(window, opacity); + } + + /** + * Get the opacity of the window. If the opacity has not + * yet being set, this method returns 1.0. + * + * @param window the window to get the opacity level from + * @throws NullPointerException if the window argument is null + */ + public static float getWindowOpacity(Window window) { + if (window == null) { + throw new NullPointerException( + "The window argument should not be null."); + } + + return AWTAccessor.getWindowAccessor().getOpacity(window); + } + + /** + * Returns whether the windowing system supports changing the shape + * of top-level windows. + * Note that this method may sometimes return true, but the native + * windowing system may still not support the concept of + * shaping (due to the bugs in the windowing system). + */ + public static boolean isWindowShapingSupported() { + Toolkit curToolkit = Toolkit.getDefaultToolkit(); + if (!(curToolkit instanceof SunToolkit)) { + return false; + } + return ((SunToolkit)curToolkit).isWindowShapingSupported(); + } + + /** + * Returns an object that implements the Shape interface and represents + * the shape previously set with the call to the setWindowShape() method. + * If no shape has been set yet, or the shape has been reset to null, + * this method returns null. + * + * @param window the window to get the shape from + * @return the current shape of the window + * @throws NullPointerException if the window argument is null + */ + public static Shape getWindowShape(Window window) { + if (window == null) { + throw new NullPointerException( + "The window argument should not be null."); + } + return AWTAccessor.getWindowAccessor().getShape(window); + } + + /** + * Sets a shape for the given window. + * If the shape argument is null, this methods restores + * the default shape making the window rectangular. + *
Note that in order to set a shape, the window must be undecorated. + * If the window is decorated, this method ignores the {@code shape} + * argument and resets the shape to null. + *
Also note that the window must not be in the full-screen mode + * when setting a non-null shape. Otherwise the IllegalArgumentException + * is thrown. + *
Depending on the platform, the method may return without + * effecting the shape of the window if the window has a non-null warning + * string ({@link Window#getWarningString()}). In this case the passed + * shape object is ignored. + * + * @param window the window to set the shape to + * @param shape the shape to set to the window + * @throws NullPointerException if the window argument is null + * @throws IllegalArgumentException if the window is in full screen mode, + * and the shape is not null + * @throws UnsupportedOperationException if the PERPIXEL_TRANSPARENT + * translucency kind is not supported + */ + public static void setWindowShape(Window window, Shape shape) { + if (window == null) { + throw new NullPointerException( + "The window argument should not be null."); + } + AWTAccessor.getWindowAccessor().setShape(window, shape); + } + + private static boolean isWindowTranslucencySupported() { + /* + * Per-pixel alpha is supported if all the conditions are TRUE: + * 1. The toolkit is a sort of SunToolkit + * 2. The toolkit supports translucency in general + * (isWindowTranslucencySupported()) + * 3. There's at least one translucency-capable + * GraphicsConfiguration + */ + + Toolkit curToolkit = Toolkit.getDefaultToolkit(); + if (!(curToolkit instanceof SunToolkit)) { + return false; + } + + if (!((SunToolkit)curToolkit).isWindowTranslucencySupported()) { + return false; + } + + GraphicsEnvironment env = + GraphicsEnvironment.getLocalGraphicsEnvironment(); + + // If the default GC supports translucency return true. + // It is important to optimize the verification this way, + // see CR 6661196 for more details. + if (isTranslucencyCapable(env.getDefaultScreenDevice() + .getDefaultConfiguration())) + { + return true; + } + + // ... otherwise iterate through all the GCs. + GraphicsDevice[] devices = env.getScreenDevices(); + + for (int i = 0; i < devices.length; i++) { + GraphicsConfiguration[] configs = devices[i].getConfigurations(); + for (int j = 0; j < configs.length; j++) { + if (isTranslucencyCapable(configs[j])) { + return true; + } + } + } + + return false; + } + + /** + * Enables the per-pixel alpha support for the given window. + * Once the window becomes non-opaque (the isOpaque is set to false), + * the drawing sub-system is starting to respect the alpha value of each + * separate pixel. If a pixel gets painted with alpha color component + * equal to zero, it becomes visually transparent, if the alpha of the + * pixel is equal to 255, the pixel is fully opaque. Interim values + * of the alpha color component make the pixel semi-transparent (i.e. + * translucent). + *
Note that in order for the window to support the per-pixel alpha + * mode, the window must be created using the GraphicsConfiguration + * for which the {@link #isTranslucencyCapable} + * method returns true. + *
Also note that some native systems enable the per-pixel translucency + * mode for any window created using the translucency-compatible + * graphics configuration. However, it is highly recommended to always + * invoke the setWindowOpaque() method for these windows, at least for + * the sake of cross-platform compatibility reasons. + *
Also note that the window must not be in the full-screen mode + * when making it non-opaque. Otherwise the IllegalArgumentException + * is thrown. + *
If the window is a {@code Frame} or a {@code Dialog}, the window must + * be undecorated prior to enabling the per-pixel translucency effect (see + * {@link Frame#setUndecorated()} and/or {@link Dialog#setUndecorated()}). + * If the window becomes decorated through a subsequent call to the + * corresponding {@code setUndecorated()} method, the per-pixel + * translucency effect will be disabled and the opaque property reset to + * {@code true}. + *
Depending on the platform, the method may return without + * effecting the opaque property of the window if the window has a non-null + * warning string ({@link Window#getWarningString()}). In this case + * the passed 'isOpaque' value is ignored. + * + * @param window the window to set the shape to + * @param isOpaque whether the window must be opaque (true), + * or translucent (false) + * @throws NullPointerException if the window argument is null + * @throws IllegalArgumentException if the window uses + * a GraphicsConfiguration for which the + * {@code isTranslucencyCapable()} + * method returns false + * @throws IllegalArgumentException if the window is in full screen mode, + * and the isOpaque is false + * @throws IllegalArgumentException if the window is decorated and the + * isOpaque argument is {@code false}. + * @throws UnsupportedOperationException if the PERPIXEL_TRANSLUCENT + * translucency kind is not supported + */ + public static void setWindowOpaque(Window window, boolean isOpaque) { + if (window == null) { + throw new NullPointerException( + "The window argument should not be null."); + } + if (!isOpaque && !isTranslucencySupported(Translucency.PERPIXEL_TRANSLUCENT)) { + throw new UnsupportedOperationException( + "The PERPIXEL_TRANSLUCENT translucency kind is not supported"); + } + AWTAccessor.getWindowAccessor().setOpaque(window, isOpaque); + } + + /** + * Returns whether the window is opaque or translucent. + * + * @param window the window to set the shape to + * @return whether the window is currently opaque (true) + * or translucent (false) + * @throws NullPointerException if the window argument is null + */ + public static boolean isWindowOpaque(Window window) { + if (window == null) { + throw new NullPointerException( + "The window argument should not be null."); + } + + return AWTAccessor.getWindowAccessor().isOpaque(window); + } + + /** + * Verifies whether a given GraphicsConfiguration supports + * the PERPIXEL_TRANSLUCENT kind of translucency. + * All windows that are intended to be used with the {@link #setWindowOpaque} + * method must be created using a GraphicsConfiguration for which this method + * returns true. + *
Note that some native systems enable the per-pixel translucency
+ * mode for any window created using a translucency-capable
+ * graphics configuration. However, it is highly recommended to always
+ * invoke the setWindowOpaque() method for these windows, at least
+ * for the sake of cross-platform compatibility reasons.
+ *
+ * @param gc GraphicsConfiguration
+ * @throws NullPointerException if the gc argument is null
+ * @return whether the given GraphicsConfiguration supports
+ * the translucency effects.
+ */
+ public static boolean isTranslucencyCapable(GraphicsConfiguration gc) {
+ if (gc == null) {
+ throw new NullPointerException("The gc argument should not be null");
+ }
+ /*
+ return gc.isTranslucencyCapable();
+ */
+ Toolkit curToolkit = Toolkit.getDefaultToolkit();
+ if (!(curToolkit instanceof SunToolkit)) {
+ return false;
+ }
+ return ((SunToolkit)curToolkit).isTranslucencyCapable(gc);
+ }
+
/**
* Sets a 'mixing-cutout' shape for the given component.
*
diff -r 8b981ce05cd0 -r 597df8e1d786 jdk/src/share/classes/java/awt/Component.java
--- a/jdk/src/share/classes/java/awt/Component.java Wed Feb 04 11:58:13 2009 +0300
+++ b/jdk/src/share/classes/java/awt/Component.java Wed Feb 11 17:07:06 2009 +0300
@@ -1,5 +1,5 @@
/*
- * Copyright 1995-2008 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1995-2009 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -799,8 +799,24 @@
}
}
+ // Whether this Component has had the background erase flag
+ // specified via SunToolkit.disableBackgroundErase(). This is
+ // needed in order to make this function work on X11 platforms,
+ // where currently there is no chance to interpose on the creation
+ // of the peer and therefore the call to XSetBackground.
+ transient boolean backgroundEraseDisabled;
+
static {
AWTAccessor.setComponentAccessor(new AWTAccessor.ComponentAccessor() {
+ public void setBackgroundEraseDisabled(Component comp, boolean disabled) {
+ comp.backgroundEraseDisabled = disabled;
+ }
+ public boolean getBackgroundEraseDisabled(Component comp) {
+ return comp.backgroundEraseDisabled;
+ }
+ public Rectangle getBounds(Component comp) {
+ return new Rectangle(comp.x, comp.y, comp.width, comp.height);
+ }
public void setMixingCutoutShape(Component comp, Shape shape) {
Region region = shape == null ? null :
Region.getInstance(shape, null);
@@ -7456,7 +7472,7 @@
// sometimes most recent focus owner may be null, but focus owner is not
// e.g. we reset most recent focus owner if user removes focus owner
focusOwner = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner();
- if (focusOwner != null && getContainingWindow(focusOwner) != window) {
+ if (focusOwner != null && focusOwner.getContainingWindow() != window) {
focusOwner = null;
}
}
@@ -8689,30 +8705,8 @@
* null, if component is not a part of window hierarchy
*/
Window getContainingWindow() {
- return getContainingWindow(this);
- }
- /**
- * Returns the Window
ancestor of the component comp
.
- * @return Window ancestor of the component or component by itself if it is Window;
- * null, if component is not a part of window hierarchy
- */
- static Window getContainingWindow(Component comp) {
- while (comp != null && !(comp instanceof Window)) {
- comp = comp.getParent();
- }
-
- return (Window)comp;
- }
-
-
-
-
-
-
-
-
-
-
+ return SunToolkit.getContainingWindow(this);
+ }
/**
* Initialize JNI field and method IDs
@@ -9827,4 +9821,29 @@
}
// ****************** END OF MIXING CODE ********************************
+
+ private static boolean doesClassImplement(Class cls, String interfaceName) {
+ if (cls == null) return false;
+
+ for (Class c : cls.getInterfaces()) {
+ if (c.getName().equals(interfaceName)) {
+ return true;
+ }
+ }
+ return doesClassImplement(cls.getSuperclass(), interfaceName);
+ }
+
+ /**
+ * Checks that the given object implements the given interface.
+ * @param obj Object to be checked
+ * @param interfaceName The name of the interface. Must be fully-qualified interface name.
+ * @return true, if this object implements the given interface,
+ * false, otherwise, or if obj or interfaceName is null
+ */
+ static boolean doesImplement(Object obj, String interfaceName) {
+ if (obj == null) return false;
+ if (interfaceName == null) return false;
+
+ return doesClassImplement(obj.getClass(), interfaceName);
+ }
}
diff -r 8b981ce05cd0 -r 597df8e1d786 jdk/src/share/classes/java/awt/Container.java
--- a/jdk/src/share/classes/java/awt/Container.java Wed Feb 04 11:58:13 2009 +0300
+++ b/jdk/src/share/classes/java/awt/Container.java Wed Feb 11 17:07:06 2009 +0300
@@ -1,5 +1,5 @@
/*
- * Copyright 1995-2008 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1995-2009 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -167,6 +167,9 @@
transient int listeningBoundsChildren;
transient int descendantsCount;
+ /* Non-opaque window support -- see Window.setLayersOpaque */
+ transient Color preserveBackgroundColor = null;
+
/**
* JDK 1.1 serialVersionUID
*/
diff -r 8b981ce05cd0 -r 597df8e1d786 jdk/src/share/classes/java/awt/DefaultKeyboardFocusManager.java
--- a/jdk/src/share/classes/java/awt/DefaultKeyboardFocusManager.java Wed Feb 04 11:58:13 2009 +0300
+++ b/jdk/src/share/classes/java/awt/DefaultKeyboardFocusManager.java Wed Feb 11 17:07:06 2009 +0300
@@ -479,7 +479,7 @@
// that a Component outside of the focused Window receives a
// FOCUS_GAINED event. We synthesize a WINDOW_GAINED_FOCUS
// event in that case.
- final Window newFocusedWindow = Component.getContainingWindow(newFocusOwner);
+ final Window newFocusedWindow = SunToolkit.getContainingWindow(newFocusOwner);
final Window currentFocusedWindow = getGlobalFocusedWindow();
if (newFocusedWindow != null &&
newFocusedWindow != currentFocusedWindow)
diff -r 8b981ce05cd0 -r 597df8e1d786 jdk/src/share/classes/java/awt/GraphicsConfiguration.java
--- a/jdk/src/share/classes/java/awt/GraphicsConfiguration.java Wed Feb 04 11:58:13 2009 +0300
+++ b/jdk/src/share/classes/java/awt/GraphicsConfiguration.java Wed Feb 11 17:07:06 2009 +0300
@@ -1,5 +1,5 @@
/*
- * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -434,4 +434,20 @@
}
return defaultImageCaps;
}
+
+ /**
+ * Returns whether this GraphicsConfiguration supports
+ * the {@link GraphicsDevice.WindowTranslucency#PERPIXEL_TRANSLUCENT
+ * PERPIXEL_TRANSLUCENT} kind of translucency.
+ *
+ * @param gc GraphicsConfiguration
+ * @throws NullPointerException if the gc argument is null
+ * @return whether the given GraphicsConfiguration supports
+ * the translucency effects.
+ * @see Window#setBackground(Color)
+ */
+ /*public */boolean isTranslucencyCapable() {
+ // Overridden in subclasses
+ return false;
}
+}
diff -r 8b981ce05cd0 -r 597df8e1d786 jdk/src/share/classes/java/awt/GraphicsDevice.java
--- a/jdk/src/share/classes/java/awt/GraphicsDevice.java Wed Feb 04 11:58:13 2009 +0300
+++ b/jdk/src/share/classes/java/awt/GraphicsDevice.java Wed Feb 11 17:07:06 2009 +0300
@@ -1,5 +1,5 @@
/*
- * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -27,7 +27,10 @@
package java.awt;
import java.awt.image.ColorModel;
+
+import sun.awt.AWTAccessor;
import sun.awt.AppContext;
+import sun.awt.SunToolkit;
/**
* The GraphicsDevice
class describes the graphics devices
@@ -109,6 +112,31 @@
*/
public final static int TYPE_IMAGE_BUFFER = 2;
+ /** Kinds of translucency supported by the underlying system.
+ * @see #isTranslucencySupported
+ */
+ /*public */static enum WindowTranslucency {
+ /**
+ * Represents support in the underlying system for windows each pixel
+ * of which is guaranteed to be either completely opaque, with
+ * an alpha value of 1.0, or completely transparent, with an alpha
+ * value of 0.0.
+ */
+ PERPIXEL_TRANSPARENT,
+ /**
+ * Represents support in the underlying system for windows all of
+ * the pixels of which have the same alpha value between or including
+ * 0.0 and 1.0.
+ */
+ TRANSLUCENT,
+ /**
+ * Represents support in the underlying system for windows that
+ * contain or might contain pixels with arbitrary alpha values
+ * between and including 0.0 and 1.0.
+ */
+ PERPIXEL_TRANSLUCENT;
+ }
+
/**
* Returns the type of this GraphicsDevice
.
* @return the type of this GraphicsDevice
, which can
@@ -235,6 +263,21 @@
* @since 1.4
*/
public void setFullScreenWindow(Window w) {
+ if (w != null) {
+ //XXX: The actions should be documented in some non-update release.
+ /*
+ if (w.getShape() != null) {
+ w.setShape(w, null);
+ }
+ if (!w.isOpaque()) {
+ w.setOpaque(false);
+ }
+ if (w.getOpacity() < 1.0f) {
+ w.setOpacity(1.0f);
+ }
+ */
+ }
+
if (fullScreenWindow != null && windowedModeBounds != null) {
// if the window went into fs mode before it was realized it may
// have (0,0) dimensions
@@ -424,4 +467,94 @@
public int getAvailableAcceleratedMemory() {
return -1;
}
+
+ /**
+ * Returns whether the given level of translucency is supported
+ * this graphics device.
+ *
+ * @param translucencyKind a kind of translucency support
+ * @return whether the given translucency kind is supported
+ */
+ /*public */boolean isWindowTranslucencySupported(WindowTranslucency translucencyKind) {
+ switch (translucencyKind) {
+ case PERPIXEL_TRANSPARENT:
+ return isWindowShapingSupported();
+ case TRANSLUCENT:
+ return isWindowOpacitySupported();
+ case PERPIXEL_TRANSLUCENT:
+ return isWindowPerpixelTranslucencySupported();
+ }
+ return false;
+ }
+
+ /**
+ * Returns whether the windowing system supports changing the shape
+ * of top-level windows.
+ * Note that this method may sometimes return true, but the native
+ * windowing system may still not support the concept of
+ * shaping (due to the bugs in the windowing system).
+ */
+ static boolean isWindowShapingSupported() {
+ Toolkit curToolkit = Toolkit.getDefaultToolkit();
+ if (!(curToolkit instanceof SunToolkit)) {
+ return false;
+ }
+ return ((SunToolkit)curToolkit).isWindowShapingSupported();
+ }
+
+ /**
+ * Returns whether the windowing system supports changing the opacity
+ * value of top-level windows.
+ * Note that this method may sometimes return true, but the native
+ * windowing system may still not support the concept of
+ * translucency (due to the bugs in the windowing system).
+ */
+ static boolean isWindowOpacitySupported() {
+ Toolkit curToolkit = Toolkit.getDefaultToolkit();
+ if (!(curToolkit instanceof SunToolkit)) {
+ return false;
+ }
+ return ((SunToolkit)curToolkit).isWindowOpacitySupported();
+ }
+
+ boolean isWindowPerpixelTranslucencySupported() {
+ /*
+ * Per-pixel alpha is supported if all the conditions are TRUE:
+ * 1. The toolkit is a sort of SunToolkit
+ * 2. The toolkit supports translucency in general
+ * (isWindowTranslucencySupported())
+ * 3. There's at least one translucency-capable
+ * GraphicsConfiguration
+ */
+ Toolkit curToolkit = Toolkit.getDefaultToolkit();
+ if (!(curToolkit instanceof SunToolkit)) {
+ return false;
+ }
+ if (!((SunToolkit)curToolkit).isWindowTranslucencySupported()) {
+ return false;
+ }
+
+ // TODO: cache translucency capable GC
+ return getTranslucencyCapableGC() != null;
+ }
+
+ GraphicsConfiguration getTranslucencyCapableGC() {
+ // If the default GC supports translucency return true.
+ // It is important to optimize the verification this way,
+ // see CR 6661196 for more details.
+ GraphicsConfiguration defaultGC = getDefaultConfiguration();
+ if (defaultGC.isTranslucencyCapable()) {
+ return defaultGC;
+ }
+
+ // ... otherwise iterate through all the GCs.
+ GraphicsConfiguration[] configs = getConfigurations();
+ for (int j = 0; j < configs.length; j++) {
+ if (configs[j].isTranslucencyCapable()) {
+ return configs[j];
+ }
+ }
+
+ return null;
+ }
}
diff -r 8b981ce05cd0 -r 597df8e1d786 jdk/src/share/classes/java/awt/KeyboardFocusManager.java
--- a/jdk/src/share/classes/java/awt/KeyboardFocusManager.java Wed Feb 04 11:58:13 2009 +0300
+++ b/jdk/src/share/classes/java/awt/KeyboardFocusManager.java Wed Feb 11 17:07:06 2009 +0300
@@ -2208,7 +2208,7 @@
boolean temporary, boolean focusedWindowChangeAllowed,
long time)
{
- Window parentWindow = Component.getContainingWindow(heavyweight);
+ Window parentWindow = SunToolkit.getContainingWindow(heavyweight);
if (parentWindow == null || !parentWindow.syncLWRequests) {
return false;
}
@@ -2542,7 +2542,7 @@
(HeavyweightFocusRequest.CLEAR_GLOBAL_FOCUS_OWNER);
Component activeWindow = ((hwFocusRequest != null)
- ? Component.getContainingWindow(hwFocusRequest.heavyweight)
+ ? SunToolkit.getContainingWindow(hwFocusRequest.heavyweight)
: nativeFocusedWindow);
while (activeWindow != null &&
!((activeWindow instanceof Frame) ||
@@ -3013,8 +3013,8 @@
}
private static boolean focusedWindowChanged(Component to, Component from) {
- Window wto = Component.getContainingWindow(to);
- Window wfrom = Component.getContainingWindow(from);
+ Window wto = SunToolkit.getContainingWindow(to);
+ Window wfrom = SunToolkit.getContainingWindow(from);
if (wto == null && wfrom == null) {
return true;
}
@@ -3028,8 +3028,8 @@
}
private static boolean isTemporary(Component to, Component from) {
- Window wto = Component.getContainingWindow(to);
- Window wfrom = Component.getContainingWindow(from);
+ Window wto = SunToolkit.getContainingWindow(to);
+ Window wfrom = SunToolkit.getContainingWindow(from);
if (wto == null && wfrom == null) {
return false;
}
diff -r 8b981ce05cd0 -r 597df8e1d786 jdk/src/share/classes/java/awt/Window.java
--- a/jdk/src/share/classes/java/awt/Window.java Wed Feb 04 11:58:13 2009 +0300
+++ b/jdk/src/share/classes/java/awt/Window.java Wed Feb 11 17:07:06 2009 +0300
@@ -1,5 +1,5 @@
/*
- * Copyright 1995-2008 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1995-2009 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -27,6 +27,7 @@
import java.awt.event.*;
import java.awt.im.InputContext;
import java.awt.image.BufferStrategy;
+import java.awt.image.BufferedImage;
import java.awt.peer.ComponentPeer;
import java.awt.peer.WindowPeer;
import java.beans.PropertyChangeListener;
@@ -49,6 +50,7 @@
import java.util.logging.Logger;
import java.util.concurrent.atomic.AtomicBoolean;
import javax.accessibility.*;
+import sun.awt.AWTAccessor;
import sun.awt.AppContext;
import sun.awt.CausedFocusEvent;
import sun.awt.SunToolkit;
@@ -291,6 +293,25 @@
*/
transient boolean isInShow = false;
+ /*
+ * Opacity level of the window
+ *
+ * @see #setOpacity(float)
+ * @see #getOpacity()
+ * @since 1.7
+ */
+ private float opacity = 1.0f;
+
+ /*
+ * The shape assigned to this window. This field is set to null if
+ * no shape is set (rectangular window).
+ *
+ * @see #getShape()
+ * @see #setShape(Shape)
+ * @since 1.7
+ */
+ private Shape shape = null;
+
private static final String base = "win";
private static int nameCounter = 0;
@@ -666,9 +687,9 @@
}
if (peer == null) {
peer = getToolkit().createWindow(this);
- }
- synchronized (allWindows) {
- allWindows.add(this);
+ synchronized (allWindows) {
+ allWindows.add(this);
+ }
}
super.addNotify();
}
@@ -2849,6 +2870,8 @@
if(aot) {
setAlwaysOnTop(aot); // since 1.5; subject to permission check
}
+ shape = (Shape)f.get("shape", null);
+ opacity = (Float)f.get("opacity", 1.0f);
deserializeResources(s);
}
@@ -3016,7 +3039,7 @@
Dimension windowSize = getSize();
// search a top-level of c
- Window componentWindow = Component.getContainingWindow(c);
+ Window componentWindow = SunToolkit.getContainingWindow(c);
if ((c == null) || (componentWindow == null)) {
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
gc = ge.getDefaultScreenDevice().getDefaultConfiguration();
@@ -3304,6 +3327,225 @@
}
+ // ******************** SHAPES & TRANSPARENCY CODE ********************
+
+ /**
+ * JavaDoc
+ */
+ /*public */float getOpacity() {
+ synchronized (getTreeLock()) {
+ return opacity;
+ }
+ }
+
+ /**
+ * JavaDoc
+ */
+ /*public */void setOpacity(float opacity) {
+ synchronized (getTreeLock()) {
+ if (opacity < 0.0f || opacity > 1.0f) {
+ throw new IllegalArgumentException(
+ "The value of opacity should be in the range [0.0f .. 1.0f].");
+ }
+ GraphicsConfiguration gc = getGraphicsConfiguration();
+ GraphicsDevice gd = gc.getDevice();
+ if (!gd.isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency.TRANSLUCENT)) {
+ throw new UnsupportedOperationException(
+ "TRANSLUCENT translucency is not supported.");
+ }
+ if ((gc.getDevice().getFullScreenWindow() == this) && (opacity < 1.0f)) {
+ throw new IllegalArgumentException(
+ "Setting opacity for full-screen window is not supported.");
+ }
+ this.opacity = opacity;
+ WindowPeer peer = (WindowPeer)getPeer();
+ if (peer != null) {
+ peer.setOpacity(opacity);
+ }
+ }
+ }
+
+ /**
+ * JavaDoc
+ */
+ /*public */Shape getShape() {
+ synchronized (getTreeLock()) {
+ return shape;
+ }
+ }
+
+ /**
+ * JavaDoc
+ *
+ * @param window the window to set the shape to
+ * @param shape the shape to set to the window
+ * @throws IllegalArgumentException if the window is in full screen mode,
+ * and the shape is not null
+ */
+ /*public */void setShape(Shape shape) {
+ synchronized (getTreeLock()) {
+ GraphicsConfiguration gc = getGraphicsConfiguration();
+ GraphicsDevice gd = gc.getDevice();
+ if (!gd.isWindowTranslucencySupported(
+ GraphicsDevice.WindowTranslucency.PERPIXEL_TRANSPARENT))
+ {
+ throw new UnsupportedOperationException(
+ "PERPIXEL_TRANSPARENT translucency is not supported.");
+ }
+ if ((gc.getDevice().getFullScreenWindow() == this) && (shape != null)) {
+ throw new IllegalArgumentException(
+ "Setting shape for full-screen window is not supported.");
+ }
+ this.shape = shape;
+ WindowPeer peer = (WindowPeer)getPeer();
+ if (peer != null) {
+ peer.applyShape(shape == null ? null : Region.getInstance(shape, null));
+ }
+ }
+ }
+
+ /**
+ * JavaDoc
+ */
+/*
+ @Override
+ public void setBackground(Color bgColor) {
+ int alpha = bgColor.getAlpha();
+ if (alpha < 255) { // non-opaque window
+ GraphicsConfiguration gc = getGraphicsConfiguration();
+ GraphicsDevice gd = gc.getDevice();
+ if (gc.getDevice().getFullScreenWindow() == this) {
+ throw new IllegalArgumentException(
+ "Making full-screen window non opaque is not supported.");
+ }
+ if (!gc.isTranslucencyCapable()) {
+ GraphicsConfiguration capableGC = gd.getTranslucencyCapableGC();
+ if (capableGC == null) {
+ throw new IllegalArgumentException(
+ "PERPIXEL_TRANSLUCENT translucency is not supported");
+ }
+ // TODO: change GC
+ }
+ setLayersOpaque(this, false);
+ }
+
+ super.setBackground(bgColor);
+
+ WindowPeer peer = (WindowPeer)getPeer();
+ if (peer != null) {
+ peer.setOpaque(alpha == 255);
+ }
+ }
+*/
+
+ private transient boolean opaque = true;
+
+ void setOpaque(boolean opaque) {
+ synchronized (getTreeLock()) {
+ GraphicsConfiguration gc = getGraphicsConfiguration();
+ if (!opaque && !com.sun.awt.AWTUtilities.isTranslucencyCapable(gc)) {
+ throw new IllegalArgumentException(
+ "The window must use a translucency-compatible graphics configuration");
+ }
+ if (!com.sun.awt.AWTUtilities.isTranslucencySupported(
+ com.sun.awt.AWTUtilities.Translucency.PERPIXEL_TRANSLUCENT))
+ {
+ throw new UnsupportedOperationException(
+ "PERPIXEL_TRANSLUCENT translucency is not supported.");
+ }
+ if ((gc.getDevice().getFullScreenWindow() == this) && !opaque) {
+ throw new IllegalArgumentException(
+ "Making full-screen window non opaque is not supported.");
+ }
+ setLayersOpaque(this, opaque);
+ this.opaque = opaque;
+ WindowPeer peer = (WindowPeer)getPeer();
+ if (peer != null) {
+ peer.setOpaque(opaque);
+ }
+ }
+ }
+
+ private void updateWindow(BufferedImage backBuffer) {
+ synchronized (getTreeLock()) {
+ WindowPeer peer = (WindowPeer)getPeer();
+ if (peer != null) {
+ peer.updateWindow(backBuffer);
+ }
+ }
+ }
+
+ private static final Color TRANSPARENT_BACKGROUND_COLOR = new Color(0, 0, 0, 0);
+
+ private static void setLayersOpaque(Component component, boolean isOpaque) {
+ // Shouldn't use instanceof to avoid loading Swing classes
+ // if it's a pure AWT application.
+ if (Component.doesImplement(component, "javax.swing.RootPaneContainer")) {
+ javax.swing.RootPaneContainer rpc = (javax.swing.RootPaneContainer)component;
+ javax.swing.JRootPane root = rpc.getRootPane();
+ javax.swing.JLayeredPane lp = root.getLayeredPane();
+ Container c = root.getContentPane();
+ javax.swing.JComponent content =
+ (c instanceof javax.swing.JComponent) ? (javax.swing.JComponent)c : null;
+ javax.swing.JComponent gp =
+ (rpc.getGlassPane() instanceof javax.swing.JComponent) ?
+ (javax.swing.JComponent)rpc.getGlassPane() : null;
+ if (gp != null) {
+ gp.setDoubleBuffered(isOpaque);
+ }
+ lp.setOpaque(isOpaque);
+ root.setOpaque(isOpaque);
+ root.setDoubleBuffered(isOpaque); //XXX: the "white rect" workaround
+ if (content != null) {
+ content.setOpaque(isOpaque);
+ content.setDoubleBuffered(isOpaque); //XXX: the "white rect" workaround
+
+ // Iterate down one level to see whether we have a JApplet
+ // (which is also a RootPaneContainer) which requires processing
+ int numChildren = content.getComponentCount();
+ if (numChildren > 0) {
+ Component child = content.getComponent(0);
+ // It's OK to use instanceof here because we've
+ // already loaded the RootPaneContainer class by now
+ if (child instanceof javax.swing.RootPaneContainer) {
+ setLayersOpaque(child, isOpaque);
+ }
+ }
+ }
+ }
+
+ Color bg = component.getBackground();
+ boolean hasTransparentBg = TRANSPARENT_BACKGROUND_COLOR.equals(bg);
+
+ Container container = null;
+ if (component instanceof Container) {
+ container = (Container) component;
+ }
+
+ if (isOpaque) {
+ if (hasTransparentBg) {
+ // Note: we use the SystemColor.window color as the default.
+ // This color is used in the WindowPeer implementations to
+ // initialize the background color of the window if it is null.
+ // (This might not be the right thing to do for other
+ // RootPaneContainers we might be invoked with)
+ Color newColor = null;
+ if (container != null && container.preserveBackgroundColor != null) {
+ newColor = container.preserveBackgroundColor;
+ } else {
+ newColor = SystemColor.window;
+ }
+ component.setBackground(newColor);
+ }
+ } else {
+ if (!hasTransparentBg && container != null) {
+ container.preserveBackgroundColor = bg;
+ }
+ component.setBackground(TRANSPARENT_BACKGROUND_COLOR);
+ }
+ }
+
+
// ************************** MIXING CODE *******************************
// A window has a parent, but it does NOT have a container
@@ -3341,6 +3583,42 @@
// ****************** END OF MIXING CODE ********************************
+ static {
+ AWTAccessor.setWindowAccessor(new AWTAccessor.WindowAccessor() {
+ public float getOpacity(Window window) {
+ return window.opacity;
+ }
+ public void setOpacity(Window window, float opacity) {
+ window.setOpacity(opacity);
+ }
+ public Shape getShape(Window window) {
+ return window.getShape();
+ }
+ public void setShape(Window window, Shape shape) {
+ window.setShape(shape);
+ }
+ public boolean isOpaque(Window window) {
+ /*
+ return window.getBackground().getAlpha() < 255;
+ */
+ synchronized (window.getTreeLock()) {
+ return window.opaque;
+ }
+ }
+ public void setOpaque(Window window, boolean opaque) {
+ /*
+ Color bg = window.getBackground();
+ window.setBackground(new Color(bg.getRed(), bg.getGreen(), bg.getBlue(),
+ opaque ? 255 : 0));
+ */
+ window.setOpaque(opaque);
+ }
+ public void updateWindow(Window window, BufferedImage backBuffer) {
+ window.updateWindow(backBuffer);
+ }
+ }); // WindowAccessor
+ } // static
+
} // class Window
diff -r 8b981ce05cd0 -r 597df8e1d786 jdk/src/share/classes/java/awt/peer/WindowPeer.java
--- a/jdk/src/share/classes/java/awt/peer/WindowPeer.java Wed Feb 04 11:58:13 2009 +0300
+++ b/jdk/src/share/classes/java/awt/peer/WindowPeer.java Wed Feb 11 17:07:06 2009 +0300
@@ -1,5 +1,5 @@
/*
- * Copyright 1995-2007 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1995-2009 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -27,6 +27,8 @@
import java.awt.*;
+import java.awt.image.BufferedImage;
+
/**
* The peer interface for {@link Window}.
*
@@ -92,4 +94,26 @@
* @see Window#setIconImages(java.util.List)
*/
void updateIconImages();
+
+ /**
+ * Sets the level of opacity for the window.
+ *
+ * @see Window#setOpacity(float)
+ */
+ void setOpacity(float opacity);
+
+ /**
+ * Enables the per-pixel alpha support for the window.
+ *
+ * @see Window#setBackground(Color)
+ */
+ void setOpaque(boolean isOpaque);
+
+ /**
+ * Updates the native part of non-opaque window using
+ * the given image with color+alpha values for each pixel.
+ *
+ * @see Window#setBackground(Color)
+ */
+ void updateWindow(BufferedImage backBuffer);
}
diff -r 8b981ce05cd0 -r 597df8e1d786 jdk/src/share/classes/javax/swing/RepaintManager.java
--- a/jdk/src/share/classes/javax/swing/RepaintManager.java Wed Feb 04 11:58:13 2009 +0300
+++ b/jdk/src/share/classes/javax/swing/RepaintManager.java Wed Feb 11 17:07:06 2009 +0300
@@ -1,5 +1,5 @@
/*
- * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -34,6 +34,7 @@
import java.util.*;
import java.applet.*;
+import sun.awt.AWTAccessor;
import sun.awt.AppContext;
import sun.awt.DisplayChangedListener;
import sun.awt.SunToolkit;
@@ -716,6 +717,44 @@
}
}
+ private MapRectangle
object. The bounds specify this
+ * component's width, height, and location relative to
+ * its parent.
+ */
+ Rectangle getBounds(Component comp);
+ /*
* Sets the shape of a lw component to cut out from hw components.
+ *
+ * See 6797587, 6776743, 6768307, and 6768332 for details
*/
void setMixingCutoutShape(Component comp, Shape shape);
}
- /* The java.awt.Component class accessor object.
+ /*
+ * An interface of accessor for java.awt.Window class.
+ */
+ public interface WindowAccessor {
+ /*
+ * Get opacity level of the given window.
+ */
+ float getOpacity(Window window);
+ /*
+ * Set opacity level to the given window.
+ */
+ void setOpacity(Window window, float opacity);
+ /*
+ * Get a shape assigned to the given window.
+ */
+ Shape getShape(Window window);
+ /*
+ * Set a shape to the given window.
+ */
+ void setShape(Window window, Shape shape);
+ /*
+ * Identify whether the given window is opaque (true)
+ * or translucent (false).
+ */
+ boolean isOpaque(Window window);
+ /*
+ * Set the opaque preoperty to the given window.
+ */
+ void setOpaque(Window window, boolean isOpaque);
+ /*
+ * Update the image of a non-opaque (translucent) window.
+ */
+ void updateWindow(Window window, BufferedImage backBuffer);
+ }
+
+ /*
+ * An accessor for the AWTEvent class.
+ */
+ public interface AWTEventAccessor {
+ /*
+ *
+ * Sets the flag on this AWTEvent indicating that it was
+ * generated by the system.
+ */
+ void setSystemGenerated(AWTEvent ev);
+ /*
+ *
+ * Indicates whether this AWTEvent was generated by the system.
+ */
+ boolean isSystemGenerated(AWTEvent ev);
+ }
+
+ /*
+ * The java.awt.Component class accessor object.
*/
private static ComponentAccessor componentAccessor;
- /** Set an accessor object for the java.awt.Component class.
+ /*
+ * The java.awt.Window class accessor object.
+ */
+ private static WindowAccessor windowAccessor;
+
+ /*
+ * The java.awt.AWTEvent class accessor object.
+ */
+ private static AWTEventAccessor awtEventAccessor;
+
+ /*
+ * Set an accessor object for the java.awt.Component class.
*/
public static void setComponentAccessor(ComponentAccessor ca) {
componentAccessor = ca;
}
- /** Retrieve the accessor object for the java.awt.Window class.
+ /*
+ * Retrieve the accessor object for the java.awt.Window class.
*/
public static ComponentAccessor getComponentAccessor() {
if (componentAccessor == null) {
@@ -74,4 +164,35 @@
return componentAccessor;
}
+
+ /*
+ * Set an accessor object for the java.awt.Window class.
+ */
+ public static void setWindowAccessor(WindowAccessor wa) {
+ windowAccessor = wa;
+ }
+
+ /*
+ * Retrieve the accessor object for the java.awt.Window class.
+ */
+ public static WindowAccessor getWindowAccessor() {
+ if (windowAccessor == null) {
+ unsafe.ensureClassInitialized(Window.class);
+ }
+ return windowAccessor;
+ }
+
+ /*
+ * Set an accessor object for the java.awt.AWTEvent class.
+ */
+ public static void setAWTEventAccessor(AWTEventAccessor aea) {
+ awtEventAccessor = aea;
+ }
+
+ /*
+ * Retrieve the accessor object for the java.awt.AWTEvent class.
+ */
+ public static AWTEventAccessor getAWTEventAccessor() {
+ return awtEventAccessor;
+ }
}
diff -r 8b981ce05cd0 -r 597df8e1d786 jdk/src/share/classes/sun/awt/EmbeddedFrame.java
--- a/jdk/src/share/classes/sun/awt/EmbeddedFrame.java Wed Feb 04 11:58:13 2009 +0300
+++ b/jdk/src/share/classes/sun/awt/EmbeddedFrame.java Wed Feb 11 17:07:06 2009 +0300
@@ -1,5 +1,5 @@
/*
- * Copyright 1996-2006 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -585,5 +585,12 @@
}
public void updateMinimumSize() {
}
- }
+
+ public void setOpacity(float opacity) {
+ }
+ public void setOpaque(boolean isOpaque) {
+ }
+ public void updateWindow(BufferedImage backBuffer) {
+ }
+ }
} // class EmbeddedFrame
diff -r 8b981ce05cd0 -r 597df8e1d786 jdk/src/share/classes/sun/awt/SunToolkit.java
--- a/jdk/src/share/classes/sun/awt/SunToolkit.java Wed Feb 04 11:58:13 2009 +0300
+++ b/jdk/src/share/classes/sun/awt/SunToolkit.java Wed Feb 11 17:07:06 2009 +0300
@@ -1,5 +1,5 @@
/*
- * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -32,14 +32,10 @@
import java.awt.peer.*;
import java.awt.event.WindowEvent;
import java.awt.event.KeyEvent;
-import java.awt.im.spi.InputMethodDescriptor;
import java.awt.image.*;
-import java.awt.geom.AffineTransform;
import java.awt.TrayIcon;
import java.awt.SystemTray;
-import java.io.*;
import java.net.URL;
-import java.net.JarURLConnection;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.Condition;
@@ -49,7 +45,6 @@
import sun.misc.SoftCache;
import sun.font.FontDesignMetrics;
import sun.awt.im.InputContext;
-import sun.awt.im.SimpleInputMethodWindow;
import sun.awt.image.*;
import sun.security.action.GetPropertyAction;
import sun.security.action.GetBooleanAction;
@@ -824,16 +819,31 @@
}
/**
- * Disables erasing of background on the canvas before painting
- * if this is supported by the current toolkit.
- *
- * @throws IllegalStateException if the canvas is not displayable
- * @see java.awt.Component#isDisplayable
+ * Disables erasing of background on the canvas before painting if
+ * this is supported by the current toolkit. It is recommended to
+ * call this method early, before the Canvas becomes displayable,
+ * because some Toolkit implementations do not support changing
+ * this property once the Canvas becomes displayable.
*/
public void disableBackgroundErase(Canvas canvas) {
- if (!canvas.isDisplayable()) {
- throw new IllegalStateException("Canvas must have a valid peer");
- }
+ disableBackgroundEraseImpl(canvas);
+ }
+
+ /**
+ * Disables the native erasing of the background on the given
+ * component before painting if this is supported by the current
+ * toolkit. This only has an effect for certain components such as
+ * Canvas, Panel and Window. It is recommended to call this method
+ * early, before the Component becomes displayable, because some
+ * Toolkit implementations do not support changing this property
+ * once the Component becomes displayable.
+ */
+ public void disableBackgroundErase(Component component) {
+ disableBackgroundEraseImpl(component);
+ }
+
+ private void disableBackgroundEraseImpl(Component component) {
+ AWTAccessor.getComponentAccessor().setBackgroundEraseDisabled(component, true);
}
/**
@@ -1972,6 +1982,18 @@
AWTAutoShutdown.getInstance().dumpPeers(aLog);
}
+ /**
+ * Returns the Window
ancestor of the component comp
.
+ * @return Window ancestor of the component or component by itself if it is Window;
+ * null, if component is not a part of window hierarchy
+ */
+ public static Window getContainingWindow(Component comp) {
+ while (comp != null && !(comp instanceof Window)) {
+ comp = comp.getParent();
+ }
+ return (Window)comp;
+ }
+
private static Boolean sunAwtDisableMixing = null;
/**
@@ -1995,6 +2017,73 @@
public boolean isNativeGTKAvailable() {
return false;
}
+
+ // Cosntant alpha
+ public boolean isWindowOpacitySupported() {
+ return false;
+ }
+
+ // Shaping
+ public boolean isWindowShapingSupported() {
+ return false;
+ }
+
+ // Per-pixel alpha
+ public boolean isWindowTranslucencySupported() {
+ return false;
+ }
+
+ public boolean isTranslucencyCapable(GraphicsConfiguration gc) {
+ return false;
+ }
+
+ /**
+ * Returns whether or not a containing top level window for the passed
+ * component is
+ * {@link com.sun.awt.AWTUtilities.Translucency#PERPIXEL_TRANSLUCENT PERPIXEL_TRANSLUCENT}.
+ *
+ * @param c a Component which toplevel's to check
+ * @return {@code true} if the passed component is not null and has a
+ * containing toplevel window which is opaque (so per-pixel translucency
+ * is not enabled), {@code false} otherwise
+ * @see com.sun.awt.AWTUtilities.Translucency#PERPIXEL_TRANSLUCENT
+ * @see com.sun.awt.AWTUtilities#isWindowOpaque(Window)
+ */
+ public static boolean isContainingTopLevelOpaque(Component c) {
+ Window w = getContainingWindow(c);
+ // return w != null && (w).isOpaque();
+ return w != null && com.sun.awt.AWTUtilities.isWindowOpaque(w);
+ }
+
+ /**
+ * Returns whether or not a containing top level window for the passed
+ * component is
+ * {@link com.sun.awt.AWTUtilities.Translucency#TRANSLUCENT TRANSLUCENT}.
+ *
+ * @param c a Component which toplevel's to check
+ * @return {@code true} if the passed component is not null and has a
+ * containing toplevel window which has opacity less than
+ * 1.0f (which means that it is translucent), {@code false} otherwise
+ * @see com.sun.awt.AWTUtilities.Translucency#TRANSLUCENT
+ * @see com.sun.awt.AWTUtilities#getWindowOpacity(Window)
+ */
+ public static boolean isContainingTopLevelTranslucent(Component c) {
+ Window w = getContainingWindow(c);
+ // return w != null && (w).getOpacity() < 1.0f;
+ return w != null && com.sun.awt.AWTUtilities.getWindowOpacity((Window)w) < 1.0f;
+ }
+
+ /**
+ * Returns whether the native system requires using the peer.updateWindow()
+ * method to update the contents of a non-opaque window, or if usual
+ * painting procedures are sufficient. The default return value covers
+ * the X11 systems. On MS Windows this method is overriden in WToolkit
+ * to return true.
+ */
+ public boolean needUpdateWindow() {
+ return false;
+ }
+
} // class SunToolkit
diff -r 8b981ce05cd0 -r 597df8e1d786 jdk/src/share/native/sun/awt/utility/rect.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/native/sun/awt/utility/rect.c Wed Feb 11 17:07:06 2009 +0300
@@ -0,0 +1,102 @@
+/*
+ * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+#include "utility/rect.h"
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+/**
+ * bitsPerPixel must be 32 for now.
+ * outBuf must be large enough to conatin all the rectangles.
+ */
+int BitmapToYXBandedRectangles(int bitsPerPixel, int width, int height, unsigned char * buf, RECT_T * outBuf)
+{
+ //XXX: we might want to reuse the code in the splashscreen library,
+ // though we'd have to deal with the ALPHA_THRESHOLD and different
+ // image formats in this case.
+ int widthBytes = width * bitsPerPixel / 8;
+ int alignedWidth = (((widthBytes - 1) / 4) + 1) * 4;
+
+ RECT_T * out = outBuf;
+
+ RECT_T *pPrevLine = NULL, *pFirst = out, *pThis = pFirst;
+ int i, j, i0;
+ int length;
+
+ for (j = 0; j < height; j++) {
+ /* generate data for a scanline */
+
+ unsigned char *pSrc = (unsigned char *) buf + j * alignedWidth;
+ RECT_T *pLine = pThis;
+
+ i = 0;
+
+ do {
+ // pSrc[0,1,2] == B,G,R; pSrc[3] == Alpha
+ while (i < width && !pSrc[3]) {
+ pSrc += 4;
+ ++i;
+ }
+ if (i >= width)
+ break;
+ i0 = i;
+ while (i < width && pSrc[3]) {
+ pSrc += 4;
+ ++i;
+ }
+ RECT_SET(*pThis, i0, j, i - i0, 1);
+ ++pThis;
+ } while (i < width);
+
+ /* check if the previous scanline is exactly the same, merge if so
+ (this is the only optimization we can use for YXBanded rectangles,
+ and win32 supports YXBanded only */
+
+ length = pThis - pLine;
+ if (pPrevLine && pLine - pPrevLine == length) {
+ for (i = 0; i < length && RECT_EQ_X(pPrevLine[i], pLine[i]); ++i) {
+ }
+ if (i == pLine - pPrevLine) {
+ // do merge
+ for (i = 0; i < length; i++) {
+ RECT_INC_HEIGHT(pPrevLine[i]);
+ }
+ pThis = pLine;
+ continue;
+ }
+ }
+ /* or else use the generated scanline */
+
+ pPrevLine = pLine;
+ }
+
+ return pThis - pFirst;
+}
+
+#if defined(__cplusplus)
+}
+#endif
diff -r 8b981ce05cd0 -r 597df8e1d786 jdk/src/solaris/classes/sun/awt/X11/XNETProtocol.java
--- a/jdk/src/solaris/classes/sun/awt/X11/XNETProtocol.java Wed Feb 04 11:58:13 2009 +0300
+++ b/jdk/src/solaris/classes/sun/awt/X11/XNETProtocol.java Wed Feb 11 17:07:06 2009 +0300
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2008 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2003-2009 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -252,6 +252,8 @@
XAtom XA_NET_WM_WINDOW_TYPE = XAtom.get("_NET_WM_WINDOW_TYPE");
XAtom XA_NET_WM_WINDOW_TYPE_DIALOG = XAtom.get("_NET_WM_WINDOW_TYPE_DIALOG");
+ XAtom XA_NET_WM_WINDOW_OPACITY = XAtom.get("_NET_WM_WINDOW_OPACITY");
+
/* For _NET_WM_STATE ClientMessage requests */
final static int _NET_WM_STATE_REMOVE =0; /* remove/unset property */
final static int _NET_WM_STATE_ADD =1; /* add/set property */
@@ -289,6 +291,12 @@
boolean res = active() && checkProtocol(XA_NET_SUPPORTED, XA_NET_WM_STATE_MODAL);
return res;
}
+
+ boolean doOpacityProtocol() {
+ boolean res = active() && checkProtocol(XA_NET_SUPPORTED, XA_NET_WM_WINDOW_OPACITY);
+ return res;
+ }
+
boolean isWMName(String name) {
if (!active()) {
return false;
diff -r 8b981ce05cd0 -r 597df8e1d786 jdk/src/solaris/classes/sun/awt/X11/XToolkit.java
--- a/jdk/src/solaris/classes/sun/awt/X11/XToolkit.java Wed Feb 04 11:58:13 2009 +0300
+++ b/jdk/src/solaris/classes/sun/awt/X11/XToolkit.java Wed Feb 11 17:07:06 2009 +0300
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2008 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2002-2009 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -2273,4 +2273,36 @@
public boolean areExtraMouseButtonsEnabled() throws HeadlessException {
return areExtraMouseButtonsEnabled;
}
+
+ @Override
+ public boolean isWindowOpacitySupported() {
+ XNETProtocol net_protocol = XWM.getWM().getNETProtocol();
+
+ if (net_protocol == null) {
+ return false;
+ }
+
+ return net_protocol.doOpacityProtocol();
+ }
+
+ @Override
+ public boolean isWindowShapingSupported() {
+ return XlibUtil.isShapingSupported();
+ }
+
+ @Override
+ public boolean isWindowTranslucencySupported() {
+ //NOTE: it may not be supported. The actual check is being performed
+ // at com.sun.awt.AWTUtilities(). In X11 we need to check
+ // whether there's any translucency-capable GC available.
+ return true;
+ }
+
+ @Override
+ public boolean isTranslucencyCapable(GraphicsConfiguration gc) {
+ if (!(gc instanceof X11GraphicsConfig)) {
+ return false;
+ }
+ return ((X11GraphicsConfig)gc).isTranslucencyCapable();
+ }
}
diff -r 8b981ce05cd0 -r 597df8e1d786 jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java
--- a/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java Wed Feb 04 11:58:13 2009 +0300
+++ b/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java Wed Feb 11 17:07:06 2009 +0300
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2008 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2002-2009 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -30,6 +30,8 @@
import java.awt.event.FocusEvent;
import java.awt.event.WindowEvent;
+import java.awt.image.BufferedImage;
+
import java.awt.peer.ComponentPeer;
import java.awt.peer.WindowPeer;
@@ -42,6 +44,7 @@
import java.util.logging.Level;
import java.util.logging.Logger;
+import sun.awt.AWTAccessor;
import sun.awt.ComponentAccessor;
import sun.awt.WindowAccessor;
import sun.awt.DisplayChangedListener;
@@ -49,6 +52,8 @@
import sun.awt.X11GraphicsDevice;
import sun.awt.X11GraphicsEnvironment;
+import sun.java2d.pipe.Region;
+
class XWindowPeer extends XPanelPeer implements WindowPeer,
DisplayChangedListener {
@@ -260,6 +265,10 @@
setSaveUnder(true);
updateIconImages();
+
+ updateShape();
+ updateOpacity();
+ // no need in updateOpaque() as it is no-op
}
public void updateIconImages() {
@@ -417,6 +426,22 @@
return defaultIconInfo;
}
+ private void updateShape() {
+ // Shape shape = ((Window)target).getShape();
+ Shape shape = AWTAccessor.getWindowAccessor().getShape((Window)target);
+ if (shape != null) {
+ applyShape(Region.getInstance(shape, null));
+ }
+ }
+
+ private void updateOpacity() {
+ // float opacity = ((Window)target).getOpacity();
+ float opacity = AWTAccessor.getWindowAccessor().getOpacity((Window)target);
+ if (opacity < 1.0f) {
+ setOpacity(opacity);
+ }
+ }
+
public void updateMinimumSize() {
//This function only saves minimumSize value in XWindowPeer
//Setting WMSizeHints is implemented in XDecoratedPeer
@@ -2064,4 +2089,44 @@
}
super.handleButtonPressRelease(xev);
}
+
+ public void print(Graphics g) {
+ // We assume we print the whole frame,
+ // so we expect no clip was set previously
+ Shape shape = AWTAccessor.getWindowAccessor().getShape((Window)target);
+ if (shape != null) {
+ g.setClip(shape);
+ }
+ super.print(g);
+ }
+
+ @Override
+ public void setOpacity(float opacity) {
+ final long maxOpacity = 0xffffffffl;
+ long iOpacity = (long)(opacity * maxOpacity);
+ if (iOpacity < 0) {
+ iOpacity = 0;
+ }
+ if (iOpacity > maxOpacity) {
+ iOpacity = maxOpacity;
+ }
+
+ XAtom netWmWindowOpacityAtom = XAtom.get("_NET_WM_WINDOW_OPACITY");
+
+ if (iOpacity == maxOpacity) {
+ netWmWindowOpacityAtom.DeleteProperty(getWindow());
+ } else {
+ netWmWindowOpacityAtom.setCard32Property(getWindow(), iOpacity);
+ }
+ }
+
+ @Override
+ public void setOpaque(boolean isOpaque) {
+ // no-op
+ }
+
+ @Override
+ public void updateWindow(BufferedImage backBuffer) {
+ // no-op
+ }
}
diff -r 8b981ce05cd0 -r 597df8e1d786 jdk/src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java
--- a/jdk/src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java Wed Feb 04 11:58:13 2009 +0300
+++ b/jdk/src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java Wed Feb 11 17:07:06 2009 +0300
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2003-2009 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -859,14 +859,14 @@
pw.println("\n\tlong pData;");
pw.println("\n\tpublic long getPData() { return pData; }");
- pw.println("\n\n\t" + stp.getJavaClassName() + "(long addr) {");
+ pw.println("\n\n\tpublic " + stp.getJavaClassName() + "(long addr) {");
if (generateLog) {
pw.println("\t\tlog.finest(\"Creating\");");
}
pw.println("\t\tpData=addr;");
pw.println("\t\tshould_free_memory = false;");
pw.println("\t}");
- pw.println("\n\n\t" + stp.getJavaClassName() + "() {");
+ pw.println("\n\n\tpublic " + stp.getJavaClassName() + "() {");
if (generateLog) {
pw.println("\t\tlog.finest(\"Creating\");");
}
diff -r 8b981ce05cd0 -r 597df8e1d786 jdk/src/solaris/classes/sun/awt/X11/generator/xlibtypes.txt
--- a/jdk/src/solaris/classes/sun/awt/X11/generator/xlibtypes.txt Wed Feb 04 11:58:13 2009 +0300
+++ b/jdk/src/solaris/classes/sun/awt/X11/generator/xlibtypes.txt Wed Feb 11 17:07:06 2009 +0300
@@ -750,6 +750,7 @@
pixelStride int
color_data pointer ColorData
glxInfo pointer
+ isTranslucencySupported int
AwtScreenData
numConfigs int
diff -r 8b981ce05cd0 -r 597df8e1d786 jdk/src/solaris/classes/sun/awt/X11GraphicsConfig.java
--- a/jdk/src/solaris/classes/sun/awt/X11GraphicsConfig.java Wed Feb 04 11:58:13 2009 +0300
+++ b/jdk/src/solaris/classes/sun/awt/X11GraphicsConfig.java Wed Feb 11 17:07:06 2009 +0300
@@ -1,5 +1,5 @@
/*
- * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -450,4 +450,13 @@
return 0x00; // UNDEFINED
}
}
+
+ /*
+ @Override
+ */
+ public boolean isTranslucencyCapable() {
+ return isTranslucencyCapable(getAData());
+ }
+
+ private native boolean isTranslucencyCapable(long x11ConfigData);
}
diff -r 8b981ce05cd0 -r 597df8e1d786 jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c
--- a/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c Wed Feb 04 11:58:13 2009 +0300
+++ b/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c Wed Feb 11 17:07:06 2009 +0300
@@ -1,5 +1,5 @@
/*
- * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -354,6 +354,48 @@
return NULL;
}
+/* Note: until we include the