Files
ecoparasite-data-analyse/src/ecoparasite/svg/elements/Line.java

93 lines
2.3 KiB
Java
Raw Normal View History

2026-04-08 14:47:42 +02:00
package ecoparasite.svg.elements;
import ecoparasite.svg.Coordonnees;
2026-04-27 12:56:24 +02:00
import java.util.Locale;
2026-04-29 10:07:05 +02:00
/**
* Permet de construire une droite/ligne en SVG.
*/
2026-04-08 14:47:42 +02:00
public class Line extends Element {
private Coordonnees coordonneesB;
private String color;
private int lineWidth;
2026-04-29 10:07:05 +02:00
/**
* 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.
*/
2026-04-08 14:47:42 +02:00
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;
}
2026-04-29 10:07:05 +02:00
/**
* Génère la string SVG de l'élément.
* @return
*/
2026-04-08 14:47:42 +02:00
@Override
public String toSVG() {
StringBuilder svg = new StringBuilder();
svg.append("<line ");
2026-04-27 12:56:24 +02:00
String params = String.format( Locale.US,"x1=\"%f\" y1=\"%f\" x2=\"%f\" y2=\"%f\" style=\"stroke:%s;stroke-width:%d\"",
2026-04-08 14:47:42 +02:00
this.coordonnees.getX(),
this.coordonnees.getY(),
this.coordonneesB.getX(),
this.coordonneesB.getY(),
this.color,
this.lineWidth
);
svg.append(params);
svg.append( "/>" );
return svg.toString();
}
}