From 91b2d7056f068900a275102f568df9b583fdcb11 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Fri, 16 Nov 2012 08:31:15 +0100 Subject: [PATCH] Fixed wrong size of textbox when showing big card for the spell/ability on the stack. --- .../main/java/mage/client/cards/BigCard.java | 126 +++++++++--------- 1 file changed, 64 insertions(+), 62 deletions(-) diff --git a/Mage.Client/src/main/java/mage/client/cards/BigCard.java b/Mage.Client/src/main/java/mage/client/cards/BigCard.java index 98654e0552f..cccfd554672 100644 --- a/Mage.Client/src/main/java/mage/client/cards/BigCard.java +++ b/Mage.Client/src/main/java/mage/client/cards/BigCard.java @@ -64,7 +64,7 @@ public class BigCard extends JComponent { protected volatile BufferedImage foil; protected UUID cardId; protected JXPanel panel; - protected boolean initState; + protected int oldWidth; protected boolean foilState; protected Thread foilThread; protected float hue = 0.005f; @@ -81,13 +81,14 @@ public class BigCard extends JComponent { } setDoubleBuffered(true); setOpaque(true); - scrollPane.setOpaque(true); + this.scrollPane.setOpaque(true); + this.scrollPane.setVisible(false); } protected void initBounds() { - initState = true; - scrollPane.setBounds(20, 230, 210, 120); - scrollPane.setBounds(new Rectangle(CONTENT_MAX_XOFFSET, TEXT_MAX_YOFFSET, TEXT_MAX_WIDTH, TEXT_MAX_HEIGHT)); + oldWidth = this.getWidth(); + scrollPane.setBounds(this.getWidth()*1000/17777,this.getWidth()*1000/1100, + this.getWidth()*1000/1142,this.getWidth()*1000/2539); } public void setCard(UUID cardId, Image image, List strings, boolean foil) { @@ -152,7 +153,7 @@ public class BigCard extends JComponent { } public void showTextComponent() { - if (!initState) { + if (oldWidth != this.getWidth()) { initBounds(); } this.scrollPane.setVisible(true); @@ -180,64 +181,64 @@ public class BigCard extends JComponent { repaint(); } - private Thread getFoilThread() { - return new Thread(new Runnable() { - @Override - public void run() { - if (bigImage == null) { - return; - } - final HueFilter filter = FilterFactory.getHueFilter(); - int sign = 1; - while (true) { - boolean prevState = foilState; - while (!foilState) { - ThreadUtils.sleep(10); - } - if (prevState == foilState) { - ThreadUtils.sleep(DEFAULT_DELAY_PERIOD); - } - hue += dh * sign; - /*if (hue >= 1.0D) { - hue = 0.000F; - }*/ - if (hue < LEFT_BOUNDARY) { - sign *= -1; - hue = LEFT_BOUNDARY; - } else if (hue > RIGHT_BOUNDARY) { - sign *= -1; - hue = RIGHT_BOUNDARY; - } - filter.setHue(hue); - BufferedImage f = null; - synchronized (BigCard.this) { - if (source == null) { - source = BufferedImageBuilder.bufferImage(bigImage); - } - if (source == null) { - return; - } - f = filter.filter(source, null); - } - synchronized (BigCard.class) { - foil = f; - } - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - BigCard.this.repaint(); - } - }); - - } - } - }); - } +// private Thread getFoilThread() { +// return new Thread(new Runnable() { +// @Override +// public void run() { +// if (bigImage == null) { +// return; +// } +// final HueFilter filter = FilterFactory.getHueFilter(); +// int sign = 1; +// while (true) { +// boolean prevState = foilState; +// while (!foilState) { +// ThreadUtils.sleep(10); +// } +// if (prevState == foilState) { +// ThreadUtils.sleep(DEFAULT_DELAY_PERIOD); +// } +// hue += dh * sign; +// /*if (hue >= 1.0D) { +// hue = 0.000F; +// }*/ +// if (hue < LEFT_BOUNDARY) { +// sign *= -1; +// hue = LEFT_BOUNDARY; +// } else if (hue > RIGHT_BOUNDARY) { +// sign *= -1; +// hue = RIGHT_BOUNDARY; +// } +// filter.setHue(hue); +// BufferedImage f = null; +// synchronized (BigCard.this) { +// if (source == null) { +// source = BufferedImageBuilder.bufferImage(bigImage); +// } +// if (source == null) { +// return; +// } +// f = filter.filter(source, null); +// } +// synchronized (BigCard.class) { +// foil = f; +// } +// SwingUtilities.invokeLater(new Runnable() { +// @Override +// public void run() { +// BigCard.this.repaint(); +// } +// }); +// +// } +// } +// }); +// } public void addJXPanel(UUID cardId, JXPanel jxPanel) { bigImage = null; synchronized (this) { - if (this.panel != null) remove(this.panel); + if (this.panel != null) { remove(this.panel); } this.panel = jxPanel; add(jxPanel); } @@ -260,10 +261,9 @@ public class BigCard extends JComponent { setFocusable(false); setMinimumSize(new Dimension(FRAME_MAX_WIDTH, FRAME_MAX_HEIGHT)); - setMaximumSize(new Dimension(FRAME_MAX_WIDTH, FRAME_MAX_HEIGHT)); + setOpaque(false); setPreferredSize(getMinimumSize()); setLayout(null); - //setBackground(new Color(255,255,255,200)); scrollPane.setBorder(null); scrollPane.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); @@ -275,6 +275,8 @@ public class BigCard extends JComponent { scrollPane.setViewportView(text); add(scrollPane); + scrollPane.setBounds(20, 230, 210, 120); + scrollPane.setBounds(new Rectangle(CONTENT_MAX_XOFFSET, TEXT_MAX_YOFFSET, TEXT_MAX_WIDTH, TEXT_MAX_HEIGHT)); }// //GEN-END:initComponents public void setDefaultImage() {