X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FRotatableCanvas.java;h=615edbd9a15b2f4482047084747702632750c560;hb=65d6d09cd08743d481d39521bb0298ea683888f8;hp=5c91ea8d8f170dc087bc85f4b5c0dca91593f71f;hpb=4d7f98a6dd54d9863ba449ec79dcd95d25ed863d;p=jalview.git diff --git a/src/jalview/appletgui/RotatableCanvas.java b/src/jalview/appletgui/RotatableCanvas.java index 5c91ea8..615edbd 100755 --- a/src/jalview/appletgui/RotatableCanvas.java +++ b/src/jalview/appletgui/RotatableCanvas.java @@ -25,6 +25,7 @@ import jalview.datamodel.SequenceGroup; import jalview.datamodel.SequenceI; import jalview.datamodel.SequencePoint; import jalview.math.RotatableMatrix; +import jalview.util.ColorUtils; import jalview.util.Format; import jalview.util.MessageManager; import jalview.viewmodel.AlignmentViewport; @@ -126,6 +127,7 @@ public class RotatableCanvas extends Panel implements MouseListener, repaint(); } + @Override public void setPoints(Vector points, int npoint) { this.points = points; @@ -287,7 +289,7 @@ public class RotatableCanvas extends Panel implements MouseListener, dim = height; } - return (float) (dim * scalefactor / (2 * maxwidth)); + return dim * scalefactor / (2 * maxwidth); } public void findCentre() @@ -304,6 +306,7 @@ public class RotatableCanvas extends Panel implements MouseListener, // System.out.println("Centre z " + centre[2]); } + @Override public Dimension getPreferredSize() { if (prefsize != null) @@ -316,16 +319,19 @@ public class RotatableCanvas extends Panel implements MouseListener, } } + @Override public Dimension getMinimumSize() { return getPreferredSize(); } + @Override public void update(Graphics g) { paint(g); } + @Override public void paint(Graphics g) { if (points == null) @@ -397,8 +403,8 @@ public class RotatableCanvas extends Panel implements MouseListener, for (int i = 0; i < npoint; i++) { SequencePoint sp = (SequencePoint) points.elementAt(i); - int x = (int) ((float) (sp.coord[0] - centre[0]) * scale) + halfwidth; - int y = (int) ((float) (sp.coord[1] - centre[1]) * scale) + int x = (int) ((sp.coord[0] - centre[0]) * scale) + halfwidth; + int y = (int) ((sp.coord[1] - centre[1]) * scale) + halfheight; float z = sp.coord[1] - centre[2]; @@ -408,7 +414,7 @@ public class RotatableCanvas extends Panel implements MouseListener, } else { - g.setColor(av.getSequenceColour(sp.sequence)); + g.setColor(ColorUtils.getColor(av.getSequenceColour(sp.sequence))); } if (av.getSelectionGroup() != null) @@ -445,14 +451,17 @@ public class RotatableCanvas extends Panel implements MouseListener, return prefsize; } + @Override public void keyTyped(KeyEvent evt) { } + @Override public void keyReleased(KeyEvent evt) { } + @Override public void keyPressed(KeyEvent evt) { if (evt.getKeyCode() == KeyEvent.VK_UP) @@ -491,22 +500,27 @@ public class RotatableCanvas extends Panel implements MouseListener, } } + @Override public void mouseClicked(MouseEvent evt) { } + @Override public void mouseEntered(MouseEvent evt) { } + @Override public void mouseExited(MouseEvent evt) { } + @Override public void mouseReleased(MouseEvent evt) { } + @Override public void mousePressed(MouseEvent evt) { int x = evt.getX(); @@ -551,6 +565,7 @@ public class RotatableCanvas extends Panel implements MouseListener, repaint(); } + @Override public void mouseMoved(MouseEvent evt) { SequenceI found = findPoint(evt.getX(), evt.getY()); @@ -567,6 +582,7 @@ public class RotatableCanvas extends Panel implements MouseListener, repaint(); } + @Override public void mouseDragged(MouseEvent evt) { mx = evt.getX(); @@ -574,8 +590,8 @@ public class RotatableCanvas extends Panel implements MouseListener, rotmat.setIdentity(); - rotmat.rotate((float) (my - omy), 'x'); - rotmat.rotate((float) (mx - omx), 'y'); + rotmat.rotate(my - omy, 'x'); + rotmat.rotate(mx - omx, 'y'); for (int i = 0; i < npoint; i++) { @@ -609,8 +625,8 @@ public class RotatableCanvas extends Panel implements MouseListener, for (int i = 0; i < npoint; i++) { SequencePoint sp = (SequencePoint) points.elementAt(i); - int tmp1 = (int) ((sp.coord[0] - centre[0]) * scale + (float) getSize().width / 2.0); - int tmp2 = (int) ((sp.coord[1] - centre[1]) * scale + (float) getSize().height / 2.0); + int tmp1 = (int) ((sp.coord[0] - centre[0]) * scale + getSize().width / 2.0); + int tmp2 = (int) ((sp.coord[1] - centre[1]) * scale + getSize().height / 2.0); if (tmp1 > x1 && tmp1 < x2 && tmp2 > y1 && tmp2 < y2) { @@ -638,9 +654,9 @@ public class RotatableCanvas extends Panel implements MouseListener, { SequencePoint sp = (SequencePoint) points.elementAt(i); - int px = (int) ((float) (sp.coord[0] - centre[0]) * scale) + int px = (int) ((sp.coord[0] - centre[0]) * scale) + halfwidth; - int py = (int) ((float) (sp.coord[1] - centre[1]) * scale) + int py = (int) ((sp.coord[1] - centre[1]) * scale) + halfheight; if (Math.abs(px - x) < 3 && Math.abs(py - y) < 3)