src/macosx/classes/sun/java2d/opengl/CGLGraphicsConfig.java
Print this page
@@ -78,14 +78,12 @@
private BufferCapabilities bufferCaps;
private long pConfigInfo;
private ContextCapabilities oglCaps;
private OGLContext context;
private final Object disposerReferent = new Object();
-
- public static native int getDefaultPixFmt(int screennum);
private static native boolean initCGL();
- private static native long getCGLConfigInfo(int screennum, int visualnum,
+ private static native long getCGLConfigInfo(int displayID, int visualnum,
int swapInterval);
private static native int getOGLCapabilities(long configInfo);
static {
cglAvailable = initCGL();
@@ -135,19 +133,20 @@
// getCGLConfigInfo() creates and destroys temporary
// surfaces/contexts, so we should first invalidate the current
// Java-level context and flush the queue...
OGLContext.invalidateCurrentContext();
- cfginfo = getCGLConfigInfo(device.getCoreGraphicsScreen(), pixfmt,
+ cfginfo = getCGLConfigInfo(device.getCGDisplayID(), pixfmt,
kOpenGLSwapInterval);
-
+ if (cfginfo != 0L) {
OGLContext.setScratchSurface(cfginfo);
rq.flushAndInvokeNow(new Runnable() {
public void run() {
ids[0] = OGLContext.getOGLIdString();
}
});
+ }
} finally {
rq.unlock();
}
if (cfginfo == 0) {
return null;
@@ -251,12 +250,12 @@
updateTotalDisplayBounds();
}
@Override
public String toString() {
- int screen = getDevice().getCoreGraphicsScreen();
- return ("CGLGraphicsConfig[dev="+screen+",pixfmt="+pixfmt+"]");
+ int displayID = getDevice().getCGDisplayID();
+ return ("CGLGraphicsConfig[dev="+displayID+",pixfmt="+pixfmt+"]");
}
@Override
public SurfaceData createSurfaceData(CPlatformView pView) {
return CGLSurfaceData.createData(pView);
@@ -411,12 +410,12 @@
return oglCaps;
}
@Override
public void addDeviceEventListener(AccelDeviceEventListener l) {
- int screen = getDevice().getCoreGraphicsScreen();
- AccelDeviceEventNotifier.addListener(l, screen);
+ int displayID = getDevice().getCGDisplayID();
+ AccelDeviceEventNotifier.addListener(l, displayID);
}
@Override
public void removeDeviceEventListener(AccelDeviceEventListener l) {
AccelDeviceEventNotifier.removeListener(l);