Ejemplo n.º 1
0
static void
GetClipFromRegion(JNIEnv *env, jobject clip, RECT &r)
{
    SurfaceDataBounds bounds;
    SurfaceData_GetBoundsFromRegion(env, clip, &bounds);
    r.left = bounds.x1;
    r.top = bounds.y1;
    r.right = bounds.x2;
    r.bottom = bounds.y2;
}
/*
 * Class:     sun_awt_font_X11TextRenderer
 * Method:    doDrawGlyphList
 * Signature: (Lsun/java2d/SurfaceData;Ljava/awt/Rectangle;ILsun/awt/font/GlyphList;J)V
 */
JNIEXPORT void JNICALL Java_sun_awt_font_X11TextRenderer_doDrawGlyphList
    (JNIEnv *env, jobject xtr,
     jobject sData, jobject clip, jint pixel,
     jobject glist, jlong glpeer)
{
    SurfaceDataBounds bounds;
    SurfaceData_GetBoundsFromRegion(env, clip, &bounds);

    GlyphVector &gv = *(GlyphVector*)jlong_to_ptr(glpeer);
    if (!RefineBounds(gv, &bounds)) {
        return;
    }
    AWTDrawGlyphList(env, xtr, sData, clip, pixel, glist, glpeer,
		     &bounds, gv.getGlyphImages(), gv.getNumGlyphs());
}