Example usage for com.badlogic.gdx.graphics.g2d PixmapPacker dispose

List of usage examples for com.badlogic.gdx.graphics.g2d PixmapPacker dispose

Introduction

In this page you can find the example usage for com.badlogic.gdx.graphics.g2d PixmapPacker dispose.

Prototype

public synchronized void dispose() 

Source Link

Document

Disposes all resources, including Pixmap instances for the pages created so far.

Usage

From source file:com.randombot.theme.Ttf2FntGenerator.java

License:Open Source License

/**
 * Convenience method for generating a font, and then writing the fnt and
 * png files. Writing a generated font to files allows the possibility of
 * only generating the fonts when they are missing, otherwise loading from a
 * previously generated file./*from ww w.  jav a2  s .  c o  m*/
 * 
 * @param fontFile
 * @param fontSize
 * @param destiny
 */
private void generateFiles(String fontName, FileHandle fontFile, int fontSize, int pageWidth, int pageHeight,
        FileHandle destiny) {
    FreeTypeFontGenerator generator = new FreeTypeFontGenerator(fontFile);

    PixmapPacker packer = new PixmapPacker(pageWidth, pageHeight, Pixmap.Format.RGBA8888, 2, false);
    FreeTypeFontParameter param = new FreeTypeFontParameter();
    param.packer = packer;
    param.characters = FreeTypeFontGenerator.DEFAULT_CHARS;
    param.size = fontSize;
    param.flip = false;

    FreeTypeFontGenerator.FreeTypeBitmapFontData fontData = generator.generateData(param);

    saveFontToFile(fontData, fontSize, fontName, packer, destiny);
    generator.dispose();
    packer.dispose();
}

From source file:es.eucm.ead.maven.GenerateSkinMojo.java

License:Open Source License

/**
 * Convenience method for generating a font, and then writing the fnt and
 * png files. Writing a generated font to files allows the possibility of
 * only generating the fonts when they are missing, otherwise loading from a
 * previously generated file./*from  ww  w  .j a  va2s  .c  om*/
 * 
 * @param fontFile
 * @param fontSize
 * @param destiny
 */
private void generateFiles(String fontName, FileHandle fontFile, int fontSize, FileHandle destiny) {
    FreeTypeFontGenerator generator = new FreeTypeFontGenerator(fontFile);

    // compute the minimum page size for a square png
    FreeType.Library library = FreeType.initFreeType();
    FreeType.Face face = FreeType.newFace(library, fontFile, 0);
    FreeType.setPixelSizes(face, 0, fontSize);
    FreeType.SizeMetrics fontMetrics = face.getSize().getMetrics();
    float scale = FreeType.toInt(fontMetrics.getHeight());

    for (int c = 32; c < (32 + face.getNumGlyphs()); c++) {
        if (FreeType.loadChar(face, c, FreeType.FT_LOAD_DEFAULT)) {
            int lh = FreeType.toInt(face.getGlyph().getMetrics().getHeight());
            scale = (lh > scale) ? lh : scale;
        }
    }

    // generate the glyphs
    int maxGlyphHeight = (int) Math.ceil(scale);
    float area = maxGlyphHeight * maxGlyphHeight * FreeTypeFontGenerator.DEFAULT_CHARS.length();
    int pageWidth = MathUtils.nextPowerOfTwo((int) Math.sqrt(area));

    pageWidth = Math.min(pageWidth, 1024);

    PixmapPacker packer = new PixmapPacker(pageWidth, pageWidth, Pixmap.Format.RGBA8888, 2, false);

    FreeTypeFontGenerator.FreeTypeFontParameter param = new FreeTypeFontGenerator.FreeTypeFontParameter();
    param.packer = packer;
    param.characters = FreeTypeFontGenerator.DEFAULT_CHARS;
    param.size = fontSize;
    param.flip = false;

    FreeTypeFontGenerator.FreeTypeBitmapFontData fontData = generator.generateData(param);

    saveFontToFile(fontData, fontSize, fontName, packer, destiny);
    generator.dispose();
    packer.dispose();
}