src/macosx/classes/sun/awt/CGraphicsConfig.java

Print this page

        

*** 29,45 **** import java.awt.geom.*; import java.awt.image.*; import sun.java2d.SurfaceData; import sun.java2d.opengl.CGLLayer; import sun.lwawt.macosx.CPlatformView; ! public class CGraphicsConfig extends GraphicsConfiguration { private final CGraphicsDevice device; private ColorModel colorModel; ! public CGraphicsConfig(CGraphicsDevice device) { this.device = device; } @Override public BufferedImage createCompatibleImage(int width, int height) { --- 29,48 ---- import java.awt.geom.*; import java.awt.image.*; import sun.java2d.SurfaceData; import sun.java2d.opengl.CGLLayer; + import sun.lwawt.LWGraphicsConfig; import sun.lwawt.macosx.CPlatformView; ! public abstract class CGraphicsConfig extends GraphicsConfiguration ! implements LWGraphicsConfig { ! private final CGraphicsDevice device; private ColorModel colorModel; ! protected CGraphicsConfig(CGraphicsDevice device) { this.device = device; } @Override public BufferedImage createCompatibleImage(int width, int height) {
*** 82,172 **** double xscale = device.getXResolution() / 72.0; double yscale = device.getYResolution() / 72.0; return new AffineTransform(xscale, 0.0, 0.0, yscale, 0.0, 0.0); } - - /** - * The following methods are invoked from CToolkit.java and - * LWWindowPeer.java rather than having the native - * implementations hardcoded in those classes. This way the appropriate - * actions are taken based on the peer's GraphicsConfig, whether it is - * an CGLGraphicsConfig or something else. - */ - /** * Creates a new SurfaceData that will be associated with the given * LWWindowPeer. */ ! public SurfaceData createSurfaceData(CPlatformView pView) { ! throw new UnsupportedOperationException("not implemented"); ! } /** * Creates a new SurfaceData that will be associated with the given * CGLLayer. */ ! public SurfaceData createSurfaceData(CGLLayer layer) { ! throw new UnsupportedOperationException("not implemented"); ! } ! ! /** ! * Creates a new hidden-acceleration image of the given width and height ! * that is associated with the target Component. ! */ ! public Image createAcceleratedImage(Component target, ! int width, int height) ! { ! throw new UnsupportedOperationException("not implemented"); ! } ! ! /** ! * The following methods correspond to the multibuffering methods in ! * LWWindowPeer.java... ! */ ! ! /** ! * Attempts to create a native backbuffer for the given peer. If ! * the requested configuration is not natively supported, an AWTException ! * is thrown. Otherwise, if the backbuffer creation is successful, a ! * handle to the native backbuffer is returned. ! */ ! public long createBackBuffer(CPlatformView pView, ! int numBuffers, BufferCapabilities caps) ! throws AWTException ! { ! throw new UnsupportedOperationException("not implemented"); ! } ! ! public void destroyBackBuffer(long backBuffer) ! throws AWTException ! { ! throw new UnsupportedOperationException("not implemented"); ! } ! ! /** ! * Creates a VolatileImage that essentially wraps the target Component's ! * backbuffer, using the provided backbuffer handle. ! */ ! public VolatileImage createBackBufferImage(Component target, ! long backBuffer) ! { ! throw new UnsupportedOperationException("not implemented"); ! } ! ! /** ! * Performs the native flip operation for the given target Component. ! */ ! public void flip(CPlatformView delegate, ! Component target, VolatileImage xBackBuffer, ! int x1, int y1, int x2, int y2, ! BufferCapabilities.FlipContents flipAction) ! { ! throw new UnsupportedOperationException("not implemented"); ! } @Override ! public boolean isTranslucencyCapable() { //we know for sure we have capable config :) return true; } } --- 85,107 ---- double xscale = device.getXResolution() / 72.0; double yscale = device.getYResolution() / 72.0; return new AffineTransform(xscale, 0.0, 0.0, yscale, 0.0, 0.0); } /** * Creates a new SurfaceData that will be associated with the given * LWWindowPeer. */ ! public abstract SurfaceData createSurfaceData(CPlatformView pView); /** * Creates a new SurfaceData that will be associated with the given * CGLLayer. */ ! public abstract SurfaceData createSurfaceData(CGLLayer layer); @Override ! public final boolean isTranslucencyCapable() { //we know for sure we have capable config :) return true; } }