From 7ac7fe108749f35278a3c2301a07f8748d511271 Mon Sep 17 00:00:00 2001 From: magenoxx Date: Fri, 19 Nov 2010 15:39:41 +0000 Subject: [PATCH] Should have fixed blinking issue and synchronization stuff for mouse over card displaying. --- .../adapters/MageMouseMotionAdapter.java | 26 ++++++++++--------- .../mage/client/util/gui/GuiDisplayUtil.java | 4 ++- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/Mage.Client/src/main/java/mage/client/plugins/adapters/MageMouseMotionAdapter.java b/Mage.Client/src/main/java/mage/client/plugins/adapters/MageMouseMotionAdapter.java index c3bb5711a50..d4a104bd289 100644 --- a/Mage.Client/src/main/java/mage/client/plugins/adapters/MageMouseMotionAdapter.java +++ b/Mage.Client/src/main/java/mage/client/plugins/adapters/MageMouseMotionAdapter.java @@ -26,23 +26,25 @@ public class MageMouseMotionAdapter extends MouseMotionAdapter { @Override public void mouseMoved(MouseEvent e) { - if (!Plugins.getInstance().isCardPluginLoaded()) return; - if (bigCard == null) return; + if (!Plugins.getInstance().isCardPluginLoaded()) {return;} + if (bigCard == null) {return;} Object o = parent.getComponentAt(e.getPoint()); if (o instanceof MagePermanent) { MagePermanent card = (MagePermanent) o; if (card.getOriginal().getId() != bigCard.getCardId()) { - Image image = card.getImage(); - if (image != null && image instanceof BufferedImage) { - image = ImageHelper.getResizedImage((BufferedImage) image, bigCard.getWidth(), bigCard.getHeight()); - bigCard.setCard(card.getOriginal().getId(), image, card.getOriginal().getRules()); - bigCard.hideTextComponent(); - } else { + synchronized (MageMouseAdapter.class) { if (card.getOriginal().getId() != bigCard.getCardId()) { - JXPanel panel = GuiDisplayUtil.getDescription(card.getOriginal(), bigCard.getWidth(), bigCard.getHeight()); - panel.setVisible(true); - bigCard.hideTextComponent(); - bigCard.addJXPanel(card.getOriginal().getId(), panel); + Image image = card.getImage(); + if (image != null && image instanceof BufferedImage) { + image = ImageHelper.getResizedImage((BufferedImage) image, bigCard.getWidth(), bigCard.getHeight()); + bigCard.setCard(card.getOriginal().getId(), image, card.getOriginal().getRules()); + bigCard.hideTextComponent(); + } else { + JXPanel panel = GuiDisplayUtil.getDescription(card.getOriginal(), bigCard.getWidth(), bigCard.getHeight()); + panel.setVisible(true); + bigCard.hideTextComponent(); + bigCard.addJXPanel(card.getOriginal().getId(), panel); + } } } } diff --git a/Mage.Client/src/main/java/mage/client/util/gui/GuiDisplayUtil.java b/Mage.Client/src/main/java/mage/client/util/gui/GuiDisplayUtil.java index bee34f0c4d8..621eca69335 100644 --- a/Mage.Client/src/main/java/mage/client/util/gui/GuiDisplayUtil.java +++ b/Mage.Client/src/main/java/mage/client/util/gui/GuiDisplayUtil.java @@ -18,10 +18,12 @@ public class GuiDisplayUtil { public static JXPanel getDescription(CardView card, int width, int height) { JXPanel descriptionPanel = new JXPanel(); - descriptionPanel.setAlpha(.8f); + + //descriptionPanel.setAlpha(.8f); descriptionPanel.setBounds(0, 0, width, height); descriptionPanel.setVisible(false); descriptionPanel.setLayout(null); + //descriptionPanel.setBorder(BorderFactory.createLineBorder(Color.green)); JButton j = new JButton("");