commit 3f07bedc90b8d55c70dd832b68eae5170a144e3a
Author: Leszek Koltunski <leszek@distoretedandroid.org>
Date:   Fri Nov 4 11:17:42 2016 +0000

    Tidy up the 'Effects3D'

diff --git a/src/main/java/org/distorted/examples/effects2d/Effects2DActivity.java b/src/main/java/org/distorted/examples/effects2d/Effects2DActivity.java
index 802d4ca..b1120c3 100644
--- a/src/main/java/org/distorted/examples/effects2d/Effects2DActivity.java
+++ b/src/main/java/org/distorted/examples/effects2d/Effects2DActivity.java
@@ -44,7 +44,6 @@ import java.util.HashMap;
 public class Effects2DActivity extends Activity implements AdapterView.OnItemSelectedListener
   {
   private Spinner mAdd, mID, mName, mType;
-  private static ArrayAdapter<String> mAdapterAdd, mAdapterName, mAdapterType;
   private static ArrayAdapter<Long> mAdapterID;
 
   private int mPosID, mPosName, mPosType;
@@ -85,21 +84,22 @@ public class Effects2DActivity extends Activity implements AdapterView.OnItemSel
 
     String[] itemsType = new String[] {"VERTEX", "FRAGMENT"};
 
-    mAdapterAdd = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, itemsName);
-    mAdapterAdd.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
-    mAdd.setAdapter(mAdapterAdd);
 
     mAdapterID = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, itemsID);
     mAdapterID.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
     mID.setAdapter(mAdapterID);
 
-    mAdapterName = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, itemsName);
-    mAdapterName.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
-    mName.setAdapter(mAdapterName);
+    ArrayAdapter<String> adapterAdd = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, itemsName);
+    adapterAdd.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
+    mAdd.setAdapter(adapterAdd);
 
-    mAdapterType = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, itemsType);
-    mAdapterType.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
-    mType.setAdapter(mAdapterType);
+    ArrayAdapter<String> adapterName = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, itemsName);
+    adapterName.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
+    mName.setAdapter(adapterName);
+
+    ArrayAdapter<String> adapterType = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, itemsType);
+    adapterType.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
+    mType.setAdapter(adapterType);
 
     mLayoutList = (TableLayout)findViewById(R.id.effects2dTableList);
     }
@@ -149,7 +149,8 @@ public class Effects2DActivity extends Activity implements AdapterView.OnItemSel
     {
     switch(parent.getId())
       {
-      case R.id.effects2d_spinnerAdd : Effects2DSurfaceView.setEffect(pos); break;
+      case R.id.effects2d_spinnerAdd : Effects2DSurfaceView v = (Effects2DSurfaceView) this.findViewById(R.id.effects2dSurfaceView);
+                                       v.setEffect(pos); break;
       case R.id.effects2d_spinnerID  : mPosID   = pos; break;
       case R.id.effects2d_spinnerName: mPosName = pos; break;
       case R.id.effects2d_spinnerType: mPosType = pos; break;
@@ -168,7 +169,8 @@ public class Effects2DActivity extends Activity implements AdapterView.OnItemSel
     {
     Long currID = (Long)mID.getItemAtPosition(mPosID);
 
-    Effects2DRenderer.mBackground.abortEffect(currID);
+    Effects2DSurfaceView v = (Effects2DSurfaceView) this.findViewById(R.id.effects2dSurfaceView);
+    v.getRenderer().mBackground.abortEffect(currID);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -187,7 +189,8 @@ public class Effects2DActivity extends Activity implements AdapterView.OnItemSel
       default: name = EffectNames.CONTRAST     ;
       }
 
-    Effects2DRenderer.mBackground.abortEffects(name);
+    Effects2DSurfaceView v = (Effects2DSurfaceView) this.findViewById(R.id.effects2dSurfaceView);
+    v.getRenderer().mBackground.abortEffects(name);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -203,7 +206,8 @@ public class Effects2DActivity extends Activity implements AdapterView.OnItemSel
       default: type = EffectTypes.MATRIX;
       }
 
-    Effects2DRenderer.mBackground.abortEffects(type);
+    Effects2DSurfaceView v = (Effects2DSurfaceView) this.findViewById(R.id.effects2dSurfaceView);
+    v.getRenderer().mBackground.abortEffects(type);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/examples/effects2d/Effects2DRenderer.java b/src/main/java/org/distorted/examples/effects2d/Effects2DRenderer.java
index 6313f5e..e3c2568 100644
--- a/src/main/java/org/distorted/examples/effects2d/Effects2DRenderer.java
+++ b/src/main/java/org/distorted/examples/effects2d/Effects2DRenderer.java
@@ -41,18 +41,19 @@ import org.distorted.library.type.Static3D;
 
 public class Effects2DRenderer implements GLSurfaceView.Renderer, EffectListener
   {  
-  public static final int NUMLINES = 10;
-  public static final int BWID = 300;
-  public static final int BHEI = 400;
+  private static final int NUMLINES =  10;
+  static final int BWID = 300;
+  static final int BHEI = 400;
    
-  private GLSurfaceView mView;
-  public static DistortedBitmap mBackground;
+  private Effects2DSurfaceView mView;
   private Paint mPaint;
   private int texWidth, texHeight;
-    
+
+  DistortedBitmap mBackground;
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public Effects2DRenderer(GLSurfaceView v)
+  Effects2DRenderer(Effects2DSurfaceView v)
     {    
     mPaint = new Paint();
     mPaint.setAntiAlias(true);
@@ -103,7 +104,7 @@ public class Effects2DRenderer implements GLSurfaceView.Renderer, EffectListener
     mBackground.abortEffects(EffectTypes.MATRIX);
     mBackground.scale( new Static3D((float)width/texWidth,(float)height/texHeight,1) );
     Distorted.onSurfaceChanged(width,height);
-    Effects2DSurfaceView.setScreenSize(width,height);
+    mView.setScreenSize(width,height);
     }
    
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/examples/effects2d/Effects2DSurfaceView.java b/src/main/java/org/distorted/examples/effects2d/Effects2DSurfaceView.java
index f311af9..522fded 100644
--- a/src/main/java/org/distorted/examples/effects2d/Effects2DSurfaceView.java
+++ b/src/main/java/org/distorted/examples/effects2d/Effects2DSurfaceView.java
@@ -39,19 +39,13 @@ import org.distorted.library.type.Dynamic3D;
 public class Effects2DSurfaceView extends GLSurfaceView
   {
   private Effects2DRenderer mRenderer;
-  private static int mCurrentEffect;
-  private static int mDuration;
-  private static float mCount;
-  private static int mScrW, mScrH;
+  private int mCurrentEffect;
+  private int mScrW, mScrH;
     
-  private static Static4D region;
-  private static Static2D point;
-
-  private static Static4D mRegion;
-  private static Dynamic1D mInterA, mInterB, mInterC, mInterS;
-
-  private static Dynamic3D mInterD;
-  private static Static3D v0, v1, v2, v3;
+  private Static4D mRegionV, mRegionF;
+  private Static2D mPoint;
+  private Dynamic1D mInterA, mInterB, mInterC, mInterS;
+  private Dynamic3D mInterD;
 
   private final static Static3D mRED = new Static3D(1,0,0);
 
@@ -61,37 +55,31 @@ public class Effects2DSurfaceView extends GLSurfaceView
     {
     super(c, attrs);
       
-    mDuration = 10000;
-    mCount    = 1.0f;
-      
-    mInterD = new Dynamic3D(mDuration,mCount);
-
+    int duration = 10000;
+    float count  = 1.0f;
     int h = 30;
     int r = 20;
 
-    v0 = new Static3D( 0, r, h );
-    v1 = new Static3D(-r, 0, h );
-    v2 = new Static3D( 0,-r, h );
-    v3 = new Static3D( r, 0, h );
+    mInterD = new Dynamic3D(duration,count);
 
-    mInterD.add(v0);
-    mInterD.add(v1);
-    mInterD.add(v2);
-    mInterD.add(v3);
+    mInterD.add(new Static3D( 0, r, h ));
+    mInterD.add(new Static3D(-r, 0, h ));
+    mInterD.add(new Static3D( 0,-r, h ));
+    mInterD.add(new Static3D( r, 0, h ));
 
-    mInterA = new Dynamic1D(mDuration,mCount);
+    mInterA = new Dynamic1D(duration,count);
     mInterA.add(new Static1D(1));
     mInterA.add(new Static1D(0));
 
-    mInterS = new Dynamic1D(mDuration,mCount);
+    mInterS = new Dynamic1D(duration,count);
     mInterS.add(new Static1D(1.0f));
     mInterS.add(new Static1D(0.3f));
 
-    mInterC = new Dynamic1D(mDuration,mCount);
+    mInterC = new Dynamic1D(duration,count);
     mInterC.add(new Static1D(1));
     mInterC.add(new Static1D(0));
 
-    mInterB = new Dynamic1D(mDuration,mCount);
+    mInterB = new Dynamic1D(duration,count);
     mInterB.add(new Static1D(0));
     mInterB.add(new Static1D(1));
 
@@ -110,9 +98,9 @@ public class Effects2DSurfaceView extends GLSurfaceView
       mRenderer = new Effects2DRenderer(this);
       setRenderer(mRenderer);
 
-      point = new Static2D(0,0);
-      region= new Static4D(0,0,60,60);
-      mRegion = new Static4D(0,0,60,60);
+      mPoint  = new Static2D(0,0);
+      mRegionV= new Static4D(0,0,60,60);
+      mRegionF= new Static4D(0,0,60,60);
         
       setEffect(0);  
       }
@@ -120,7 +108,14 @@ public class Effects2DSurfaceView extends GLSurfaceView
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public static void setScreenSize(int width, int height)
+  Effects2DRenderer getRenderer()
+    {
+    return mRenderer;
+    }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  public void setScreenSize(int width, int height)
     {
     mScrW = width;
     mScrH = height;
@@ -128,7 +123,7 @@ public class Effects2DSurfaceView extends GLSurfaceView
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public static void setEffect(int effect)
+  public void setEffect(int effect)
     {
     mCurrentEffect = effect;
     }
@@ -143,27 +138,27 @@ public class Effects2DSurfaceView extends GLSurfaceView
 
     switch(action)
       {
-      case MotionEvent.ACTION_DOWN: x = (int)event.getX()* Effects2DRenderer.BWID/mScrW;
-                                    y = (int)event.getY()* Effects2DRenderer.BHEI/mScrH;
-                                    point.set(x,y);
-                                    mRegion.set(x,y,60,60);
+      case MotionEvent.ACTION_DOWN: x = (int)event.getX()* mRenderer.BWID/mScrW;
+                                    y = (int)event.getY()* mRenderer.BHEI/mScrH;
+                                    mPoint.set(x,y);
+                                    mRegionF.set(x,y,60,60);
                                     Effects2DActivity act = (Effects2DActivity)getContext();
 
                                     switch(mCurrentEffect)
                                       {
-                                      case 0: id = Effects2DRenderer.mBackground.distort(mInterD, point, region);
+                                      case 0: id = mRenderer.mBackground.distort(mInterD, mPoint, mRegionV);
                                               act.effectAdded(id, EffectNames.DISTORT, EffectTypes.VERTEX);
                                               break;
-                                      case 1: id = Effects2DRenderer.mBackground.sink(mInterS, point, region);
+                                      case 1: id = mRenderer.mBackground.sink(mInterS, mPoint, mRegionV);
                                               act.effectAdded(id, EffectNames.SINK, EffectTypes.VERTEX);
                                               break;
-                                      case 2: id = Effects2DRenderer.mBackground.alpha(mInterA, mRegion, true);
+                                      case 2: id = mRenderer.mBackground.alpha(mInterA, mRegionF, true);
                                               act.effectAdded(id, EffectNames.ALPHA, EffectTypes.FRAGMENT);
                                               break;
-                                      case 3: id = Effects2DRenderer.mBackground.saturation(mInterB, mRegion, false);
+                                      case 3: id = mRenderer.mBackground.saturation(mInterB, mRegionF, false);
                                               act.effectAdded(id, EffectNames.SATURATION, EffectTypes.FRAGMENT);
                                               break;
-                                      case 4: id = Effects2DRenderer.mBackground.chroma(mInterC, mRED, mRegion, true);
+                                      case 4: id = mRenderer.mBackground.chroma(mInterC, mRED, mRegionF, true);
                                               act.effectAdded(id, EffectNames.CHROMA, EffectTypes.FRAGMENT);
                                               break;
                                       }
