Project

General

Profile

« Previous | Next » 

Revision 5601cfa6

Added by Leszek Koltunski almost 4 years ago

Convert the last app, EffectQueue, to stretchless API.

View differences:

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