aboutsummaryrefslogtreecommitdiff
path: root/src/solaris
diff options
context:
space:
mode:
authortdv <none@none>2008-05-14 16:05:07 -0700
committertdv <none@none>2008-05-14 16:05:07 -0700
commitafe1f824037397ab4f90b0ecc383d99312645a78 (patch)
tree3b4f1cf7e8fb06baa235c071f05a871e386c427a /src/solaris
parentc0983f42b77e2ef017e1b202c380c422d554eed4 (diff)
downloadjdk8u_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.java6
-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);
}
}
+
}