BE-GRAPH/src/main/org/insa/drawing/Drawing.java
2018-01-29 12:35:24 +01:00

83 lines
2.2 KiB
Java

package org.insa.drawing ;
/**
* Classe abstraite pour dessiner a l'ecran.
* Deux implementations : une sous-classe DessinVisible qui dessine vraiment a l'ecran
* et une sous-classe DessinInvisible qui ne dessine rien (pour ne pas ralentir les tests avec l'affichage).
*/
import java.awt.* ;
public interface Drawing {
/**
* Enable auto-repaint mode - When this mode is enable, call to
* drawing function will automatically repaint the drawing, which
* may be very slow in some case.
*
* @param autoRepaint Use true to enable auto-repaint, false to disable.
*
*/
public void setAutoRepaint(boolean autoRepaint);
/**
* Repaint the drawing.
*
*/
public void repaint();
/**
* Set the pencil width.
*
* @param width Width for the pencil.
*
*/
public void setWidth(int width);
/**
* Set the pencil color.
*
* param color Color for the pencil.
*
*/
public void setColor(Color col);
/**
* Indique les bornes de la fenetre graphique.
* Le calcul des coordonnees en pixel se fera automatiquement
* a l'appel des methodes drawLine et autres.
*
* @param long1 longitude du bord gauche
* @param long2 longitude du bord droit
* @param lat1 latitude du bord bas
* @param lat2 latitude du bord haut
*
*/
public void setBB(double long1, double long2, double lat1, double lat2);
/**
* Trace un segment.
* @param long1 longitude du premier point
* @param lat1 latitude du premier point
* @param long2 longitude du second point
* @param lat2 latitude du second point
*/
public void drawLine(float long1, float lat1, float long2, float lat2);
/**
* Trace un point.
* @param lon longitude du point
* @param lat latitude du point
* @param width grosseur du point
*/
public void drawPoint(float lon, float lat, int width);
/**
* Ecrit du texte a la position indiquee.
* @param lon longitude du point ou positionner le texte.
* @param lat latitude du point ou positionner le texte.
* @param txt le texte a ecrire.
*/
public void putText(float lon, float lat, String txt);
}