commit 7c55263ffa8eadf38d014304ff4e0fde2513a556
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Mon Jun 15 14:48:53 2020 +0100

    Library: introduce a new form of the MeshRectangular grid, where the individual rows and columns can be each of different width. This help reduce the number of vertices in objects as typically we are only interested at distorting a certain subregion.
    
    Modify the Bean app to take advantage of this.

diff --git a/src/main/java/org/distorted/examples/bean/BeanRenderer.java b/src/main/java/org/distorted/examples/bean/BeanRenderer.java
index 6e592c1..3409330 100644
--- a/src/main/java/org/distorted/examples/bean/BeanRenderer.java
+++ b/src/main/java/org/distorted/examples/bean/BeanRenderer.java
@@ -138,7 +138,24 @@ class BeanRenderer implements GLSurfaceView.Renderer
      mTexture.setTexture(bitmap);
 
      // we need a denser Mesh lattice this time for the Distorts to look good.
-     if( mMesh==null ) mMesh = new MeshRectangles(25, (int)(25*mBmpRatio));
+
+     float PART = 0.47f;
+
+     int width = 25;
+     int height= (int)((25*mBmpRatio)*PART);
+
+     float[] xLoc = new float[width +1];
+     float[] yLoc = new float[height+1];
+
+     xLoc[0] = -0.5f;
+     yLoc[0] = -0.5f;
+
+     for(int i=1; i<=width; i++) xLoc[i] = 1.0f/width;
+     for(int i=1; i<height; i++) yLoc[i] = PART/height;
+
+     yLoc[height] = (height-(height-1)*PART)/height;
+
+     if( mMesh==null ) mMesh = new MeshRectangles(xLoc,yLoc);
 
      mScreen.detachAll();
      mScreen.attach(mTexture,mEffects,mMesh);
diff --git a/src/main/java/org/distorted/examples/meshfile/MeshFileSurfaceView.java b/src/main/java/org/distorted/examples/meshfile/MeshFileSurfaceView.java
index 2e16850..267e9c1 100644
--- a/src/main/java/org/distorted/examples/meshfile/MeshFileSurfaceView.java
+++ b/src/main/java/org/distorted/examples/meshfile/MeshFileSurfaceView.java
@@ -95,7 +95,8 @@ class MeshFileSurfaceView extends GLSurfaceView
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-    @Override public boolean onTouchEvent(MotionEvent event) 
+    @Override
+    public boolean onTouchEvent(MotionEvent event)
       {
       int action = event.getAction();
       int x = (int)event.getX();
