From 0a6a592c04a85d8124aa9d38b67f0caa1d739b75 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Fri, 10 Dec 2010 05:24:32 +0100 Subject: Cleanup GLGraphicsConfiguration[Factory] implementations (X11/WGL) - AWT/WGL: - Using sun.awt.Win32GraphicsConfig via reflection, if supported, else we may fail. - Preselection of PFD as follows: - 1st choice is to create our own AWT GraphicsConfig (GC) based on PFD/GLCaps, ignoring WGL_SUPPORT_GDI_ARB, PFD_SUPPORT_GDI - 2nd choice is to use AWT PFD pool of GC's - else we fail -> use NewtCanvasAWT instead (TODO: Other JDK/AWT implementations ?) - Set PFD will be performed at setRealized(..) - SharedContext (X11/WGL) is synchronized to allow multithreaded access, if required - Simplified and unified (X11/WGL) GraphicsConfigurationFactory - WGL 'external' drawables will be determined with given arguments right away --- .../media/nativewindow/GraphicsConfigurationFactory.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src/nativewindow/classes/javax') diff --git a/src/nativewindow/classes/javax/media/nativewindow/GraphicsConfigurationFactory.java b/src/nativewindow/classes/javax/media/nativewindow/GraphicsConfigurationFactory.java index c061f597f..ba047c1f6 100644 --- a/src/nativewindow/classes/javax/media/nativewindow/GraphicsConfigurationFactory.java +++ b/src/nativewindow/classes/javax/media/nativewindow/GraphicsConfigurationFactory.java @@ -33,10 +33,13 @@ package javax.media.nativewindow; -import java.util.*; +import com.jogamp.common.util.ReflectionUtil; +import com.jogamp.nativewindow.impl.Debug; +import com.jogamp.nativewindow.impl.DefaultGraphicsConfigurationFactoryImpl; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; -import com.jogamp.common.util.*; -import com.jogamp.nativewindow.impl.*; /** * Provides the mechanism by which the graphics configuration for a @@ -88,7 +91,7 @@ public abstract class GraphicsConfigurationFactory { // AWTGraphicsDevice instances -- the OpenGL binding will take // care of handling AWTGraphicsDevices on X11 platforms (as // well as X11GraphicsDevices in non-AWT situations) - registerFactory(abstractGraphicsDeviceClass, new GraphicsConfigurationFactoryImpl()); + registerFactory(abstractGraphicsDeviceClass, new DefaultGraphicsConfigurationFactoryImpl()); } /** Returns the factory for use with the given type of @@ -232,4 +235,5 @@ public abstract class GraphicsConfigurationFactory { chooseGraphicsConfigurationImpl(CapabilitiesImmutable capsChosen, CapabilitiesImmutable capsRequested, CapabilitiesChooser chooser, AbstractGraphicsScreen screen) throws IllegalArgumentException, NativeWindowException; + } -- cgit v1.2.3