/** * Initializes the native peer of this <tt>Font</tt>. * <p> * Java declaration: * <pre> * init(III)V * </pre> * * @param face The face of the font to initialize * @param style The style of the font to initialize * @param size The point size of the font to initialize */ KNIEXPORT KNI_RETURNTYPE_VOID KNIDECL(javax_microedition_lcdui_Font_init) { jboolean free_size = KNI_GetParameterAsBoolean(4); int size = (int)KNI_GetParameterAsInt(3); int style = (int)KNI_GetParameterAsInt(2); int face = (int)KNI_GetParameterAsInt(1); int ascent, descent, leading; KNI_StartHandles(1); KNI_DeclareHandle(thisObject); if (free_size == KNI_FALSE) { /* size is one of the SIZE_XXX constants */ size = OEM_FONT_SIZE(size); } KNI_GetParameterAsObject(0, thisObject); gx_get_fontinfo(face, style, size, &ascent, &descent, &leading); SNI_BEGIN_RAW_POINTERS; GET_FONT_PTR(thisObject)->baseline = (jint)ascent; GET_FONT_PTR(thisObject)->height = (jint)(ascent + descent + leading); GET_FONT_PTR(thisObject)->size = (jint)size; GET_FONT_PTR(thisObject)->sizeRounded = (jint) LCDUI_FONT_SIZE(size); SNI_END_RAW_POINTERS; KNI_EndHandles(); KNI_ReturnVoid(); }
/** * Initializes the native peer of this <tt>Font</tt>. * <p> * Java declaration: * <pre> * init(III)V * </pre> * * @param face The face of the font to initialize * @param style The style of the font to initialize * @param size The point size of the font to initialize */ JNIEXPORT void JNICALL Java_org_thenesis_microbackend_ui_graphics_toolkit_gxj_GXJFont_init(JNIEnv *env, jobject obj, jint face, jint style, jint size) { int ascent, descent, leading; /* Get a reference to obj's class */ jclass cls = (*env)->GetObjectClass(env, obj); jfieldID baseLineId = (*env)->GetFieldID(env, cls, "baseline", "I"); jfieldID heightId = (*env)->GetFieldID(env, cls, "height", "I"); faceId = (*env)->GetFieldID(env, cls, "face", "I"); styleId = (*env)->GetFieldID(env, cls, "style", "I"); sizeId = (*env)->GetFieldID(env, cls, "size", "I"); gx_get_fontinfo(face, style, size, &ascent, &descent, &leading); (*env)->SetIntField(env, obj, baseLineId, (jint)ascent); (*env)->SetIntField(env, obj, heightId, (jint)(ascent + descent + leading)); }
/** * Initializes the native peer of this <tt>Font</tt>. * <p> * Java declaration: * <pre> * init(III)V * </pre> * * @param face The face of the font to initialize * @param style The style of the font to initialize * @param size The point size of the font to initialize */ KNIEXPORT KNI_RETURNTYPE_VOID KNIDECL(javax_microedition_lcdui_Font_init) { int size = (int)KNI_GetParameterAsInt(3); int style = (int)KNI_GetParameterAsInt(2); int face = (int)KNI_GetParameterAsInt(1); int ascent, descent, leading; KNI_StartHandles(1); KNI_DeclareHandle(thisObject); KNI_GetParameterAsObject(0, thisObject); gx_get_fontinfo(face, style, size, &ascent, &descent, &leading); SNI_BEGIN_RAW_POINTERS; GET_FONT_PTR(thisObject)->baseline = (jint)ascent; GET_FONT_PTR(thisObject)->height = (jint)(ascent + descent + leading); SNI_END_RAW_POINTERS; KNI_EndHandles(); KNI_ReturnVoid(); }