import vix.*; import java.awt.*; import java.awt.geom.*; import java.awt.event.*; import java.awt.image.*; import java.util.*; import javax.swing.*; public abstract class Desenho extends VO { protected static final String DESENHO = "Desenho"; protected String nome; public TypeVO pick(Point2D pt) { if (getBounds2D().contains(pt)) return this; return null; } public void callbackEnter(MouseEvent ev) { (new MostraInfoMsg(nome)).sendVS(vs); } protected void exibePopup(JPopupMenu popup, ExibePopupElementoMsg msg) { popup.putClientProperty(DESENHO, this); popup.show(msg.ev.getComponent(), msg.ev.getX(), msg.ev.getY()); } public abstract boolean move(float dx, float dy); public abstract void desenhaRascunho(Graphics2D g); public abstract void marcaControles(Graphics2D g); public abstract int pegaControle(Point2D pt); public abstract void desenhaRascunho(Graphics2D g, int contr, Point2D pt); public abstract void mudaControle(int controle, Point2D pt); }