View Javadoc

1   // Copyright 2003, FreeHEP
2   package org.freehep.graphicsio.gif;
3   
4   import java.util.Locale;
5   import java.util.Properties;
6   
7   import javax.imageio.ImageWriteParam;
8   
9   import org.freehep.graphicsio.ImageParamConverter;
10  import org.freehep.util.UserProperties;
11  
12  /**
13   * 
14   * @version $Id: GIFImageWriteParam.java 8584 2006-08-10 23:06:37Z duns $
15   */
16  public class GIFImageWriteParam extends ImageWriteParam implements
17          ImageParamConverter {
18  
19      private boolean quantizeColors;
20  
21      private String quantizeMode;
22  
23      public GIFImageWriteParam(Locale locale) {
24          super(locale);
25          canWriteProgressive = true;
26          progressiveMode = MODE_DEFAULT;
27  
28          UserProperties def = new UserProperties(GIFGraphics2D
29                  .getDefaultProperties());
30          quantizeColors = def.isProperty(GIFGraphics2D.QUANTIZE_COLORS);
31          quantizeMode = def.getProperty(GIFGraphics2D.QUANTIZE_MODE);
32      }
33  
34      public ImageWriteParam getWriteParam(Properties properties) {
35          UserProperties p = new UserProperties(properties);
36          setQuantizeColors(p.isProperty(GIFGraphics2D.QUANTIZE_COLORS));
37          setQuantizeMode(p.getProperty(GIFGraphics2D.QUANTIZE_COLORS));
38          return this;
39      }
40  
41      public boolean getQuantizeColors() {
42          return quantizeColors;
43      }
44  
45      public void setQuantizeColors(boolean state) {
46          quantizeColors = state;
47      }
48  
49      public String[] getQuantizeModes() {
50          return GIFExportFileType.quantizeModes;
51      }
52  
53      public String getQuantizeMode() {
54          return quantizeMode;
55      }
56  
57      public void setQuantizeMode(String mode) {
58          quantizeMode = mode;
59      }
60  }