commit fc6f1299e430f1a9c94e2c00198fbf65d0f836a6
Author: Leszek Koltunski <leszek@distoretedandroid.org>
Date:   Fri Mar 31 13:11:31 2017 +0100

    Improve the Multiblur app. Things seem to work now!

diff --git a/src/main/java/org/distorted/examples/multiblur/MultiblurActivity.java b/src/main/java/org/distorted/examples/multiblur/MultiblurActivity.java
index b6f8534..9285027 100644
--- a/src/main/java/org/distorted/examples/multiblur/MultiblurActivity.java
+++ b/src/main/java/org/distorted/examples/multiblur/MultiblurActivity.java
@@ -39,9 +39,12 @@ public class MultiblurActivity extends Activity implements SeekBar.OnSeekBarChan
       super.onCreate(savedState);
       setContentView(R.layout.multiblurlayout);
 
-      SeekBar bar = (SeekBar)findViewById(R.id.multiblurSeek);
-      bar.setOnSeekBarChangeListener(this);
-      bar.setProgress(50);
+      SeekBar distanceBar = (SeekBar)findViewById(R.id.multiblurDistanceSeek);
+      distanceBar.setOnSeekBarChangeListener(this);
+      distanceBar.setProgress(50);
+      SeekBar rangeBar = (SeekBar)findViewById(R.id.multiblurRangeSeek);
+      rangeBar.setOnSeekBarChangeListener(this);
+      rangeBar.setProgress(10);
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -79,9 +82,13 @@ public class MultiblurActivity extends Activity implements SeekBar.OnSeekBarChan
       {
       switch (bar.getId())
         {
-        case R.id.multiblurSeek: MultiblurSurfaceView view = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
-                                 view.getRenderer().setDistance(progress);
-                                 break;
+        case R.id.multiblurDistanceSeek: MultiblurSurfaceView view1 = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
+                                         view1.getRenderer().setDistance(progress);
+                                         break;
+        case R.id.multiblurRangeSeek   : MultiblurSurfaceView view2 = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
+                                         view2.getRenderer().setRange(progress);
+                                         break;
+
         }
       }
 
diff --git a/src/main/java/org/distorted/examples/multiblur/MultiblurRenderer.java b/src/main/java/org/distorted/examples/multiblur/MultiblurRenderer.java
index 12648ca..39c31ea 100644
--- a/src/main/java/org/distorted/examples/multiblur/MultiblurRenderer.java
+++ b/src/main/java/org/distorted/examples/multiblur/MultiblurRenderer.java
@@ -21,7 +21,6 @@ package org.distorted.examples.multiblur;
 
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
-import android.opengl.GLES30;
 import android.opengl.GLSurfaceView;
 
 import org.distorted.examples.R;
@@ -32,6 +31,7 @@ import org.distorted.library.DistortedTexture;
 import org.distorted.library.EffectNames;
 import org.distorted.library.EffectTypes;
 import org.distorted.library.MeshCubes;
+import org.distorted.library.type.Dynamic1D;
 import org.distorted.library.type.Dynamic3D;
 import org.distorted.library.type.DynamicQuat;
 import org.distorted.library.type.Static1D;
@@ -68,6 +68,7 @@ class MultiblurRenderer implements GLSurfaceView.Renderer
     private DistortedEffects[] mEffects;
     private Static3D[]  mMoveVector;
     private Dynamic3D[] mMoveDynamic;
+    private Static1D  mBlurVector;
     private DistortedScreen mScreen;
     private DynamicQuat mQuatInt1, mQuatInt2;
     private int mDistance;
@@ -95,7 +96,11 @@ class MultiblurRenderer implements GLSurfaceView.Renderer
         mMoveDynamic[i].add(mMoveVector[i]);
         }
 
-      mEffects[0].blur(new Static1D(10));
+      Dynamic1D blurDynamic= new Dynamic1D();
+      mBlurVector = new Static1D(10);
+      blurDynamic.add(mBlurVector);
+
+      mEffects[0].blur(blurDynamic);
 
       MeshCubes mesh = new MeshCubes(1,1,false);
 
@@ -208,4 +213,12 @@ class MultiblurRenderer implements GLSurfaceView.Renderer
       computeMoveVectors();
       android.util.Log.e("renderer", "distance: "+distance);
       }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+    void setRange(int range)
+      {
+      mBlurVector.set(range);
+      android.util.Log.e("renderer", "range: "+range);
+      }
 }
diff --git a/src/main/res/layout/multiblurlayout.xml b/src/main/res/layout/multiblurlayout.xml
index 77f247b..fbcbb4a 100644
--- a/src/main/res/layout/multiblurlayout.xml
+++ b/src/main/res/layout/multiblurlayout.xml
@@ -20,11 +20,19 @@
         android:paddingTop="10dp" >
 
         <SeekBar
-            android:id="@+id/multiblurSeek"
+            android:id="@+id/multiblurDistanceSeek"
             android:layout_weight="1"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:paddingLeft="15dp"
+            android:paddingLeft="10dp"
+            android:paddingRight="10dp" />
+
+        <SeekBar
+            android:id="@+id/multiblurRangeSeek"
+            android:layout_weight="1"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:paddingLeft="10dp"
             android:paddingRight="10dp" />
 
     </LinearLayout>
