summary refs log tree commit diff stats
path: root/src/com/fourisland
diff options
context:
space:
mode:
authorStarla Insigna <hatkirby@fourisland.com>2009-02-07 12:43:32 -0500
committerStarla Insigna <hatkirby@fourisland.com>2009-02-07 12:43:32 -0500
commitcffc83b19b5de0566daa7c228ec6c107de5f4779 (patch)
tree2a234fb02d4d1ccbaea06322f38ff7771476da3a /src/com/fourisland
parent216af4399f9e4ce676c399f2ffe72ca6d021d47d (diff)
downloadfourpuzzle-cffc83b19b5de0566daa7c228ec6c107de5f4779.tar.gz
fourpuzzle-cffc83b19b5de0566daa7c228ec6c107de5f4779.tar.bz2
fourpuzzle-cffc83b19b5de0566daa7c228ec6c107de5f4779.zip
Fixed transparent image in ObjectLoader
Diffstat (limited to 'src/com/fourisland')
-rw-r--r--src/com/fourisland/fourpuzzle/gamestate/mapview/ChipSet.java2
-rw-r--r--src/com/fourisland/fourpuzzle/util/ObjectLoader.java20
-rw-r--r--src/com/fourisland/fourpuzzle/util/TransparentImageFilter.java46
3 files changed, 4 insertions, 64 deletions
diff --git a/src/com/fourisland/fourpuzzle/gamestate/mapview/ChipSet.java b/src/com/fourisland/fourpuzzle/gamestate/mapview/ChipSet.java index 4fac1c0..5ae3fbd 100644 --- a/src/com/fourisland/fourpuzzle/gamestate/mapview/ChipSet.java +++ b/src/com/fourisland/fourpuzzle/gamestate/mapview/ChipSet.java
@@ -69,7 +69,7 @@ public class ChipSet {
69 { 69 {
70 ChipSet temp = new ChipSet(); 70 ChipSet temp = new ChipSet();
71 temp.chipSetData = lower; 71 temp.chipSetData = lower;
72 temp.chipSetImage = ObjectLoader.getImage("ChipSet", name); 72 temp.chipSetImage = ObjectLoader.getImage("ChipSet", name, trans);
73 73
74 chipSets.put(name, temp); 74 chipSets.put(name, temp);
75 } 75 }
diff --git a/src/com/fourisland/fourpuzzle/util/ObjectLoader.java b/src/com/fourisland/fourpuzzle/util/ObjectLoader.java index b149ddd..58cf5ee 100644 --- a/src/com/fourisland/fourpuzzle/util/ObjectLoader.java +++ b/src/com/fourisland/fourpuzzle/util/ObjectLoader.java
@@ -5,12 +5,9 @@
5 5
6package com.fourisland.fourpuzzle.util; 6package com.fourisland.fourpuzzle.util;
7 7
8//import com.alienfactory.javamappy.loader.MapLoader;
9import com.fourisland.fourpuzzle.PuzzleApplication; 8import com.fourisland.fourpuzzle.PuzzleApplication;
10import java.awt.Image; 9import java.awt.Color;
11import java.awt.Toolkit;
12import java.awt.image.BufferedImage; 10import java.awt.image.BufferedImage;
13import java.awt.image.FilteredImageSource;
14import java.io.IOException; 11import java.io.IOException;
15import java.io.InputStream; 12import java.io.InputStream;
16import java.util.HashMap; 13import java.util.HashMap;
@@ -68,7 +65,7 @@ public class ObjectLoader {
68 { 65 {
69 throw new ResourceNotFoundException(type, name); 66 throw new ResourceNotFoundException(type, name);
70 } 67 }
71 68
72 BufferedImage bImg = null; 69 BufferedImage bImg = null;
73 try { 70 try {
74 bImg = ImageIO.read(str); 71 bImg = ImageIO.read(str);
@@ -76,9 +73,7 @@ public class ObjectLoader {
76 Logger.getLogger(ObjectLoader.class.getName()).log(Level.SEVERE, null, ex); 73 Logger.getLogger(ObjectLoader.class.getName()).log(Level.SEVERE, null, ex);
77 } 74 }
78 75
79 bImg = new BufferedImage(bImg.getWidth(), bImg.getHeight(), BufferedImage.TYPE_INT_RGB); 76 bImg.createGraphics().drawImage(bImg, 0, 0, new Color(transparencyColor, true), null);
80 Image image = Toolkit.getDefaultToolkit().createImage(new FilteredImageSource(bImg.getSource(), new TransparentImageFilter(transparencyColor)));
81 bImg.createGraphics().drawImage(image, 0, 0, null);
82 77
83 addToObjectCache(type,name,bImg); 78 addToObjectCache(type,name,bImg);
84 } 79 }
@@ -86,15 +81,6 @@ public class ObjectLoader {
86 return (BufferedImage) objectCache.get(type + "/" + name); 81 return (BufferedImage) objectCache.get(type + "/" + name);
87 } 82 }
88 83
89 /*public static com.alienfactory.javamappy.Map getMap(String name) throws Exception
90 {
91 ResourceMap rm = PuzzleApplication.getInstance().getContext().getResourceManager().getResourceMap();
92 String filename = rm.getResourcesDir() + "mapdata/" + name + ".fmp";
93
94 //com.alienfactory.javamappy.Map map = MapLoader.loadMap(rm.getClassLoader().getResourceAsStream(filename));
95 return map;
96 }*/
97
98 public static void addToObjectCache(String type, String name, Object object) 84 public static void addToObjectCache(String type, String name, Object object)
99 { 85 {
100 if (objectCache.size() >= 100) 86 if (objectCache.size() >= 100)
diff --git a/src/com/fourisland/fourpuzzle/util/TransparentImageFilter.java b/src/com/fourisland/fourpuzzle/util/TransparentImageFilter.java deleted file mode 100644 index bd830cc..0000000 --- a/src/com/fourisland/fourpuzzle/util/TransparentImageFilter.java +++ /dev/null
@@ -1,46 +0,0 @@
1/*
2 * Tiled Map Editor, (c) 2004-2006
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * Adam Turk <aturk@biggeruniverse.com>
10 * Bjorn Lindeijer <b.lindeijer@xs4all.nl>
11 */
12
13package com.fourisland.fourpuzzle.util;
14
15import java.awt.image.RGBImageFilter;
16
17/**
18 * This filter is used for filtering out a given "transparent" color from an
19 * image. Sometimes known as magic pink.
20 */
21public class TransparentImageFilter extends RGBImageFilter
22{
23 int trans;
24
25 /**
26 * @param col the color to make transparent
27 */
28 public TransparentImageFilter(int col) {
29 trans = col;
30
31 // The filter doesn't depend on pixel location
32 canFilterIndexColorModel = true;
33 }
34
35 /**
36 * Filters the given pixel. It returns a transparent pixel for pixels that
37 * match the transparency color, or the existing pixel for anything else.
38 */
39 public int filterRGB(int x, int y, int rgb) {
40 if (rgb == trans) {
41 return 0;
42 } else {
43 return rgb;
44 }
45 }
46} \ No newline at end of file