home *** CD-ROM | disk | FTP | other *** search
- import java.awt.Color;
- import java.awt.Dimension;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Graphics;
- import java.util.Random;
- import java.util.Vector;
-
- public class TextScript {
- // $FF: renamed from: gc java.awt.Graphics
- private Graphics field_0;
- private ParamParser param;
- // $FF: renamed from: fm java.awt.FontMetrics
- private FontMetrics field_1;
- private Font fontPlain;
- private Font fontItalic;
- private String fontName;
- private int fontSize;
- private Dimension size;
- private long last;
- private int number;
- private int bWidth;
- private int bHeight;
- private int space;
- private Random random;
- private boolean randomOrder = false;
- private TextQuote quote;
- private Vector current;
- private Vector discard;
-
- TextScript(Graphics var1, ParamParser var2, Dimension var3) {
- this.param = var2;
- this.size = var3;
- this.field_0 = var1;
- }
-
- public void init() {
- this.bWidth = this.param.parseInt("bwidth", 10);
- this.bHeight = this.param.parseInt("bheight", 10);
- this.space = this.param.parseInt("space", 20);
- this.randomOrder = this.param.parseBoolean("random", false);
- this.random = new Random(System.currentTimeMillis());
- this.current = new Vector(0, 1);
- this.discard = new Vector(0, 1);
- this.fontSize = this.param.parseInt("fontsize", 10);
- this.fontName = this.param.parseString("fontname", "TimesRoman");
- this.fontPlain = new Font(this.fontName, 0, this.fontSize);
- this.fontItalic = new Font(this.fontName, 2, this.fontSize);
- this.field_1 = this.field_0.getFontMetrics(this.fontPlain);
- this.number = this.param.parseInt("number", 0);
-
- for(int var1 = 0; var1 < this.number; ++var1) {
- String[] var2 = this.param.parseStrings("quote" + var1, "|", 5);
- if (var2 != null) {
- String[] var3 = this.param.parser.wordWrap(var2[0], this.field_1, this.size.width - 2 * this.bWidth);
- Color var4 = new Color(Integer.parseInt(var2[2], 16));
- Color var5 = new Color(Integer.parseInt(var2[3], 16));
- int var6 = Integer.parseInt(var2[4]);
- this.current.insertElementAt(new TextQuote(var3, var2[1], var6, var4, var5), var1);
- }
- }
-
- this.current.trimToSize();
- }
-
- public void start() {
- this.quote = this.getQuote((TextQuote)null);
- this.last = System.currentTimeMillis();
- }
-
- private TextQuote getQuote(TextQuote var1) {
- Object var2 = null;
- if (var1 != null) {
- this.discard.addElement(var1);
- }
-
- TextQuote var4;
- if (!this.randomOrder) {
- var4 = (TextQuote)this.current.elementAt(0);
- this.current.removeElementAt(0);
- } else {
- int var3 = (int)(this.random.nextFloat() * (float)(this.current.size() - 1));
- var4 = (TextQuote)this.current.elementAt(var3);
- this.current.removeElementAt(var3);
- }
-
- if (this.current.isEmpty()) {
- this.current = this.discard;
- this.discard = new Vector(0, 1);
- }
-
- return var4;
- }
-
- public void update() {
- long var1 = System.currentTimeMillis();
- if (var1 - this.last >= this.quote.length) {
- this.last = var1;
- this.quote = this.getQuote(this.quote);
- }
-
- }
-
- public void paint(Graphics var1) {
- if (this.quote != null) {
- int var2 = this.bWidth;
- int var3 = this.bHeight;
- int var4 = this.field_1.getAscent();
- int var5 = this.field_1.getHeight();
- var1.setColor(this.quote.bgColor);
- var1.fillRect(0, 0, this.size.width, this.size.height);
- var1.setColor(this.quote.fgColor);
- var1.setFont(this.fontPlain);
-
- for(int var6 = 0; var6 < this.quote.text.length; ++var6) {
- var1.drawString(this.quote.text[var6], var2, var3 + var4);
- var3 += var5;
- }
-
- var1.setFont(this.fontItalic);
- var1.drawString(this.quote.company, var2 + 10, var3 + this.space);
- }
-
- }
-
- public void stop() {
- }
- }
-