commit 20e888eab7539c1764cc74975a2b3efafc469920
Author: Leszek Koltunski <leszek@distoretedandroid.org>
Date:   Mon Jun 12 11:32:57 2017 +0100

    Further progress with Apps.

diff --git a/src/main/java/org/distorted/examples/listener/ListenerRenderer.java b/src/main/java/org/distorted/examples/listener/ListenerRenderer.java
index b579f07..f9cfa45 100644
--- a/src/main/java/org/distorted/examples/listener/ListenerRenderer.java
+++ b/src/main/java/org/distorted/examples/listener/ListenerRenderer.java
@@ -28,13 +28,15 @@ import javax.microedition.khronos.opengles.GL10;
 
 import org.distorted.examples.R;
 
+import org.distorted.library.effect.EffectName;
+import org.distorted.library.effect.MatrixEffectMove;
+import org.distorted.library.effect.MatrixEffectScale;
+import org.distorted.library.effect.VertexEffectDistort;
 import org.distorted.library.main.Distorted;
 import org.distorted.library.main.DistortedScreen;
 import org.distorted.library.main.MeshFlat;
 import org.distorted.library.main.DistortedTexture;
 import org.distorted.library.main.DistortedEffects;
-import org.distorted.library.EffectNames;
-import org.distorted.library.EffectTypes;
 import org.distorted.library.type.Dynamic3D;
 import org.distorted.library.type.Static3D;
 import org.distorted.library.type.Static4D;
@@ -58,6 +60,7 @@ class ListenerRenderer implements GLSurfaceView.Renderer,EffectListener
    private MeshFlat mMesh;
    private int bmpHeight, bmpWidth;
    private Random mRnd;
+   private Static3D mMove, mScale;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -69,11 +72,16 @@ class ListenerRenderer implements GLSurfaceView.Renderer,EffectListener
       mEffects.registerForMessages(this);
       mScreen = new DistortedScreen(mView);
       mRnd = new Random(0);
+
+      mMove = new Static3D(0,0,0);
+      mScale= new Static3D(1,1,1);
+      mEffects.apply(new MatrixEffectMove(mMove));
+      mEffects.apply(new MatrixEffectScale(mScale));
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-   private long randomizeNewBubble()
+   private boolean randomizeNewBubble()
       {
       int radius   = (int)(( 0.10f + 0.70f*mRnd.nextFloat())*bmpWidth);           // pop up a bubble of size (radius,height)
       int height   = (int)((-0.10f + 0.20f*mRnd.nextFloat())*bmpWidth);           // 
@@ -85,13 +93,13 @@ class ListenerRenderer implements GLSurfaceView.Renderer,EffectListener
       dDistort.add(new Static3D(0,0,     0));
       dDistort.add(new Static3D(0,0,height));
 
-      return mEffects.distort(dDistort, new Static3D(pointx,pointy,0), new Static4D(0,0,radius,radius));
+      return mEffects.apply( new VertexEffectDistort(dDistort, new Static3D(pointx,pointy,0), new Static4D(0,0,radius,radius)) );
       }
    
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 // the library sending messages to us. This is running on a library 'MessageSender' thread.
 
-   public void effectMessage(final EffectMessage em, final long effectID, final EffectNames effectName, final long objectID)
+   public void effectMessage(final EffectMessage em, final long effectID, final long objectID)
      {
      switch(em)
         {
@@ -111,23 +119,21 @@ class ListenerRenderer implements GLSurfaceView.Renderer,EffectListener
     
    public void onSurfaceChanged(GL10 glUnused, int width, int height)
      {
-     mEffects.abortEffects(EffectTypes.MATRIX);
-         
      if( (float)bmpHeight/bmpWidth > (float)height/width )
        {
        int w = (height*bmpWidth)/bmpHeight;
        float factor = (float)height/bmpHeight;
 
-       mEffects.move( new Static3D((width-w)/2,0,0) );
-       mEffects.scale(factor);
+       mMove.set((width-w)/2,0,0);
+       mScale.set(factor,factor,factor);
        }
      else
        {
        int h = (width*bmpHeight)/bmpWidth;
        float factor = (float)width/bmpWidth;
 
-       mEffects.move( new Static3D(0,(height-h)/2,0) );
-       mEffects.scale(factor);
+       mMove.set(0,(height-h)/2,0);
+       mScale.set(factor,factor,factor);
        }
       
      mScreen.resize(width, height);
@@ -166,7 +172,7 @@ class ListenerRenderer implements GLSurfaceView.Renderer,EffectListener
 
      for(int i=0; i<NUM_BUBBLES; i++) randomizeNewBubble();
 
-     DistortedEffects.enableEffect(EffectNames.DISTORT);
+     DistortedEffects.enableEffect(EffectName.DISTORT);
 
      try
        {
