| | |
| | | int circleR = colorPicker.Width / 2 - Application.GetRealWidth(12); |
| | | |
| | | colorPicker.ColorChaged += (sender2, e2) => { |
| | | if (function.trait_on_off.curValue.ToString() == "off" |
| | | || pointIsRight == false) |
| | | if (function.trait_on_off.curValue.ToString() == "off" || pointIsRight == false) |
| | | { |
| | | //pointIsRight:点的区域不是圆盘内 |
| | | return; |
| | | } |
| | | if ((DateTime.Now - colorChangeTime).TotalMilliseconds > 200) |
| | | { |
| | | lightTemp.SetRGBcolor(e2,function); |
| | | colorChangeTime = DateTime.Now; |
| | | System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); |
| | | d.Add(FunctionAttributeKey.RGB, lightTemp.GetRGBcolorString(function)); |
| | | Control.Ins.SendWriteCommand(function, d); |
| | | } |
| | | |
| | | lastColor = e2; |
| | | }; |
| | | colorPicker.MouseDownEventHandler += (sender, e) => |
| | | { |
| | |
| | | //显示白点 |
| | | btnWhiteRound.X = (int)e.X - btnWhiteRound.Width / 2; |
| | | btnWhiteRound.Y = (int)e.Y - btnWhiteRound.Height / 2; |
| | | if (btnWhiteRound.Visible == true) |
| | | { |
| | | btnWhiteRound.Visible = false; |
| | | } |
| | | }; |
| | | colorPicker.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | if (function.trait_on_off.curValue.ToString() == "off") |
| | | { |
| | | return; |
| | | } |
| | | pointIsRight = this.CheckPoint(circleR, colorPicker.Width / 2, colorPicker.Height / 2, (int)e.X, (int)e.Y); |
| | | if (pointIsRight == false) |
| | | { |
| | | //点的区域不是圆盘内 |
| | | return; |
| | | } |
| | | //显示白点 |
| | | btnWhiteRound.X = (int)e.X - btnWhiteRound.Width / 2; |
| | | btnWhiteRound.Y = (int)e.Y - btnWhiteRound.Height / 2; |
| | | if (btnWhiteRound.Visible == false) |
| | | { |
| | | btnWhiteRound.Visible = true; |
| | | } |
| | | }; |
| | | |
| | | |
| | | |
| | | |
| | | colorPicker.MouseMoveEventHandler += (sender, e) => |
| | | { |
| | | //当鼠标点下事件处理 |
| | | if (function.trait_on_off.curValue.ToString() == "off") |
| | | { |
| | | return; |
| | | } |
| | | pointIsRight = this.CheckPoint(circleR, colorPicker.Width / 2, colorPicker.Height / 2, (int)e.X, (int)e.Y); |
| | | if (pointIsRight == false) |
| | | { |
| | | //点的区域不是圆盘内 |
| | | return; |
| | | } |
| | | //显示白点 |
| | | btnWhiteRound.X = (int)e.X - btnWhiteRound.Width / 2; |
| | | btnWhiteRound.Y = (int)e.Y - btnWhiteRound.Height / 2; |
| | | if (btnWhiteRound.Visible == false) |
| | | { |
| | | btnWhiteRound.Visible = true; |
| | | } |
| | | btnCurColor.BackgroundColor = (uint)(0xFF000000 + lightTemp.GetRGBcolor(function)); |
| | | colorPicker.MouseDownEventHandler(sender, e); |
| | | //if (function.trait_on_off.curValue.ToString() == "off") |
| | | //{ |
| | | // return; |
| | | //} |
| | | //pointIsRight = this.CheckPoint(circleR, colorPicker.Width / 2, colorPicker.Height / 2, (int)e.X, (int)e.Y); |
| | | //if (pointIsRight == false) |
| | | //{ |
| | | // //点的区域不是圆盘内 |
| | | // return; |
| | | //} |
| | | ////显示白点 |
| | | //btnWhiteRound.X = (int)e.X - btnWhiteRound.Width / 2; |
| | | //btnWhiteRound.Y = (int)e.Y - btnWhiteRound.Height / 2; |
| | | //if (btnWhiteRound.Visible == false) |
| | | //{ |
| | | // btnWhiteRound.Visible = true; |
| | | //} |
| | | //btnCurColor.BackgroundColor = (uint)(0xFF000000 + lightTemp.GetRGBcolor(function)); |
| | | }; |
| | | |
| | | var colorChangeEvent = new System.Threading.Thread(() => { |
| | | while (this.Parent != null) |
| | | { |
| | | if (function.trait_on_off.curValue.ToString() == "off" || pointIsRight == false) |
| | | { |
| | | //pointIsRight:点的区域不是圆盘内 |
| | | continue; |
| | | } |
| | | |
| | | for (int i = 0; i < 3; i++) |
| | | { |
| | | if (lightTemp.GetRGBbytes(function)[i] != lastColor[i]) |
| | | { |
| | | function.SetAttrState(FunctionAttributeKey.RGB, lastColor); |
| | | lightTemp.SetRGBcolor(lastColor, function); |
| | | System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); |
| | | d.Add(FunctionAttributeKey.RGB, lightTemp.GetRGBcolorString(function)); |
| | | Control.Ins.SendWriteCommand(function, d); |
| | | break; |
| | | } |
| | | } |
| | | System.Threading.Thread.Sleep(200); |
| | | } |
| | | }); |
| | | colorChangeEvent.IsBackground = true; |
| | | colorChangeEvent.Start(); |
| | | } |
| | | |
| | | /// <summary> |