diff options
Diffstat (limited to 'src/solaris/classes/sun/awt/X11GraphicsEnvironment.java')
-rw-r--r-- | src/solaris/classes/sun/awt/X11GraphicsEnvironment.java | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java b/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java index 6ea0756dd5..356beb15f4 100644 --- a/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java +++ b/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java @@ -26,6 +26,7 @@ package sun.awt; import java.awt.GraphicsDevice; + import java.awt.Point; import java.awt.Rectangle; import java.io.BufferedReader; @@ -51,6 +52,7 @@ import sun.java2d.SunGraphicsEnvironment; import sun.java2d.SurfaceManagerFactory; import sun.java2d.UnixSurfaceManagerFactory; import sun.util.logging.PlatformLogger; +import sun.java2d.xr.XRSurfaceData; /** * This is an implementation of a GraphicsEnvironment object for the @@ -92,6 +94,18 @@ public class X11GraphicsEnvironment } } + // Now check for XRender system property + boolean xRenderRequested = false; + String xProp = System.getProperty("sun.java2d.xrender"); + if (xProp != null) { + if (xProp.equals("true") || xProp.equals("t")) { + xRenderRequested = true; + } else if (xProp.equals("True") || xProp.equals("T")) { + xRenderRequested = true; + xRenderVerbose = true; + } + } + // initialize the X11 display connection initDisplay(glxRequested); @@ -104,6 +118,19 @@ public class X11GraphicsEnvironment "pipeline (GLX 1.3 not available)"); } } + + // only attempt to initialize Xrender if it was requested + if (xRenderRequested) { + xRenderAvailable = initXRender(); + if (xRenderVerbose && !xRenderAvailable) { + System.out.println( + "Could not enable XRender pipeline"); + } + } + + if (xRenderAvailable) { + XRSurfaceData.initXRSurfaceData(); + } } return null; @@ -115,6 +142,7 @@ public class X11GraphicsEnvironment } + private static boolean glxAvailable; private static boolean glxVerbose; @@ -128,6 +156,18 @@ public class X11GraphicsEnvironment return glxVerbose; } + private static boolean xRenderVerbose; + private static boolean xRenderAvailable; + + private static native boolean initXRender(); + public static boolean isXRenderAvailable() { + return xRenderAvailable; + } + + public static boolean isXRenderVerbose() { + return xRenderVerbose; + } + /** * Checks if Shared Memory extension can be used. * Returns: |