1:
37:
38:
39: package ;
40:
41: import ;
42: import ;
43:
44:
47: public abstract class IIOParam
48: {
49: protected IIOParamController controller;
50: protected IIOParamController defaultController;
51: protected Point destinationOffset = new Point(0, 0);
52: protected ImageTypeSpecifier destinationType;
53: protected int[] sourceBands;
54: protected Rectangle sourceRegion;
55: protected int sourceXSubsampling;
56: protected int sourceYSubsampling;
57: protected int subsamplingXOffset;
58: protected int subsamplingYOffset;
59:
60:
63: protected IIOParam()
64: {
65:
66: }
67:
68: public boolean activateController()
69: {
70: if (controller == null)
71: return false;
72:
73: return controller.activate(this);
74: }
75:
76: public IIOParamController getController()
77: {
78: return controller;
79: }
80:
81: public IIOParamController getDefaultController()
82: {
83: return defaultController;
84: }
85:
86: public Point getDestinationOffset()
87: {
88: return destinationOffset;
89: }
90:
91: public ImageTypeSpecifier getDestinationType()
92: {
93: return destinationType;
94: }
95:
96: public int[] getSourceBands()
97: {
98: return sourceBands;
99: }
100:
101: public Rectangle getSourceRegion()
102: {
103: return sourceRegion;
104: }
105:
106: public int getSourceXSubsampling()
107: {
108: return sourceXSubsampling;
109: }
110:
111: public int getSourceYSubsampling()
112: {
113: return sourceYSubsampling;
114: }
115:
116: public int getSubsamplingXOffset()
117: {
118: return subsamplingXOffset;
119: }
120:
121: public int getSubsamplingYOffset()
122: {
123: return subsamplingYOffset;
124: }
125:
126: public boolean hasController()
127: {
128: return getController() != null;
129: }
130:
131: public void setController(IIOParamController controller)
132: {
133: this.controller = controller;
134: }
135:
136: public void setDestinationOffset(Point destinationOffset)
137: {
138: if (destinationOffset == null)
139: throw new IllegalArgumentException("destinationOffset is null");
140:
141: this.destinationOffset = destinationOffset;
142: }
143:
144: public void setSourceBands(int[] sourceBands)
145: {
146: this.sourceBands = sourceBands;
147: }
148:
149: public void setSourceRegion(Rectangle sourceRegion)
150: {
151: if (sourceRegion != null
152: && (sourceRegion.x < 0
153: || sourceRegion.y < 0
154: || sourceRegion.width <= 0
155: || sourceRegion.height <= 0))
156: throw new IllegalArgumentException("illegal source region");
157:
158:
159:
160: this.sourceRegion = sourceRegion;
161: }
162:
163: public void setSourceSubsampling(int sourceXSubsampling, int sourceYSubsampling,
164: int subsamplingXOffset, int subsamplingYOffset)
165: {
166: this.sourceXSubsampling = sourceXSubsampling;
167: this.sourceYSubsampling = sourceYSubsampling;
168: this.subsamplingXOffset = subsamplingXOffset;
169: this.subsamplingYOffset = subsamplingYOffset;
170: }
171: }