src/solaris/native/sun/java2d/x11/XRBackendNative.c

Print this page




 250     static jboolean firstTime = JNI_TRUE;
 251 
 252     if (firstTime) {
 253         AWT_LOCK();
 254         xrenderAvailable = IsXRenderAvailable(verbose);
 255         AWT_UNLOCK();
 256         firstTime = JNI_FALSE;
 257     }
 258     return xrenderAvailable;
 259 #else
 260     return JNI_FALSE;
 261 #endif /* !HEADLESS */
 262 }
 263 
 264 
 265 JNIEXPORT void JNICALL
 266 Java_sun_java2d_xr_XRBackendNative_initIDs(JNIEnv *env, jclass cls) {
 267     char *maskData;
 268     XImage* defaultImg;
 269     jfieldID maskImgID;
 270     jlong fmt8 =
 271         ptr_to_jlong(XRenderFindStandardFormat(awt_display, PictStandardA8));
 272     jlong fmt32 =
 273        ptr_to_jlong(XRenderFindStandardFormat(awt_display, PictStandardARGB32));
 274     jfieldID a8ID = (*env)->GetStaticFieldID(env, cls, "FMTPTR_A8", "J");
 275     jfieldID argb32ID = (*env)->GetStaticFieldID(env, cls, "FMTPTR_ARGB32", "J");
 276 







 277     (*env)->SetStaticLongField(env, cls, a8ID, fmt8);
 278     (*env)->SetStaticLongField(env, cls, argb32ID, fmt32);
 279 
 280     maskData = (char *) malloc(32*32);
 281     if (maskData == NULL) {
 282        return;
 283     }
 284 
 285     defaultImg = XCreateImage(awt_display, NULL, 8, ZPixmap, 0, maskData, 32, 32, 8, 0);
 286     defaultImg->data = maskData; //required?
 287     maskImgID = (*env)->GetStaticFieldID(env, cls, "MASK_XIMG", "J");
 288     (*env)->SetStaticLongField(env, cls, maskImgID, ptr_to_jlong(defaultImg));
 289 }
 290 
 291 JNIEXPORT void JNICALL
 292 Java_sun_java2d_xr_XRBackendNative_freeGC
 293  (JNIEnv *env, jobject this, jlong gc) {
 294     XFreeGC(awt_display, (GC) jlong_to_ptr(gc));
 295 }
 296 




 250     static jboolean firstTime = JNI_TRUE;
 251 
 252     if (firstTime) {
 253         AWT_LOCK();
 254         xrenderAvailable = IsXRenderAvailable(verbose);
 255         AWT_UNLOCK();
 256         firstTime = JNI_FALSE;
 257     }
 258     return xrenderAvailable;
 259 #else
 260     return JNI_FALSE;
 261 #endif /* !HEADLESS */
 262 }
 263 
 264 
 265 JNIEXPORT void JNICALL
 266 Java_sun_java2d_xr_XRBackendNative_initIDs(JNIEnv *env, jclass cls) {
 267     char *maskData;
 268     XImage* defaultImg;
 269     jfieldID maskImgID;
 270     jlong fmt8;
 271 
 272     jlong fmt32;

 273     jfieldID a8ID = (*env)->GetStaticFieldID(env, cls, "FMTPTR_A8", "J");
 274     jfieldID argb32ID = (*env)->GetStaticFieldID(env, cls, "FMTPTR_ARGB32", "J");
 275 
 276     if (awt_display == (Display *)NULL) {
 277         return;
 278     }
 279 
 280     fmt8 = ptr_to_jlong(XRenderFindStandardFormat(awt_display, PictStandardA8));
 281     fmt32 = ptr_to_jlong(XRenderFindStandardFormat(awt_display, PictStandardARGB32));
 282 
 283     (*env)->SetStaticLongField(env, cls, a8ID, fmt8);
 284     (*env)->SetStaticLongField(env, cls, argb32ID, fmt32);
 285 
 286     maskData = (char *) malloc(32*32);
 287     if (maskData == NULL) {
 288        return;
 289     }
 290 
 291     defaultImg = XCreateImage(awt_display, NULL, 8, ZPixmap, 0, maskData, 32, 32, 8, 0);
 292     defaultImg->data = maskData; //required?
 293     maskImgID = (*env)->GetStaticFieldID(env, cls, "MASK_XIMG", "J");
 294     (*env)->SetStaticLongField(env, cls, maskImgID, ptr_to_jlong(defaultImg));
 295 }
 296 
 297 JNIEXPORT void JNICALL
 298 Java_sun_java2d_xr_XRBackendNative_freeGC
 299  (JNIEnv *env, jobject this, jlong gc) {
 300     XFreeGC(awt_display, (GC) jlong_to_ptr(gc));
 301 }
 302