From 6d73bf6e816570291865674bef8bce8972e4de3f Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期三, 01 十二月 2021 16:32:57 +0800 Subject: [PATCH] 2021-12-01-01 --- HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs | 131 +++++++++++++++++++++++-------------------- 1 files changed, 71 insertions(+), 60 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs index 5da48b0..8281d85 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs @@ -48,8 +48,9 @@ //鑹茬洏鐨勫渾鐐归殣钘� bodyView.btnWhiteRound.Visible = false; } - bodyView.btnCurColor.BackgroundColor = (uint)(0xFF000000 + bodyView.lightTemp.GetRGBcolor(updateTemp)); - if (bodyView.lightTemp.GetRGBcolor(updateTemp) == 16777215 && bodyView.btnCurColor.BorderColor != 0x00000000) + bodyView.btnCurColor.BackgroundColor = (uint)(0xFF000000 + bodyView.lightTemp.GetRGBcolor(updateTemp.GetAttrState(FunctionAttributeKey.RGB))); + bodyView.lastColor = bodyView.lightTemp.GetRGBbytes(updateTemp); + if (bodyView.lightTemp.GetRGBcolor(updateTemp.GetAttrState(FunctionAttributeKey.RGB)) == 16777215 && bodyView.btnCurColor.BorderColor != 0x00000000) { bodyView.btnCurColor.BorderColor = CSS.CSS_Color.PromptingColor2; } @@ -88,6 +89,7 @@ void LoadColorChangeEvent() { DateTime colorChangeTime = DateTime.MinValue; + //bool send = false; //褰撳墠鐐瑰嚮鐨勩�愮偣銆戞槸鍚︽纭� bool pointIsRight = false; @@ -95,22 +97,22 @@ 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); - } - + //if (send) + //{ + lastColor = e2; + // send = false; + //} }; + + //colorPicker.MouseUpEventHandler += (sender, e) => { + // send = true; + //}; + colorPicker.MouseDownEventHandler += (sender, e) => { if (function.trait_on_off.curValue.ToString() == "off") @@ -126,56 +128,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,false,0); + break; + } + } + System.Threading.Thread.Sleep(200); + } + }); + colorChangeEvent.IsBackground = true; + colorChangeEvent.Start(); } /// <summary> @@ -206,8 +214,8 @@ function.SetAttrState(FunctionAttributeKey.Brightness, dimmerBar.Progress); System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); d.Add(FunctionAttributeKey.Brightness, dimmerBar.Progress.ToString()); + Control.Ins.SendWriteCommand(function, d); - function.SetAttrState(FunctionAttributeKey.FadeTime, barFadeTime.Progress); }; dimmerBar.OnProgressChangedEvent = (sender, e) => { //function.fadeTime = 0; @@ -252,11 +260,14 @@ /// </summary> void LoadEvet_ChangeFadeTime() { - barFadeTime.OnStopTrackingTouchEvent = (sender, e) => + if (function.GetAttribute(FunctionAttributeKey.FadeTime) != null) { - function.SetAttrState(FunctionAttributeKey.FadeTime, barFadeTime.Progress); - function.UpdataFuncitonInfo(); - }; + barFadeTime.OnStopTrackingTouchEvent = (sender, e) => + { + function.SetAttrState(FunctionAttributeKey.FadeTime, e.ToString()); + function.SaveFunctionFile(); + }; + } } /// <summary> /// 鍔犺浇寮�鍏充簨浠� @@ -273,7 +284,6 @@ function.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off"; System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); d.Add(FunctionAttributeKey.OnOff, function.trait_on_off.curValue.ToString()); - d.Add(FunctionAttributeKey.FadeTime, function.GetAttrState(FunctionAttributeKey.FadeTime)); if (btnSwitch.IsSelected) { if(function.lastBrightness == 0) @@ -312,6 +322,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