< prev index next >

src/java.desktop/unix/native/libawt_xawt/java2d/x11/XRBackendNative.c

Print this page




1093         if (xRects != &sRects[0]) {
1094             free(xRects);
1095         }
1096         return;
1097     }
1098 
1099     for (i=0; i < rectCnt; i++) {
1100       xRects[i].x = rects[i*4 + 0];
1101       xRects[i].y = rects[i*4 + 1];
1102       xRects[i].width = rects[i*4 + 2];
1103       xRects[i].height = rects[i*4 + 3];
1104     }
1105 
1106     XFillRectangles(awt_display, (Drawable) dst, (GC) jlong_to_ptr(gc), xRects, rectCnt);
1107 
1108     (*env)->ReleasePrimitiveArrayCritical(env, rectArray, rects, JNI_ABORT);
1109     if (xRects != &sRects[0]) {
1110       free(xRects);
1111     }
1112 }
1113 
1114 JNIEXPORT void JNICALL
1115 Java_sun_java2d_xr_XRBackendNative_renderCompositeTrapezoidsNative
1116  (JNIEnv *env, jclass cls, jbyte op, jint src, jlong maskFmt,
1117  jint dst, jint srcX, jint srcY, jintArray  trapArray) {
1118     jint *traps;
1119 
1120     if ((traps = (jint *) (*env)->GetPrimitiveArrayCritical(env, trapArray, NULL)) == NULL) {
1121       return;
1122     }
1123 
1124     XRenderCompositeTrapezoids(awt_display, op, (Picture) src, (Picture) dst,
1125                                (XRenderPictFormat *) jlong_to_ptr(maskFmt),
1126                                srcX, srcY, (XTrapezoid *) (traps+5), traps[0]);
1127 
1128     (*env)->ReleasePrimitiveArrayCritical(env, trapArray, traps, JNI_ABORT);
1129 }


1093         if (xRects != &sRects[0]) {
1094             free(xRects);
1095         }
1096         return;
1097     }
1098 
1099     for (i=0; i < rectCnt; i++) {
1100       xRects[i].x = rects[i*4 + 0];
1101       xRects[i].y = rects[i*4 + 1];
1102       xRects[i].width = rects[i*4 + 2];
1103       xRects[i].height = rects[i*4 + 3];
1104     }
1105 
1106     XFillRectangles(awt_display, (Drawable) dst, (GC) jlong_to_ptr(gc), xRects, rectCnt);
1107 
1108     (*env)->ReleasePrimitiveArrayCritical(env, rectArray, rects, JNI_ABORT);
1109     if (xRects != &sRects[0]) {
1110       free(xRects);
1111     }
1112 }

















< prev index next >