1:
37:
38:
39: package ;
40:
41: import ;
42: import ;
43:
44:
47: public class ImageReadParam extends IIOParam
48: {
49: protected boolean canSetSourceRenderSize;
50: protected BufferedImage destination;
51: protected int[] destinationBands;
52: protected int minProgressivePass;
53: protected int numProgressivePasses = Integer.MAX_VALUE;
54: protected Dimension sourceRenderSize;
55:
56: public ImageReadParam()
57: {
58: }
59:
60: public boolean canSetSourceRenderSize()
61: {
62: return canSetSourceRenderSize;
63: }
64:
65: public BufferedImage getDestination()
66: {
67: return destination;
68: }
69:
70: public int[] getDestinationBands()
71: {
72: return destinationBands;
73: }
74:
75: public int getSourceMaxProgressivePass()
76: {
77: if (getSourceNumProgressivePasses() == Integer.MAX_VALUE)
78: return Integer.MAX_VALUE;
79:
80: return getSourceMinProgressivePass() + getSourceNumProgressivePasses() - 1;
81: }
82:
83: public int getSourceMinProgressivePass()
84: {
85: return minProgressivePass;
86: }
87:
88: public int getSourceNumProgressivePasses()
89: {
90: return numProgressivePasses;
91: }
92:
93: public Dimension getSourceRenderSize()
94: {
95: return sourceRenderSize;
96: }
97:
98: public void setDestination(BufferedImage destination)
99: {
100: this.destination = destination;
101: }
102:
103: public void setDestinationBands(int[] destinationBands)
104: {
105: this.destinationBands = destinationBands;
106: }
107:
108: public void setSourceProgressivePasses(int minPass, int numPasses)
109: {
110: this.minProgressivePass = minPass;
111: this.numProgressivePasses = numPasses;
112: }
113:
114: public void setSourceRenderSize(Dimension size)
115: throws UnsupportedOperationException
116: {
117: if (! canSetSourceRenderSize())
118: throw new UnsupportedOperationException
119: ("setting source render size not supported");
120:
121: if (size.width <= 0 || size.height <= 0)
122: throw new IllegalArgumentException("negative dimension not allowed");
123:
124: sourceRenderSize = size;
125: }
126: }