< prev index next >

src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c

Print this page

        

*** 21,46 **** * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ #include "jni_util.h" #include "awt_p.h" #include "awt.h" #include "color.h" #include <java_awt_DisplayMode.h> #include <sun_awt_X11GraphicsEnvironment.h> #include <sun_awt_X11GraphicsDevice.h> #include <sun_awt_X11GraphicsConfig.h> ! #ifndef HEADLESS #include <X11/extensions/Xdbe.h> #include <X11/XKBlib.h> #ifndef NO_XRANDR #include <X11/extensions/Xrandr.h> #endif #include "GLXGraphicsConfig.h" - #endif /* !HEADLESS */ #include <jni.h> #include <jni_util.h> #include <jvm.h> #include <jvm_md.h> --- 21,49 ---- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ + #ifdef HEADLESS + #error This file should not be included in headless library + #endif + #include "jni_util.h" #include "awt_p.h" #include "awt.h" #include "color.h" #include <java_awt_DisplayMode.h> #include <sun_awt_X11GraphicsEnvironment.h> #include <sun_awt_X11GraphicsDevice.h> #include <sun_awt_X11GraphicsConfig.h> ! #include <X11/extensions/Xdbe.h> #include <X11/XKBlib.h> #ifndef NO_XRANDR #include <X11/extensions/Xrandr.h> #endif #include "GLXGraphicsConfig.h" #include <jni.h> #include <jni_util.h> #include <jvm.h> #include <jvm_md.h>
*** 52,79 **** #include "awt_util.h" #include "gdefs.h" #include <dlfcn.h> #include "Trace.h" - #ifndef HEADLESS - int awt_numScreens; /* Xinerama-aware number of screens */ AwtScreenDataPtr x11Screens; /* * Set in initDisplay() to indicate whether we should attempt to initialize * GLX for the default configuration. */ static jboolean glxRequested = JNI_FALSE; - #endif /* !HEADLESS */ - - #ifdef HEADLESS - #define Display void - #endif /* HEADLESS */ - Display *awt_display; jclass tkClass = NULL; jmethodID awtLockMID = NULL; jmethodID awtUnlockMID = NULL; --- 55,74 ----
*** 90,102 **** if (method_id == NULL) return NULL; \ } while (0) struct X11GraphicsConfigIDs x11GraphicsConfigIDs; - #ifndef HEADLESS int awtCreateX11Colormap(AwtGraphicsConfigDataPtr adata); - #endif /* HEADLESS */ static char *x11GraphicsConfigClassName = "sun/awt/X11GraphicsConfig"; /* AWT and Xinerama * --- 85,95 ----
*** 132,143 **** CHECK_NULL(x11GraphicsConfigIDs.aData); x11GraphicsConfigIDs.bitsPerPixel = (*env)->GetFieldID (env, cls, "bitsPerPixel", "I"); CHECK_NULL(x11GraphicsConfigIDs.bitsPerPixel); } - #ifndef HEADLESS - /* * XIOErrorHandler */ static int xioerror_handler(Display *disp) { --- 125,134 ----
*** 403,421 **** &major_opcode, &first_event, &first_error)) { DTRACE_PRINTLN("RENDER extension available"); xrenderLibHandle = dlopen("libXrender.so.1", RTLD_LAZY | RTLD_GLOBAL); - #ifdef MACOSX - #define XRENDER_LIB "/usr/X11/lib/libXrender.dylib" - #else - #define XRENDER_LIB "libXrender.so" - #endif - if (xrenderLibHandle == NULL) { ! xrenderLibHandle = dlopen(XRENDER_LIB, ! RTLD_LAZY | RTLD_GLOBAL); } #if defined(__solaris__) if (xrenderLibHandle == NULL) { xrenderLibHandle = dlopen("/usr/lib/libXrender.so.1", --- 394,405 ---- &major_opcode, &first_event, &first_error)) { DTRACE_PRINTLN("RENDER extension available"); xrenderLibHandle = dlopen("libXrender.so.1", RTLD_LAZY | RTLD_GLOBAL); if (xrenderLibHandle == NULL) { ! xrenderLibHandle = dlopen("libXrender.so", RTLD_LAZY | RTLD_GLOBAL); } #if defined(__solaris__) if (xrenderLibHandle == NULL) { xrenderLibHandle = dlopen("/usr/lib/libXrender.so.1",
*** 603,614 **** XFree (pVI1sg); AWT_UNLOCK (); } - #ifndef HEADLESS - /* * Checks if Xinerama is running and perform Xinerama-related initialization. */ static void xineramaInit(void) { char* XinExtName = "XINERAMA"; --- 587,596 ----
*** 666,676 **** } } else { DTRACE_PRINTLN1("\ncouldn't open shared library: %s\n", dlerror()); } } - #endif /* HEADLESS */ Display * awt_init_Display(JNIEnv *env, jobject this) { jclass klass; --- 648,657 ----
*** 743,857 **** JNU_CHECK_EXCEPTION_RETURN(env, NULL); } return dpy; } - #endif /* !HEADLESS */ /* * Class: sun_awt_X11GraphicsEnvironment * Method: getDefaultScreenNum * Signature: ()I */ JNIEXPORT jint JNICALL Java_sun_awt_X11GraphicsEnvironment_getDefaultScreenNum( JNIEnv *env, jobject this) { - #ifdef HEADLESS - return (jint)0; - #else return DefaultScreen(awt_display); - #endif /* !HEADLESS */ } - #ifndef HEADLESS static void ensureConfigsInited(JNIEnv* env, int screen) { if (x11Screens[screen].numConfigs == 0) { if (env == NULL) { env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2); } getAllConfigs (env, screen, &(x11Screens[screen])); } } - #endif - #ifdef HEADLESS - void* getDefaultConfig(int screen) { - return NULL; - } - #else AwtGraphicsConfigDataPtr getDefaultConfig(int screen) { ensureConfigsInited(NULL, screen); return x11Screens[screen].defaultConfig; } - #endif /* !HEADLESS */ /* * Class: sun_awt_X11GraphicsEnvironment * Method: initDisplay * Signature: (Z)V */ JNIEXPORT void JNICALL Java_sun_awt_X11GraphicsEnvironment_initDisplay(JNIEnv *env, jobject this, jboolean glxReq) { - #ifndef HEADLESS glxRequested = glxReq; (void) awt_init_Display(env, this); - #endif /* !HEADLESS */ } /* * Class: sun_awt_X11GraphicsEnvironment * Method: initGLX * Signature: ()Z */ JNIEXPORT jboolean JNICALL Java_sun_awt_X11GraphicsEnvironment_initGLX(JNIEnv *env, jclass x11ge) { - #ifndef HEADLESS jboolean glxAvailable; AWT_LOCK(); glxAvailable = GLXGC_IsGLXAvailable(); AWT_UNLOCK(); return glxAvailable; - #else - return JNI_FALSE; - #endif /* !HEADLESS */ } /* * Class: sun_awt_X11GraphicsEnvironment * Method: getNumScreens * Signature: ()I */ JNIEXPORT jint JNICALL Java_sun_awt_X11GraphicsEnvironment_getNumScreens(JNIEnv *env, jobject this) { - #ifdef HEADLESS - return (jint)0; - #else return awt_numScreens; - #endif /* !HEADLESS */ } /* * Class: sun_awt_X11GraphicsDevice * Method: getDisplay * Signature: ()J */ JNIEXPORT jlong JNICALL Java_sun_awt_X11GraphicsDevice_getDisplay(JNIEnv *env, jobject this) { - #ifdef HEADLESS - return NULL; - #else return ptr_to_jlong(awt_display); - #endif /* !HEADLESS */ } #ifdef MITSHM static jint canUseShmExt = UNSET_MITSHM; --- 724,811 ----
*** 974,988 **** */ JNIEXPORT jstring JNICALL Java_sun_awt_X11GraphicsEnvironment_getDisplayString (JNIEnv *env, jobject this) { - #ifdef HEADLESS - return (jstring)NULL; - #else return (*env)->NewStringUTF(env, DisplayString(awt_display)); - #endif /* HEADLESS */ } /* * Class: sun_awt_X11GraphicsDevice --- 928,938 ----
*** 991,1006 **** */ JNIEXPORT jint JNICALL Java_sun_awt_X11GraphicsDevice_getNumConfigs( JNIEnv *env, jobject this, jint screen) { - #ifdef HEADLESS - return (jint)0; - #else ensureConfigsInited(env, screen); return x11Screens[screen].numConfigs; - #endif /* !HEADLESS */ } /* * Class: sun_awt_X11GraphicsDevice * Method: getConfigVisualId --- 941,952 ----
*** 1008,1029 **** */ JNIEXPORT jint JNICALL Java_sun_awt_X11GraphicsDevice_getConfigVisualId( JNIEnv *env, jobject this, jint index, jint screen) { - #ifdef HEADLESS - return (jint)0; - #else int visNum; ensureConfigsInited(env, screen); if (index == 0) { return ((jint)x11Screens[screen].defaultConfig->awt_visInfo.visualid); } else { return ((jint)x11Screens[screen].configs[index]->awt_visInfo.visualid); } - #endif /* !HEADLESS */ } /* * Class: sun_awt_X11GraphicsDevice * Method: getConfigDepth --- 954,971 ----
*** 1031,1052 **** */ JNIEXPORT jint JNICALL Java_sun_awt_X11GraphicsDevice_getConfigDepth( JNIEnv *env, jobject this, jint index, jint screen) { - #ifdef HEADLESS - return (jint)0; - #else int visNum; ensureConfigsInited(env, screen); if (index == 0) { return ((jint)x11Screens[screen].defaultConfig->awt_visInfo.depth); } else { return ((jint)x11Screens[screen].configs[index]->awt_visInfo.depth); } - #endif /* !HEADLESS */ } /* * Class: sun_awt_X11GraphicsDevice * Method: getConfigColormap --- 973,990 ----
*** 1054,1075 **** */ JNIEXPORT jint JNICALL Java_sun_awt_X11GraphicsDevice_getConfigColormap( JNIEnv *env, jobject this, jint index, jint screen) { - #ifdef HEADLESS - return (jint)0; - #else int visNum; ensureConfigsInited(env, screen); if (index == 0) { return ((jint)x11Screens[screen].defaultConfig->awt_cmap); } else { return ((jint)x11Screens[screen].configs[index]->awt_cmap); } - #endif /* !HEADLESS */ } /* * Class: sun_awt_X11GraphicsDevice * Method: resetNativeData --- 992,1009 ----
*** 1077,1087 **** */ JNIEXPORT void JNICALL Java_sun_awt_X11GraphicsDevice_resetNativeData (JNIEnv *env, jclass x11gd, jint screen) { - #ifndef HEADLESS /* * Reset references to the various configs; the actual native config data * will be free'd later by the Disposer mechanism when the Java-level * X11GraphicsConfig objects go away. By setting these values to NULL, * we ensure that they will be reinitialized as necessary (for example, --- 1011,1020 ----
*** 1091,1101 **** free(x11Screens[screen].configs); x11Screens[screen].configs = NULL; } x11Screens[screen].defaultConfig = NULL; x11Screens[screen].numConfigs = 0; - #endif /* !HEADLESS */ } /* * Class: sun_awt_X11GraphicsConfig * Method: dispose --- 1024,1033 ----
*** 1103,1113 **** */ JNIEXPORT void JNICALL Java_sun_awt_X11GraphicsConfig_dispose (JNIEnv *env, jclass x11gc, jlong configData) { - #ifndef HEADLESS AwtGraphicsConfigDataPtr aData = (AwtGraphicsConfigDataPtr) jlong_to_ptr(configData); if (aData == NULL) { return; --- 1035,1044 ----
*** 1145,1155 **** "disposeGraphicsConfig", "(J)V", ptr_to_jlong(aData->glxInfo)); } free(aData); - #endif /* !HEADLESS */ } /* * Class: sun_awt_X11GraphicsConfig * Method: getXResolution --- 1076,1085 ----
*** 1157,1172 **** */ JNIEXPORT jdouble JNICALL Java_sun_awt_X11GraphicsConfig_getXResolution( JNIEnv *env, jobject this, jint screen) { - #ifdef HEADLESS - return (jdouble)0; - #else return ((DisplayWidth(awt_display, screen) * 25.4) / DisplayWidthMM(awt_display, screen)); - #endif /* !HEADLESS */ } /* * Class: sun_awt_X11GraphicsConfig * Method: getYResolution --- 1087,1098 ----
*** 1174,1189 **** */ JNIEXPORT jdouble JNICALL Java_sun_awt_X11GraphicsConfig_getYResolution( JNIEnv *env, jobject this, jint screen) { - #ifdef HEADLESS - return (jdouble)0; - #else return ((DisplayHeight(awt_display, screen) * 25.4) / DisplayHeightMM(awt_display, screen)); - #endif /* !HEADLESS */ } /* * Class: sun_awt_X11GraphicsConfig --- 1100,1111 ----
*** 1192,1211 **** */ JNIEXPORT jint JNICALL Java_sun_awt_X11GraphicsConfig_getNumColors( JNIEnv *env, jobject this) { - #ifdef HEADLESS - return (jint)0; - #else AwtGraphicsConfigData *adata; adata = (AwtGraphicsConfigData *) JNU_GetLongFieldAsPtr(env, this, x11GraphicsConfigIDs.aData); return adata->awt_num_colors; - #endif /* !HEADLESS */ } /* * Class: sun_awt_X11GraphicsConfig * Method: init --- 1114,1129 ----
*** 1213,1223 **** */ JNIEXPORT void JNICALL Java_sun_awt_X11GraphicsConfig_init( JNIEnv *env, jobject this, jint visualNum, jint screen) { - #ifndef HEADLESS AwtGraphicsConfigData *adata = NULL; AwtScreenData asd = x11Screens[screen]; int i, n; int depth; XImage * tempImage; --- 1131,1140 ----
*** 1254,1280 **** depth, ZPixmap, 0, NULL, 1, 1, 32, 0); adata->pixelStride = (tempImage->bits_per_pixel + 7) / 8; (*env)->SetIntField(env, this, x11GraphicsConfigIDs.bitsPerPixel, (jint)tempImage->bits_per_pixel); XDestroyImage(tempImage); - #endif /* !HEADLESS */ } - - /* * Class: sun_awt_X11GraphicsConfig * Method: makeColorModel * Signature: ()Ljava/awt/image/ColorModel */ JNIEXPORT jobject JNICALL Java_sun_awt_X11GraphicsConfig_makeColorModel( JNIEnv *env, jobject this) { - #ifdef HEADLESS - return NULL; - #else AwtGraphicsConfigData *adata; jobject colorModel; /* * If awt is not locked yet, return null since the toolkit is not --- 1171,1191 ----
*** 1299,1323 **** ? NULL : awtJNI_GetColorModel (env, adata); AWT_UNLOCK (); return colorModel; - #endif /* !HEADLESS */ } - /* * Class: sun_awt_X11GraphicsConfig * Method: getBounds * Signature: ()Ljava/awt/Rectangle */ JNIEXPORT jobject JNICALL Java_sun_awt_X11GraphicsConfig_pGetBounds(JNIEnv *env, jobject this, jint screen) { - #ifdef HEADLESS - return NULL; - #else jclass clazz; jmethodID mid; jobject bounds = NULL; AwtGraphicsConfigDataPtr adata; int32_t locNumScr = 0; --- 1210,1229 ----
*** 1372,1382 **** if ((*env)->ExceptionOccurred(env)) { return NULL; } } return bounds; - #endif /* !HEADLESS */ } /* * Class: sun_awt_X11GraphicsConfig * Method: createBackBuffer --- 1278,1287 ----
*** 1448,1488 **** */ JNIEXPORT jboolean JNICALL Java_sun_awt_X11GraphicsConfig_isTranslucencyCapable (JNIEnv *env, jobject this, jlong configData) { - #ifdef HEADLESS - return JNI_FALSE; - #else AwtGraphicsConfigDataPtr aData = (AwtGraphicsConfigDataPtr)jlong_to_ptr(configData); if (aData == NULL) { return JNI_FALSE; } return aData->isTranslucencySupported ? JNI_TRUE : JNI_FALSE; - #endif } /* * Class: sun_awt_X11GraphicsDevice * Method: isDBESupported * Signature: ()Z */ JNIEXPORT jboolean JNICALL Java_sun_awt_X11GraphicsDevice_isDBESupported(JNIEnv *env, jobject this) { - #ifdef HEADLESS - return JNI_FALSE; - #else int opcode = 0, firstEvent = 0, firstError = 0; jboolean ret; AWT_LOCK(); ret = (jboolean)XQueryExtension(awt_display, "DOUBLE-BUFFER", &opcode, &firstEvent, &firstError); AWT_FLUSH_UNLOCK(); return ret; - #endif /* !HEADLESS */ } /* * Class: sun_awt_X11GraphicsDevice * Method: getDoubleBufferVisuals --- 1353,1385 ----
*** 1490,1500 **** */ JNIEXPORT void JNICALL Java_sun_awt_X11GraphicsDevice_getDoubleBufferVisuals(JNIEnv *env, jobject this, jint screen) { - #ifndef HEADLESS jclass clazz; jmethodID midAddVisual; Window rootWindow; int i, n = 1; XdbeScreenVisualInfo* visScreenInfo; --- 1387,1396 ----
*** 1525,1535 **** (*env)->CallVoidMethod(env, this, midAddVisual, (visInfo[i]).visual); if ((*env)->ExceptionCheck(env)) { break; } } - #endif /* !HEADLESS */ } /* * Class: sun_awt_X11GraphicsEnvironment * Method: pRunningXinerama --- 1421,1430 ----
*** 1537,1559 **** */ JNIEXPORT jboolean JNICALL Java_sun_awt_X11GraphicsEnvironment_pRunningXinerama(JNIEnv *env, jobject this) { - #ifdef HEADLESS - return JNI_FALSE; - #else return usingXinerama ? JNI_TRUE : JNI_FALSE; - #endif /* HEADLESS */ } /** * Begin DisplayMode/FullScreen support */ - #ifndef HEADLESS - #ifndef NO_XRANDR #define BIT_DEPTH_MULTI java_awt_DisplayMode_BIT_DEPTH_MULTI #define REFRESH_RATE_UNKNOWN java_awt_DisplayMode_REFRESH_RATE_UNKNOWN --- 1432,1448 ----
*** 1787,1808 **** XSendEvent(awt_display, attr.root, False, SubstructureRedirectMask | SubstructureNotifyMask, &event); XSync(awt_display, False); } - #endif /* !HEADLESS */ /* * Class: sun_awt_X11GraphicsDevice * Method: initXrandrExtension * Signature: ()Z */ JNIEXPORT jboolean JNICALL Java_sun_awt_X11GraphicsDevice_initXrandrExtension (JNIEnv *env, jclass x11gd) { ! #if defined(HEADLESS) || defined(NO_XRANDR) return JNI_FALSE; #else int opcode = 0, firstEvent = 0, firstError = 0; jboolean ret; --- 1676,1696 ---- XSendEvent(awt_display, attr.root, False, SubstructureRedirectMask | SubstructureNotifyMask, &event); XSync(awt_display, False); } /* * Class: sun_awt_X11GraphicsDevice * Method: initXrandrExtension * Signature: ()Z */ JNIEXPORT jboolean JNICALL Java_sun_awt_X11GraphicsDevice_initXrandrExtension (JNIEnv *env, jclass x11gd) { ! #if defined(NO_XRANDR) return JNI_FALSE; #else int opcode = 0, firstEvent = 0, firstError = 0; jboolean ret;
*** 1813,1823 **** ret = X11GD_InitXrandrFuncs(env); } AWT_FLUSH_UNLOCK(); return ret; ! #endif /* HEADLESS */ } /* * Class: sun_awt_X11GraphicsDevice * Method: getCurrentDisplayMode --- 1701,1711 ---- ret = X11GD_InitXrandrFuncs(env); } AWT_FLUSH_UNLOCK(); return ret; ! #endif /* NO_XRANDR */ } /* * Class: sun_awt_X11GraphicsDevice * Method: getCurrentDisplayMode
*** 1825,1835 **** */ JNIEXPORT jobject JNICALL Java_sun_awt_X11GraphicsDevice_getCurrentDisplayMode (JNIEnv* env, jclass x11gd, jint screen) { ! #if defined(HEADLESS) || defined(NO_XRANDR) return NULL; #else XRRScreenConfiguration *config; jobject displayMode = NULL; --- 1713,1723 ---- */ JNIEXPORT jobject JNICALL Java_sun_awt_X11GraphicsDevice_getCurrentDisplayMode (JNIEnv* env, jclass x11gd, jint screen) { ! #if defined(NO_XRANDR) return NULL; #else XRRScreenConfiguration *config; jobject displayMode = NULL;
*** 1908,1918 **** } AWT_FLUSH_UNLOCK(); return displayMode; ! #endif /* HEADLESS */ } /* * Class: sun_awt_X11GraphicsDevice * Method: enumDisplayModes --- 1796,1806 ---- } AWT_FLUSH_UNLOCK(); return displayMode; ! #endif /* NO_XRANDR */ } /* * Class: sun_awt_X11GraphicsDevice * Method: enumDisplayModes
*** 1921,1931 **** JNIEXPORT void JNICALL Java_sun_awt_X11GraphicsDevice_enumDisplayModes (JNIEnv* env, jclass x11gd, jint screen, jobject arrayList) { ! #if !defined(HEADLESS) && !defined(NO_XRANDR) AWT_LOCK(); if (usingXinerama && XScreenCount(awt_display) > 0) { XRRScreenResources *res = awt_XRRGetScreenResources(awt_display, --- 1809,1819 ---- JNIEXPORT void JNICALL Java_sun_awt_X11GraphicsDevice_enumDisplayModes (JNIEnv* env, jclass x11gd, jint screen, jobject arrayList) { ! #if !defined(NO_XRANDR) AWT_LOCK(); if (usingXinerama && XScreenCount(awt_display) > 0) { XRRScreenResources *res = awt_XRRGetScreenResources(awt_display,
*** 1996,2006 **** awt_XRRFreeScreenConfigInfo(config); } } AWT_FLUSH_UNLOCK(); ! #endif /* !HEADLESS */ } /* * Class: sun_awt_X11GraphicsDevice * Method: configDisplayMode --- 1884,1894 ---- awt_XRRFreeScreenConfigInfo(config); } } AWT_FLUSH_UNLOCK(); ! #endif /* !NO_XRANDR */ } /* * Class: sun_awt_X11GraphicsDevice * Method: configDisplayMode
*** 2009,2019 **** JNIEXPORT void JNICALL Java_sun_awt_X11GraphicsDevice_configDisplayMode (JNIEnv* env, jclass x11gd, jint screen, jint width, jint height, jint refreshRate) { ! #if !defined(HEADLESS) && !defined(NO_XRANDR) jboolean success = JNI_FALSE; XRRScreenConfiguration *config; Drawable root; Rotation currentRotation = RR_Rotate_0; --- 1897,1907 ---- JNIEXPORT void JNICALL Java_sun_awt_X11GraphicsDevice_configDisplayMode (JNIEnv* env, jclass x11gd, jint screen, jint width, jint height, jint refreshRate) { ! #if !defined(NO_XRANDR) jboolean success = JNI_FALSE; XRRScreenConfiguration *config; Drawable root; Rotation currentRotation = RR_Rotate_0;
*** 2079,2089 **** AWT_FLUSH_UNLOCK(); if (!success && !(*env)->ExceptionCheck(env)) { JNU_ThrowInternalError(env, "Could not set display mode"); } ! #endif /* !HEADLESS */ } /* * Class: sun_awt_X11GraphicsDevice * Method: enterFullScreenExclusive --- 1967,1977 ---- AWT_FLUSH_UNLOCK(); if (!success && !(*env)->ExceptionCheck(env)) { JNU_ThrowInternalError(env, "Could not set display mode"); } ! #endif /* !NO_XRANDR */ } /* * Class: sun_awt_X11GraphicsDevice * Method: enterFullScreenExclusive
*** 2092,2109 **** JNIEXPORT void JNICALL Java_sun_awt_X11GraphicsDevice_enterFullScreenExclusive (JNIEnv* env, jclass x11gd, jlong window) { - #ifndef HEADLESS Window win = (Window)window; AWT_LOCK(); XSync(awt_display, False); /* ensures window is visible first */ X11GD_SetFullscreenMode(win, JNI_TRUE); AWT_UNLOCK(); - #endif /* !HEADLESS */ } /* * Class: sun_awt_X11GraphicsDevice * Method: exitFullScreenExclusive --- 1980,1995 ----
*** 2112,2128 **** JNIEXPORT void JNICALL Java_sun_awt_X11GraphicsDevice_exitFullScreenExclusive (JNIEnv* env, jclass x11gd, jlong window) { - #ifndef HEADLESS Window win = (Window)window; AWT_LOCK(); X11GD_SetFullscreenMode(win, JNI_FALSE); AWT_UNLOCK(); - #endif /* !HEADLESS */ } /** * End DisplayMode/FullScreen support */ --- 1998,2012 ----
< prev index next >