1:
37:
38: package ;
39:
40: import ;
41: import ;
42: import ;
43: import ;
44: import ;
45:
46: public class BMPImageReaderSpi extends ImageReaderSpi {
47:
48: static final String vendorName = "GNU";
49: static final String version = "0.1";
50: static final String readerClassName =
51: "gnu.javax.imageio.bmp.BMPImageReader";
52: static final String[] names = { "Microsoft Windows BMP" };
53: static final String[] suffixes = { ".bmp", ".bm" };
54: static final String[] MIMETypes = {
55: "image/bmp",
56: "image/x-windows-bmp"};
57:
58: static final String[] writerSpiNames = null;
59:
60:
61: static final boolean supportsStandardStreamMetadataFormat = false;
62: static final String nativeStreamMetadataFormatName = null;
63: static final String nativeStreamMetadataFormatClassName = null;
64: static final String[] extraStreamMetadataFormatNames = null;
65: static final String[] extraStreamMetadataFormatClassNames = null;
66: static final boolean supportsStandardImageMetadataFormat = false;
67: static final String nativeImageMetadataFormatName = null;
68: static final String nativeImageMetadataFormatClassName = null;
69: static final String[] extraImageMetadataFormatNames = null;
70: static final String[] extraImageMetadataFormatClassNames = null;
71:
72: public BMPImageReaderSpi() {
73: super(vendorName, version,
74: names, suffixes, MIMETypes,
75: readerClassName,
76: STANDARD_INPUT_TYPE,
77: writerSpiNames,
78: supportsStandardStreamMetadataFormat,
79: nativeStreamMetadataFormatName,
80: nativeStreamMetadataFormatClassName,
81: extraStreamMetadataFormatNames,
82: extraStreamMetadataFormatClassNames,
83: supportsStandardImageMetadataFormat,
84: nativeImageMetadataFormatName,
85: nativeImageMetadataFormatClassName,
86: extraImageMetadataFormatNames,
87: extraImageMetadataFormatClassNames);
88: }
89:
90: public String getDescription(Locale locale) {
91: return "Microsoft BMP v3";
92: }
93:
94: public boolean canDecodeInput(Object input)
95: throws IOException {
96: if (!(input instanceof ImageInputStream))
97: return false;
98:
99: ImageInputStream in = (ImageInputStream)input;
100: boolean retval;
101:
102: in.mark();
103: try {
104: new BMPFileHeader(in);
105: retval = true;
106: } catch(BMPException e){
107: retval = false;
108: }
109: in.reset();
110:
111: return retval;
112: }
113:
114: public ImageReader createReaderInstance(Object extension) {
115: return new BMPImageReader(this);
116: }
117: }
118:
119:
120:
121:
122: