16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package sun.awt.windows;
27
28 import java.awt.AWTEvent;
29 import java.awt.AWTEventMulticaster;
30 import java.awt.Color;
31 import java.awt.Component;
32 import java.awt.Container;
33 import java.awt.Dialog;
34 import java.awt.Dimension;
35 import java.awt.Graphics;
36 import java.awt.GraphicsConfiguration;
37 import java.awt.GraphicsDevice;
38 import java.awt.GraphicsEnvironment;
39 import java.awt.Image;
40 import java.awt.Insets;
41 import java.awt.KeyboardFocusManager;
42 import java.awt.Rectangle;
43 import java.awt.Shape;
44 import java.awt.SystemColor;
45 import java.awt.Window;
46 import java.awt.event.FocusEvent;
47 import java.awt.event.WindowEvent;
48 import java.awt.event.WindowListener;
49 import java.awt.geom.AffineTransform;
50 import java.awt.image.DataBufferInt;
51 import java.awt.peer.WindowPeer;
52 import java.beans.PropertyChangeEvent;
53 import java.beans.PropertyChangeListener;
54 import java.util.LinkedList;
55 import java.util.List;
700 if (shape != null) {
701 g.setClip(shape);
702 }
703 super.print(g);
704 }
705
706 private void replaceSurfaceDataRecursively(Component c) {
707 if (c instanceof Container) {
708 for (Component child : ((Container)c).getComponents()) {
709 replaceSurfaceDataRecursively(child);
710 }
711 }
712 final Object cp = AWTAccessor.getComponentAccessor().getPeer(c);
713 if (cp instanceof WComponentPeer) {
714 ((WComponentPeer)cp).replaceSurfaceDataLater();
715 }
716 }
717
718 public final Graphics getTranslucentGraphics() {
719 synchronized (getStateLock()) {
720 return isOpaque ? null : painter.getBackBuffer(false).getGraphics();
721 }
722 }
723
724 @Override
725 public void setBackground(Color c) {
726 super.setBackground(c);
727 synchronized (getStateLock()) {
728 if (!isOpaque && ((Window)target).isVisible()) {
729 updateWindow(true);
730 }
731 }
732 }
733
734 private native void setOpacity(int iOpacity);
735 private float opacity = 1.0f;
736
737 @Override
738 public void setOpacity(float opacity) {
739 if (!((SunToolkit)((Window)target).getToolkit()).
740 isWindowOpacitySupported())
|
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package sun.awt.windows;
27
28 import java.awt.AWTEvent;
29 import java.awt.AWTEventMulticaster;
30 import java.awt.Color;
31 import java.awt.Component;
32 import java.awt.Container;
33 import java.awt.Dialog;
34 import java.awt.Dimension;
35 import java.awt.Graphics;
36 import java.awt.Graphics2D;
37 import java.awt.GraphicsConfiguration;
38 import java.awt.GraphicsDevice;
39 import java.awt.GraphicsEnvironment;
40 import java.awt.Image;
41 import java.awt.Insets;
42 import java.awt.KeyboardFocusManager;
43 import java.awt.Rectangle;
44 import java.awt.Shape;
45 import java.awt.SystemColor;
46 import java.awt.Window;
47 import java.awt.event.FocusEvent;
48 import java.awt.event.WindowEvent;
49 import java.awt.event.WindowListener;
50 import java.awt.geom.AffineTransform;
51 import java.awt.image.DataBufferInt;
52 import java.awt.peer.WindowPeer;
53 import java.beans.PropertyChangeEvent;
54 import java.beans.PropertyChangeListener;
55 import java.util.LinkedList;
56 import java.util.List;
701 if (shape != null) {
702 g.setClip(shape);
703 }
704 super.print(g);
705 }
706
707 private void replaceSurfaceDataRecursively(Component c) {
708 if (c instanceof Container) {
709 for (Component child : ((Container)c).getComponents()) {
710 replaceSurfaceDataRecursively(child);
711 }
712 }
713 final Object cp = AWTAccessor.getComponentAccessor().getPeer(c);
714 if (cp instanceof WComponentPeer) {
715 ((WComponentPeer)cp).replaceSurfaceDataLater();
716 }
717 }
718
719 public final Graphics getTranslucentGraphics() {
720 synchronized (getStateLock()) {
721 Graphics g = isOpaque ? null : painter.getBackBuffer(false)
722 .getGraphics();
723 if (g != null) {
724 ((Graphics2D)g).transform(getGraphicsConfiguration()
725 .getDefaultTransform());
726 }
727 return g;
728 }
729 }
730
731 @Override
732 public void setBackground(Color c) {
733 super.setBackground(c);
734 synchronized (getStateLock()) {
735 if (!isOpaque && ((Window)target).isVisible()) {
736 updateWindow(true);
737 }
738 }
739 }
740
741 private native void setOpacity(int iOpacity);
742 private float opacity = 1.0f;
743
744 @Override
745 public void setOpacity(float opacity) {
746 if (!((SunToolkit)((Window)target).getToolkit()).
747 isWindowOpacitySupported())
|