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()); }