Revision 5601cfa6
Added by Leszek Koltunski almost 4 years ago
src/main/java/org/distorted/examples/effectqueue/EffectQueueSurfaceView.java | ||
---|---|---|
44 | 44 |
|
45 | 45 |
public class EffectQueueSurfaceView extends GLSurfaceView |
46 | 46 |
{ |
47 |
private static final int RADIUS = EffectQueueRenderer.BWID/6;
|
|
47 |
private static final float RADIUS = 0.15f;
|
|
48 | 48 |
|
49 | 49 |
private EffectQueueRenderer mRenderer; |
50 | 50 |
private int mCurrentEffect; |
... | ... | |
65 | 65 |
|
66 | 66 |
int duration = 10000; |
67 | 67 |
float count = 1.0f; |
68 |
int h = 30;
|
|
69 |
int r = 20;
|
|
68 |
float h = 50.0f/BWID;
|
|
69 |
float r = 20.0f/BWID;
|
|
70 | 70 |
|
71 | 71 |
mInterD = new Dynamic3D(duration,count); |
72 | 72 |
|
... | ... | |
131 | 131 |
@Override |
132 | 132 |
public boolean onTouchEvent(MotionEvent event) |
133 | 133 |
{ |
134 |
int x,y,action = event.getAction();
|
|
134 |
int action = event.getAction(); |
|
135 | 135 |
Effect effect; |
136 | 136 |
boolean success; |
137 |
float x,y; |
|
137 | 138 |
|
138 |
switch(action)
|
|
139 |
if(action==MotionEvent.ACTION_DOWN)
|
|
139 | 140 |
{ |
140 |
case MotionEvent.ACTION_DOWN: x = (int)event.getX()*BWID/mScrW - BWID/2; |
|
141 |
y = BHEI/2 - (int)event.getY()*BHEI/mScrH; |
|
142 |
EffectQueueActivity act = (EffectQueueActivity)getContext(); |
|
143 |
Static3D center = new Static3D(x,y,0); |
|
144 |
|
|
145 |
switch(mCurrentEffect) |
|
146 |
{ |
|
147 |
case 0: effect = new VertexEffectDistort (mInterD, center, REGION_V); |
|
148 |
success= mRenderer.getEffects().apply(effect); |
|
149 |
act.effectAdded(success,effect); |
|
150 |
break; |
|
151 |
case 1: effect = new VertexEffectSink (mInterS, center, REGION_V); |
|
152 |
success= mRenderer.getEffects().apply(effect); |
|
153 |
act.effectAdded(success,effect); |
|
154 |
break; |
|
155 |
case 2: effect = new FragmentEffectAlpha (mInterA, center, REGION_F, true); |
|
156 |
success= mRenderer.getEffects().apply(effect); |
|
157 |
act.effectAdded(success,effect); |
|
158 |
break; |
|
159 |
case 3: effect = new FragmentEffectSaturation(mInterB, center, REGION_F, false); |
|
160 |
success= mRenderer.getEffects().apply(effect); |
|
161 |
act.effectAdded(success,effect); |
|
162 |
break; |
|
163 |
case 4: effect = new FragmentEffectChroma (mInterC, RED, center, REGION_F, true); |
|
164 |
success= mRenderer.getEffects().apply(effect); |
|
165 |
act.effectAdded(success,effect); |
|
166 |
break; |
|
167 |
} |
|
168 |
|
|
169 |
break; |
|
141 |
x = event.getX()/mScrW - 0.5f; |
|
142 |
y = 0.5f - event.getY()/mScrH; |
|
143 |
EffectQueueActivity act = (EffectQueueActivity)getContext(); |
|
144 |
Static3D center = new Static3D(x,y,0); |
|
145 |
|
|
146 |
switch(mCurrentEffect) |
|
147 |
{ |
|
148 |
case 0: effect = new VertexEffectDistort (mInterD, center, REGION_V); |
|
149 |
success= mRenderer.getEffects().apply(effect); |
|
150 |
act.effectAdded(success,effect); |
|
151 |
break; |
|
152 |
case 1: effect = new VertexEffectSink (mInterS, center, REGION_V); |
|
153 |
success= mRenderer.getEffects().apply(effect); |
|
154 |
act.effectAdded(success,effect); |
|
155 |
break; |
|
156 |
case 2: effect = new FragmentEffectAlpha (mInterA, center, REGION_F, true); |
|
157 |
success= mRenderer.getEffects().apply(effect); |
|
158 |
act.effectAdded(success,effect); |
|
159 |
break; |
|
160 |
case 3: effect = new FragmentEffectSaturation(mInterB, center, REGION_F, false); |
|
161 |
success= mRenderer.getEffects().apply(effect); |
|
162 |
act.effectAdded(success,effect); |
|
163 |
break; |
|
164 |
case 4: effect = new FragmentEffectChroma (mInterC, RED, center, REGION_F, true); |
|
165 |
success= mRenderer.getEffects().apply(effect); |
|
166 |
act.effectAdded(success,effect); |
|
167 |
break; |
|
168 |
} |
|
170 | 169 |
} |
171 | 170 |
|
172 | 171 |
return true; |
Also available in: Unified diff
Convert the last app, EffectQueue, to stretchless API.