commit c1f047b9e75703a32f581b2f8018ddb853016a70
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Mon May 18 14:30:08 2020 +0100

    Progress with the Predeform app.

diff --git a/src/main/java/org/distorted/examples/predeform/PredeformActivity.java b/src/main/java/org/distorted/examples/predeform/PredeformActivity.java
index 485d2ac..a166558 100644
--- a/src/main/java/org/distorted/examples/predeform/PredeformActivity.java
+++ b/src/main/java/org/distorted/examples/predeform/PredeformActivity.java
@@ -312,7 +312,7 @@ public class PredeformActivity extends Activity implements View.OnClickListener,
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
-// TODO
+// only if we want to draw the center, ignore here
 
   void setCenter(float x, float y, float z)
     {
@@ -320,7 +320,7 @@ public class PredeformActivity extends Activity implements View.OnClickListener,
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
-// TODO
+// only if we want to draw the region, ignore here
 
   void setRegion(Static4D region)
     {
diff --git a/src/main/java/org/distorted/examples/predeform/PredeformActivity2.java b/src/main/java/org/distorted/examples/predeform/PredeformActivity2.java
index 6816cd1..f7e2b3e 100644
--- a/src/main/java/org/distorted/examples/predeform/PredeformActivity2.java
+++ b/src/main/java/org/distorted/examples/predeform/PredeformActivity2.java
@@ -27,10 +27,8 @@ import android.graphics.Paint;
 import android.opengl.GLSurfaceView;
 import android.os.Bundle;
 import android.view.View;
-import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
+import android.widget.CheckBox;
 import android.widget.SeekBar;
-import android.widget.Spinner;
 import android.widget.TextView;
 
 import org.distorted.examples.R;
@@ -43,7 +41,7 @@ import java.io.InputStream;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-public class PredeformActivity2 extends Activity implements SeekBar.OnSeekBarChangeListener, AdapterView.OnItemSelectedListener
+public class PredeformActivity2 extends Activity implements SeekBar.OnSeekBarChangeListener
 {
     private Bitmap mBitmap;
     private TextView mTextLevel;
@@ -108,27 +106,27 @@ public class PredeformActivity2 extends Activity implements SeekBar.OnSeekBarCha
       mTexture = new DistortedTexture();
 
       setContentView(R.layout.predeformlayout);
-
-      Spinner renderSpinner = findViewById(R.id.predeformSpinnerMode);
-      renderSpinner.setOnItemSelectedListener(this);
-
-      String[] objectBitmap = new String[] { "Render: Normal", "Render: OIT" };
-
-      ArrayAdapter<String> adapterBitmap = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, objectBitmap);
-      adapterBitmap.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
-      renderSpinner.setAdapter(adapterBitmap);
-
+;
       mTextLevel = findViewById(R.id.predeformInflateText);
 
-      SeekBar transparencyBar = findViewById(R.id.predeformTransparency);
-      transparencyBar.setOnSeekBarChangeListener(this);
-      transparencyBar.setProgress(50);
-
       SeekBar inflateBar = findViewById(R.id.predeformInflateLevel);
       inflateBar.setOnSeekBarChangeListener(this);
       inflateBar.setProgress(50);
       }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+    public void showNormal(View view)
+      {
+      CheckBox box = (CheckBox)view;
+      boolean showNormal = box.isChecked();
+
+      if ( mMesh!=null )
+        {
+        mMesh.setShowNormals(showNormal);
+        }
+      }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
     private void createBitmap(int size, int bitmapID)
@@ -193,38 +191,15 @@ public class PredeformActivity2 extends Activity implements SeekBar.OnSeekBarCha
       return mBitmap;
       }
 
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id)
-      {
-      PredeformSurfaceView v = findViewById(R.id.predeformSurfaceView);
-      PredeformRenderer renderer = v.getRenderer();
-
-      if( parent.getId()==R.id.predeformSpinnerMode)
-        {
-        renderer.setRenderModeToOIT(pos==1);
-        }
-      }
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-    public void onNothingSelected(AdapterView<?> parent)
-      {
-      }
-
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
     public void onProgressChanged(SeekBar bar, int progress, boolean fromUser)
       {
-      switch (bar.getId())
+      if(bar.getId() == R.id.predeformInflateLevel)
         {
-        case R.id.predeformTransparency: PredeformSurfaceView v1 = findViewById(R.id.predeformSurfaceView);
-                                         v1.getRenderer().setTransparency(progress);
-                                         break;
-        case R.id.predeformInflateLevel: PredeformSurfaceView v2 = findViewById(R.id.predeformSurfaceView);
-                                         float level = v2.getRenderer().setLevel(progress);
-                                         mTextLevel.setText(getString(R.string.inflate_placeholder, level));
-                                         break;
+        PredeformSurfaceView v2 = findViewById(R.id.predeformSurfaceView);
+        float level = v2.getRenderer().setLevel(progress);
+        mTextLevel.setText(getString(R.string.inflate_placeholder, level));
         }
       }
 
diff --git a/src/main/java/org/distorted/examples/predeform/PredeformRenderer.java b/src/main/java/org/distorted/examples/predeform/PredeformRenderer.java
index 0fa0bac..191683e 100644
--- a/src/main/java/org/distorted/examples/predeform/PredeformRenderer.java
+++ b/src/main/java/org/distorted/examples/predeform/PredeformRenderer.java
@@ -31,7 +31,6 @@ import org.distorted.library.main.DistortedScreen;
 import org.distorted.library.main.DistortedTexture;
 import org.distorted.library.mesh.MeshBase;
 import org.distorted.library.type.DynamicQuat;
-import org.distorted.library.type.Static1D;
 import org.distorted.library.type.Static3D;
 import org.distorted.library.type.Static4D;
 
@@ -52,7 +51,6 @@ class PredeformRenderer implements GLSurfaceView.Renderer
     private DistortedScreen mScreen;
     private float mObjWidth, mObjHeight, mObjDepth;
     private Static3D mScale;
-    private Static1D mAlpha;
 
     Static4D mQuat1, mQuat2;
     int mScreenMin;
@@ -63,7 +61,6 @@ class PredeformRenderer implements GLSurfaceView.Renderer
       {
       mView = v;
 
-      mAlpha = new Static1D(1.0f);
       mScale= new Static3D(1,1,1);
 
       Static3D center=new Static3D(0,0,0);
@@ -91,7 +88,6 @@ class PredeformRenderer implements GLSurfaceView.Renderer
       mEffects.apply( new MatrixEffectScale(mScale));
       mEffects.apply( new MatrixEffectQuaternion(quatInt2, center) );
       mEffects.apply( new MatrixEffectQuaternion(quatInt1, center) );
-      mEffects.apply( new FragmentEffectAlpha(mAlpha));
 
       mScreen = new DistortedScreen();
       mScreen.glClearColor(1.0f,1.0f,1.0f,0.0f);
@@ -117,20 +113,6 @@ class PredeformRenderer implements GLSurfaceView.Renderer
       mScreen.resize(width, height);
       }
 
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-    void setRenderModeToOIT(boolean oit)
-      {
-      mScreen.setOrderIndependentTransparency(oit);
-      }
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-    void setTransparency(int level)
-      {
-      mAlpha.set((float)level/100.0f);
-      }
-
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
     float setLevel(int level)
diff --git a/src/main/res/layout/predeformlayout.xml b/src/main/res/layout/predeformlayout.xml
index 1fefd01..1226424 100644
--- a/src/main/res/layout/predeformlayout.xml
+++ b/src/main/res/layout/predeformlayout.xml
@@ -21,44 +21,29 @@
 
         <TextView
             android:id="@+id/predeformInflateText"
-            android:layout_width="0dp"
+            android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_weight="0.3"
+            android:layout_weight="1"
             android:paddingLeft="10dp"
             android:text="@string/inflate" />
 
         <SeekBar
             android:id="@+id/predeformInflateLevel"
-            android:layout_weight="0.7"
-            android:layout_width="0dp"
-            android:layout_height="50dp"
-            android:paddingLeft="10dp"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_weight="3"
+            android:paddingLeft="5dp"
             android:paddingRight="5dp" />
 
-    </LinearLayout>
-
-    <LinearLayout
-        android:id="@+id/linearLayout3"
-        android:layout_width="fill_parent"
-        android:layout_height="wrap_content"
-        android:gravity="center|fill_horizontal"
-        android:orientation="horizontal"
-        android:background="@color/blue">
-
-        <SeekBar
-            android:id="@+id/predeformTransparency"
-            android:layout_weight="0.50"
-            android:layout_width="0dp"
-            android:layout_height="50dp"
-            android:paddingLeft="10dp"
-            android:paddingRight="10dp" />
+        <CheckBox
+            android:id="@+id/predeformNormal"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_weight="1"
+            android:checked="false"
+            android:onClick="showNormal"
+            android:text="@string/show_normal"
+            android:textSize="12sp"/>
 
-        <Spinner
-            android:layout_width="0dp"
-            android:layout_height="50dp"
-            android:layout_weight="0.5"
-            android:id="@+id/predeformSpinnerMode"
-            />
     </LinearLayout>
-
 </LinearLayout>
