package uk.co.mmscomputing.imageio.sff;
import java.io.IOException;
import java.util.Locale;
import java.awt.image.*;
import javax.imageio.*;
import javax.imageio.spi.*;
import javax.imageio.stream.*;
import javax.imageio.metadata.*;
public class SFFImageWriterSpi extends ImageWriterSpi {
static final String vendorName="mm's computing";
static final String version="0.0.2";
static final String writerClassName="uk.co.mmscomputing.imageio.sff.SFFImageWriter";
static final String[] names={"sff","SFF"};
static final String[] suffixes={"sff","SFF"};
static final String[] MIMETypes={"image/sff"};
static final String[] readerSpiNames={"uk.co.mmscomputing.imageio.sff.SFFImageReaderSpi"};
static final boolean supportsStandardStreamMetadataFormat = false;
static final String nativeStreamMetadataFormatName = null;
static final String nativeStreamMetadataFormatClassName = null;
static final String[] extraStreamMetadataFormatNames = null;
static final String[] extraStreamMetadataFormatClassNames = null;
static final boolean supportsStandardImageMetadataFormat = false;
static final String nativeImageMetadataFormatName =null;//"uk.co.mmscomputing.imageio.sff.SFFFormatMetadata 0.0.1";
static final String nativeImageMetadataFormatClassName =null;//"uk.co.mmscomputing.imageio.sff.SFFFormatMetadata";
static final String[] extraImageMetadataFormatNames = null;
static final String[] extraImageMetadataFormatClassNames = null;
public SFFImageWriterSpi(){
super( vendorName, version,
names, suffixes,
MIMETypes, writerClassName,
STANDARD_OUTPUT_TYPE, readerSpiNames,
supportsStandardStreamMetadataFormat,
nativeStreamMetadataFormatName,
nativeStreamMetadataFormatClassName,
extraStreamMetadataFormatNames,
extraStreamMetadataFormatClassNames,
supportsStandardImageMetadataFormat,
nativeImageMetadataFormatName,
nativeImageMetadataFormatClassName,
extraImageMetadataFormatNames,
extraImageMetadataFormatClassNames
);
}
public ImageWriter createWriterInstance(Object extension)throws IOException{
return new SFFImageWriter(this);
}
public boolean canEncodeImage(ImageTypeSpecifier type){ // deal with black/white only
int t =type.getBufferedImageType();
ColorModel cm =type.getColorModel();
return (t==BufferedImage.TYPE_BYTE_BINARY)&&(cm.getPixelSize()==1);
}
public String getDescription(Locale locale){
return "mmsc sff encoder";
}
}