commit 3b1e9c7ec7e6c4a460f988928fa9f29ee4315e18
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Tue Jul 31 16:27:36 2018 +0100

    Progress with Effects3D app.

diff --git a/src/main/java/org/distorted/examples/effects3d/Effects3DEffect.java b/src/main/java/org/distorted/examples/effects3d/Effects3DEffect.java
index fe863b2..2cbee47 100644
--- a/src/main/java/org/distorted/examples/effects3d/Effects3DEffect.java
+++ b/src/main/java/org/distorted/examples/effects3d/Effects3DEffect.java
@@ -63,6 +63,9 @@ import java.lang.ref.WeakReference;
 
 class Effects3DEffect implements SeekBar.OnSeekBarChangeListener
   {
+  private static final int BACKGROUND_ODD = 0xff555555;
+  private static final int BACKGROUND_EVEN= 0xff333333;
+
   private WeakReference<Effects3DActivity2> mAct;
 
   private EffectName mName;
@@ -385,6 +388,17 @@ class Effects3DEffect implements SeekBar.OnSeekBarChangeListener
     mTextRegion.setText("region ("+f0+","+f1+","+f2+","+f3+")");
     }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  void setBackground(int pos)
+    {
+    int color = (pos%2==1 ? BACKGROUND_ODD:BACKGROUND_EVEN);
+
+    if( mEffect!=null ) mEffect.setBackgroundColor(color);
+    if( mCenter!=null ) mCenter.setBackgroundColor(color);
+    if( mRegion!=null ) mRegion.setBackgroundColor(color);
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
   Effects3DEffect(EffectName name, Effects3DActivity2 act)
@@ -477,7 +491,7 @@ class Effects3DEffect implements SeekBar.OnSeekBarChangeListener
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  View createView()
+  View createView(int num)
     {
     SeekBar[] seek = new SeekBar[mDimension];
 
@@ -535,10 +549,12 @@ class Effects3DEffect implements SeekBar.OnSeekBarChangeListener
                mSeekID[4] = seek[4].getId();
                mButton    = mEffect.findViewById(R.id.button5dRemove);
                break;
-      default: android.util.Log.e("Matrix3DEffect", "dimension "+mDimension+" not supported!");
+      default: android.util.Log.e("Effects3DEffect", "dimension "+mDimension+" not supported!");
                return null;
       }
 
+    mEffect.setBackgroundColor( num%2==1 ? BACKGROUND_EVEN: BACKGROUND_ODD );
+
     setDefaultInter();
 
     for(int i=0; i<mDimension; i++)
@@ -552,11 +568,12 @@ class Effects3DEffect implements SeekBar.OnSeekBarChangeListener
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  View createRegion()
+  View createRegion(int num)
     {
     Effects3DActivity2 act = mAct.get();
 
     mRegion = act.getLayoutInflater().inflate(R.layout.effectregion, null);
+    mRegion.setBackgroundColor( num%2==1 ? BACKGROUND_EVEN: BACKGROUND_ODD );
 
     SeekBar[] seek = new SeekBar[4];
 
@@ -587,11 +604,12 @@ class Effects3DEffect implements SeekBar.OnSeekBarChangeListener
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  View createCenter()
+  View createCenter(int num)
     {
     Effects3DActivity2 act = mAct.get();
 
     mCenter = act.getLayoutInflater().inflate(R.layout.effectcenter, null);
+    mCenter.setBackgroundColor( num%2==1 ? BACKGROUND_EVEN: BACKGROUND_ODD );
 
     SeekBar[] seek = new SeekBar[3];
 
diff --git a/src/main/java/org/distorted/examples/effects3d/Effects3DTab.java b/src/main/java/org/distorted/examples/effects3d/Effects3DTab.java
index 2bed42b..39a4d5d 100644
--- a/src/main/java/org/distorted/examples/effects3d/Effects3DTab.java
+++ b/src/main/java/org/distorted/examples/effects3d/Effects3DTab.java
@@ -47,6 +47,7 @@ public class Effects3DTab extends Fragment implements AdapterView.OnItemSelected
   private DistortedEffects mEffects;
   private String[] mEffectStrings;
   private int mTab, mLayout, mSpinner;
+  private int mChildren;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -54,6 +55,7 @@ public class Effects3DTab extends Fragment implements AdapterView.OnItemSelected
     {
     mList = new ArrayList<>();
     mEffectAdd = 0;
+    mChildren  = 0;
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -154,19 +156,21 @@ public class Effects3DTab extends Fragment implements AdapterView.OnItemSelected
     Effects3DEffect eff = new Effects3DEffect(mEffectNames[mEffectAdd], act );
     mList.add(eff);
 
+    mChildren++;
+
     LinearLayout layout = act.findViewById(mLayout);
-    View view = eff.createView();
+    View view = eff.createView(mChildren);
     layout.addView(view);
 
     if( mEffectNames[mEffectAdd].supportsCenter() )
       {
-      View center = eff.createCenter();
+      View center = eff.createCenter(mChildren);
       layout.addView(center);
       }
 
     if( mEffectNames[mEffectAdd].supportsRegion() )
       {
-      View region = eff.createRegion();
+      View region = eff.createRegion(mChildren);
       layout.addView(region);
       }
 
@@ -208,6 +212,8 @@ public class Effects3DTab extends Fragment implements AdapterView.OnItemSelected
     {
     Effects3DActivity2 act = (Effects3DActivity2)getActivity();
 
+    mChildren = 0;
+
     mList.clear();
     LinearLayout layout = act.findViewById(mLayout);
     layout.removeAllViews();
@@ -237,7 +243,17 @@ public class Effects3DTab extends Fragment implements AdapterView.OnItemSelected
         if( view!=null ) layout.removeView(view);
 
         mEffects.abortById(effect.getId());
+
+        int index = mList.indexOf(effect);
+        int capac = mList.size();
+
+        for(int i=index+1; i<capac; i++)
+          {
+          mList.get(i).setBackground(i-1);
+          }
+
         mList.remove(effect);
+        mChildren--;
 
         resetData();
 
diff --git a/src/main/res/layout/effectregion.xml b/src/main/res/layout/effectregion.xml
index 27acadc..72963d7 100644
--- a/src/main/res/layout/effectregion.xml
+++ b/src/main/res/layout/effectregion.xml
@@ -63,11 +63,4 @@
             android:layout_weight="0.5"/>
 
     </LinearLayout>
-
-    <View
-        android:layout_height="3dip"
-        android:background="#777777"
-        android:layout_width="match_parent"
-        />
-
 </LinearLayout>
