package org.newdawn.slick.tools.hiero;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Toolkit;
import java.awt.Window;
import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.imageio.ImageIO;
import org.newdawn.slick.tools.hiero.truetype.FontData;
import org.newdawn.slick.tools.hiero.truetype.StatusListener;
/**
* A splash screen to show startup progress
*
* @author kevin
*/
public class Splash extends Window implements StatusListener {
/** The background image to be displayed */
private BufferedImage image;
/** The message to be displayed */
private String message = "Locating fonts..";
/**
* Create a new splash screen
*/
Splash() {
super(new Frame());
FontData.setStatusListener(this);
try {
image = ImageIO.read(Thread.currentThread().getContextClassLoader().getResourceAsStream("org/newdawn/slick/tools/hiero/resources/splash.png"));
Dimension size = Toolkit.getDefaultToolkit().getScreenSize();
setSize(400,250);
setLocation((size.width - getWidth())/2, (size.height - getHeight()) / 2);
setVisible(true);
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* @see java.awt.Container#update(java.awt.Graphics)
*/
public void update(Graphics g) {
paint(g);
}
/**
* @see java.awt.Container#paint(java.awt.Graphics)
*/
public void paint(Graphics g) {
g.drawImage(image, 0, 0, null);
g.setColor(Color.black);
g.setFont(g.getFont().deriveFont(Font.BOLD, 14));
g.drawString(message, 10, 235);
}
/**
* @see org.newdawn.slick.tools.hiero.truetype.StatusListener#updateStatus(java.lang.String)
*/
public void updateStatus(String msg) {
message = msg;
repaint(0);
}
}