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

View differences:

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