93 lines
2.3 KiB
Java
93 lines
2.3 KiB
Java
package ecoparasite.svg.elements;
|
|
|
|
import ecoparasite.svg.Coordonnees;
|
|
|
|
import java.util.Locale;
|
|
|
|
/**
|
|
* Permet de construire une droite/ligne en SVG.
|
|
*/
|
|
public class Line extends Element {
|
|
|
|
private Coordonnees coordonneesB;
|
|
private String color;
|
|
private int lineWidth;
|
|
|
|
/**
|
|
* Constructeur
|
|
* @param coordonneesA Coordonnées de départ
|
|
* @param coordonneesB Coordonnées d'arrivé.
|
|
* @param color Couleur provenant de ElementsFactory
|
|
* @param lineWidth Epaisseur de la ligne.
|
|
*/
|
|
public Line(Coordonnees coordonneesA, Coordonnees coordonneesB, String color, int lineWidth) {
|
|
super(coordonneesA);
|
|
this.coordonneesB = coordonneesB;
|
|
this.color = color;
|
|
this.lineWidth = lineWidth;
|
|
}
|
|
|
|
public Line(Coordonnees coordonneesA, Coordonnees coordonneesB) {
|
|
super(coordonneesA);
|
|
this.coordonneesB = coordonneesB;
|
|
this.color = ElementsFactory.COLOR_RED;
|
|
this.lineWidth = 1;
|
|
}
|
|
|
|
public Coordonnees getCoordonneesA() {
|
|
return coordonnees;
|
|
}
|
|
|
|
public void setCoordonneesA(Coordonnees coordonnees) {
|
|
this.coordonnees = coordonnees;
|
|
}
|
|
|
|
public Coordonnees getCoordonneesB() {
|
|
return coordonneesB;
|
|
}
|
|
|
|
public void setCoordonneesB(Coordonnees coordonnees) {
|
|
this.coordonneesB = coordonnees;
|
|
}
|
|
|
|
public String getColor() {
|
|
return color;
|
|
}
|
|
|
|
public void setColor(String color) {
|
|
this.color = color;
|
|
}
|
|
|
|
public int getLineWidth() {
|
|
return lineWidth;
|
|
}
|
|
|
|
public void setLineWidth(int lineWidth) {
|
|
this.lineWidth = lineWidth;
|
|
}
|
|
|
|
/**
|
|
* Génère la string SVG de l'élément.
|
|
* @return
|
|
*/
|
|
@Override
|
|
public String toSVG() {
|
|
StringBuilder svg = new StringBuilder();
|
|
svg.append("<line ");
|
|
|
|
String params = String.format( Locale.US,"x1=\"%f\" y1=\"%f\" x2=\"%f\" y2=\"%f\" style=\"stroke:%s;stroke-width:%d\"",
|
|
this.coordonnees.getX(),
|
|
this.coordonnees.getY(),
|
|
this.coordonneesB.getX(),
|
|
this.coordonneesB.getY(),
|
|
this.color,
|
|
this.lineWidth
|
|
);
|
|
svg.append(params);
|
|
svg.append( "/>" );
|
|
|
|
return svg.toString();
|
|
}
|
|
|
|
}
|