From f6fd8acd7c53c44187e70b4709443318a628f4b5 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期二, 16 六月 2020 13:12:33 +0800
Subject: [PATCH] 2020-06-016

---
 Shared.IOS/UI/WaveSeekBar.cs |  113 +++++++++++++++++++++++++++++---------------------------
 1 files changed, 58 insertions(+), 55 deletions(-)

diff --git a/Shared.IOS/UI/WaveSeekBar.cs b/Shared.IOS/UI/WaveSeekBar.cs
index c194d86..8626676 100644
--- a/Shared.IOS/UI/WaveSeekBar.cs
+++ b/Shared.IOS/UI/WaveSeekBar.cs
@@ -1,5 +1,4 @@
 using System;
-//using Shared.I;
 using Shared.IOS.TBL;
 
 
@@ -9,7 +8,7 @@
     /// <summary>
     /// HDLWaveSeekbar 鎺т欢
     /// </summary>
-    public class WaveSeekBar : View
+    public class WaveSeekBar : BaseSeekBar
     {
         /// <summary>
         ///  褰撳墠瑙嗗浘
@@ -35,8 +34,6 @@
         {
             mHDLWaveSeekbar = new HDLWaveSeekbar
             {
-                //Frame = new CoreGraphics.CGRect(0, 0, this.Width, this.Height),
-                //mHDLWaveSeekbar.Frame = new CoreGraphics.CGRect(0, 0, 1024, 1024);
                 MProgressChangedDelegate = new OnProgressChangeListener(this)
             };
 
@@ -64,8 +61,6 @@
             {
                 base.Width = value;
                 RefreshFrame();
-                //mHDLWaveSeekbar.InitWithFrameArc(new CoreGraphics.CGRect(base.X, base.Y, base.Width, base.Height));
-
             }
         }
 
@@ -100,8 +95,6 @@
             {
                 base.X = value;
                 RefreshFrame();
-                //mHDLWaveSeekbar.InitWithFrameArc(new CoreGraphics.CGRect(base.X, base.Y, base.Width, base.Height));
-
             }
         }
 
@@ -119,8 +112,6 @@
             {
                 base.Y = value;
                 RefreshFrame();
-                //mHDLWaveSeekbar.InitWithFrameArc(new CoreGraphics.CGRect(base.X, base.Y, base.Width, base.Height));
-
             }
         }
 
@@ -178,7 +169,6 @@
 
             get
             {
-
                 return (int)mHDLWaveSeekbar.MProgress;
             }
         }
@@ -195,24 +185,48 @@
             }
         }
 
-        /// <summary>
-        /// 娉㈡氮杩涘害棰滆壊
-        /// </summary>
-        /// <value>娉㈡氮杩涘害棰滆壊</value>
-        public uint WaveColor
-        {
-            set
-            {
-                byte r, g, b, a;
-                r = (byte)(value / 256 / 256 % 256);
-                g = (byte)(value / 256 % 256);
-                b = (byte)(value % 256);
-                a = (byte)(value / 256 / 256 / 256 % 256);
-                mHDLWaveSeekbar.MWaveProgressBarColor = UIKit.UIColor.FromRGBA(r, g, b, a);
-                
-            }
-        }
+        ///// <summary>
+        ///// 娉㈡氮杩涘害棰滆壊
+        ///// </summary>
+        ///// <value>娉㈡氮杩涘害棰滆壊</value>
+        //public uint WaveColor
+        //{
+        //    set
+        //    {
+        //        byte r, g, b, a;
+        //        r = (byte)(value / 256 / 256 % 256);
+        //        g = (byte)(value / 256 % 256);
+        //        b = (byte)(value % 256);
+        //        a = (byte)(value / 256 / 256 / 256 % 256);
+        //        mHDLWaveSeekbar.MWaveProgressBarColor = UIKit.UIColor.FromRGBA(r, g, b, a);
+        //        mHDLWaveSeekbar.SetNeedsDisplay();
+        //    }
+        //}
 
+        /// <summary>
+        /// 璁剧疆杩涘害鏉� 娓愬彉棰滆壊鐨勫紑濮嬮鑹插拰缁撴潫棰滆壊
+        /// </summary>
+        /// <value>寮�濮嬮鑹层�佺粨鏉熼鑹�</value>
+        public void SetProgressBarColors(uint startColor, uint endColor)
+        {
+            byte r, g, b, a;
+            r = (byte)(startColor / 256 / 256 % 256);
+            g = (byte)(startColor / 256 % 256);
+            b = (byte)(startColor % 256);
+            a = (byte)(startColor / 256 / 256 / 256 % 256);
+
+            var start = UIKit.UIColor.FromRGBA(r, g, b, a);
+
+            byte r2, g2, b2, a2;
+            r2 = (byte)(endColor / 256 / 256 % 256);
+            g2 = (byte)(endColor / 256 % 256);
+            b2 = (byte)(endColor % 256);
+            a2 = (byte)(endColor / 256 / 256 / 256 % 256);
+            var end = UIKit.UIColor.FromRGBA(r2, g2, b2, a2);
+
+            mHDLWaveSeekbar.SetProgressBarColors(start, end);
+            mHDLWaveSeekbar.SetNeedsDisplay();
+        }
 
         /// <summary>
         /// 鑳屾櫙杈规棰滆壊
@@ -228,7 +242,7 @@
                 b = (byte)(value % 256);
                 a = (byte)(value / 256 / 256 / 256 % 256);
                 mHDLWaveSeekbar.MWaveBorderColor = UIKit.UIColor.FromRGBA(r, g, b, a);
-             
+                mHDLWaveSeekbar.SetNeedsDisplay();
             }
         }
 
@@ -244,25 +258,6 @@
             }
         }
 
-        ///// <summary>
-        ///// 杩涘害鍖哄煙鑳屾櫙榛樿棰滆壊
-        ///// </summary>
-        ///// <value>杩涘害鍖哄煙鑳屾櫙榛樿棰滆壊</value>
-        //public uint WaveBgColor
-        //{
-        //    set
-        //    {
-        //        byte r, g, b, a;
-        //        r = (byte)(value / 256 / 256 % 256);
-        //        g = (byte)(value / 256 % 256);
-        //        b = (byte)(value % 256);
-        //        a = (byte)(value / 256 / 256 / 256 % 256);
-
-
-        //    }
-        //}
-
-
         /// <summary>
         /// 杩涘害鏉′笌杈规杈硅窛
         /// </summary>
@@ -275,7 +270,6 @@
             }
         }
 
-
         /// <summary>
         /// 褰撳墠杩涘害鍊兼樉绀虹殑鏂囧瓧棰滆壊
         /// </summary>
@@ -284,7 +278,6 @@
         {
             set
             {
-
                 byte r, g, b, a;
                 r = (byte)(value / 256 / 256 % 256);
                 g = (byte)(value / 256 % 256);
@@ -292,8 +285,6 @@
                 a = (byte)(value / 256 / 256 / 256 % 256);
 
                 mHDLWaveSeekbar.MProgressTextColor = UIKit.UIColor.FromRGBA(r, g, b, a);
-                //mHDLWaveSeekbar.SetProgressTextColor(UIKit.UIColor.FromRGBA(r,  g, b, a));
-
             }
         }
 
@@ -305,7 +296,6 @@
         {
             set
             {
-                //set => mHDLWaveSeekbar.SetProgressTextSize(value);
                 mHDLWaveSeekbar.MProgressTextSize = value;
             }
 
@@ -332,11 +322,21 @@
             set
             {
                 mHDLWaveSeekbar.IsProgressTextShow = value;
+                mHDLWaveSeekbar.SetNeedsDisplay();
             }
         }
 
-
-
+        /// <summary>
+        /// 褰撳墠杩涘害鍊� Y鍧愭爣
+        /// </summary>
+        /// <value>Y鍧愭爣</value>
+        public int NowProgressY
+        {
+            get
+            {
+                return (int)mHDLWaveSeekbar.ProgressY;
+            }
+        }
 
 
         /// <summary>
@@ -363,6 +363,8 @@
 
             public override void OnProgressChanged(int mProgress)
             {
+                //if (_WaveSeekBar.IsProgressChangeDelay()) return;
+
                 _WaveSeekBar.OnProgressChangedEvent?.Invoke(this, mProgress);
             }
 
@@ -373,6 +375,7 @@
 
             public override void OnStopTrackingTouch(int mProgress)
             {
+                _WaveSeekBar.OnProgressChangedEvent?.Invoke(this, mProgress);
                 _WaveSeekBar.OnStopTrackingTouchEvent?.Invoke(this, mProgress);
             }
         }

--
Gitblit v1.8.0