wxr
2020-06-16 f6fd8acd7c53c44187e70b4709443318a628f4b5
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);
            }
        }