Revision 11767 trunk/libraries/libRaster/src/org/gvsig/raster/grid/filter/enhancement/BrightnessContrastListManager.java
BrightnessContrastListManager.java | ||
---|---|---|
61 | 61 |
* @param removeAll true si se desea eliminar cualquier filtro de brillo que |
62 | 62 |
* hubiera en la pila antes y false si se acumula sobre lo que haya |
63 | 63 |
*/ |
64 |
public void addBrightnessFilter(int incrBrillo, boolean removeAll){ |
|
65 |
//Si ya hay un filtro de brillo en la pila lo sobreescribimos |
|
66 |
String fName = BrightnessFilter.genericName; |
|
64 |
public void addBrightnessFilter(int incrBrillo, int insertionMode){ |
|
67 | 65 |
|
66 |
if( insertionMode == RasterFilterList.ADD_END_AND_DELETE && filterList.isActive(BrightnessFilter.genericName)) { |
|
67 |
filterList.remove(BrightnessFilter.genericName); |
|
68 |
filterListManager.controlTypes(); |
|
69 |
} |
|
70 |
|
|
68 | 71 |
RasterFilter filtro = null; |
69 | 72 |
|
70 |
switch(filterList.getDataTypeInFilter(fName)){
|
|
73 |
switch(filterList.getDataTypeInFilter(BrightnessFilter.genericName, insertionMode)){
|
|
71 | 74 |
case RasterBuffer.TYPE_BYTE: |
72 | 75 |
filtro = new BrightnessByteFilter(); |
73 | 76 |
break; |
... | ... | |
82 | 85 |
//Cuando el filtro esta creado, tomamos los valores y lo a�adimos a la pila |
83 | 86 |
|
84 | 87 |
if(filtro != null){ |
85 |
if(removeAll) |
|
86 |
filterList.remove(BrightnessFilter.genericName); |
|
87 | 88 |
filtro.addParam("incrBrillo", new Integer(incrBrillo)); |
89 |
if(insertionMode == RasterFilterList.MODIFY_LAST) { |
|
90 |
if(filterList.isActive(BrightnessFilter.genericName)) { |
|
91 |
filterList.replace(filtro, BrightnessFilter.genericName); |
|
92 |
return; |
|
93 |
} |
|
94 |
} |
|
88 | 95 |
filterList.add(filtro); |
89 |
filterListManager.controlTypes(); |
|
90 | 96 |
} |
91 | 97 |
} |
92 | 98 |
|
... | ... | |
94 | 100 |
* A?ade un filtro de contraste a la pila de filtros. |
95 | 101 |
* @param incrBrillo |
96 | 102 |
*/ |
97 |
public void addContrastFilter(int incrContraste, boolean removeAll){ |
|
98 |
//Si ya hay un filtro de contraste en la pila lo sobreescribimos |
|
99 |
String fName = ContrastFilter.genericName; |
|
100 |
|
|
103 |
public void addContrastFilter(int incrContraste, int insertionMode){ |
|
104 |
if( insertionMode == RasterFilterList.ADD_END_AND_DELETE && filterList.isActive(ContrastFilter.genericName)) { |
|
105 |
filterList.remove(ContrastFilter.genericName); |
|
106 |
filterListManager.controlTypes(); |
|
107 |
} |
|
108 |
|
|
101 | 109 |
RasterFilter filtro = null; |
102 | 110 |
|
103 |
switch(filterList.getDataTypeInFilter(fName)){
|
|
111 |
switch(filterList.getDataTypeInFilter(ContrastFilter.genericName, insertionMode)){
|
|
104 | 112 |
case RasterBuffer.TYPE_BYTE: |
105 | 113 |
filtro = new ContrastByteFilter(); |
106 | 114 |
break; |
... | ... | |
115 | 123 |
//Cuando el filtro esta creado, tomamos los valores y lo a�adimos a la pila |
116 | 124 |
|
117 | 125 |
if(filtro != null){ |
118 |
if(removeAll && filterList.isActive(fName)) |
|
119 |
filterList.remove(fName); |
|
120 | 126 |
filtro.addParam("incrContraste", new Integer(incrContraste)); |
127 |
if(insertionMode == RasterFilterList.MODIFY_LAST) { |
|
128 |
if(filterList.isActive(ContrastFilter.genericName)) { |
|
129 |
filterList.replace(filtro, ContrastFilter.genericName); |
|
130 |
return; |
|
131 |
} |
|
132 |
} |
|
121 | 133 |
filterList.add(filtro); |
122 |
filterListManager.controlTypes(); |
|
123 | 134 |
} |
124 | 135 |
} |
125 | 136 |
|
... | ... | |
130 | 141 |
public ArrayList getStringsFromFilterList(ArrayList filterList, RasterFilter rf) { |
131 | 142 |
|
132 | 143 |
if((rf instanceof BrightnessFilter) || |
133 |
(rf instanceof ContrastFilter)){ |
|
144 |
(rf instanceof ContrastFilter)) {
|
|
134 | 145 |
filterList.add("filter.brightCont.active=true"); |
135 | 146 |
} |
136 | 147 |
|
137 |
if(rf instanceof BrightnessFilter){ |
|
148 |
if(rf instanceof BrightnessFilter) {
|
|
138 | 149 |
BrightnessFilter bright = (BrightnessFilter) rf; |
139 | 150 |
filterList.add("filter.brightness.incrBrillo="+bright.incrBrillo); |
140 | 151 |
}else if(rf instanceof ContrastFilter){ |
... | ... | |
147 | 158 |
|
148 | 159 |
public int createFilterListFromStrings(ArrayList filters, String fil, int filteri) { |
149 | 160 |
if( (fil.startsWith("filter.brightCont.active"))&& |
150 |
(RasterFilterListManager.getValue(fil).equals("true"))){ |
|
161 |
(RasterFilterListManager.getValue(fil).equals("true"))) {
|
|
151 | 162 |
|
152 | 163 |
int incrBrillo = 0; |
153 | 164 |
int incrContraste = 0; |
... | ... | |
161 | 172 |
prop--; |
162 | 173 |
} |
163 | 174 |
|
164 |
if(elem.startsWith("filter.contrast.incrContraste")){ |
|
175 |
if(elem.startsWith("filter.contrast.incrContraste")) {
|
|
165 | 176 |
incrContraste = Integer.parseInt(RasterFilterListManager.getValue(elem)); |
166 | 177 |
filters.remove(prop); |
167 | 178 |
prop--; |
168 | 179 |
} |
169 | 180 |
} |
170 |
addBrightnessFilter(incrBrillo, true);
|
|
171 |
addContrastFilter(incrContraste, true);
|
|
181 |
addBrightnessFilter(incrBrillo, RasterFilterList.ADD_END);
|
|
182 |
addContrastFilter(incrContraste, RasterFilterList.ADD_END);
|
|
172 | 183 |
} |
173 | 184 |
return filteri; |
174 | 185 |
} |
... | ... | |
188 | 199 |
for (int i=0; i<params.getNumParams(); i++) { |
189 | 200 |
if (classFilter.equals(ContrastFilter.class)) { |
190 | 201 |
if (params.getParam(i).id.equals("Contrast")) |
191 |
addContrastFilter(new Integer(params.getParam(i).defaultValue).intValue(), false);
|
|
202 |
addContrastFilter(new Integer(params.getParam(i).defaultValue).intValue(), RasterFilterList.ADD_END);
|
|
192 | 203 |
} |
193 | 204 |
if (classFilter.equals(BrightnessFilter.class)) { |
194 | 205 |
if (params.getParam(i).id.equals("Brightness")) |
195 |
addBrightnessFilter(new Integer(params.getParam(i).defaultValue).intValue(), false);
|
|
206 |
addBrightnessFilter(new Integer(params.getParam(i).defaultValue).intValue(), RasterFilterList.ADD_END);
|
|
196 | 207 |
} |
197 | 208 |
} |
198 | 209 |
} |
Also available in: Unified diff