commit e50e7ba704b948d09e254237209eaf217d153150
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Mon Jul 20 18:11:09 2020 +0100

    1) rename DistortedTexture's setColor to setColorARGB
    2) fix the Wiind app to take into account paused time
    3) fix the Dynamic so that if a single Dynamic is used more than once (in more than one effect) than it doesn't get adjusted for paused time multiple times.

diff --git a/src/main/java/org/distorted/examples/movingglow/MovingGlowRenderer.java b/src/main/java/org/distorted/examples/movingglow/MovingGlowRenderer.java
index 33a63ab..1115d43 100644
--- a/src/main/java/org/distorted/examples/movingglow/MovingGlowRenderer.java
+++ b/src/main/java/org/distorted/examples/movingglow/MovingGlowRenderer.java
@@ -85,7 +85,7 @@ class MovingGlowRenderer implements GLSurfaceView.Renderer, EffectListener, Dist
       Static3D center     = new Static3D(0,0,0);
       Static3D axis       = new Static3D(0,0,1);
 
-      Dynamic1D rot = new Dynamic1D(5000,0.0f);
+      Dynamic1D rot = new Dynamic1D(50000,0.0f);
       rot.setMode(Dynamic1D.MODE_JUMP);
       rot.add(new Static1D(  0));
       rot.add(new Static1D(360));
diff --git a/src/main/java/org/distorted/examples/stencil/StencilRenderer.java b/src/main/java/org/distorted/examples/stencil/StencilRenderer.java
index d66ba74..8468972 100644
--- a/src/main/java/org/distorted/examples/stencil/StencilRenderer.java
+++ b/src/main/java/org/distorted/examples/stencil/StencilRenderer.java
@@ -222,7 +222,7 @@ class StencilRenderer implements GLSurfaceView.Renderer, DistortedLibrary.Except
         }
 
       mCubeTex.setTexture(bitmap);
-      mFloorTex.setColor(0xff000000);  // ARGB
+      mFloorTex.setColorARGB(0xff000000);
 
       VertexEffectScale.enable();
       FragmentEffectBrightness.enable();
diff --git a/src/main/java/org/distorted/examples/transparency/TransparencyRenderer.java b/src/main/java/org/distorted/examples/transparency/TransparencyRenderer.java
index 524477a..8cd41fa 100644
--- a/src/main/java/org/distorted/examples/transparency/TransparencyRenderer.java
+++ b/src/main/java/org/distorted/examples/transparency/TransparencyRenderer.java
@@ -209,7 +209,7 @@ class TransparencyRenderer implements GLSurfaceView.Renderer, DistortedLibrary.E
       {
       for(int i=0; i<NUM_OBJECTS; i++)
         {
-        mTex[i].setColor(OBJECTS[NUM * i + 3]);
+        mTex[i].setColorARGB(OBJECTS[NUM * i + 3]);
         }
 
       VertexEffectScale.enable();
diff --git a/src/main/java/org/distorted/examples/wind/WindActivity.java b/src/main/java/org/distorted/examples/wind/WindActivity.java
index b8fc51c..8d0c612 100644
--- a/src/main/java/org/distorted/examples/wind/WindActivity.java
+++ b/src/main/java/org/distorted/examples/wind/WindActivity.java
@@ -56,8 +56,9 @@ public class WindActivity extends Activity implements OnSeekBarChangeListener
     @Override
     protected void onPause() 
       {
-      GLSurfaceView view = findViewById(R.id.windSurfaceView);
+      WindSurfaceView view = findViewById(R.id.windSurfaceView);
       view.onPause();
+      view.getRenderer().pauseWind();
       DistortedLibrary.onPause();
       super.onPause();
       }
@@ -68,8 +69,9 @@ public class WindActivity extends Activity implements OnSeekBarChangeListener
     protected void onResume() 
       {
       super.onResume();
-      GLSurfaceView view = findViewById(R.id.windSurfaceView);
+      WindSurfaceView view = findViewById(R.id.windSurfaceView);
       view.onResume();
+      view.getRenderer().resumeWind();
       }
  
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/examples/wind/WindEffectsManager.java b/src/main/java/org/distorted/examples/wind/WindEffectsManager.java
index d6c2110..c312322 100644
--- a/src/main/java/org/distorted/examples/wind/WindEffectsManager.java
+++ b/src/main/java/org/distorted/examples/wind/WindEffectsManager.java
@@ -39,7 +39,7 @@ class WindEffectsManager
                                                      // make the flag horizontal (milliseconds)
   private static final long TIME_TO_FALL_DOWN =2000; // time it takes for the flag to
                                                      // fall back down if no wind (milliseconds)
-  private long lastTime;
+  private long mLastTime, mPausedTime;
   private float mWind;
   private int mHeight, mWidth;
 
@@ -59,7 +59,7 @@ class WindEffectsManager
 
   WindEffectsManager(int width, int height)
     {
-    lastTime = 0;
+    mLastTime = 0;
 
     mWidth = width;
     mHeight= height;
@@ -149,13 +149,28 @@ class WindEffectsManager
     windFactor42.set0(wave4);
     }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  void pauseWind()
+    {
+    mPausedTime = System.currentTimeMillis();
+    }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  void resumeWind()
+    {
+    long gap = System.currentTimeMillis() - mPausedTime;
+    mLastTime += gap;
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
   synchronized void increaseWind(long currTime)
     {
-    if( lastTime>0 )
+    if( mLastTime>0 )
       {
-      long diff = currTime-lastTime;
+      long diff = currTime-mLastTime;
       float diffWind = (100.0f*diff/TIME_TO_GET_UP);
 
       mWind += diffWind;
@@ -164,16 +179,16 @@ class WindEffectsManager
       setWind( (int)mWind );
       }
 
-    lastTime = currTime;
+    mLastTime = currTime;
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
   synchronized void decreaseWind(long currTime)
     {
-    if( lastTime>0 )
+    if( mLastTime>0 )
       {
-      long diff = currTime-lastTime;
+      long diff = currTime-mLastTime;
       float diffWind = (100.0f*diff/TIME_TO_FALL_DOWN);
 
       mWind -= diffWind;
@@ -182,7 +197,7 @@ class WindEffectsManager
       setWind( (int)mWind );
       }
 
-    lastTime = currTime;
+    mLastTime = currTime;
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/examples/wind/WindGust.java b/src/main/java/org/distorted/examples/wind/WindGust.java
index 9a91c09..e951a44 100644
--- a/src/main/java/org/distorted/examples/wind/WindGust.java
+++ b/src/main/java/org/distorted/examples/wind/WindGust.java
@@ -28,7 +28,7 @@ class WindGust
   private static final long TIME_PERIOD = 1000;
   private int mAvgWind;
   private boolean mBlowingNow;
-  private long mLastTime;
+  private long mLastTime, mPausedTime;
   private static Random mRnd = new Random();
 
   WindGust()
@@ -45,6 +45,21 @@ class WindGust
     mAvgWind = wind;
     }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  void pauseWind()
+    {
+    mPausedTime = System.currentTimeMillis();
+    }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  void resumeWind()
+    {
+    long gap = System.currentTimeMillis() - mPausedTime;
+    mLastTime += gap;
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
   boolean isWindBlowingNow(long currTime)
diff --git a/src/main/java/org/distorted/examples/wind/WindRenderer.java b/src/main/java/org/distorted/examples/wind/WindRenderer.java
index 4e12327..04845a2 100644
--- a/src/main/java/org/distorted/examples/wind/WindRenderer.java
+++ b/src/main/java/org/distorted/examples/wind/WindRenderer.java
@@ -102,7 +102,23 @@ class WindRenderer implements GLSurfaceView.Renderer, DistortedLibrary.Exception
       }
    
 ///////////////////////////////////////////////////////////////////////////////////////////////////
-   
+
+   void pauseWind()
+      {
+      if( mGust   !=null ) mGust.pauseWind();
+      if( mManager!=null ) mManager.pauseWind();
+      }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+   void resumeWind()
+      {
+      if( mGust   !=null ) mGust.resumeWind();
+      if( mManager!=null ) mManager.resumeWind();
+      }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
    public void onDrawFrame(GL10 glUnused) 
       {
       long time = System.currentTimeMillis();
