using System;
using Shared.IOS.TBL;
namespace Shared
{
///
/// GestureLockView
///
public class GestureLockView : View
{
///
/// 当前视图
///
/// The GestureLockView.
HDLGestureLockView mHDLGestureLockView
{
get
{
return uiView as HDLGestureLockView;
}
set
{
uiView = value;
}
}
///
/// 构造函数
///
public GestureLockView()
{
mHDLGestureLockView = new HDLGestureLockView
{
Delegate = new OnLockVerifyListener(this)
};
}
///
/// 刷新布局
///
private void RefreshFrame()
{
mHDLGestureLockView.InitWithFrameLockView(new CoreGraphics.CGRect(base.X, base.Y, base.Width, base.Height));
}
///
/// 控件宽度
///
public override int Width
{
get
{
return base.Width;
}
set
{
base.Width = value;
RefreshFrame();
}
}
///
/// 控件的高度
///
public override int Height
{
get
{
return base.Height;
}
set
{
base.Height = value;
RefreshFrame();
}
}
///
/// 控件的X坐标
///
public override int X
{
get
{
return base.X;
}
set
{
base.X = value;
RefreshFrame();
}
}
///
/// 控件的X坐标
///
public override int Y
{
get
{
return base.Y;
}
set
{
base.Y = value;
RefreshFrame();
}
}
///
/// 设置正确和普通时的颜色
///
/// 线颜色
public uint LockViewCorrectColor
{
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);
mHDLGestureLockView.SelectedLineColor = UIKit.UIColor.FromRGBA(r, g, b, a);
}
}
///
/// 设置错误时的颜色
///
/// 线颜色
public uint LockViewErrorColor
{
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);
mHDLGestureLockView.ErrorLineColor = UIKit.UIColor.FromRGBA(r, g, b, a);
//mHDLArcSeekBar.SetProgressTextColor(UIKit.UIColor.FromRGBA(r, g, b, a));
}
}
///
/// 默认圆点背景颜色
///
/// 线颜色
public uint LockViewNormalColor
{
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);
mHDLGestureLockView.NormalColor = UIKit.UIColor.FromRGBA(r, g, b, a);
}
}
///
/// 显示手势解锁view 是否显示正确
///
public void showCorrectStatus(bool isTrue)
{
mHDLGestureLockView.ShowErrorStatus = !isTrue;
}
///
/// 设置是否为实心圆形解锁样式
///
public void SetSolidType(bool isTrue)
{
mHDLGestureLockView.SetSolidType(isTrue);
}
///
/// Action
///
public Action OnLockVerifyEvent;
///
/// OnLockVerifyListener 手势滑动结束
///
OnLockVerifyListener mOnLockVerifyListener;
public class OnLockVerifyListener : SSGestureLockViewDelegate
{
[Weak] GestureLockView _GestureLockView;
public OnLockVerifyListener(GestureLockView view)
{
_GestureLockView = view;
}
public override void onDidSelectedGestureLockView(string selectNumStr, int selectCount) {
_GestureLockView.OnLockVerifyEvent?.Invoke(selectNumStr, selectCount);
}
//public override void SelectIndex2(nint selectIndex1, nint selectIndex2, nint selectIndex3)
//{
// _GestureLockView.OnLockVerifyEvent?.Invoke();
//}
//public override void OnProgressChanged(int mProgress)
//{
// _WaveSeekBar.OnProgressChangedEvent?.Invoke(this, mProgress);
//}
}
}
}