< prev index next >

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

Print this page




  39 import java.awt.Image;
  40 import java.awt.Point;
  41 import java.awt.Rectangle;
  42 import java.awt.SystemColor;
  43 import java.awt.Window;
  44 import java.awt.dnd.DropTarget;
  45 import java.awt.dnd.peer.DropTargetPeer;
  46 import java.awt.event.FocusEvent;
  47 import java.awt.event.InputEvent;
  48 import java.awt.event.InvocationEvent;
  49 import java.awt.event.KeyEvent;
  50 import java.awt.event.MouseEvent;
  51 import java.awt.event.MouseWheelEvent;
  52 import java.awt.event.PaintEvent;
  53 import java.awt.geom.AffineTransform;
  54 import java.awt.image.BufferedImage;
  55 import java.awt.image.ColorModel;
  56 import java.awt.image.VolatileImage;
  57 import java.awt.peer.ComponentPeer;
  58 import java.awt.peer.ContainerPeer;

  59 
  60 import sun.awt.AWTAccessor;
  61 import sun.awt.PaintEventDispatcher;
  62 import sun.awt.RepaintArea;
  63 import sun.awt.SunToolkit;
  64 import sun.awt.Win32GraphicsConfig;
  65 import sun.awt.Win32GraphicsEnvironment;
  66 import sun.awt.event.IgnorePaintEvent;
  67 import sun.awt.image.SunVolatileImage;
  68 import sun.java2d.InvalidPipeException;
  69 import sun.java2d.ScreenUpdateManager;
  70 import sun.java2d.SurfaceData;
  71 import sun.java2d.d3d.D3DSurfaceData;
  72 import sun.java2d.opengl.OGLSurfaceData;
  73 import sun.java2d.pipe.Region;
  74 import sun.util.logging.PlatformLogger;
  75 
  76 public abstract class WComponentPeer extends WObjectPeer
  77     implements ComponentPeer, DropTargetPeer
  78 {


 562             return gc.getDeviceColorModel();
 563         }
 564         else {
 565             return null;
 566         }
 567     }
 568 
 569     //Returns null for Components not yet added to a Container
 570     public ColorModel getColorModel(int transparency) {
 571 //      return WToolkit.config.getColorModel(transparency);
 572         GraphicsConfiguration gc = getGraphicsConfiguration();
 573         if (gc != null) {
 574             return gc.getColorModel(transparency);
 575         }
 576         else {
 577             return null;
 578         }
 579     }
 580 
 581     // fallback default font object
 582     static final Font defaultFont = new Font(Font.DIALOG, Font.PLAIN, 12);





 583 
 584     @Override
 585     public Graphics getGraphics() {
 586         if (isDisposed()) {
 587             return null;
 588         }
 589 
 590         Component target = (Component)getTarget();
 591         Window window = SunToolkit.getContainingWindow(target);
 592         if (window != null) {
 593             final WWindowPeer wpeer = AWTAccessor.getComponentAccessor()
 594                                                  .getPeer(window);
 595             if (wpeer != null) {
 596                 Graphics g = wpeer.getTranslucentGraphics();
 597                 // getTranslucentGraphics() returns non-null value for non-opaque windows only
 598                 if (g != null) {
 599                     // Non-opaque windows do not support heavyweight children.
 600                     // Redirect all painting to the Window's Graphics instead.
 601                     // The caller is responsible for calling the
 602                     // WindowPeer.updateWindow() after painting has finished.




  39 import java.awt.Image;
  40 import java.awt.Point;
  41 import java.awt.Rectangle;
  42 import java.awt.SystemColor;
  43 import java.awt.Window;
  44 import java.awt.dnd.DropTarget;
  45 import java.awt.dnd.peer.DropTargetPeer;
  46 import java.awt.event.FocusEvent;
  47 import java.awt.event.InputEvent;
  48 import java.awt.event.InvocationEvent;
  49 import java.awt.event.KeyEvent;
  50 import java.awt.event.MouseEvent;
  51 import java.awt.event.MouseWheelEvent;
  52 import java.awt.event.PaintEvent;
  53 import java.awt.geom.AffineTransform;
  54 import java.awt.image.BufferedImage;
  55 import java.awt.image.ColorModel;
  56 import java.awt.image.VolatileImage;
  57 import java.awt.peer.ComponentPeer;
  58 import java.awt.peer.ContainerPeer;
  59 import java.util.Objects;
  60 
  61 import sun.awt.AWTAccessor;
  62 import sun.awt.PaintEventDispatcher;
  63 import sun.awt.RepaintArea;
  64 import sun.awt.SunToolkit;
  65 import sun.awt.Win32GraphicsConfig;
  66 import sun.awt.Win32GraphicsEnvironment;
  67 import sun.awt.event.IgnorePaintEvent;
  68 import sun.awt.image.SunVolatileImage;
  69 import sun.java2d.InvalidPipeException;
  70 import sun.java2d.ScreenUpdateManager;
  71 import sun.java2d.SurfaceData;
  72 import sun.java2d.d3d.D3DSurfaceData;
  73 import sun.java2d.opengl.OGLSurfaceData;
  74 import sun.java2d.pipe.Region;
  75 import sun.util.logging.PlatformLogger;
  76 
  77 public abstract class WComponentPeer extends WObjectPeer
  78     implements ComponentPeer, DropTargetPeer
  79 {


 563             return gc.getDeviceColorModel();
 564         }
 565         else {
 566             return null;
 567         }
 568     }
 569 
 570     //Returns null for Components not yet added to a Container
 571     public ColorModel getColorModel(int transparency) {
 572 //      return WToolkit.config.getColorModel(transparency);
 573         GraphicsConfiguration gc = getGraphicsConfiguration();
 574         if (gc != null) {
 575             return gc.getColorModel(transparency);
 576         }
 577         else {
 578             return null;
 579         }
 580     }
 581 
 582     // fallback default font object
 583     static final Font defaultFont;
 584 
 585     static {
 586         defaultFont = new Font(Font.DIALOG, Font.PLAIN, 12);
 587         Objects.requireNonNull(defaultFont, "default font must not be null");
 588     }
 589 
 590     @Override
 591     public Graphics getGraphics() {
 592         if (isDisposed()) {
 593             return null;
 594         }
 595 
 596         Component target = (Component)getTarget();
 597         Window window = SunToolkit.getContainingWindow(target);
 598         if (window != null) {
 599             final WWindowPeer wpeer = AWTAccessor.getComponentAccessor()
 600                                                  .getPeer(window);
 601             if (wpeer != null) {
 602                 Graphics g = wpeer.getTranslucentGraphics();
 603                 // getTranslucentGraphics() returns non-null value for non-opaque windows only
 604                 if (g != null) {
 605                     // Non-opaque windows do not support heavyweight children.
 606                     // Redirect all painting to the Window's Graphics instead.
 607                     // The caller is responsible for calling the
 608                     // WindowPeer.updateWindow() after painting has finished.


< prev index next >