diff options
author | tdv <none@none> | 2008-05-14 16:05:07 -0700 |
---|---|---|
committer | tdv <none@none> | 2008-05-14 16:05:07 -0700 |
commit | afe1f824037397ab4f90b0ecc383d99312645a78 (patch) | |
tree | 3b4f1cf7e8fb06baa235c071f05a871e386c427a /src/solaris | |
parent | c0983f42b77e2ef017e1b202c380c422d554eed4 (diff) | |
download | jdk8u_jdk-afe1f824037397ab4f90b0ecc383d99312645a78.tar.gz |
6675596: SurfaceManagerFactory should allow plugging in different implementations
Reviewed-by: tdv, campbell
Contributed-by: Roman Kennke <roman.kennke@aicas.com>
Diffstat (limited to 'src/solaris')
-rw-r--r-- | src/solaris/classes/sun/awt/X11GraphicsEnvironment.java | 6 | ||||
-rw-r--r-- | src/solaris/classes/sun/java2d/UnixSurfaceManagerFactory.java (renamed from src/solaris/classes/sun/java2d/SurfaceManagerFactory.java) | 21 |
2 files changed, 16 insertions, 11 deletions
diff --git a/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java b/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java index 27ba044c27..b531fa739b 100644 --- a/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java +++ b/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java @@ -48,6 +48,8 @@ import sun.font.Font2D; import sun.font.FontManager; import sun.font.NativeFont; import sun.java2d.SunGraphicsEnvironment; +import sun.java2d.SurfaceManagerFactory; +import sun.java2d.UnixSurfaceManagerFactory; /** * This is an implementation of a GraphicsEnvironment object for the @@ -177,6 +179,10 @@ public class X11GraphicsEnvironment return null; } }); + + // Install the correct surface manager factory. + SurfaceManagerFactory.setInstance(new UnixSurfaceManagerFactory()); + } private static boolean glxAvailable; diff --git a/src/solaris/classes/sun/java2d/SurfaceManagerFactory.java b/src/solaris/classes/sun/java2d/UnixSurfaceManagerFactory.java index 525ec325a5..719ae69c15 100644 --- a/src/solaris/classes/sun/java2d/SurfaceManagerFactory.java +++ b/src/solaris/classes/sun/java2d/UnixSurfaceManagerFactory.java @@ -1,5 +1,5 @@ /* - * Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2003-2008 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 @@ -23,24 +23,23 @@ * have any questions. */ + package sun.java2d; import java.awt.GraphicsConfiguration; -import java.awt.image.BufferedImage; -import sun.awt.X11GraphicsConfig; + import sun.awt.image.SunVolatileImage; -import sun.awt.image.SurfaceManager; import sun.awt.image.VolatileSurfaceManager; import sun.java2d.opengl.GLXGraphicsConfig; import sun.java2d.opengl.GLXVolatileSurfaceManager; import sun.java2d.x11.X11VolatileSurfaceManager; /** - * This is a factory class with static methods for creating a - * platform-specific instance of a particular SurfaceManager. Each platform - * (Windows, Unix, etc.) has its own specialized SurfaceManagerFactory. + * The SurfaceManagerFactory that creates VolatileSurfaceManager + * implementations for the Unix volatile images. */ -public class SurfaceManagerFactory { +public class UnixSurfaceManagerFactory extends SurfaceManagerFactory { + /** * Creates a new instance of a VolatileSurfaceManager given any * arbitrary SunVolatileImage. An optional context Object can be supplied @@ -51,9 +50,8 @@ public class SurfaceManagerFactory { * specific VolatileSurfaceManager based on the GraphicsConfiguration * under which the SunVolatileImage was created. */ - public static VolatileSurfaceManager - createVolatileManager(SunVolatileImage vImg, - Object context) + public VolatileSurfaceManager createVolatileManager(SunVolatileImage vImg, + Object context) { GraphicsConfiguration gc = vImg.getGraphicsConfig(); if (gc instanceof GLXGraphicsConfig) { @@ -62,4 +60,5 @@ public class SurfaceManagerFactory { return new X11VolatileSurfaceManager(vImg, context); } } + } |