diff --git a/.classpath b/.classpath
index dd62bea618e..f597dc3298d 100644
--- a/.classpath
+++ b/.classpath
@@ -1,12 +1,11 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.gitattributes b/.gitattributes
index f8510b0b543..9a33a4ca8d6 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -17,10 +17,10 @@ res/lang/en.properties svneol=native#text/plain
res/lang/howTo/de.properties svneol=native#text/plain
res/lang/howTo/en.properties svneol=native#text/plain
res/lang/lang.properties svneol=native#text/plain
-res/lib/google-collect-1.0.jar -text svneol=unset#unset
+res/lib/google-collections-1.0.jar -text svneol=unset#unset
+res/lib/java-image-scaling-0.8.4.jar -text svneol=unset#unset
res/lib/jdom-1.0.jar -text svneol=unset#unset
res/lib/jl1.0.1.jar -text svneol=unset#unset
-res/lib/jsr305.jar -text svneol=unset#unset
res/lib/napkinlaf-1.2.jar -text svneol=unset#unset
res/lib/napkinlaf-swingset-1.2.jar -text svneol=unset#unset
res/lib/nimrodlf.jar -text svneol=unset#unset
diff --git a/res/lib/google-collect-1.0.jar b/res/lib/google-collections-1.0.jar
similarity index 58%
rename from res/lib/google-collect-1.0.jar
rename to res/lib/google-collections-1.0.jar
index a7abdbbdb4e..8e394facdf9 100644
Binary files a/res/lib/google-collect-1.0.jar and b/res/lib/google-collections-1.0.jar differ
diff --git a/res/lib/java-image-scaling-0.8.4.jar b/res/lib/java-image-scaling-0.8.4.jar
new file mode 100644
index 00000000000..02926f409ec
Binary files /dev/null and b/res/lib/java-image-scaling-0.8.4.jar differ
diff --git a/res/lib/jsr305.jar b/res/lib/jsr305.jar
deleted file mode 100644
index cf5f5616789..00000000000
Binary files a/res/lib/jsr305.jar and /dev/null differ
diff --git a/src/forge/CardFactory.java b/src/forge/CardFactory.java
index d74f0acac56..b2fd17b8316 100644
--- a/src/forge/CardFactory.java
+++ b/src/forge/CardFactory.java
@@ -2419,7 +2419,7 @@ public class CardFactory implements NewConstants {
final boolean Tgt[] = {false};
Tgt[0] = k[0].contains("Tgt");
- String tmpCost = new String("");
+ String tmpCost = "";
if(Tgt[0]) tmpCost = k[0].substring(14);
diff --git a/src/forge/Deck.java b/src/forge/Deck.java
index 6321485b721..5bda50e985b 100644
--- a/src/forge/Deck.java
+++ b/src/forge/Deck.java
@@ -123,7 +123,7 @@ public class Deck implements java.io.Serializable {
return deckType.equals(Constant.GameType.Constructed);
}
- public int hashcode() {
+ public int hashCode() {
return getName().hashCode();
}
diff --git a/src/forge/Gui_DeckEditor_Menu.java b/src/forge/Gui_DeckEditor_Menu.java
index 500d778d835..74556f4ebf0 100644
--- a/src/forge/Gui_DeckEditor_Menu.java
+++ b/src/forge/Gui_DeckEditor_Menu.java
@@ -18,6 +18,7 @@ import java.net.Proxy;
import java.net.URL;
import java.nio.channels.FileChannel;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;
@@ -741,7 +742,7 @@ public class Gui_DeckEditor_Menu extends JMenuBar implements NewConstants {
} catch(Exception ex) {
ErrorViewer.showError(ex);
throw new RuntimeException("Gui_DeckEditor_Menu : exportDeckText() error, " + ex.getMessage() + " : "
- + ex.getStackTrace());
+ + Arrays.toString(ex.getStackTrace()));
}
}//exportDeckText()
diff --git a/src/forge/Gui_Quest_DeckEditor_Menu.java b/src/forge/Gui_Quest_DeckEditor_Menu.java
index 849f7844670..a9963d3abb8 100644
--- a/src/forge/Gui_Quest_DeckEditor_Menu.java
+++ b/src/forge/Gui_Quest_DeckEditor_Menu.java
@@ -11,6 +11,7 @@ import java.io.FileWriter;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collections;
import javax.swing.JFileChooser;
@@ -359,7 +360,7 @@ public class Gui_Quest_DeckEditor_Menu extends JMenuBar {
} catch(Exception ex) {
ErrorViewer.showError(ex);
throw new RuntimeException("Gui_Quest_DeckEditor_Menu : exportDeckText() error, " + ex.getMessage()
- + " : " + ex.getStackTrace());
+ + " : " + Arrays.toString(ex.getStackTrace()));
}
}//exportDeckText()
diff --git a/src/forge/ImageCache.java b/src/forge/ImageCache.java
index 8620bdc3360..874cefccf48 100644
--- a/src/forge/ImageCache.java
+++ b/src/forge/ImageCache.java
@@ -5,9 +5,6 @@ package forge;
import static java.lang.Double.*;
import static java.lang.Math.*;
-import java.awt.Graphics2D;
-import java.awt.RenderingHints;
-import java.awt.geom.AffineTransform;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.Map;
@@ -19,6 +16,7 @@ import arcane.ui.util.ImageUtil;
import com.google.common.base.Function;
import com.google.common.collect.ComputationException;
import com.google.common.collect.MapMaker;
+import com.mortennobel.imagescaling.ResampleOp;
import forge.properties.ForgeProps;
import forge.properties.NewConstants;
@@ -182,7 +180,7 @@ public class ImageCache implements NewConstants {
if(srcWidth == tgtWidth && srcHeight == tgtHeight) return original;
- AffineTransform at = new AffineTransform();
+ /*AffineTransform at = new AffineTransform();
at.scale((double) tgtWidth / srcWidth, (double) tgtHeight / srcHeight);
// at.translate(srcHeight, 0);
// at.rotate(PI / 2);
@@ -191,8 +189,10 @@ public class ImageCache implements NewConstants {
BufferedImage image = new BufferedImage(tgtWidth, tgtHeight, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2d = (Graphics2D) image.getGraphics();
g2d.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC);
- g2d.drawImage(scale < 0.5? ImageUtil.getBlurredImage(original, 3, 1.0f):original, at, null);
- g2d.dispose();
+ g2d.drawImage(scale < 0.5? ImageUtil.getBlurredImage(original, 6, 1.0f):original, at, null);
+ g2d.dispose();*/
+ ResampleOp resampleOp = new ResampleOp (tgtWidth, tgtHeight); //defaults to Lanczos3
+ BufferedImage image = resampleOp.filter(original, null);
return image;
}
@@ -200,12 +200,12 @@ public class ImageCache implements NewConstants {
* Returns an image scaled to the size given in {@link Constant.Runtime}, but rotated
*/
private static BufferedImage getTappedSizeImage(BufferedImage original) {
- int srcWidth = original.getWidth();
- int srcHeight = original.getHeight();
+ /*int srcWidth = original.getWidth();
+ int srcHeight = original.getHeight();*/
int tgtWidth = Constant.Runtime.width[0];
int tgtHeight = Constant.Runtime.height[0];
- AffineTransform at = new AffineTransform();
+ /*AffineTransform at = new AffineTransform();
at.scale((double) tgtWidth / srcWidth, (double) tgtHeight / srcHeight);
at.translate(srcHeight, 0);
at.rotate(Math.PI / 2);
@@ -215,8 +215,10 @@ public class ImageCache implements NewConstants {
BufferedImage image = new BufferedImage(tgtHeight, tgtWidth, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2d = (Graphics2D) image.getGraphics();
g2d.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC);
- g2d.drawImage(scale < 0.5? ImageUtil.getBlurredImage(original, 3, 1.0f):original, at, null);
- g2d.dispose();
+ g2d.drawImage(scale < 0.5? ImageUtil.getBlurredImage(original, 6, 1.0f):original, at, null);
+ g2d.dispose();*/
+ ResampleOp resampleOp = new ResampleOp (tgtWidth, tgtHeight); //defaults to Lanczos3
+ BufferedImage image = resampleOp.filter(original, null);
return image;
}
@@ -226,15 +228,17 @@ public class ImageCache implements NewConstants {
private static BufferedImage getFullSizeImage(BufferedImage original, double scale) {
if(scale == 1) return original;
- AffineTransform at = new AffineTransform();
+ /*AffineTransform at = new AffineTransform();
at.scale(scale, scale);
BufferedImage image = new BufferedImage((int) (original.getWidth() * scale),
(int) (original.getHeight() * scale), BufferedImage.TYPE_INT_ARGB);
Graphics2D g2d = (Graphics2D) image.getGraphics();
g2d.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC);
- g2d.drawImage(scale < 0.5? ImageUtil.getBlurredImage(original, 3, 1.0f):original, at, null);
- g2d.dispose();
+ g2d.drawImage(scale < 0.5? ImageUtil.getBlurredImage(original, 6, 1.0f):original, at, null);
+ g2d.dispose();*/
+ ResampleOp resampleOp = new ResampleOp ((int) (original.getWidth() * scale), (int) (original.getHeight() * scale)); //defaults to Lanczos3
+ BufferedImage image = resampleOp.filter(original, null);
return image;
}
}