X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fslipway%2Fgui%2FGui3.java;h=c24ec1d37cd8bf2b300a66f92efb2ced5f1a23b2;hb=f6f476bd63c268a2dbcc09c85f79dbc807a74ba3;hp=76e2f87ca1ef0d26a1151d6abea90b09e37608d5;hpb=6a7c71b440b8ec920a95b26d9c7a60595c3f6bcf;p=slipway.git diff --git a/src/edu/berkeley/slipway/gui/Gui3.java b/src/edu/berkeley/slipway/gui/Gui3.java index 76e2f87..c24ec1d 100644 --- a/src/edu/berkeley/slipway/gui/Gui3.java +++ b/src/edu/berkeley/slipway/gui/Gui3.java @@ -4,6 +4,7 @@ import com.atmel.fpslic.*; import edu.berkeley.slipway.*; import static com.atmel.fpslic.FpslicConstants.*; import static com.atmel.fpslic.FpslicUtil.*; +import static java.awt.event.KeyEvent.*; import edu.berkeley.slipway.*; import java.awt.*; import java.awt.geom.*; @@ -15,7 +16,7 @@ import java.util.*; import javax.swing.*; import static edu.berkeley.slipway.gui.GuiConstants.*; -public class Gui3 extends Canvas implements MouseWheelListener, MouseMotionListener { +public class Gui3 extends Canvas implements MouseWheelListener, MouseMotionListener, KeyListener { Fpslic at40k; FtdiBoard drone; @@ -23,7 +24,7 @@ public class Gui3 extends Canvas implements MouseWheelListener, MouseMotionListe private int width; private int height; private int magnify = 0; - private GuiCell[][] ca = new GuiCell[128][]; + public GuiCell[][] ca = new GuiCell[128][]; private FtdiBoard ftdiboard; public Gui3(Fpslic at40k, FtdiBoard drone) { this(at40k, drone, 24, 24); @@ -40,6 +41,7 @@ public class Gui3 extends Canvas implements MouseWheelListener, MouseMotionListe ca[x][y] = new GuiCell(at40k.cell(x, y)); addMouseWheelListener(this); addMouseMotionListener(this); + addKeyListener(this); } public void mouseWheelMoved(MouseWheelEvent e) { @@ -47,12 +49,14 @@ public class Gui3 extends Canvas implements MouseWheelListener, MouseMotionListe repaint(); } + Fpslic.Cell selectedCell = null; public void _paint(Graphics2D g_) { int SIZE = 100; //g_.setStroke(new BasicStroke((float)1.0/SIZE)); g_.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g_.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); G g = new G(g_); + g.pushTransform(); AffineTransform at = new AffineTransform(); at.translate(getWidth()/2, getHeight()/2); at.scale(1, -1); @@ -82,13 +86,60 @@ public class Gui3 extends Canvas implements MouseWheelListener, MouseMotionListe } P mouse = new P(mousex, mousey); mouse = mouse.inverseTransform(at); + selectedCell = null; for(int x=0; x