Revision c40df162
Added by Leszek Koltunski over 5 years ago
src/main/java/org/distorted/examples/triblur/TriblurActivity.java | ||
---|---|---|
37 | 37 |
|
38 | 38 |
public class TriblurActivity extends Activity implements SeekBar.OnSeekBarChangeListener, AdapterView.OnItemSelectedListener |
39 | 39 |
{ |
40 |
private static final int NONE0 = 0; |
|
41 |
private static final int NONE1 = 1; |
|
42 |
private static final int NONE2 = 2; |
|
43 |
private static final int BLUR0 = 3; |
|
44 |
private static final int BLUR1 = 4; |
|
45 |
private static final int BLUR2 = 5; |
|
46 |
private static final int GLOW0 = 6; |
|
47 |
private static final int GLOW1 = 7; |
|
48 |
private static final int GLOW2 = 8; |
|
49 |
|
|
40 | 50 |
private int mQuality; |
41 | 51 |
private int mBackground; |
42 | 52 |
|
... | ... | |
64 | 74 |
|
65 | 75 |
privateQuality(1); |
66 | 76 |
privateBackgroundColor(1); |
77 |
privateEffect(BLUR0); |
|
78 |
privateEffect(BLUR1); |
|
79 |
privateEffect(BLUR2); |
|
67 | 80 |
} |
68 | 81 |
|
69 | 82 |
Spinner typeSpinner = findViewById(R.id.triblur_spinnerQuality); |
... | ... | |
146 | 159 |
TriblurSurfaceView view = this.findViewById(R.id.triblurSurfaceView); |
147 | 160 |
TriblurRenderer renderer = view.getRenderer(); |
148 | 161 |
|
149 |
savedInstanceState.putBooleanArray("checkboxes", renderer.getChecked() );
|
|
162 |
savedInstanceState.putIntArray("effects", renderer.getEffects() );
|
|
150 | 163 |
savedInstanceState.putInt("quality", mQuality); |
151 | 164 |
savedInstanceState.putInt("background", mBackground); |
152 | 165 |
} |
... | ... | |
158 | 171 |
{ |
159 | 172 |
super.onRestoreInstanceState(savedInstanceState); |
160 | 173 |
|
161 |
boolean[] checkboxes = savedInstanceState.getBooleanArray("checkboxes");
|
|
174 |
int[] effects = savedInstanceState.getIntArray("effects");
|
|
162 | 175 |
|
163 | 176 |
TriblurSurfaceView view = this.findViewById(R.id.triblurSurfaceView); |
164 | 177 |
TriblurRenderer renderer = view.getRenderer(); |
165 | 178 |
|
166 |
if( checkboxes!=null )
|
|
179 |
if( effects!=null )
|
|
167 | 180 |
{ |
168 |
for(int i=0; i<checkboxes.length; i++)
|
|
181 |
for(int i=0; i<effects.length; i++)
|
|
169 | 182 |
{ |
170 |
renderer.setChecked(i,checkboxes[i]);
|
|
183 |
renderer.setEffects(i,effects[i]);
|
|
171 | 184 |
} |
172 | 185 |
} |
173 | 186 |
|
... | ... | |
206 | 219 |
|
207 | 220 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
208 | 221 |
|
209 |
public void onClick(View view) |
|
222 |
public void effect(View v) |
|
223 |
{ |
|
224 |
switch(v.getId()) |
|
225 |
{ |
|
226 |
case R.id.triblurRadioNone0: privateEffect(NONE0); break; |
|
227 |
case R.id.triblurRadioNone1: privateEffect(NONE1); break; |
|
228 |
case R.id.triblurRadioNone2: privateEffect(NONE2); break; |
|
229 |
case R.id.triblurRadioBlur0: privateEffect(BLUR0); break; |
|
230 |
case R.id.triblurRadioBlur1: privateEffect(BLUR1); break; |
|
231 |
case R.id.triblurRadioBlur2: privateEffect(BLUR2); break; |
|
232 |
case R.id.triblurRadioGlow0: privateEffect(GLOW0); break; |
|
233 |
case R.id.triblurRadioGlow1: privateEffect(GLOW1); break; |
|
234 |
case R.id.triblurRadioGlow2: privateEffect(GLOW2); break; |
|
235 |
} |
|
236 |
} |
|
237 |
|
|
238 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
239 |
|
|
240 |
private void privateEffect(int index) |
|
210 | 241 |
{ |
211 |
CheckBox box = (CheckBox)view; |
|
212 |
boolean checked = box.isChecked(); |
|
213 |
TriblurSurfaceView sView = this.findViewById(R.id.triblurSurfaceView); |
|
242 |
TriblurSurfaceView view = this.findViewById(R.id.triblurSurfaceView); |
|
243 |
TriblurRenderer renderer = view.getRenderer(); |
|
214 | 244 |
|
215 |
switch(box.getId())
|
|
245 |
switch(index)
|
|
216 | 246 |
{ |
217 |
case R.id.triblurCheckBox0 : sView.getRenderer().setChecked(0,checked); break; |
|
218 |
case R.id.triblurCheckBox1 : sView.getRenderer().setChecked(1,checked); break; |
|
219 |
case R.id.triblurCheckBox2 : sView.getRenderer().setChecked(2,checked); break; |
|
247 |
case NONE0: renderer.setEffects(0,0); break; |
|
248 |
case NONE1: renderer.setEffects(1,0); break; |
|
249 |
case NONE2: renderer.setEffects(2,0); break; |
|
250 |
case BLUR0: renderer.setEffects(0,1); break; |
|
251 |
case BLUR1: renderer.setEffects(1,1); break; |
|
252 |
case BLUR2: renderer.setEffects(2,1); break; |
|
253 |
case GLOW0: renderer.setEffects(0,2); break; |
|
254 |
case GLOW1: renderer.setEffects(1,2); break; |
|
255 |
case GLOW2: renderer.setEffects(2,2); break; |
|
220 | 256 |
} |
221 | 257 |
} |
222 | 258 |
|
Also available in: Unified diff
Improve the Triblur app to be able to switch objects into 1 of 3 states: no postprocessing, blur, glow.