Revision 1538 org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.swing/org.gvsig.tools.swing.impl/src/main/java/org/gvsig/tools/swing/impl/DefaultToolsSwingManager.java
DefaultToolsSwingManager.java | ||
---|---|---|
4 | 4 |
import java.awt.Dimension; |
5 | 5 |
import java.awt.image.BufferedImage; |
6 | 6 |
import java.awt.image.WritableRaster; |
7 |
import java.io.IOException; |
|
8 | 7 |
|
9 | 8 |
import javax.swing.ComboBoxModel; |
10 | 9 |
import javax.swing.JComboBox; |
... | ... | |
14 | 13 |
import org.gvsig.tools.swing.api.ActionListenerSupport; |
15 | 14 |
import org.gvsig.tools.swing.api.JListWithCheckbox; |
16 | 15 |
import org.gvsig.tools.swing.api.ToolsSwingManager; |
17 |
import org.gvsig.tools.swing.impl.bufferedImage.MappedFileBuffer;
|
|
18 |
import org.gvsig.tools.swing.impl.bufferedImage.MappedImageFactory;
|
|
16 |
import org.gvsig.tools.swing.impl.bufferedImage.VirtualBufferedImageHelper;
|
|
17 |
import org.gvsig.tools.swing.impl.bufferedImage.VirtualBufferedImageHelper.VirtualDataBuffer;
|
|
19 | 18 |
|
20 | 19 |
|
21 | 20 |
public class DefaultToolsSwingManager implements ToolsSwingManager { |
... | ... | |
37 | 36 |
TreeComboUtils.setTreeModel(comboBox, aTreeModel); |
38 | 37 |
} |
39 | 38 |
|
39 |
@Override |
|
40 | 40 |
public ComboBoxModel createComboBoxModel(TreeModel treeModel) { |
41 | 41 |
return TreeComboUtils.createComboBoxModel(treeModel); |
42 | 42 |
} |
43 | 43 |
|
44 | 44 |
|
45 |
@Override |
|
45 | 46 |
public BufferedImage createBufferedImage(int w, int h, int type) { |
46 | 47 |
if(getMaxPhysicalSizeOfBufferedImage().getWidth() < w || getMaxPhysicalSizeOfBufferedImage().getHeight() < h){ |
47 | 48 |
return createVirtualBufferedImage(w,h,type); |
... | ... | |
49 | 50 |
return new BufferedImage(w,h,type); |
50 | 51 |
} |
51 | 52 |
|
53 |
@Override |
|
52 | 54 |
public BufferedImage createVirtualBufferedImage(int w, int h, int type) { |
53 |
try { |
|
54 |
return MappedImageFactory.createCompatibleMappedImage(w, h, type); |
|
55 |
} catch (IOException e) { |
|
56 |
throw new RuntimeException("Can't create VitualBufferedImage", e); |
|
57 |
} |
|
55 |
return VirtualBufferedImageHelper.createVirtualBufferedImage(w, h, type); |
|
58 | 56 |
} |
59 | 57 |
|
58 |
@Override |
|
60 | 59 |
public BufferedImage copyBufferedImage(BufferedImage img) { |
61 | 60 |
WritableRaster sourceRaster = img.getRaster(); |
62 | 61 |
|
63 | 62 |
BufferedImage newImage; |
64 |
if(sourceRaster.getDataBuffer() instanceof MappedFileBuffer){
|
|
65 |
try {
|
|
66 |
newImage =
|
|
67 |
MappedImageFactory.createCompatibleMappedImage(img.getWidth(), img.getHeight(), img.getSampleModel(), img.getColorModel());
|
|
68 |
} catch (IOException e) {
|
|
69 |
throw new RuntimeException("Can't copy buffered image", e);
|
|
70 |
}
|
|
63 |
if(sourceRaster.getDataBuffer() instanceof VirtualDataBuffer ){
|
|
64 |
newImage = VirtualBufferedImageHelper.createVirtualBufferedImage(
|
|
65 |
img.getWidth(),
|
|
66 |
img.getHeight(),
|
|
67 |
img.getSampleModel(),
|
|
68 |
img.getColorModel()
|
|
69 |
);
|
|
71 | 70 |
} else { |
72 | 71 |
newImage = createBufferedImage(img.getWidth(), img.getHeight(), img.getType()); |
73 | 72 |
} |
... | ... | |
75 | 74 |
WritableRaster raster = newImage.getRaster(); |
76 | 75 |
img.copyData(raster); |
77 | 76 |
return newImage; |
78 |
|
|
79 |
|
|
80 | 77 |
} |
81 | 78 |
|
82 | 79 |
@Override |
Also available in: Unified diff