Xcos src: Java cleanup
[scilab.git] / scilab / modules / xcos / src / java / org / scilab / modules / xcos / utils / ImageIconTranscoder.java
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2015 - Marcos CARDINOT
4  *
5  * This file must be used under the terms of the CeCILL.
6  * This source file is licensed as described in the file COPYING, which
7  * you should have received as part of this distribution.  The terms
8  * are also available at
9  * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
10  *
11  */
12
13 package org.scilab.modules.xcos.utils;
14
15 import java.awt.image.BufferedImage;
16
17 import javax.swing.ImageIcon;
18
19 import org.apache.batik.transcoder.TranscoderException;
20 import org.apache.batik.transcoder.TranscoderOutput;
21 import org.apache.batik.transcoder.image.ImageTranscoder;
22
23 /**
24  * A simple transcoder that can be used to generate ImageIcon and BufferedImage.
25  * @author Marcos Cardinot <mcardinot@gmail.com>
26  */
27 public class ImageIconTranscoder extends ImageTranscoder {
28     private BufferedImage bufferedImage;
29     private ImageIcon imgIcon;
30
31     /**
32      * Default constructor
33      */
34     public ImageIconTranscoder() {
35     }
36
37     /**
38      * Creates a new ARGB image with the specified dimension.
39      * @param width the image width
40      * @param height the image height
41      * @return BufferedImage
42      */
43     @Override
44     public BufferedImage createImage(int width, int height) {
45         return new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
46     }
47
48     /**
49      * Writes a image.
50      * @param img the image to write
51      * @param output the output where to store the image
52      * @throws TranscoderException if an error occurred while storing the image
53      */
54     @Override
55     public void writeImage(BufferedImage img, TranscoderOutput output) throws TranscoderException {
56         bufferedImage = img;
57         imgIcon = new ImageIcon(img);
58     }
59
60     /**
61      * Get the image in BufferedImage format
62      * @return BufferedImage
63      */
64     public BufferedImage getBufferedImage() {
65         return bufferedImage;
66     }
67
68     /**
69      * Get the image in ImageIcon format
70      * @return ImageIcon
71      */
72     public ImageIcon getImageIcon() {
73         return imgIcon;
74     }
75
76     /**
77      * Set the dimension of the image.
78      * @param width the image width
79      * @param height the image height
80      */
81     public void setDimensions(int width, int height) {
82         hints.put(KEY_WIDTH, new Float(width));
83         hints.put(KEY_HEIGHT, new Float(height));
84     }
85 }