commit 42d910b3693d2a51f11bf949633ea47f9d4021fc
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Thu May 7 00:19:12 2020 +0100

    Convert AroundTheWorld to stretchless API.

diff --git a/src/main/java/org/distorted/examples/movingeffects/MovingEffectsRenderer.java b/src/main/java/org/distorted/examples/movingeffects/MovingEffectsRenderer.java
index e91d45d..757f69a 100644
--- a/src/main/java/org/distorted/examples/movingeffects/MovingEffectsRenderer.java
+++ b/src/main/java/org/distorted/examples/movingeffects/MovingEffectsRenderer.java
@@ -28,10 +28,13 @@ import android.graphics.Paint;
 import android.graphics.Paint.Style;
 import android.opengl.GLSurfaceView;
 
+import org.distorted.library.effect.Effect;
+import org.distorted.library.effect.EffectType;
 import org.distorted.library.effect.FragmentEffectAlpha;
 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.VertexEffectSink;
 import org.distorted.library.effect.VertexEffectSwirl;
 import org.distorted.library.main.DistortedLibrary;
@@ -56,7 +59,7 @@ class MovingEffectsRenderer implements GLSurfaceView.Renderer
    private DistortedScreen mScreen;
    private MeshRectangles mMesh;
    private boolean mRefresh;
-   private Static3D mScale;
+   private Static3D mScaleMatrix, mScaleVertex;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -73,8 +76,10 @@ class MovingEffectsRenderer implements GLSurfaceView.Renderer
      mTexture= new DistortedTexture();
      mRefresh= true;
 
-     mScale = new Static3D(1,1,1);
-     mEffects.apply( new MatrixEffectScale(mScale));
+     mScaleMatrix = new Static3D(1,1,1);
+     mScaleVertex = new Static3D(1,1,1);
+     mEffects.apply( new MatrixEffectScale(mScaleMatrix));
+     mEffects.apply( new VertexEffectScale(mScaleVertex));
      }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -104,9 +109,14 @@ class MovingEffectsRenderer implements GLSurfaceView.Renderer
    
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-   DistortedEffects getEffects()
+   void apply(Effect effect)
      {
-     return mEffects;
+     mEffects.abortByType(EffectType.VERTEX);
+     mEffects.abortByType(EffectType.FRAGMENT);
+
+     mEffects.apply( new VertexEffectScale(mScaleVertex));
+
+     if( effect!=null ) mEffects.apply(effect);
      }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -120,6 +130,7 @@ class MovingEffectsRenderer implements GLSurfaceView.Renderer
 
    public void onSurfaceCreated(GL10 glUnused, EGLConfig config) 
      {
+     VertexEffectScale.enable();
      VertexEffectSwirl.enable();
      VertexEffectDeform.enable();
      VertexEffectSink.enable();
@@ -143,14 +154,14 @@ class MovingEffectsRenderer implements GLSurfaceView.Renderer
      texW = width;
      texH = height;
 
-     mScale.set(width,width,width);
+     mScaleMatrix.set(width,width,width);
+     mScaleVertex.set(1.0f, (float)texH/texW, 1.0f);
 
      mBitmap  = Bitmap.createBitmap(texW,texH, Bitmap.Config.ARGB_8888);
      mCanvas  = new Canvas(mBitmap);
 
      if( mMesh!=null ) mMesh.markForDeletion();
      mMesh = new MeshRectangles(80,80*texH/texW);
-     mMesh.setStretch(1.0f, (float)texH/texW, 1.0f);
 
      mScreen.detachAll();
      mScreen.attach(mTexture,mEffects,mMesh);
diff --git a/src/main/java/org/distorted/examples/movingeffects/MovingEffectsSurfaceView.java b/src/main/java/org/distorted/examples/movingeffects/MovingEffectsSurfaceView.java
index c700a54..1255dc3 100644
--- a/src/main/java/org/distorted/examples/movingeffects/MovingEffectsSurfaceView.java
+++ b/src/main/java/org/distorted/examples/movingeffects/MovingEffectsSurfaceView.java
@@ -29,13 +29,11 @@ import android.opengl.GLSurfaceView;
 import android.view.MotionEvent;
 import android.util.AttributeSet;
 
-import org.distorted.library.effect.EffectType;
 import org.distorted.library.effect.FragmentEffectAlpha;
 import org.distorted.library.effect.FragmentEffectChroma;
 import org.distorted.library.effect.VertexEffectDeform;
 import org.distorted.library.effect.VertexEffectSink;
 import org.distorted.library.effect.VertexEffectSwirl;
-import org.distorted.library.main.DistortedEffects;
 import org.distorted.library.type.Dynamic3D;
 import org.distorted.library.type.Static1D;
 import org.distorted.library.type.Static3D;
@@ -117,7 +115,7 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
 
     public void onSurfaceChanged(int width,int height)
       {
-      int max = width>height ? width:height;
+      int max = Math.max(width, height);
 
       mScrWidth  = width;
       mScrHeight = height;
@@ -143,10 +141,7 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
       
       synchronized(lock)
         {
-        DistortedEffects q = mRenderer.getEffects();
-        q.abortByType(EffectType.VERTEX);
-        q.abortByType(EffectType.FRAGMENT);
-        q.apply(mEffectDeform);
+        mRenderer.apply(mEffectDeform);
         mCurrEffect = EFFECT_BUBBLE;
         }
       }
@@ -159,10 +154,7 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
          
       synchronized(lock)
         {
-        DistortedEffects q = mRenderer.getEffects();
-        q.abortByType(EffectType.VERTEX);
-        q.abortByType(EffectType.FRAGMENT);
-        q.apply(mEffectSink);
+        mRenderer.apply(mEffectSink);
         mCurrEffect = EFFECT_SINK;
         }
       }
@@ -175,10 +167,7 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
          
       synchronized(lock)
         {
-        DistortedEffects q = mRenderer.getEffects();
-        q.abortByType(EffectType.VERTEX);
-        q.abortByType(EffectType.FRAGMENT);
-        q.apply(mEffectChroma);
+        mRenderer.apply(mEffectChroma);
         mCurrEffect = EFFECT_CHROMA;
         }
       }
@@ -191,10 +180,7 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
       
       synchronized(lock)
         {
-        DistortedEffects q = mRenderer.getEffects();
-        q.abortByType(EffectType.VERTEX);
-        q.abortByType(EffectType.FRAGMENT);
-        q.apply(mEffectAlpha);
+        mRenderer.apply(mEffectAlpha);
         mCurrEffect = EFFECT_TRANS;
         }
       }
@@ -207,10 +193,7 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
       
       synchronized(lock)
         {
-        DistortedEffects q = mRenderer.getEffects();
-        q.abortByType(EffectType.VERTEX);
-        q.abortByType(EffectType.FRAGMENT);
-        q.apply(mEffectSwirl);
+        mRenderer.apply(mEffectSwirl);
         mCurrEffect = EFFECT_SWIRL;
         }
       }
@@ -221,9 +204,7 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
       {
       synchronized(lock)
         {
-        DistortedEffects q = mRenderer.getEffects();
-        q.abortByType(EffectType.VERTEX);
-        q.abortByType(EffectType.FRAGMENT);
+        mRenderer.apply(null);
         mCenter.removeAll();
         mCurrEffect = EFFECT_POINTS;
         mRenderer.setRefresh();
