Revision 49c0eecc
Added by Leszek Koltunski over 8 years ago
| src/main/java/org/distorted/examples/effectqueue/EffectQueueActivity.java | ||
|---|---|---|
| 45 | 45 |
public class EffectQueueActivity extends Activity implements AdapterView.OnItemSelectedListener |
| 46 | 46 |
{
|
| 47 | 47 |
private Spinner mAdd, mID, mName, mType; |
| 48 |
private static ArrayAdapter<Effect> mAdapterID;
|
|
| 48 |
private static ArrayAdapter<Long> mAdapterID;
|
|
| 49 | 49 |
|
| 50 | 50 |
private int mPosID, mPosName, mPosType; |
| 51 | 51 |
private TableLayout mLayoutList; |
| 52 | 52 |
|
| 53 |
private HashMap<Effect,TableRow> mMap = new HashMap<>();
|
|
| 53 |
private HashMap<Long,TableRow> mMap = new HashMap<>();
|
|
| 54 | 54 |
|
| 55 | 55 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 56 | 56 |
|
| ... | ... | |
| 75 | 75 |
mName.setOnItemSelectedListener(this); |
| 76 | 76 |
mType.setOnItemSelectedListener(this); |
| 77 | 77 |
|
| 78 |
ArrayList<Effect> itemsEffect = new ArrayList<>();
|
|
| 78 |
ArrayList<Long> itemsId = new ArrayList<>();
|
|
| 79 | 79 |
|
| 80 | 80 |
String[] itemsName = new String[] { getText(R.string.distort ).toString(),
|
| 81 | 81 |
getText(R.string.sink ).toString(), |
| ... | ... | |
| 85 | 85 |
|
| 86 | 86 |
String[] itemsType = new String[] {"VERTEX", "FRAGMENT"};
|
| 87 | 87 |
|
| 88 |
mAdapterID = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, itemsEffect);
|
|
| 88 |
mAdapterID = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, itemsId);
|
|
| 89 | 89 |
mAdapterID.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); |
| 90 | 90 |
mID.setAdapter(mAdapterID); |
| 91 | 91 |
|
| ... | ... | |
| 170 | 170 |
{
|
| 171 | 171 |
try |
| 172 | 172 |
{
|
| 173 |
Effect currEffect = (Effect)mID.getItemAtPosition(mPosID);
|
|
| 173 |
Long currEffect = (Long)mID.getItemAtPosition(mPosID);
|
|
| 174 | 174 |
EffectQueueSurfaceView v = (EffectQueueSurfaceView) this.findViewById(R.id.effects2dSurfaceView); |
| 175 |
v.getRenderer().getEffects().abortEffect(currEffect);
|
|
| 175 |
v.getRenderer().getEffects().abortById(currEffect);
|
|
| 176 | 176 |
} |
| 177 | 177 |
catch(IndexOutOfBoundsException ex) |
| 178 | 178 |
{
|
| ... | ... | |
| 223 | 223 |
{
|
| 224 | 224 |
if( success ) // we really added a new effect |
| 225 | 225 |
{
|
| 226 |
mAdapterID.add(effect); |
|
| 226 |
mAdapterID.add(effect.getID());
|
|
| 227 | 227 |
mAdapterID.notifyDataSetChanged(); |
| 228 | 228 |
|
| 229 | 229 |
TableRow tr = new TableRow(this); |
| ... | ... | |
| 249 | 249 |
b4.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT)); |
| 250 | 250 |
tr.addView(b4); |
| 251 | 251 |
|
| 252 |
mMap.put(effect,tr); |
|
| 252 |
mMap.put(effect.getID(),tr);
|
|
| 253 | 253 |
|
| 254 | 254 |
mLayoutList.addView(tr, new TableLayout.LayoutParams(TableLayout.LayoutParams.WRAP_CONTENT, TableLayout.LayoutParams.WRAP_CONTENT)); |
| 255 | 255 |
} |
| ... | ... | |
| 261 | 261 |
|
| 262 | 262 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 263 | 263 |
|
| 264 |
public void effectRemoved(final Effect effect)
|
|
| 264 |
public void effectRemoved(final long id)
|
|
| 265 | 265 |
{
|
| 266 | 266 |
runOnUiThread(new Runnable() |
| 267 | 267 |
{
|
| 268 | 268 |
public void run() |
| 269 | 269 |
{
|
| 270 |
mAdapterID.remove(effect);
|
|
| 270 |
mAdapterID.remove(id);
|
|
| 271 | 271 |
mAdapterID.notifyDataSetChanged(); |
| 272 | 272 |
|
| 273 |
TableRow row = mMap.remove(effect);
|
|
| 273 |
TableRow row = mMap.remove(id);
|
|
| 274 | 274 |
|
| 275 | 275 |
if( row!=null ) |
| 276 | 276 |
{
|
| ... | ... | |
| 278 | 278 |
} |
| 279 | 279 |
else |
| 280 | 280 |
{
|
| 281 |
android.util.Log.e("EFFECTS2D", "Impossible: id="+effect.getID()+" not in the map!");
|
|
| 281 |
android.util.Log.e("EFFECTS2D", "Impossible: id="+id+" not in the map!");
|
|
| 282 | 282 |
} |
| 283 | 283 |
} |
| 284 | 284 |
}); |
| ... | ... | |
| 286 | 286 |
|
| 287 | 287 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 288 | 288 |
|
| 289 |
public void effectFinished(final Effect effect)
|
|
| 289 |
public void effectFinished(final long id)
|
|
| 290 | 290 |
{
|
| 291 | 291 |
runOnUiThread(new Runnable() |
| 292 | 292 |
{
|
| 293 | 293 |
public void run() |
| 294 | 294 |
{
|
| 295 |
TableRow row = mMap.get(effect);
|
|
| 295 |
TableRow row = mMap.get(id);
|
|
| 296 | 296 |
|
| 297 | 297 |
if( row!=null ) |
| 298 | 298 |
{
|
Also available in: Unified diff
Some progress with Effect classes.
11 apps compile now.