commit 4dcfb7a90301ad684d3a3b1080f0772cae5ec756
Author: leszek <leszek@koltunski.pl>
Date:   Thu Jul 13 13:20:50 2023 +0200

    Introduce individual ScreenRatios for each BandagedObject.

diff --git a/src/main/java/org/distorted/bandaged/BandagedCreatorRenderer.java b/src/main/java/org/distorted/bandaged/BandagedCreatorRenderer.java
index 6aed9ec0..24887d9a 100644
--- a/src/main/java/org/distorted/bandaged/BandagedCreatorRenderer.java
+++ b/src/main/java/org/distorted/bandaged/BandagedCreatorRenderer.java
@@ -55,7 +55,6 @@ public class BandagedCreatorRenderer implements GLSurfaceView.Renderer, Distorte
    private static final int RESET_DURATION = 1000;
    private static final float MAX_SIZE_CHANGE = 1.70f;
    private static final float MIN_SIZE_CHANGE = 0.50f;
-   private static final float INIT_RATIO = 0.5f;
 
    private final BandagedCreatorView mView;
    private final Resources mResources;
@@ -63,6 +62,7 @@ public class BandagedCreatorRenderer implements GLSurfaceView.Renderer, Distorte
    private final Static3D mScale;
    private final Static4D mQuatT, mQuatA;
    private final BandagedObject mObject;
+   private final float mInitRatio;
 
    private boolean mInitialPhase;
    private long mStartTime;
@@ -94,13 +94,15 @@ public class BandagedCreatorRenderer implements GLSurfaceView.Renderer, Distorte
      mCreatingCubits   = false;
      mRescaling        = false;
 
-     mObjectScreenRatio= INIT_RATIO;
      mSaveIcon = -1;
 
      mScreen = new DistortedScreen();
      mScreen.glClearColor(BRIGHTNESS, BRIGHTNESS, BRIGHTNESS, 1.0f);
      mScale = new Static3D(1,1,1);
      mObject = new BandagedObjectPyraminx(mScreen);
+
+     mInitRatio = mObject.getScreenRatio();
+     mObjectScreenRatio= mInitRatio;
      }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -416,8 +418,8 @@ public class BandagedCreatorRenderer implements GLSurfaceView.Renderer, Distorte
      {
      mObjectScreenRatio *= ratio;
 
-     if( mObjectScreenRatio>MAX_SIZE_CHANGE*INIT_RATIO) mObjectScreenRatio = MAX_SIZE_CHANGE*INIT_RATIO;
-     if( mObjectScreenRatio<MIN_SIZE_CHANGE*INIT_RATIO) mObjectScreenRatio = MIN_SIZE_CHANGE*INIT_RATIO;
+     if( mObjectScreenRatio>MAX_SIZE_CHANGE*mInitRatio) mObjectScreenRatio = MAX_SIZE_CHANGE*mInitRatio;
+     if( mObjectScreenRatio<MIN_SIZE_CHANGE*mInitRatio) mObjectScreenRatio = MIN_SIZE_CHANGE*mInitRatio;
 
      mRescaling = true;
      }
diff --git a/src/main/java/org/distorted/bandaged/BandagedCreatorTouchControl.java b/src/main/java/org/distorted/bandaged/BandagedCreatorTouchControl.java
index d04e77ba..c1e212bc 100644
--- a/src/main/java/org/distorted/bandaged/BandagedCreatorTouchControl.java
+++ b/src/main/java/org/distorted/bandaged/BandagedCreatorTouchControl.java
@@ -153,15 +153,16 @@ public class BandagedCreatorTouchControl
 
   public BandagedCreatorTouchControl(float ratio, float fov, BandagedObject object)
     {
-    mObject = object;
-    mPoint = new float[3];
-    mCamera= new float[3];
-    mTouch = new float[3];
+    mPoint   = new float[3];
+    mCamera  = new float[3];
+    mTouch   = new float[3];
     mPoint2D = new float[2];
     mDist3D  = new float[6];
+
+    mObject   = object;
     mFaceAxis = mObject.getFaceAxis();
-    mObjectRatio = ratio;
     mNumFaces = mFaceAxis.length;
+    mObjectRatio = ratio;
 
     double halfFOV = fov * (Math.PI/360);
     float tanHalf = (float)Math.tan(halfFOV);
