FreeType.Glyph mainGlyph = slot.getGlyph(); try { mainGlyph.toBitmap(parameter.mono ? FreeType.FT_RENDER_MODE_MONO : FreeType.FT_RENDER_MODE_NORMAL); } catch (GdxRuntimeException e) { mainGlyph.dispose(); Gdx.app.log("FreeTypeFontGenerator", "Couldn't render char: " + c); return null; Bitmap mainBitmap = mainGlyph.getBitmap(); Pixmap mainPixmap = mainBitmap.getPixmap(Format.RGBA8888, parameter.color, parameter.gamma); int top = mainGlyph.getTop(), left = mainGlyph.getLeft(); FreeType.Glyph borderGlyph = slot.getGlyph(); borderGlyph.strokeBorder(stroker, false); borderGlyph.toBitmap(parameter.mono ? FreeType.FT_RENDER_MODE_MONO : FreeType.FT_RENDER_MODE_NORMAL); offsetX = left - borderGlyph.getLeft(); offsetY = -(top - borderGlyph.getTop()); Bitmap borderBitmap = borderGlyph.getBitmap(); Pixmap borderPixmap = borderBitmap.getPixmap(Format.RGBA8888, parameter.borderColor, parameter.borderGamma); mainGlyph.dispose(); mainPixmap = borderPixmap; mainGlyph = borderGlyph; glyph.width = mainPixmap.getWidth(); glyph.height = mainPixmap.getHeight(); glyph.xoffset = mainGlyph.getLeft(); if (parameter.flip)
FreeType.Glyph mainGlyph = slot.getGlyph(); try { mainGlyph.toBitmap(parameter.mono ? FreeType.FT_RENDER_MODE_MONO : FreeType.FT_RENDER_MODE_NORMAL); } catch (GdxRuntimeException e) { mainGlyph.dispose(); Gdx.app.log("FreeTypeFontGenerator", "Couldn't render char: " + c); return null; Bitmap mainBitmap = mainGlyph.getBitmap(); Pixmap mainPixmap = mainBitmap.getPixmap(Format.RGBA8888, parameter.color, parameter.gamma); int top = mainGlyph.getTop(), left = mainGlyph.getLeft(); FreeType.Glyph borderGlyph = slot.getGlyph(); borderGlyph.strokeBorder(stroker, false); borderGlyph.toBitmap(parameter.mono ? FreeType.FT_RENDER_MODE_MONO : FreeType.FT_RENDER_MODE_NORMAL); offsetX = left - borderGlyph.getLeft(); offsetY = -(top - borderGlyph.getTop()); Bitmap borderBitmap = borderGlyph.getBitmap(); Pixmap borderPixmap = borderBitmap.getPixmap(Format.RGBA8888, parameter.borderColor, parameter.borderGamma); mainGlyph.dispose(); mainPixmap = borderPixmap; mainGlyph = borderGlyph; glyph.width = mainPixmap.getWidth(); glyph.height = mainPixmap.getHeight(); glyph.xoffset = mainGlyph.getLeft(); if (parameter.flip)
private static native int getLeft(long glyph); /* FT_BitmapGlyph glyph_bitmap = ((FT_BitmapGlyph)glyph);
private static native long getBitmap(long glyph); /* FT_BitmapGlyph glyph_bitmap = ((FT_BitmapGlyph)glyph);
private static native long toBitmap(long glyph, int renderMode); /* FT_Glyph bitmap = (FT_Glyph)glyph;
private static native int getTop(long glyph); /* FT_BitmapGlyph glyph_bitmap = ((FT_BitmapGlyph)glyph);
private static native long strokeBorder(long glyph, long stroker, boolean inside); /* FT_Glyph border_glyph = (FT_Glyph)glyph;
private static native long getGlyph(long glyphSlot); /* FT_Glyph glyph;
@Override public void dispose () { done(address); }
FreeType.Glyph mainGlyph = slot.getGlyph(); try { mainGlyph.toBitmap(parameter.mono ? FreeType.FT_RENDER_MODE_MONO : FreeType.FT_RENDER_MODE_NORMAL); } catch (GdxRuntimeException e) { mainGlyph.dispose(); Gdx.app.log("FreeTypeFontGenerator", "Couldn't render char: " + c); return null; Bitmap mainBitmap = mainGlyph.getBitmap(); Pixmap mainPixmap = mainBitmap.getPixmap(Format.RGBA8888, parameter.color, parameter.gamma); int top = mainGlyph.getTop(), left = mainGlyph.getLeft(); FreeType.Glyph borderGlyph = slot.getGlyph(); borderGlyph.strokeBorder(stroker, false); borderGlyph.toBitmap(parameter.mono ? FreeType.FT_RENDER_MODE_MONO : FreeType.FT_RENDER_MODE_NORMAL); offsetX = left - borderGlyph.getLeft(); offsetY = -(top - borderGlyph.getTop()); Bitmap borderBitmap = borderGlyph.getBitmap(); Pixmap borderPixmap = borderBitmap.getPixmap(Format.RGBA8888, parameter.borderColor, parameter.borderGamma); mainGlyph.dispose(); mainPixmap = borderPixmap; mainGlyph = borderGlyph; glyph.width = mainPixmap.getWidth(); glyph.height = mainPixmap.getHeight(); glyph.xoffset = mainGlyph.getLeft(); if (parameter.flip)
private static native int getTop(long glyph); /* FT_BitmapGlyph glyph_bitmap = ((FT_BitmapGlyph)glyph);
private static native int getTop(long glyph); /* FT_BitmapGlyph glyph_bitmap = ((FT_BitmapGlyph)glyph);
private static native long strokeBorder(long glyph, long stroker, boolean inside); /* FT_Glyph border_glyph = (FT_Glyph)glyph;
private static native long getGlyph(long glyphSlot); /* FT_Glyph glyph;
private static native int getLeft(long glyph); /* FT_BitmapGlyph glyph_bitmap = ((FT_BitmapGlyph)glyph);
private static native int getLeft(long glyph); /* FT_BitmapGlyph glyph_bitmap = ((FT_BitmapGlyph)glyph);
private static native long toBitmap(long glyph, int renderMode); /* FT_Glyph bitmap = (FT_Glyph)glyph;
private static native long getBitmap(long glyph); /* FT_BitmapGlyph glyph_bitmap = ((FT_BitmapGlyph)glyph);
private static native long getBitmap(long glyph); /* FT_BitmapGlyph glyph_bitmap = ((FT_BitmapGlyph)glyph);
private static native long toBitmap(long glyph, int renderMode); /* FT_Glyph bitmap = (FT_Glyph)glyph;