commit df80818c191f93f0da9e569c3b1288c638cafdb8
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Tue Mar 3 22:31:39 2020 +0000

    Further corrections.

diff --git a/src/main/java/org/distorted/examples/generic/GenericEffect.java b/src/main/java/org/distorted/examples/generic/GenericEffect.java
index 54f06be..b46cdfc 100644
--- a/src/main/java/org/distorted/examples/generic/GenericEffect.java
+++ b/src/main/java/org/distorted/examples/generic/GenericEffect.java
@@ -177,9 +177,9 @@ class GenericEffect implements SeekBar.OnSeekBarChangeListener
                               float zm = (mInter[2]-50)*(sw+sh)/2;
                               mSta3.set(xm,ym,zm);
                               break;
-      case SCALE            : float xs = (mInter[0]>50 ? 0.18f : 0.018f)*(mInter[0]-50) + 1;
-                              float ys = (mInter[1]>50 ? 0.18f : 0.018f)*(mInter[1]-50) + 1;
-                              float zs = (mInter[2]>50 ? 0.18f : 0.018f)*(mInter[2]-50) + 1;
+      case SCALE            : float xs = (mInter[0]>50 ? 0.04f : 0.013f)*(mInter[0]-50) + 1;
+                              float ys = (mInter[1]>50 ? 0.04f : 0.013f)*(mInter[1]-50) + 1;
+                              float zs = (mInter[2]>50 ? 0.04f : 0.013f)*(mInter[2]-50) + 1;
                               mSta3.set(xs,ys,zs);
                               break;
       case SHEAR            : float xsh = (mInter[0]-50)/25.0f;
diff --git a/src/main/java/org/distorted/examples/girl/GirlRenderer.java b/src/main/java/org/distorted/examples/girl/GirlRenderer.java
index 9ab034d..69f19ea 100644
--- a/src/main/java/org/distorted/examples/girl/GirlRenderer.java
+++ b/src/main/java/org/distorted/examples/girl/GirlRenderer.java
@@ -61,14 +61,14 @@ class GirlRenderer implements GLSurfaceView.Renderer
     private float mBmpRatio;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
-// girl bitmap: 400x600
+// girl bitmap: 400x600 but we setStretch() the Mesh so
 
    GirlRenderer(GLSurfaceView v)
       {
       mView = v;
 
-      Static3D pLeft = new Static3D(-68/400.0f, 36/600.0f, 0);
-      Static3D pRight= new Static3D( 47/400.0f, 36/600.0f, 0);
+      Static3D pLeft = new Static3D(-68/400.0f, 36/400.0f, 0);
+      Static3D pRight= new Static3D( 47/400.0f, 36/400.0f, 0);
 
       // Size
       Static4D sinkRegion = new Static4D(0,0,0,60/400.0f);
@@ -100,7 +100,7 @@ class GirlRenderer implements GLSurfaceView.Renderer
       diR.add(v1);
       
       // Lower Movement
-      Static3D pHips      = new Static3D( 16/400.0f,-205/600.0f,0);
+      Static3D pHips      = new Static3D( 16/400.0f,-205/400.0f,0);
       Static4D HipsRegion = new Static4D(0,0,0,120/400.0f);
       Dynamic1D diHips    = new Dynamic1D(1500,0.0f);
       
@@ -166,9 +166,8 @@ class GirlRenderer implements GLSurfaceView.Renderer
     
    public void onSurfaceChanged(GL10 glUnused, int width, int height)
      {
-     if( width<height ) mScale.set( width,   width*mBmpRatio, width  );
-     else               mScale.set( height/mBmpRatio, height, height );
-
+     float factor = width<height ? width : height/mBmpRatio;
+     mScale.set( factor,factor,factor );
      mScreen.resize(width, height);
      }
 
@@ -195,7 +194,11 @@ class GirlRenderer implements GLSurfaceView.Renderer
      mBmpRatio = (float)bitmap.getHeight()/bitmap.getWidth();
      mTexture.setTexture(bitmap);
 
-     if( mMesh==null ) mMesh = new MeshRectangles(30, (int)(30*mBmpRatio));
+     if( mMesh==null )
+       {
+       mMesh = new MeshRectangles(30, (int)(30*mBmpRatio));
+       mMesh.setStretch(1.0f,mBmpRatio,1.0f);
+       }
 
      mScreen.detachAll();
      mScreen.attach(mTexture,mEffects,mMesh);
diff --git a/src/main/java/org/distorted/examples/movingeffects/MovingEffectsRenderer.java b/src/main/java/org/distorted/examples/movingeffects/MovingEffectsRenderer.java
index f06ae1c..e91d45d 100644
--- a/src/main/java/org/distorted/examples/movingeffects/MovingEffectsRenderer.java
+++ b/src/main/java/org/distorted/examples/movingeffects/MovingEffectsRenderer.java
@@ -143,13 +143,14 @@ class MovingEffectsRenderer implements GLSurfaceView.Renderer
      texW = width;
      texH = height;
 
-     mScale.set(width,height,width);
+     mScale.set(width,width,width);
 
      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 f006109..564a4c6 100644
--- a/src/main/java/org/distorted/examples/movingeffects/MovingEffectsSurfaceView.java
+++ b/src/main/java/org/distorted/examples/movingeffects/MovingEffectsSurfaceView.java
@@ -245,7 +245,7 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
             {
             mPaint.setColor( 0xffffffff );
             mCenter.get( drawCoord, 0, (long)(i*step) );
-            c.drawCircle( (drawCoord[0]+0.5f)*mScrWidth, mScrHeight*(0.5f-drawCoord[1]), mSize1, mPaint );
+            c.drawCircle( (drawCoord[0]+0.5f)*mScrWidth, 0.5f*mScrHeight-drawCoord[1]*mScrWidth, mSize1, mPaint );
             }
           }
      
@@ -254,7 +254,7 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
         for(int curr=0; curr<len; curr++)
           {       
           cu = mCenter.getPoint(curr);
-          c.drawCircle( (cu.get0()+0.5f)*mScrWidth, mScrHeight*(0.5f-cu.get1()), mSize2, mPaint);
+          c.drawCircle( (cu.get0()+0.5f)*mScrWidth, 0.5f*mScrHeight-cu.get1()*mScrWidth, mSize2, mPaint);
           }
         
         if( time-mTime > LOOP_TIME ) mTime = time;
@@ -269,7 +269,7 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
       if( mCurrEffect!=EFFECT_POINTS ) return true;   
 
       float xDown = event.getX()/mScrWidth - 0.5f;
-      float yDown = 0.5f - event.getY()/mScrHeight;
+      float yDown = (0.5f*mScrHeight - event.getY())/mScrWidth;
 
       switch(event.getAction())
         {
