< prev index next >

src/java.desktop/windows/classes/sun/awt/windows/WWindowPeer.java

Print this page




  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())


< prev index next >