Fix so card image updated in Library as revealed top card changes

This commit is contained in:
drdev
2014-10-18 23:10:28 +00:00
parent 44dabcf382
commit 49ec80ac29
2 changed files with 16 additions and 3 deletions

View File

@@ -176,6 +176,18 @@ public class CardPanel extends SkinnedPanel implements CardContainer, IDisposabl
add(cardIdText);
}
public void updateImage() {
synchronized (imagePanel) {
final BufferedImage image = card == null ? null : ImageCache.getImage(card, imagePanel.getWidth(), imagePanel.getHeight());
if (imagePanel.getSrcImage() == image) {
return;
}
imagePanel.setImage(image);
repaint();
}
doLayout();
}
private void setImage(final BufferedImage srcImage) {
synchronized (imagePanel) {
imagePanel.setImage(srcImage);
@@ -538,11 +550,9 @@ public class CardPanel extends SkinnedPanel implements CardContainer, IDisposabl
return;
}
final BufferedImage image = cardView == null ? null : ImageCache.getImage(cardView, imagePanel.getWidth(), imagePanel.getHeight());
updateText();
updatePTOverlay();
setImage(image);
updateImage();
}
public void dispose() {

View File

@@ -170,6 +170,9 @@ public class FloatingCardArea extends CardArea {
cardPanel = new CardPanel(card);
cardPanel.setDisplayEnabled(true);
}
else {
cardPanel.updateImage(); //ensure image updated in case visibility changed
}
cardPanels.add(cardPanel);
}
}