55 lines
1.2 KiB
Java
55 lines
1.2 KiB
Java
package ar.com.hjg.pngj.chunks;
|
|
|
|
import ar.com.hjg.pngj.ImageInfo;
|
|
import ar.com.hjg.pngj.PngjException;
|
|
|
|
/**
|
|
* sTER chunk.
|
|
* <p>
|
|
* see http://www.libpng.org/pub/png/spec/register/pngext-1.3.0-pdg.html#C.sTER
|
|
*/
|
|
public class PngChunkSTER extends PngChunkSingle {
|
|
public final static String ID = "sTER";
|
|
|
|
// http://www.libpng.org/pub/png/spec/register/pngext-1.3.0-pdg.html#C.sTER
|
|
private byte mode; // 0: cross-fuse layout 1: diverging-fuse layout
|
|
|
|
public PngChunkSTER(ImageInfo info) {
|
|
super(ID, info);
|
|
}
|
|
|
|
@Override
|
|
public ChunkOrderingConstraint getOrderingConstraint() {
|
|
return ChunkOrderingConstraint.BEFORE_IDAT;
|
|
}
|
|
|
|
@Override
|
|
public ChunkRaw createRawChunk() {
|
|
ChunkRaw c = createEmptyChunk(1, true);
|
|
c.data[0] = (byte) mode;
|
|
return c;
|
|
}
|
|
|
|
@Override
|
|
public void parseFromRaw(ChunkRaw chunk) {
|
|
if (chunk.len != 1)
|
|
throw new PngjException("bad chunk length " + chunk);
|
|
mode = chunk.data[0];
|
|
}
|
|
|
|
/**
|
|
* 0: cross-fuse layout 1: diverging-fuse layout
|
|
*/
|
|
public byte getMode() {
|
|
return mode;
|
|
}
|
|
|
|
/**
|
|
* 0: cross-fuse layout 1: diverging-fuse layout
|
|
*/
|
|
public void setMode(byte mode) {
|
|
this.mode = mode;
|
|
}
|
|
|
|
}
|