From 19d0e070e128daf855beaf72e00f55334be9f87b Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期六, 28 八月 2021 13:47:25 +0800 Subject: [PATCH] 1 --- HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs | 103 +++++++++++++++++++++++++-------------------------- 1 files changed, 51 insertions(+), 52 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs index 5da48b0..d46bdd0 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs @@ -49,6 +49,7 @@ bodyView.btnWhiteRound.Visible = false; } bodyView.btnCurColor.BackgroundColor = (uint)(0xFF000000 + bodyView.lightTemp.GetRGBcolor(updateTemp)); + bodyView.lastColor = bodyView.lightTemp.GetRGBbytes(updateTemp); if (bodyView.lightTemp.GetRGBcolor(updateTemp) == 16777215 && bodyView.btnCurColor.BorderColor != 0x00000000) { bodyView.btnCurColor.BorderColor = CSS.CSS_Color.PromptingColor2; @@ -95,21 +96,12 @@ 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) => { @@ -126,56 +118,62 @@ //鏄剧ず鐧界偣 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].ToString() != lastColor[i].ToString()) + { + 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> @@ -312,6 +310,7 @@ 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 = new byte[] { 255, 255, 255 }; }; } -- Gitblit v1.8.0