/** * Javier Abell�n, 24 Mayo 2006 * Acci�n para dibujo de trazos. */ package gafetes.modules.sign; import java.awt.Color; import java.awt.Component; import java.util.LinkedList; /** * Construye trazos seg�n se le avisa de arrastre de rat�n. * @author javaapplication4. * */ public class PintaTrazo implements InterfaceArrastrarRaton { /** Lista de trazos */ private LinkedList<Trazo> trazos; /** Trazo que se est� construyendo actualmente */ private Trazo trazoActual = null; /** Lienzo de dibujo, necesario para llamar a repaint() seg�n se va * construyendo un nuevo trazo. */ private Component lienzo; /** Color del que se est� dibujando el trazo actual */ private Color colorActual = Color.black; /** Construye una instancia de esta clase, guardandose los par�mtros que * le pasan. * @param trazos Lista donde ir� metiendo los nuevos trazos que se creen. * @param lienzo Llamar� a repaint() de este componente seg�n se va * construyendo un trazo. */ public PintaTrazo(LinkedList<Trazo> trazos, Component lienzo) { this.trazos = trazos; this.lienzo = lienzo; } /** * Crea un trazo nuevo y le pone como primer punto x,y. */ public void comienzaArrastra(int x, int y) { trazoActual = new Trazo(); trazoActual.setColor(colorActual); trazoActual.addPunto(x, y); trazos.add(trazoActual); lienzo.repaint(); } /** A�ade un nuevo punto al trazo actual */ public void arrastra(int xAntigua, int yAntigua, int xNueva, int yNueva) { trazoActual.addPunto(xNueva, yNueva); lienzo.repaint(); } /** Marca que ya no hay trazo actual */ public void finalizaArrastra(int x, int y) { trazoActual = null; } /** Guarda el color para el pr�ximo trazo que se dibuje */ public void setColorActual(Color colorActual) { this.colorActual = colorActual; } }