/* Copyright (C) 2003-2011 Raik Nagel This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // created by : r.nagel 05.05.2005 // // function : a animated line for about dialog // package net.sf.jabref.about ; import java.awt.Color; import java.awt.Font; import java.util.Random; import javax.swing.UIManager; // a single About Line public class AboutTextLine { private String text ; private double direction[] ; private double pos[] ; private double speed ; private double accel ; private int tag ; // additional user information private Font font ; private Color color ; private boolean visible ; public AboutTextLine(String txt) { Random rand = new Random(System.currentTimeMillis()* this.hashCode()) ; text = txt ; pos = new double[2] ; pos[0] = rand.nextDouble() *100.0 ; pos[1] = rand.nextDouble() *100.0 ; direction = new double [2] ; direction[0] = rand.nextDouble() ; direction[1] = rand.nextDouble() ; accel = 0.0 ; speed = 1.0 ; tag = 0 ; color = Color.black ; visible = true ; font = UIManager.getFont("Label.font") ; } // ------------------------------------------------------------------------ public void performTimeStep(double time) { accel = accel * time ; speed += accel ; double move = speed * time ; // pos[0] += (move * direction[0]) ; pos[1] += (move * direction[1]) ; } // ------------------------------------------------------------------------ public String toString() { return (text + "<" +pos[0] +", " +pos[1] +">" + "<" +direction[0] +", " +direction[1] +">" ) ; } // ------------------------------------------------------------------------ public int getPosX() { return (int) pos[0] ; } public int getPosY() { return (int) pos[1] ; } public double[] getPos() { return pos; } public void setPos(double posX, double posY) { this.pos[0] = posX ; this.pos[1] = posY ; } // ------------------------------------------------------------------------ public String getText() { return text; } public void setText(String pText) { this.text = pText; } // ------------------------------------------------------------------------ public double[] getDirection() { return direction; } public void setDirection(double dirX, double dirY) { this.direction[0] = dirX ; this.direction[1] = dirY ; } // ------------------------------------------------------------------------ public double getSpeed() { return speed; } public void setSpeed(double pSpeed) { this.speed = pSpeed; } // ------------------------------------------------------------------------ public double getAccel() { return accel; } public void setAccel(double pAccel) { this.accel = pAccel; } // ------------------------------------------------------------------------ public int getTag() { return tag; } public void setTag(int pTag) { this.tag = pTag; } // ------------------------------------------------------------------------ public Font getFont() { return font; } public void setFont(Font pFont) { this.font = pFont; } // ------------------------------------------------------------------------ public Color getColor() { return color; } public void setColor(Color pColor) { this.color = pColor; } // ------------------------------------------------------------------------ public boolean getVisible() { return visible; } public void setVisible(boolean pVisible) { this.visible = pVisible; } // ------------------------------------------------------------------------ // ------------------------------------------------------------------------ }