package org.newdawn.slick.tests;
import org.newdawn.slick.AppGameContainer;
import org.newdawn.slick.BasicGame;
import org.newdawn.slick.Font;
import org.newdawn.slick.GameContainer;
import org.newdawn.slick.Graphics;
import org.newdawn.slick.Input;
import org.newdawn.slick.SlickException;
import org.newdawn.slick.UnicodeFont;
import org.newdawn.slick.font.effects.ColorEffect;
public class TTFTest extends BasicGame {
private UnicodeFont ufont;
private Font font;
/**
* Create a new test for font rendering
*/
public TTFTest() {
super("Font Performance Test");
}
/**
* @see org.newdawn.slick.Game#init(org.newdawn.slick.GameContainer)
*/
public void init(GameContainer container) throws SlickException {
java.awt.Font f = new java.awt.Font("Papyrus", java.awt.Font.PLAIN, 16);
//BufferedImage img = new BufferedImage(800, 600, BufferedImage.TYPE_INT_ARGB);
long t = System.currentTimeMillis();
ufont = new UnicodeFont(f);
ufont.getEffects().add(new ColorEffect(java.awt.Color.white));
ufont.addGlyphs(32, 127);
ufont.loadGlyphs();
System.out.println("Time Taken: "+(System.currentTimeMillis()-t)+" ms");
// int startCodePoint = 126;
// int endCodePoint = 155;
// StringBuilder str = new StringBuilder(endCodePoint - startCodePoint);
// for (int codePoint = startCodePoint; codePoint <= endCodePoint; codePoint++)
// str.append(Character.toChars(codePoint));
// String str1 = new String(Character.toChars(216));
// ufont.addGlyphs(str1);
// ufont.loadGlyphs();
// String str2 = str.toString();
// System.out.println(str1+"\n"+str2);
}
/**
* @see org.newdawn.slick.BasicGame#render(org.newdawn.slick.GameContainer,
* org.newdawn.slick.Graphics)
*/
public void render(GameContainer container, Graphics g) {
ufont.drawString(50, 50, "hello");
}
/**
* @see org.newdawn.slick.BasicGame#update(org.newdawn.slick.GameContainer,
* int)
*/
public void update(GameContainer container, int delta)
throws SlickException {
}
/**
* @see org.newdawn.slick.BasicGame#keyPressed(int, char)
*/
public void keyPressed(int key, char c) {
if (key == Input.KEY_ESCAPE) {
System.exit(0);
}
}
/**
* Entry point to our test
*
* @param argv
* The arguments passed in the test
*/
public static void main(String[] argv) {
try {
AppGameContainer container = new AppGameContainer(
new TTFTest());
container.setDisplayMode(800, 600, false);
container.start();
} catch (SlickException e) {
e.printStackTrace();
}
}
}