package org.anddev.andengine.opengl.font; import java.util.ArrayList; import javax.microedition.khronos.opengles.GL10; /** * (c) 2010 Nicolas Gramlich * (c) 2011 Zynga Inc. * * @author Nicolas Gramlich * @since 17:48:46 - 08.03.2010 */ public class FontManager { // =========================================================== // Constants // =========================================================== // =========================================================== // Fields // =========================================================== private final ArrayList<Font> mFontsManaged = new ArrayList<Font>(); // =========================================================== // Constructors // =========================================================== // =========================================================== // Getter & Setter // =========================================================== // =========================================================== // Methods for/from SuperClass/Interfaces // =========================================================== // =========================================================== // Methods // =========================================================== public synchronized void clear() { this.mFontsManaged.clear(); } public synchronized void loadFont(final Font pFont) { if(pFont == null) { throw new IllegalArgumentException("pFont must not be null!"); } this.mFontsManaged.add(pFont); } public synchronized void loadFonts(final FontLibrary pFontLibrary) { pFontLibrary.loadFonts(this); } public void loadFonts(final Font ... pFonts) { for(int i = pFonts.length - 1; i >= 0; i--) { this.loadFont(pFonts[i]); } } public synchronized void updateFonts(final GL10 pGL) { final ArrayList<Font> fonts = this.mFontsManaged; final int fontCount = fonts.size(); if(fontCount > 0){ for(int i = fontCount - 1; i >= 0; i--){ fonts.get(i).update(pGL); } } } public synchronized void reloadFonts() { final ArrayList<Font> managedFonts = this.mFontsManaged; for(int i = managedFonts.size() - 1; i >= 0; i--) { managedFonts.get(i).reload(); } } // =========================================================== // Inner and Anonymous Classes // =========================================================== }