git://source.jalview.org
/
jalview.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
8c1d1e7
)
Smoother drawing
author
amwaterhouse
<Andrew Waterhouse>
Thu, 10 Aug 2006 14:57:52 +0000
(14:57 +0000)
committer
amwaterhouse
<Andrew Waterhouse>
Thu, 10 Aug 2006 14:57:52 +0000
(14:57 +0000)
src/jalview/appletgui/OverviewPanel.java
patch
|
blob
|
history
diff --git
a/src/jalview/appletgui/OverviewPanel.java
b/src/jalview/appletgui/OverviewPanel.java
index
4d3dec4
..
54e1ac2
100755
(executable)
--- a/
src/jalview/appletgui/OverviewPanel.java
+++ b/
src/jalview/appletgui/OverviewPanel.java
@@
-26,6
+26,7
@@
public class OverviewPanel
extends Panel implements Runnable, MouseMotionListener, MouseListener
\r
{
\r
Image miniMe;
\r
extends Panel implements Runnable, MouseMotionListener, MouseListener
\r
{
\r
Image miniMe;
\r
+ Image offscreen;
\r
AlignViewport av;
\r
AlignmentPanel ap;
\r
float scalew = 1f;
\r
AlignViewport av;
\r
AlignmentPanel ap;
\r
float scalew = 1f;
\r
@@
-252,17
+253,19
@@
public class OverviewPanel
scaleh = (float) sequencesHeight / (float) fullsizeHeight;
\r
\r
miniMe = nullFrame.createImage(width, sequencesHeight + graphHeight);
\r
scaleh = (float) sequencesHeight / (float) fullsizeHeight;
\r
\r
miniMe = nullFrame.createImage(width, sequencesHeight + graphHeight);
\r
+ offscreen = nullFrame.createImage(width, sequencesHeight + graphHeight);
\r
\r
Graphics mg = miniMe.getGraphics();
\r
float sampleCol = (float) alwidth / (float) width;
\r
float sampleRow = (float) alheight / (float) sequencesHeight;
\r
\r
\r
Graphics mg = miniMe.getGraphics();
\r
float sampleCol = (float) alwidth / (float) width;
\r
float sampleRow = (float) alheight / (float) sequencesHeight;
\r
\r
- int lastcol=-1, lastrow=-1;
\r
+ int lastcol=0, lastrow=0;
\r
+ int xstart=0, ystart=0;
\r
Color color = Color.yellow;
\r
int row, col, sameRow = 0, sameCol = 0;
\r
jalview.datamodel.SequenceI seq;
\r
boolean hiddenRow = false;
\r
Color color = Color.yellow;
\r
int row, col, sameRow = 0, sameCol = 0;
\r
jalview.datamodel.SequenceI seq;
\r
boolean hiddenRow = false;
\r
- for (row = 0; row < sequencesHeight; row++)
\r
+ for (row = 0; row <= sequencesHeight; row++)
\r
{
\r
if((int)(row*sampleRow)==lastrow)
\r
{
\r
{
\r
if((int)(row*sampleRow)==lastrow)
\r
{
\r
@@
-270,8
+273,6
@@
public class OverviewPanel
continue;
\r
}
\r
\r
continue;
\r
}
\r
\r
- lastrow = (int)(row*sampleRow);
\r
-
\r
hiddenRow = false;
\r
if (av.hasHiddenRows)
\r
{
\r
hiddenRow = false;
\r
if (av.hasHiddenRows)
\r
{
\r
@@
-291,12
+292,6
@@
public class OverviewPanel
else
\r
seq = av.alignment.getSequenceAt(lastrow);
\r
\r
else
\r
seq = av.alignment.getSequenceAt(lastrow);
\r
\r
- if(seq==null)
\r
- {
\r
- System.out.println(lastrow+" null");
\r
- continue;
\r
- }
\r
-
\r
for (col = 0; col < width; col++)
\r
{
\r
if ( (int) (col * sampleCol) == lastcol && (int) (row * sampleRow) == lastrow)
\r
for (col = 0; col < width; col++)
\r
{
\r
if ( (int) (col * sampleCol) == lastcol && (int) (row * sampleRow) == lastrow)
\r
@@
-328,12
+323,15
@@
public class OverviewPanel
\r
mg.setColor(color);
\r
if (sameCol == 1 && sameRow == 1)
\r
\r
mg.setColor(color);
\r
if (sameCol == 1 && sameRow == 1)
\r
- mg.drawLine(col, row, col, row);
\r
+ mg.drawLine(xstart, ystart, xstart, ystart);
\r
else
\r
else
\r
- mg.fillRect(col, row, col+sameCol, col+sameRow);
\r
+ mg.fillRect(xstart, ystart, sameCol, sameRow);
\r
\r
\r
+ xstart = col;
\r
sameCol = 1;
\r
}
\r
sameCol = 1;
\r
}
\r
+ lastrow = (int)(row*sampleRow);
\r
+ ystart = row;
\r
sameRow = 1;
\r
}
\r
\r
sameRow = 1;
\r
}
\r
\r
@@
-418,9
+416,14
@@
public class OverviewPanel
\r
public void paint(Graphics g)
\r
{
\r
\r
public void paint(Graphics g)
\r
{
\r
+ Graphics og = offscreen.getGraphics();
\r
if (miniMe != null)
\r
{
\r
if (miniMe != null)
\r
{
\r
- g.drawImage(miniMe, 0, 0, this);
\r
+ og.drawImage(miniMe, 0, 0, this);
\r
+ og.setColor(Color.red);
\r
+ og.drawRect(boxX, boxY, boxWidth, boxHeight);
\r
+ og.drawRect(boxX + 1, boxY + 1, boxWidth - 2, boxHeight - 2);
\r
+ g.drawImage(offscreen, 0,0, this);
\r
}
\r
else
\r
{
\r
}
\r
else
\r
{
\r
@@
-431,10
+434,6
@@
public class OverviewPanel
g.drawString("Recalculating", 5, sequencesHeight / 2);
\r
g.drawString("Overview.....", 5, (sequencesHeight / 2) + 20);
\r
}
\r
g.drawString("Recalculating", 5, sequencesHeight / 2);
\r
g.drawString("Overview.....", 5, (sequencesHeight / 2) + 20);
\r
}
\r
-
\r
- g.setColor(Color.red);
\r
- g.drawRect(boxX, boxY, boxWidth, boxHeight);
\r
- g.drawRect(boxX + 1, boxY + 1, boxWidth - 2, boxHeight - 2);
\r
}
\r
\r
}
\r
}
\r
\r
}
\r