commit 9930cd43e5314837dd90b28499469ba9a18be508
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Fri May 8 01:08:14 2020 +0100

    Convert Check to stretchless API.

diff --git a/src/main/java/org/distorted/examples/check/CheckActivity.java b/src/main/java/org/distorted/examples/check/CheckActivity.java
index 833680a..09a72c5 100644
--- a/src/main/java/org/distorted/examples/check/CheckActivity.java
+++ b/src/main/java/org/distorted/examples/check/CheckActivity.java
@@ -111,9 +111,9 @@ public class CheckActivity extends Activity
       super.onWindowFocusChanged(hasFocus);
 
       maxF = 1;
-      maxV = 2;
+      maxV = 3;
 
-      mVPicker.setValue(2);
+      mVPicker.setValue(3);
       mFPicker.setValue(1);
       }
 
diff --git a/src/main/java/org/distorted/examples/check/CheckRenderer.java b/src/main/java/org/distorted/examples/check/CheckRenderer.java
index b1f5f8c..53d00b0 100644
--- a/src/main/java/org/distorted/examples/check/CheckRenderer.java
+++ b/src/main/java/org/distorted/examples/check/CheckRenderer.java
@@ -31,6 +31,7 @@ import org.distorted.library.effect.EffectType;
 import org.distorted.library.effect.FragmentEffectChroma;
 import org.distorted.library.effect.MatrixEffectScale;
 import org.distorted.library.effect.VertexEffectDeform;
+import org.distorted.library.effect.VertexEffectScale;
 import org.distorted.library.effect.VertexEffectSwirl;
 import org.distorted.library.main.DistortedLibrary;
 import org.distorted.library.main.DistortedEffects;
@@ -65,7 +66,7 @@ class CheckRenderer implements GLSurfaceView.Renderer
     private MeshRectangles mMesh;
     private DistortedScreen mScreen;
     private int mObjHeight, mObjWidth;
-    private Static3D mScale, mSwirl1, mSwirl2, mDeform1, mDeform2;
+    private Static3D mScaleMatrix, mScaleVertex, mSwirl1, mSwirl2, mDeform1, mDeform2;
     private Static1D mRadius;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -79,27 +80,34 @@ class CheckRenderer implements GLSurfaceView.Renderer
       DistortedLibrary.setMax(EffectType.VERTEX  ,act.getMaxV());
       DistortedLibrary.setMax(EffectType.FRAGMENT,act.getMaxF());
 
+      VertexEffectScale.enable();
       VertexEffectSwirl.enable();
       VertexEffectDeform.enable();
       FragmentEffectChroma.enable();
 
-      mSwirl1 = new Static3D(0,0,0);
-      mSwirl2 = new Static3D(0,0,0);
-      mDeform1= new Static3D(0,0,0);
-      mDeform2= new Static3D(0,0,0);
-      mScale  = new Static3D(1,1,1);
+      mSwirl1     = new Static3D(0,0,0);
+      mSwirl2     = new Static3D(0,0,0);
+      mDeform1    = new Static3D(0,0,0);
+      mDeform2    = new Static3D(0,0,0);
+      mScaleMatrix= new Static3D(1,1,1);
+      mScaleVertex= new Static3D(1,1,1);
 
       mRadius = new Static1D(0);
 
       mEffects = new DistortedEffects();
-      mEffects.apply(new MatrixEffectScale(mScale));
+      mEffects.apply(new MatrixEffectScale(mScaleMatrix));
 
-      // Try adding 2 Vertex Effects to the Bitmap.
-      // This will fail if we have set maxVertexEffects to something < 2.
+      // Try adding 3 Vertex Effects to the Bitmap.
+      // This will fail if we have set maxVertexEffects to something < 3.
       //
       // Even if adding some of the Effects fails, the App will still start - you just won't see
       // the effects that failed to add.
 
+      if( !mEffects.apply( new VertexEffectScale(mScaleVertex) ) )
+        {
+        Log.e("Check", "Failed to add Scale effect!");
+        }
+
       Dynamic3D dSwirl = new Dynamic3D(2000,0.0f);
       dSwirl.add(mSwirl1);
       dSwirl.add(mSwirl2);
@@ -150,7 +158,7 @@ class CheckRenderer implements GLSurfaceView.Renderer
 
       float factor = xW>xH ? SCALE*xH : SCALE*xW;
 
-      mScale.set(factor,factor,factor);
+      mScaleMatrix.set(factor,factor,factor);
 
       mScreen.resize(width,height);
       }
@@ -178,17 +186,13 @@ class CheckRenderer implements GLSurfaceView.Renderer
       mObjHeight = bitmap.getHeight();
       mObjWidth  = bitmap.getWidth();
 
-      mRadius.set(mObjWidth/2);
+      mRadius.set(mObjWidth*0.5f);
+      mScaleVertex.set(mObjWidth,mObjHeight,0);
 
+      if( mMesh   ==null ) mMesh = new MeshRectangles(30,30*mObjHeight/mObjWidth);
       if( mTexture==null ) mTexture = new DistortedTexture();
       mTexture.setTexture(bitmap);
 
-      if( mMesh==null )
-        {
-        mMesh = new MeshRectangles(30,30*mObjHeight/mObjWidth);
-        mMesh.setStretch(mObjWidth,mObjHeight,0);
-        }
-
       mScreen.detachAll();
       mScreen.attach(mTexture,mEffects,mMesh);
 
